Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef IBIS_RIDS_H
00006 #define IBIS_RIDS_H
00007 #include "utilidor.h"
00011
00012 namespace ibis {
00013 class ridHandler;
00014 }
00015
00017 class ibis::ridHandler {
00018 public:
00019 ridHandler(const char* dbName, const char* pref="ibis");
00020 ~ridHandler();
00021
00022
00023 int read(RIDSet& rids, const char* source);
00024
00025 int write(const RIDSet& rids, const char* destination,
00026 const char* dbName=0);
00027
00028 int append(const RIDSet& rids, const char* destination) const;
00029
00030 protected:
00031
00032 char* _dbName;
00033 char* _prefix;
00034 mutable pthread_mutex_t mutex;
00035
00036
00037 static const char *const version;
00038
00039 int readDBName(std::istream& _from);
00040 int matchDBName(std::istream& _from) const;
00041 int readVersion(std::istream& _from) const;
00042 int readRidCount(std::istream& _from, int& ic) const;
00043
00044 private:
00045 ridHandler(const ridHandler&);
00046 ridHandler& operator=(const ridHandler&);
00047 };
00048 #endif