Fix nswering procedure: have to use source resource.
[anna.git] / example / diameter / launcher / testing / TestStep.hpp
index 1cb062d..e4574c1 100644 (file)
@@ -31,6 +31,9 @@ namespace anna {
     class Node;
   }
   namespace diameter {
+    namespace codec {
+      class Message;
+    }
     namespace comm {
       class ClientSession;
       class ServerSession;
@@ -118,12 +121,14 @@ class TestStepSendxml : public TestStep {
 
     // Message
     anna::DataBlock a_message;
+    anna::diameter::codec::Message *a_messageCodec; // used as helper and for traffic logs
 
     // Expired ?
     bool a_expired; // a_endTimestamp will be the expiration reception timestamp
 
   public:
-    TestStepSendxml(TestCase *testCase) : TestStep(testCase), a_message(true), a_expired(false), a_realmNode(NULL), a_waitForRequestStepNumber(-1) {;}
+    TestStepSendxml(TestCase *testCase) : TestStep(testCase), a_message(true), a_messageCodec(NULL), a_expired(false), a_realmNode(NULL), a_waitForRequestStepNumber(-1) {;}
+    ~TestStepSendxml();
 
     // setter & getters
     void setRealmNode(RealmNode *realm) throw() { a_realmNode = realm; }
@@ -174,12 +179,13 @@ class TestStepWait : public TestStep {
 
     TestCondition a_condition;
     anna::DataBlock a_message; // message which complies with condition
+    anna::diameter::codec::Message *a_messageCodec; // used as helper and for traffic logs
     anna::diameter::comm::ClientSession *a_clientSession;
     anna::diameter::comm::ServerSession *a_serverSession;
 
   public:
-    TestStepWait(TestCase *testCase) : TestStep(testCase), a_message(true) { a_type = Type::Wait; a_clientSession = NULL; a_serverSession = NULL; }
-    ~TestStepWait() {;}
+    TestStepWait(TestCase *testCase) : TestStep(testCase), a_message(true), a_messageCodec(NULL) { a_type = Type::Wait; a_clientSession = NULL; a_serverSession = NULL; }
+    ~TestStepWait();
 
     // setter & getters
     void setCondition(bool fromEntity,
@@ -189,6 +195,8 @@ class TestStepWait : public TestStep {
 
     void setClientSession(anna::diameter::comm::ClientSession *cs) throw() { a_clientSession = cs; }
     void setServerSession(anna::diameter::comm::ServerSession *ss) throw() { a_serverSession = ss; }
+    anna::diameter::comm::ClientSession *getClientSession() const throw() { return a_clientSession; }
+    anna::diameter::comm::ServerSession *getServerSession() const throw() { return a_serverSession; }
 
     const TestCondition &getCondition() const throw() { return a_condition; }
     //void setMsgDataBlock(const anna::DataBlock &db) throw() { a_message = db; }