53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
#ifndef INCLUDE_SECUREMULTIPROXY_H_
|
|
#define INCLUDE_SECUREMULTIPROXY_H_
|
|
|
|
#include <memory>
|
|
#include <atomic>
|
|
#include <di/Application.h>
|
|
|
|
class DeviceFacade;
|
|
class LogInterface;
|
|
class SubscribeInterface;
|
|
class ReqRepInterface;
|
|
class TCPConnectionDirector;
|
|
class Server;
|
|
|
|
class SecureMultiProxy : public Di::Application {
|
|
public:
|
|
void loadDefaultConfig(void);
|
|
|
|
/** Configure SecureMultiProxy instance */
|
|
int init(void);
|
|
|
|
/**
|
|
* get the application name
|
|
* @return string with application name
|
|
*/
|
|
std::string getApplicationName(void);
|
|
/**
|
|
* get the application version
|
|
* @return string with application version
|
|
*/
|
|
std::string getApplicationVersion(void);
|
|
|
|
/**
|
|
* Run the proxy instance
|
|
*/
|
|
int run(void);
|
|
|
|
/** Control running state of proxy */
|
|
void stop(void);
|
|
|
|
private:
|
|
std::shared_ptr<DeviceFacade> __deviceFacade; //<! pointer to device facade object
|
|
std::shared_ptr<LogInterface> __logInterface; //<! pointer to log interface object
|
|
std::shared_ptr<SubscribeInterface> __subscribeInterface; //<! pointer to subscribe interface object
|
|
std::shared_ptr<ReqRepInterface> __reqRepInterface; //<! pointer to req rep interface object
|
|
std::shared_ptr<TCPConnectionDirector> __tcpConnectionDirector; //<! pointer to TCP connection director object
|
|
std::shared_ptr<TcpServer> __tcpServer; //<! pointer to tcp server object
|
|
std::shared_ptr<UdpServer> __udpServer; //<! pointer to udp server object
|
|
std::atomic_bool __running; //<! boolean to see if the program is running
|
|
};
|
|
|
|
#endif // INCLUDE_SECUREMULTIPROXY_H_
|