00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef PRIMARYPRODUCER_H
00015 #define PRIMARYPRODUCER_H
00016 #include "rgma/ResourceEndpoint.h"
00017 #include "rgma/TimeInterval.h"
00018 #include "rgma/RemoteException.h"
00019 #include "rgma/UnknownResourceException.h"
00020 #include "rgma/RGMAException.h"
00021 #include "rgma/ResourceImpl.h"
00022 #include "rgma/StringList.h"
00023 #include "rgma/TupleStoreList.h"
00024
00025 #include <string>
00026 namespace glite
00027 {
00028 namespace rgma
00029 {
00033 class PrimaryProducer: public ResourceImpl
00034 {
00035 private:
00036
00037 public:
00038
00039 virtual ~PrimaryProducer(){}
00040
00053 virtual TimeInterval getHistoryRetentionPeriod(std::string tableName)
00054 = 0;
00067 virtual TimeInterval getLatestRetentionPeriod(std::string tableName)
00068 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00088 virtual void declareTable(std::string tableName, std::string predicate,
00089 TimeInterval historyRetentionPeriod,
00090 TimeInterval latestRetentionPeriod)
00091 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00108 virtual void insert(std::string insertStatement)
00109 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00129 virtual void insert(std::string insertStatement, TimeInterval latestRetentionPeriod)
00130 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00131
00146 virtual void insertList(StringList insertStatements)
00147 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00148
00163 virtual void insertList(StringList insertStatements, TimeInterval latestRetentionPeriod)
00164 throw(RemoteException, UnknownResourceException, RGMAException) = 0;
00165
00173 static std::string getVersion()throw(RemoteException);
00174
00186 static std::string getProperty(std::string name, std::string parameter)
00187 throw(RemoteException, RGMAException);
00198 static std::string getProperty(std::string name)
00199 throw(RemoteException, RGMAException);
00209 static void setProperty(std::string name, std::string value)
00210 throw(RemoteException, RGMAException);
00211
00222 static void setProperty(std::string name, std::string value, std::string parameter)
00223 throw(RemoteException, RGMAException);
00224
00234 static TupleStoreList listTupleStores() throw( RemoteException, RGMAException);
00235
00245 static void dropTupleStore(std::string logicalName) throw (RGMAException, RemoteException);
00246
00247 };
00248 }
00249 }
00250 #endif // PRIMARYPRODUCER_H