Add first work package for REST API implementation
[anna.git] / example / diameter / launcher / Launcher.hpp
index a74ef39..dab3415 100644 (file)
@@ -74,7 +74,7 @@ class Launcher : public anna::comm::Application {
   std::string getSignalUSR2InputFile() const throw();
   std::string getSignalUSR2OutputFile() const throw();
 
-  void servicesFromXML(const anna::xml::Node* servicesNode, bool eventOperation) throw(anna::RuntimeException);
+  void servicesFromXML(const anna::xml::Node* servicesNode, bool bindResources) throw(anna::RuntimeException);
   anna::Millisecond checkTimeMeasure(const std::string &parameter, const std::string &value) throw(anna::RuntimeException);
   void initialize() throw(anna::RuntimeException); // HTTP
   void run() throw(anna::RuntimeException);
@@ -85,10 +85,12 @@ public:
   Launcher();
   //~Launcher(); TODO
 
-  void loadServices(const std::string & xmlPathFile, bool eventOperation = false) throw(anna::RuntimeException);
+  void loadServicesFromFile(const std::string & xmlPathFile, bool bindResources) throw(anna::RuntimeException);
+  void loadServicesFromXMLString(const std::string & xmlString, bool bindResources) throw(anna::RuntimeException);
   void startServices() throw(anna::RuntimeException);
 
   bool setWorkingNode(const std::string &name) throw();
+  void setNodeAuto() { a_workingNode = NULL; a_operatedHost = NULL; }
   anna::diameter::comm::OriginHost *getOriginHost(const std::string &name) const throw(anna::RuntimeException);
   anna::diameter::comm::OriginHost *getOriginHost(const anna::diameter::codec::Message &message) const throw(anna::RuntimeException);
   bool uniqueOriginHost() const throw();
@@ -97,11 +99,13 @@ public:
   void updateOperatedOriginHostWithMessage(const anna::diameter::codec::Message &message) throw(anna::RuntimeException);
   anna::diameter::comm::OriginHost *getWorkingNode() const throw(anna::RuntimeException);
   anna::diameter::comm::OriginHost *getOperatedHost() const throw(anna::RuntimeException);
+  void setOperatedHost(anna::diameter::comm::OriginHost *);
   MyDiameterEntity *getOperatedEntity() const throw(anna::RuntimeException);
   MyLocalServer *getOperatedServer() const throw(anna::RuntimeException);
   MyDiameterEngine *getOperatedEngine() const throw(anna::RuntimeException);
   ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
+  const std::string & getInitialWorkingDirectory() const { return a_initialWorkingDirectory; }
 
   MyCommunicator *getCommunicator() throw() { return a_communicator; }
   bool eventOperation(const std::string &, std::string &) throw(anna::RuntimeException); // returns success/failed
@@ -114,13 +118,11 @@ public:
   void resetCounters() throw();
   void signalUSR2() throw(anna::RuntimeException);
   void signalTerminate() throw(anna::RuntimeException);
-  std::string help() const throw();
   anna::xml::Node* oamAsXML(anna::xml::Node* parent) const throw();
   anna::xml::Node* statsAsXML(anna::xml::Node* parent) const throw();
 
   // helpers
   bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) const throw(anna::RuntimeException);
-  bool getContentFromFile(const std::string &pathfile, std::string &content) const throw(anna::RuntimeException);
 
   friend class TestManager;
 };