00001 #ifndef PRIMARYPRODUCERIMPL_H 00002 #define PRIMARYPRODUCERIMPL_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/StringList.h" 00010 #include "rgma/PrimaryProducer.h" 00011 #include "rgma/ProducerProperties.h" 00012 #include "rgma/Properties.h" 00013 00014 #include <string> 00015 namespace glite 00016 { 00017 namespace rgma 00018 { 00022 class PrimaryProducerImpl : public PrimaryProducer 00023 { 00024 private: 00025 void createProducer(TimeInterval terminationInterval, 00026 ProducerProperties producerProperties) throw( RGMAException , RemoteException ); 00027 00028 public: 00033 PrimaryProducerImpl(TimeInterval terminationInterval, 00034 ProducerProperties producerProperties, 00035 StringList voNames) throw( RGMAException); 00036 00037 PrimaryProducerImpl(TimeInterval terminationInterval, 00038 ProducerProperties producerProperties) throw( RGMAException, RemoteException); 00039 00040 PrimaryProducerImpl(ResourceEndpoint& endPoint) 00041 throw(RemoteException, RGMAException, RemoteException); 00042 00043 virtual ~PrimaryProducerImpl(){} 00044 00057 TimeInterval getHistoryRetentionPeriod(std::string tableName) 00058 throw(RemoteException, UnknownResourceException, RGMAException); 00071 TimeInterval getLatestRetentionPeriod(std::string tableName) 00072 throw(RemoteException, UnknownResourceException, RGMAException); 00092 void declareTable(std::string tableName, std::string predicate, 00093 TimeInterval historyRetentionPeriod, 00094 TimeInterval latestRetentionPeriod) 00095 throw(RemoteException, UnknownResourceException, RGMAException); 00112 void insert(std::string insertStatement) 00113 throw(RemoteException, UnknownResourceException, RGMAException); 00133 void insert(std::string insertStatement, TimeInterval latestRetentionPeriod) 00134 throw(RemoteException, UnknownResourceException, RGMAException); 00135 00151 void insertList(StringList insertStatements) 00152 throw(RemoteException, UnknownResourceException, RGMAException); 00153 00168 void PrimaryProducerImpl::insertList(StringList insertStatements, TimeInterval latestRetentionPeriod) 00169 throw(RemoteException, UnknownResourceException, RGMAException); 00170 00171 }; 00172 } 00173 } 00174 #endif