+ //~Launcher(); TODO
+
+ 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();
+
+ // Operated host for communication resources smart assignment ////////////////////////////////////////////////////////////
+ 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; }