85d7af8ff2
-- * Use wrapper types calling translation functions instead of TRANSLATE-{FROM,TO}-FOREIGN methods as they seem not to be called in some cases. * Use the (:STRUCT SOME-C-STRUCT) notation instead of the deprecated direct reference to SOME-C-STRUCT. * Add missing values in enums and bit fields. * Use cffi-grovel to define system types (SIZE-T, OFF-T, etc). * Wrap GPGME-DATA-T in a class (like contexts). * Use the FINALIZE function from trivial-garbage to free the C objects for contexts, keys and data automatically. * Make DATA-READ-CB and DATA-WRITE-CB run faster. * Update the README file. Signed-off-by: Guillaume LE VAILLANT <glv@posteo.net> |
||
---|---|---|
.. | ||
.gitignore | ||
ChangeLog-2011 | ||
gpgme-package.lisp | ||
gpgme.asd.in | ||
gpgme.lisp | ||
Makefile.am | ||
README |
Common Lisp Support for GPGME ----------------------------- Requirements: ASDF Packaging Support CFFI Foreign Function Interface trivial-garbage Finalizers gpg-error GPG Error Codes Use with: > (asdf:load-system "gpgme") Examples -------- (with-open-file (out "/tmp/myout" :direction :output :if-exists :supersede :element-type '(unsigned-byte 8)) (with-context (ctx) (setf (armorp ctx) t) (op-export ctx "DEADBEEF" out))) (with-context (ctx) (with-output-to-string (out) (setf (armorp ctx) t) (op-export ctx "McTester" out))) (gpgme:with-context (ctx :armor t) (with-output-to-string (out) (gpgme:op-export ctx "McTester" out))) (gpgme:with-context (ctx :armor t) (let ((recipient1 (gpgme:get-key ctx "DEADBEEF")) (recipient2 (gpgme:get-key ctx "Alice")) (message "Hello, world!")) (with-output-to-string (out) (with-input-from-string (in message) (gpgme:op-encrypt ctx (vector recipient1 recipient2) in out))))) (gpgme:with-context (ctx :armor t) (let ((message "Hello, world!")) (with-output-to-string (out) (with-input-from-string (in message) (gpgme:op-sign ctx in out))))) TODO ---- * When GPGME defines macros for include cert values -2, -1, 0 and 1, define lisp macros for them as well. *