DRDE/ACTK1_0/session/ACSession.hpp

46 lines
1.7 KiB
C++

#ifndef __ACSESSION_HPP
#define __ACSESSION_HPP
#include "session/SessionManager.hpp"
#include "session/SessionPool.hpp"
#include "session/SessionManagerImpl.hpp"
#include <memory>
#include <queue>
#include <pthread.h>
#include <mdLogger.h>
#define SANS_BOOST
#include <string.h>
#include <mdcommon.h>
class ACSession : public SessionManagerImpl
{
public:
ACSession(SessionManagerProperties* props) ;
~ACSession();
void shutdown();
void run();
void proxy(std::string XML,std::string command); // for submissions received from the MD
// command is either the lower case standard command or something else if a variant
// such as an extension is intended. There are three levels: base IETF standards
// unextended commands. Commands with hardcoded extensions, e.g. LPE, KV, E164,
// etc. which use the c++ SE camel case class name, or caps with underscore
// and a company prefix if custom biz rule engine.
void proxy(mdDatagram *incoming,std::string command);
// A msgpack dgram is received from a CD. This is a deliberately crude interface to
// short circuit full blown XML processing and drive the base and extended SEs but
// nothing else thru msgpack datagrams. Generalizing from mdAusReg.cpp:doOTEB this
// has scripting that as its intial use case. mdAusReg.cpp:doOTEC calls this interface
// as a proxy to execute the command (without
// OTEB case that uses plain c/c++,
// which is meant to be a rescripting of the OTEB test process giving an ability to
// drive the test process remotely if no recompile of the central AC programs is
// nee
};
#endif // __ACSESSION_HPP