00001 #ifndef ONDEMANDPRODUCERIMPL_H 00002 #define ONDEMANDPRODUCERIMPL_H 00003 00004 #include "rgma/ResourceImpl.h" 00005 #include "rgma/RemoteException.h" 00006 #include "rgma/UnknownResourceException.h" 00007 #include "rgma/RGMAException.h" 00008 #include "rgma/OnDemandProducer.h" 00009 #include "rgma/TimeInterval.h" 00010 #include "rgma/URI.h" 00011 #include "rgma/StringList.h" 00012 #include <string> 00013 00014 namespace glite 00015 { 00016 namespace rgma 00017 { 00021 class OnDemandProducerImpl : public OnDemandProducer 00022 { 00023 public: 00028 OnDemandProducerImpl(TimeInterval terminationInterval, 00029 URI uri, 00030 StringList voNames)throw( RGMAException); 00031 00032 OnDemandProducerImpl(TimeInterval terminationInterval, 00033 URI uri)throw( RGMAException, RemoteException); 00034 00035 OnDemandProducerImpl(ResourceEndpoint& endPoint)throw( RGMAException, RemoteException); 00036 ~OnDemandProducerImpl(){} 00053 virtual void declareStaticTable(std::string tableName, std::string predicate) 00054 throw(RemoteException, RGMAException, UnknownResourceException); 00055 private: 00056 void createProducer(TimeInterval terminationInterval, 00057 URI uri)throw( RGMAException, RemoteException); 00058 }; 00059 } 00060 } 00061 #endif