From da9ad488317fc46cdbd95d580f66a2178cb10435 Mon Sep 17 00:00:00 2001 From: eknauel Date: Fri, 13 Feb 2004 16:52:43 +0000 Subject: [PATCH] new module structure --- scheme/interfaces.scm | 194 ++++++++++++++++++++++-------------------- scheme/packages.scm | 43 +++++++--- 2 files changed, 134 insertions(+), 103 deletions(-) diff --git a/scheme/interfaces.scm b/scheme/interfaces.scm index 824015b..2c0db5d 100644 --- a/scheme/interfaces.scm +++ b/scheme/interfaces.scm @@ -3,7 +3,7 @@ ldap-init with-ldap-session ldap-simple-bind - ldap-simple-bind-as-nobody + ldap-simple-bind-anonymous ldap-sasl-bind ldap-unbind ldap-search @@ -15,7 +15,7 @@ ldap-next-message ldap-count-messages - ldap-get-message-type + ldap-message-type ldap-get-message-id ldap-first-attribute @@ -36,7 +36,101 @@ ldap-count-references ldap-first-reference ldap-next-reference)) - + +(define-interface ldap-handle-types-interface + (export + ldap-session? + ldap-session=? + ldap-session-bound? + + ldap-message? + ldap-message=? + + ber-element? + + ldap-modification? + + ldap-api-info? + ldap-api-info-info-version + ldap-api-info-api-version + ldap-api-info-protocol-version + ldap-api-info-vendor-name + ldap-api-info-vendor-version + + set-ldap-session-options! + ldap-session-implicit-unbind-ok? + ldap-session-auto-unbind? + + ldap-success?)) + +(define-interface ldap-handle-types-internal-functions-interface + (export + make-session-options + ldap-session-options + ldap-session-c-pointer + set-ldap-session-bound?! + ldap-message-c-pointer + ldap-message-session + set-ldap-message-session! + ldap-modification-c-pointer + ldap-api-info-c-pointer + ber-element-c-pointer + convert-ldap-return-code + convert-ldap-message-type)) + +(define-interface ldap-generated-types-interface + (export + ldap-return-object? + ldap-return-elements + ldap-return-name + (ldap-return :syntax) + + ldap-option-version-object? + ldap-option-version-elements + ldap-option-version-name + (ldap-option-version :syntax) + + ldap-scope-arguments-object? + ldap-scope-arguments-elements + ldap-scope-arguments-name + (ldap-scope-arguments :syntax) + + ldap-session-option-value-object? + ldap-session-option-value-elements + ldap-session-option-value-name + (ldap-session-option-value :syntax) + + ldap-message-types-object? + ldap-message-types-elements + ldap-message-types-name + (ldap-message-types :syntax) + + ldap-attributes-no-attribute + ldap-attributes-all-user-attributes)) + +(define-interface ldap-generated-types-internal-interface + (compound-interface + ldap-generated-types-interface + (export + ldap-scope-arguments-id + ldap-session-option-value-id + ldap-return-id + ldap-message-types-id))) + +(define-interface ldap-types-interface + (compound-interface + ldap-handle-types-interface + ldap-generated-types-interface)) + +(define-interface ldap-types-internals-interface + (compound-interface + ldap-types-interface + ldap-handle-types-internal-functions-interface + ldap-generated-types-internal-interface + (export + convert-ldap-return-code + convert-ldap-message-type))) + (define-interface ldap-conditions-interface (export raise-ldap-condition @@ -98,92 +192,10 @@ &ldap-control-not-found ldap-control-not-found? &ldap-referral-limit-exceeded ldap-referral-limit-exceeded?)) -(define-interface ldap-handle-types-interface +(define-interface value-weak-table-interface (export - ldap-session? - ldap-session=? - ldap-session-bound? - set-ldap-session-bound?! - ldap-session-options - ldap-session-messages - set-ldap-session-messages! - - ldap-entry? - ldap-entry=? - make-ldap-entry - ldap-entry-message - - ldap-message? - ldap-message=? - ldap-modification? - - ldap-api-info? - ldap-api-info-info-version - ldap-api-info-api-version - ldap-api-info-protocol-version - ldap-api-info-vendor-name - ldap-api-info-vendor-version - - make-session-options - set-ldap-session-options! - ldap-session-implicit-unbind-ok? - ldap-session-auto-unbind? - - ldap-session-messages-adjoin!)) - -(define-interface ldap-return-interface - (export - ldap-return-object? - ldap-return-elements - ldap-return-name - (ldap-return :syntax) - convert-ldap-return-code - ldap-success?)) - - -(define-interface ldap-option-version-interface - (export - ldap-option-version-object? - ldap-option-version-elements - ldap-option-version-name - (ldap-option-version :syntax))) - -(define-interface ldap-scope-arguments-interface - (export - ldap-scope-arguments-object? - ldap-scope-arguments-elements - ldap-scope-arguments-name - ldap-scope-arguments-id - (ldap-scope-arguments :syntax))) - -(define-interface ldap-session-option-values-interface - (export - ldap-session-option-value-object? - ldap-session-option-value-elements - ldap-session-option-value-name - ldap-session-option-value-id - (ldap-session-option-value :syntax))) - -(define-interface ldap-message-types-interface - (export - ldap-message-types-object? - ldap-message-types-elements - ldap-message-types-name - (ldap-message-types :syntax) - convert-ldap-message-type)) - -(define-interface ldap-attributes-special-values-interfaces - (export - ldap-attributes-no-attribute - ldap-attributes-all-user-attributes)) - -(define-interface ldap-types-interface - (compound-interface - ldap-return-interface - ldap-option-version-interface - ldap-scope-arguments-interface - ldap-session-option-values-interface - ldap-message-types-interface - ldap-attributes-special-values-interfaces - ;; - ldap-handle-types-interface)) + make-value-weak-table + weak-table? + add-to-weak-table! + remove-from-weak-table! + lookup-in-weak-table)) \ No newline at end of file diff --git a/scheme/packages.scm b/scheme/packages.scm index bbdb7d1..b9721d8 100644 --- a/scheme/packages.scm +++ b/scheme/packages.scm @@ -1,3 +1,24 @@ +(define-structures + ((ldap-generated-types ldap-generated-types-interface) + (ldap-generated-types-internal ldap-generated-types-internal-interface)) + (open scheme + external-calls + define-record-types + finite-types + ffi-tools-rts) + (files const-gen)) + +(define-structures + ((ldap-types ldap-types-interface) + (ldap-types-internals ldap-types-internals-interface)) + (open scheme-with-scsh + external-calls + define-record-types + finite-types + ffi-tools-rts + ldap-generated-types-internal) + (files types)) + (define-structure ldap ldap-interface (open scheme define-record-types @@ -7,22 +28,20 @@ srfi-13 srfi-34 srfi-35 ffi-tools-rts - signals ; remove me - ldap-conditions - ldap-types) + i/o signals ; remove me + value-weak-table + ldap-types-internals + ldap-conditions) (files ldap)) -(define-structure ldap-types ldap-types-interface - (open scheme - define-record-types - external-calls - srfi-1 - finite-types - ffi-tools-rts) - (files const-gen types)) - (define-structure ldap-conditions ldap-conditions-interface (open scheme srfi-34 srfi-35 ldap-types) (files conditions)) + +(define-structure value-weak-table value-weak-table-interface + (open scheme + srfi-9 + tables weak) + (files weak-table)) \ No newline at end of file