diff options
Diffstat (limited to 'include/secqueue.h')
-rw-r--r-- | include/secqueue.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/secqueue.h b/include/secqueue.h new file mode 100644 index 000000000..91395d1c1 --- /dev/null +++ b/include/secqueue.h @@ -0,0 +1,41 @@ +/************************************************* +* SecureQueue Header File * +* (C) 1999-2006 The Botan Project * +*************************************************/ + +#ifndef BOTAN_SECURE_QUEUE_H__ +#define BOTAN_SECURE_QUEUE_H__ + +#include <botan/data_src.h> +#include <botan/filter.h> + +namespace Botan { + +/************************************************* +* SecureQueue * +*************************************************/ +class SecureQueue : public Fanout_Filter, public DataSource + { + public: + void write(const byte[], u32bit); + + u32bit read(byte[], u32bit); + u32bit peek(byte[], u32bit, u32bit = 0) const; + + bool end_of_data() const; + u32bit size() const; + bool attachable() { return false; } + + SecureQueue& operator=(const SecureQueue&); + SecureQueue(); + SecureQueue(const SecureQueue&); + ~SecureQueue() { destroy(); } + private: + void destroy(); + class SecureQueueNode* head; + class SecureQueueNode* tail; + }; + +} + +#endif |