3 #ifndef __ARC_JOBINFORMATIONSTORAGEBDB_H__
4 #define __ARC_JOBINFORMATIONSTORAGEBDB_H__
8 #include "JobInformationStorage.h"
19 bool ReadAll(std::list<Job>& jobs,
const std::list<std::string>& rejectEndpoints = std::list<std::string>());
20 bool Read(std::list<Job>& jobs, std::list<std::string>& jobIdentifiers,
21 const std::list<std::string>& endpoints = std::list<std::string>(),
22 const std::list<std::string>& rejectEndpoints = std::list<std::string>());
23 bool Write(
const std::list<Job>& jobs);
24 bool Write(
const std::list<Job>& jobs,
const std::set<std::string>& prunedServices, std::list<const Job*>& newJobs);
26 bool Remove(
const std::list<std::string>& jobids);
29 static void logErrorMessage(
int err);
35 JobDB(
const std::string&, u_int32_t = DB_RDONLY);
40 #if ((DB_VERSION_MAJOR > 4)||(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 3))
41 static void handleError(
const DbEnv *dbenv,
const char *errpfx,
const char *msg);
43 static void handleError(
const char *errpfx,
char *msg);
46 Db* operator->() {
return jobDB; }
47 Db* viaNameKeys() {
return nameSecondaryKeyDB; }
48 Db* viaEndpointKeys() {
return endpointSecondaryKeyDB; }
49 Db* viaServiceInfoKeys() {
return serviceInfoSecondaryKeyDB; }
53 Db *endpointSecondaryKeyDB;
54 Db *nameSecondaryKeyDB;
55 Db *serviceInfoSecondaryKeyDB;
60 BDBException(
const std::string& msg,
int ret,
bool writeLogMessage =
true)
throw();
61 ~BDBException()
throw() {}
62 const std::string& getMessage()
const throw() {
return message; }
63 int getReturnValue()
const throw() {
return returnvalue; }
73 #endif // __ARC_JOBINFORMATIONSTORAGEBDB_H__