00001 #ifndef AsctImpl_HPP 00002 #define AsctImpl_HPP 00003 00004 00005 00006 #include <string> 00007 using std::string; 00008 00009 #include "utils/c++/GuardedVariable.hpp" 00010 00011 class OfferSpecs; 00012 class ExecutionSpecs; 00013 class Config; 00014 class ParametricExecution; 00015 00016 00036 class AsctImpl{ 00037 00038 private: 00039 00040 std::string grmIor; 00041 std::string appReposIor; 00043 struct lua_State * clientSideState; 00045 GuardedVariable<long> requestId; 00049 public: 00050 00056 AsctImpl(const Config & config); 00057 00058 00067 void refusedExecutionRequest(std::string requestId); 00068 00075 void acceptedExecutionRequest(OfferSpecs offSpecs); 00076 00083 string registerApplication(string appPath); 00084 00090 void requestExecution(ExecutionSpecs execSpecs); 00091 00097 void requestParametricExecution(ParametricExecution parExecSpecs); 00098 00103 void appFinished(const string & appId); 00104 00105 }; 00106 00107 #endif//AsctImpl_HPP 00108 00109