]> git.stg.codes - stg.git/blobdiff - stglibs/crypto.lib/include/stg/bfstream.h
Handle callback errors in bfstreams.
[stg.git] / stglibs / crypto.lib / include / stg / bfstream.h
index 41b443305dfb79965559e6472a86cd84f5d8ca5c..bead8d00ad26f30b25ec69b2c80cc936f6ff2e73 100644 (file)
@@ -10,12 +10,14 @@ namespace STG
 class ENCRYPT_STREAM
 {
     public:
-        typedef void (* CALLBACK)(const void * block, size_t size, void * data);
+        typedef bool (* CALLBACK)(const void * block, size_t size, void * data);
 
         ENCRYPT_STREAM(const std::string & key, CALLBACK callback, void * data);
         ~ENCRYPT_STREAM();
         void Put(const void * data, size_t size, bool last = false);
 
+        bool isOk() const;
+
     private:
         class IMPL;
 
@@ -25,12 +27,14 @@ class ENCRYPT_STREAM
 class DECRYPT_STREAM
 {
     public:
-        typedef void (* CALLBACK)(const void * block, size_t size, void * data);
+        typedef bool (* CALLBACK)(const void * block, size_t size, void * data);
 
         DECRYPT_STREAM(const std::string & key, CALLBACK callback, void * data);
         ~DECRYPT_STREAM();
         void Put(const void * data, size_t size, bool last = false);
 
+        bool isOk() const;
+
     private:
         class IMPL;