Remove operation help.
[anna.git] / example / diameter / launcher / Launcher.hpp
index dcc684d..8a68888 100644 (file)
 // Process
 #include <MyCommunicator.hpp>
 #include <MyCounterRecorder.hpp>
-#include <TestManager.hpp>
-
-
-#define SH_COMMAND_TAG_FOR_REPLACE__CYCLE_ID    "##cycleid##"
-#define SH_COMMAND_TAG_FOR_REPLACE__TESTCASE_ID "##testcaseid##"
-#define SH_COMMAND_TAG_FOR_REPLACE__TESTSTEP_ID "##teststepid##"
+#include <anna/testing/TestManager.hpp>
 
 
 namespace anna {
@@ -39,20 +34,21 @@ namespace anna {
     namespace codec {
       class Engine;
     }
+    namespace comm {
+      class OriginHost;
+    }
   }
 }
 
 class TestManager;
-class OriginHost;
 class MyDiameterEntity;
 class MyLocalServer;
 class MyDiameterEngine;
 
 // OriginHost resources
-class OriginHost;
-typedef std::map<std::string, OriginHost*> origin_hosts_t;
-typedef std::map<std::string, OriginHost*>::const_iterator origin_hosts_it;
-typedef std::map<std::string, OriginHost*>::iterator origin_hosts_nc_it;
+typedef std::map<std::string, anna::diameter::comm::OriginHost*> origin_hosts_t;
+typedef std::map<std::string, anna::diameter::comm::OriginHost*>::const_iterator origin_hosts_it;
+typedef std::map<std::string, anna::diameter::comm::OriginHost*>::iterator origin_hosts_nc_it;
 
 
 class Launcher : public anna::comm::Application {
@@ -69,15 +65,12 @@ class Launcher : public anna::comm::Application {
   MyCounterRecorderClock *a_counterRecorderClock;
 
   // Nodes deployment:
-  origin_hosts_t a_originHosts;
-  OriginHost *a_workingNode;
-  OriginHost *a_operatedHost; // auxiliary for eventOperation
+  anna::diameter::comm::OriginHost *a_workingNode;
+  anna::diameter::comm::OriginHost *a_operatedHost; // auxiliary for eventOperation
 
   // comm resources:
   anna::comm::ServerSocket* a_httpServerSocket; // HTTP
 
-  const anna::Millisecond &getADMLMinResolution() const throw() { return a_admlMinResolution; }
-
   std::string getSignalUSR2InputFile() const throw();
   std::string getSignalUSR2OutputFile() const throw();
 
@@ -96,13 +89,14 @@ public:
   void startServices() throw(anna::RuntimeException);
 
   bool setWorkingNode(const std::string &name) throw();
-  OriginHost *getOriginHost(const std::string &oh) const throw(anna::RuntimeException);
-  OriginHost *getOriginHost(const anna::diameter::codec::Message &message) const throw(anna::RuntimeException);
-  bool uniqueOriginHost() const throw() { return (a_originHosts.size() == 1); }
+  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);
-  OriginHost *getOperatedHost() const throw(anna::RuntimeException);
+  anna::diameter::comm::OriginHost *getWorkingNode() const throw(anna::RuntimeException);
+  anna::diameter::comm::OriginHost *getOperatedHost() const throw(anna::RuntimeException);
   MyDiameterEntity *getOperatedEntity() const throw(anna::RuntimeException);
   MyLocalServer *getOperatedServer() const throw(anna::RuntimeException);
   MyDiameterEngine *getOperatedEngine() const throw(anna::RuntimeException);
@@ -110,7 +104,7 @@ public:
 
 
   MyCommunicator *getCommunicator() throw() { return a_communicator; }
-  void eventOperation(const std::string &, std::string &) throw(anna::RuntimeException);
+  bool eventOperation(const std::string &, std::string &) throw(anna::RuntimeException); // returns success/failed
   void forceCountersRecord() throw(anna::RuntimeException) { if (a_counterRecorderClock) a_counterRecorderClock->tick(); }
   void logStatisticsSamples(const std::string &conceptsList) throw();
 
@@ -119,12 +113,13 @@ public:
   void resetStatistics() throw();
   void resetCounters() throw();
   void signalUSR2() throw(anna::RuntimeException);
-  std::string help() const throw();
+  void signalTerminate() throw(anna::RuntimeException);
   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();
+  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;
 };