00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef CONSUMER_H
00015 #define CONSUMER_H
00016
00017 #include "rgma/ResourceImpl.h"
00018 #include "rgma/ResourceEndpointList.h"
00019 #include "rgma/ResourceEndpoint.h"
00020 #include "rgma/ResultSet.h"
00021 #include "rgma/TimeInterval.h"
00022 #include "rgma/UnknownResourceException.h"
00023 #include "rgma/RemoteException.h"
00024 #include "rgma/StringList.h"
00025
00026 namespace glite
00027 {
00028 namespace rgma
00029 {
00038 class Consumer: virtual public ResourceImpl
00039 {
00040
00041 protected:
00042 Consumer(){}
00043 bool m_isExecuting;
00044 ResourceEndpointList m_relevantProducers;
00045 StringList m_voNames;
00046 public:
00047
00048 virtual ~Consumer(){}
00057 virtual bool isExecuting() throw(UnknownResourceException, RemoteException, RGMAException) = 0;
00058
00065 virtual void abort() throw(UnknownResourceException, RemoteException) = 0;
00074 virtual int count() throw(UnknownResourceException, RemoteException) = 0;
00083 virtual bool hasAborted()throw(UnknownResourceException, RemoteException) = 0;
00096 virtual void pop(ResultSet& results, int maxCount)throw(UnknownResourceException, RemoteException, RGMAException) = 0;
00108 virtual void popAll(ResultSet& results)throw(UnknownResourceException, RemoteException, RGMAException) = 0;
00123 virtual void start(TimeInterval timeout)throw(UnknownResourceException, RemoteException, RGMAException) = 0;
00138 virtual void start(TimeInterval timeout, ResourceEndpointList producers)
00139 throw(UnknownResourceException, RemoteException, RGMAException) = 0;
00140
00148 static std::string getVersion()throw(RemoteException);
00149
00161 static std::string getProperty(std::string name, std::string parameter)
00162 throw(RemoteException, RGMAException);
00173 static void setProperty(std::string name, std::string value, std::string parameter)
00174 throw(RemoteException, RGMAException);
00175
00186 static std::string getProperty(std::string name)
00187 throw(RemoteException, RGMAException);
00197 static void setProperty(std::string name, std::string value)
00198 throw(RemoteException, RGMAException);
00199
00200 };
00201 }
00202 }
00203 #endif // CONSUMER_H