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_invoidctx_
00026 #define _eyedb_invoidctx_
00027
00028 namespace eyedb {
00029
00030 class InvOidContext {
00031
00032 public:
00033
00034 Oid objoid;
00035 Offset attr_offset;
00036 int attr_num;
00037 Oid valoid;
00038
00039 InvOidContext(const Oid &_objoid,
00040 const Attribute *attr,
00041 const Oid &_valoid);
00042
00043 InvOidContext(const Oid &_objoid,
00044 int _attr_num, Offset _attr_offset,
00045 const Oid &_valoid);
00046
00047 static Bool getContext();
00048 static void insert(const Oid &objoid, const Attribute *attr,
00049 const Oid &valoid);
00050 static void releaseContext(Bool newctx, Data *, void *);
00051
00052 static void code(Data *data, LinkedList &inv_list, Bool toDel,
00053 Size &size);
00054 static void decode(Data data, LinkedList &);
00055 };
00056
00057 }
00058
00059 #endif