00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef SECONDARYPRODUCER_H
00015 #define SECONDARYPRODUCER_H
00016 #include "rgma/TimeInterval.h"
00017 #include "rgma/RemoteException.h"
00018 #include "rgma/UnknownResourceException.h"
00019 #include "rgma/RGMAException.h"
00020 #include "rgma/ResourceImpl.h"
00021 #include "rgma/TupleStoreList.h"
00022 #include <string>
00023
00024 namespace glite
00025 {
00026 namespace rgma
00027 {
00032 class SecondaryProducer: public ResourceImpl
00033 {
00034 private:
00035
00036 protected:
00037 public:
00038
00039 virtual ~SecondaryProducer(){}
00052 virtual TimeInterval getHistoryRetentionPeriod(std::string tableName)
00053 throw(RemoteException, RGMAException, UnknownResourceException) = 0;
00071 virtual void declareTable(std::string tableName, std::string predicate,
00072 TimeInterval historyRetentionPeriod) throw(RemoteException, RGMAException, UnknownResourceException) = 0;
00080 static std::string getVersion()throw(RemoteException);
00081
00093 static std::string getProperty(std::string name, std::string parameter)
00094 throw(RemoteException, RGMAException);
00105 static std::string getProperty(std::string name)
00106 throw(RemoteException, RGMAException);
00117 static void setProperty(std::string name, std::string value, std::string parameter)
00118 throw(RemoteException, RGMAException);
00119
00129 static void setProperty(std::string name, std::string value)
00130 throw(RemoteException, RGMAException);
00140 static TupleStoreList listTupleStores() throw( RemoteException, RGMAException);
00141
00151 static void dropTupleStore(std::string logicalName) throw (RGMAException, RemoteException);
00152
00153 };
00154 }
00155 }
00156 #endif // SECONDARYPRODUCER_H