00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EYEDB_BEQUEUE_H
00026 #define _EYEDB_BEQUEUE_H
00027
00028 namespace eyedb {
00029
00030 class CollectionBE;
00031 class IteratorBE;
00032
00033 class BEQueue {
00034 int mxid;
00035 LinkedList *iter_queue;
00036 LinkedList *coll_queue;
00037 LinkedList *oql_queue;
00038
00039 public:
00040 BEQueue();
00041
00042
00043 IteratorBE *getIterator(int);
00044 void removeIterator(int);
00045 int addIterator(IteratorBE *);
00046 void removeIterator(IteratorBE *);
00047 unsigned int getIteratorCount() const {return iter_queue->getCount();}
00048
00049 OQLBE *getOQL(int);
00050 int addOQL(OQLBE *);
00051 void removeOQL(int);
00052 void removeOQL(OQLBE *);
00053 unsigned int getOQLCount() const {return oql_queue->getCount();}
00054
00055
00056 CollectionBE *getCollection(const Oid *, void *);
00057 void addCollection(CollectionBE *, void *);
00058 void removeCollection(CollectionBE *, void *);
00059 unsigned int getCollectionCount() const {return coll_queue->getCount();}
00060
00061 ~BEQueue();
00062 };
00063
00064 }
00065
00066 #endif