22 #ifndef UniSetActivator_H_
23 #define UniSetActivator_H_
27 #include <omniORB4/CORBA.h>
28 #include "UniSetTypes.h"
29 #include "UniSetObject.h"
30 #include "UniSetManager.h"
31 #include "OmniThreadCreator.h"
32 #include "UHttpRequestHandler.h"
33 #include "UHttpServer.h"
38 class UniSetActivator;
39 typedef std::shared_ptr<UniSetActivator> UniSetActivatorPtr;
62 #ifndef DISABLE_REST_API
68 static UniSetActivatorPtr Instance();
71 std::shared_ptr<UniSetActivator> get_aptr();
77 virtual void uaDestroy(
int signo = 0);
84 typedef sigc::signal<void, int> TerminateEvent_Signal;
85 TerminateEvent_Signal signal_terminate_event();
87 inline bool noUseGdbForStackTrace()
const
89 return _noUseGdbForStackTrace;
92 inline const std::string getAbortScript()
97 #ifndef DISABLE_REST_API
99 virtual Poco::JSON::Object::Ptr httpGetByName(
const std::string& name ,
const Poco::URI::QueryParameters& p )
override;
100 virtual Poco::JSON::Array::Ptr
httpGetObjectsList(
const Poco::URI::QueryParameters& p )
override;
101 virtual Poco::JSON::Object::Ptr httpHelpByName(
const std::string& name,
const Poco::URI::QueryParameters& p )
override;
102 virtual Poco::JSON::Object::Ptr httpRequestByName(
const std::string& name,
const std::string& req,
const Poco::URI::QueryParameters& p )
override;
109 CORBA::ORB_ptr getORB();
116 static std::shared_ptr<UniSetActivator> inst;
119 friend void uniset::terminate_thread();
120 friend void uniset::finished_thread();
121 friend std::shared_ptr<uniset::Configuration>
uniset::uniset_init(
int argc,
const char*
const* argv,
const std::string& xmlfile );
123 static void terminated(
int signo);
124 static void normalexit();
125 static void normalterminate();
126 static void set_signals(
bool ask);
127 void term(
int signo );
130 std::shared_ptr< OmniThreadCreator<UniSetActivator> > orbthr;
133 TerminateEvent_Signal s_term;
135 std::atomic_bool omDestroy;
138 bool _noUseGdbForStackTrace = {
false };
140 std::string abortScript = {
"" };
142 #ifndef DISABLE_REST_API
143 std::shared_ptr<uniset::UHttp::UHttpServer> httpserv;
144 std::string httpHost = {
"" };
145 int httpPort = { 0 };