00001 #ifndef SECONDARYPRODUCERIMPL_H 00002 #define SECONDARYPRODUCERIMPL_H 00003 #include "rgma/ResourceEndpoint.h" 00004 #include "rgma/TimeInterval.h" 00005 #include "rgma/RemoteException.h" 00006 #include "rgma/UnknownResourceException.h" 00007 #include "rgma/RGMAException.h" 00008 #include "rgma/Resource.h" 00009 #include "rgma/ProducerProperties.h" 00010 #include "rgma/SecondaryProducer.h" 00011 00012 #include <string> 00013 namespace glite 00014 { 00015 namespace rgma 00016 { 00020 class SecondaryProducerImpl : public SecondaryProducer 00021 { 00022 private: 00023 void createProducer(TimeInterval terminationInterval, 00024 ProducerProperties producerProperties) throw( RGMAException, RemoteException); 00025 00026 public: 00031 SecondaryProducerImpl(TimeInterval terminationInterval, 00032 ProducerProperties producerProperties, 00033 StringList voNames) throw( RGMAException); 00034 00035 SecondaryProducerImpl(TimeInterval terminationInterval, 00036 ProducerProperties producerProperties) throw( RGMAException, RemoteException); 00037 00038 SecondaryProducerImpl(ResourceEndpoint& endPoint) 00039 throw(RemoteException, RGMAException); 00040 00041 virtual ~SecondaryProducerImpl(){} 00042 00055 TimeInterval getHistoryRetentionPeriod(std::string tableName) 00056 throw(RemoteException, UnknownResourceException, RGMAException); 00057 00077 void declareTable(std::string tableName, std::string predicate, 00078 TimeInterval historyRetentionPeriod) 00079 throw(RemoteException, UnknownResourceException, RGMAException); 00080 00081 }; 00082 } 00083 } 00084 #endif