1#ifndef app_tests_MagAOXApp_test_hpp
2#define app_tests_MagAOXApp_test_hpp
11#undef APP_XWCTEST_BASE
12#ifdef XWCTEST_NAMESPACE
13 #define APP_XWCTEST_BASE MagAOX::app::XWCTEST_NAMESPACE::MagAOXApp<true>
15 #define APP_XWCTEST_BASE MagAOX::app::MagAOXApp<true>
18#ifdef XWCTEST_NAMESPACE
31 config.add(
"name2",
"",
"name2", argType::Required,
"",
"",
true,
"string",
"" );
32 config.m_sources =
true;
35 void setup(
int argc,
char **argv )
37 APP_XWCTEST_BASE::setup( argc, argv );
55 return APP_XWCTEST_BASE::m_configPathGlobal;
60 return APP_XWCTEST_BASE::m_configPathUser;
65 return APP_XWCTEST_BASE::m_configPathLocal;
70 return APP_XWCTEST_BASE::invokedName;
75 return APP_XWCTEST_BASE::doHelp;
80 return APP_XWCTEST_BASE::m_configOnly;
85 m_powerMgtEnabled = pme;
100 int called_back{ 0 };
109 pcf::IndiProperty ip( pcf::IndiProperty::Switch );
110 ip.setDevice( configName() );
111 ip.setName(
"fsm_clear_alert" );
112 ip.add( pcf::IndiElement(
"request" ) );
113 ip[
"request"].setSwitchState( pcf::IndiElement::On );
115 st_newCallBack_clearFSMAlert(
this, ip );
120 return m_powerDevice;
125 return m_powerChannel;
130 return m_powerElement;
135 return m_powerTargetElement;
140 return m_powerOnWait;
145 return APP_XWCTEST_BASE::onPowerOff();
150 return APP_XWCTEST_BASE::whilePowerOff();
155 return APP_XWCTEST_BASE::powerOnWaitElapsed();
160 return APP_XWCTEST_BASE::powerState();
165 m_indiP_powerChannel = pcf::IndiProperty( pcf::IndiProperty::Text );
166 m_powerDevice = device;
167 m_indiP_powerChannel.setDevice( device );
169 m_powerChannel = channel;
170 m_indiP_powerChannel.setName( channel );
175 m_powerOnWait = powerOnWait;
176 m_powerOnCounter = powerOnCounter;
177 m_loopPause = loopPause;
182 pcf::IndiProperty ip( pcf::IndiProperty::Text );
183 ip.setDevice( m_powerDevice );
184 ip.setName( m_powerChannel );
185 ip.add( pcf::IndiElement(
"state" ) );
186 ip[
"state"].setValue( state );
188 ip.add( pcf::IndiElement(
"target" ) );
189 ip[
"target"].setValue( target );
191 return setCallBack_m_indiP_powerChannel( ip );
196 return APP_XWCTEST_BASE::setSigTermHandler();
201 APP_XWCTEST_BASE::_handlerSigTerm( signum, siginf, ucont );
206 return APP_XWCTEST_BASE::setEuidReal();
212 return APP_XWCTEST_BASE::setEuidReal();
217 return APP_XWCTEST_BASE::setEuidCalled();
222 m_euidCalled = euidc;
223 return APP_XWCTEST_BASE::setEuidCalled();
228 return APP_XWCTEST_BASE::lockPID();
233 return APP_XWCTEST_BASE::unlockPID();
237int callback(
void *app,
const pcf::IndiProperty &ipRecv )
239 static_cast<void>( ipRecv );
248#ifdef XWCTEST_NAMESPACE
#define XWCTEST_NAMESPACE
int callback(void *app, const pcf::IndiProperty &ipRecv)
MagAOXApp_test(bool gitmod=false)
std::string powerDevice()
int setEuidReal(int euidr)
void _handlerSigTerm(int signum, siginfo_t *siginf, void *ucont)
void configurePowerManagement(const std::string &device, const std::string &channel)
std::string configPathUser()
void configurePowerOnWait(unsigned long powerOnWait, int powerOnCounter, int loopPause)
std::string & invokedName()
std::string powerElement()
void setConfigBase(const std::string &cb)
int setPowerState(const std::string &state, const std::string target)
std::string configPathLocal()
bool powerOnWaitElapsed()
void setConfigName(const std::string &cn)
std::string powerTargetElement()
void setPowerMgtEnabled(bool pme)
int setEuidCalled(int euidc)
std::string configPathGlobal()
std::string powerChannel()
void setup(int argc, char **argv)
virtual int appShutdown()