X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2B%2B%2Fgdu.h;fp=include%2Fyaz%2B%2B%2Fgdu.h;h=ede395e4ddb08043569b4fd8151290fbcd47e083;hb=6196cb9e06a6cc83892e1ad16daa1fb921111e28;hp=0000000000000000000000000000000000000000;hpb=2d21fb7f6fdf924a2dcbb69722425f555b80821f;p=yazpp-moved-to-github.git diff --git a/include/yaz++/gdu.h b/include/yaz++/gdu.h new file mode 100644 index 0000000..ede395e --- /dev/null +++ b/include/yaz++/gdu.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 1998-2005, Index Data. + * See the file LICENSE for details. + * + * $Id: gdu.h,v 1.1 2005-06-21 17:37:15 adam Exp $ + */ + +#ifndef YAZPP_GDU_INCLUDED +#define YAZPP_GDU_INCLUDED + +#include +#include + +namespace yazpp_1 { + + class YAZ_EXPORT GDU { + public: + GDU(Z_GDU *gdu); + GDU(Z_APDU *apdu); + ~GDU(); + Z_GDU *get(); + void extract_odr_to(ODR dst); + private: + void base(Z_GDU *gdu, ODR o); + Z_GDU *m_gdu; + ODR m_decode; + }; + + class GDUQueue_List { + friend class GDUQueue; + private: + GDU *m_item; + GDUQueue_List *m_next; + }; + + class GDUQueue { + public: + GDUQueue(); + ~GDUQueue(); + void clear(); + void enqueue(GDU *gdu); + GDU *dequeue(); + int size(); + private: + GDUQueue_List *m_list; + }; +}; + +#endif