Go to the documentation of this file.
14 #include <mal/utility/future.hpp>
15 #include <mal/rr/RrEntity.hpp>
16 #include <mal/rr/Ami.hpp>
17 #include <mal/rr/ClientRrEntity.hpp>
18 #include <mal/ps/DataEntity.hpp>
19 #include <mal/ps/Traceable.hpp>
20 #include <mal/Mal.hpp>
21 #include <mal/IcdTypes.hpp>
22 #include <mal/utility/shared_vector.hpp>
30 public ::elt::mal::ps::DataEntity<TelPosition>
33 static constexpr
const char*
TYPE_ID =
"TelPosition";
37 virtual float getRa()
const = 0;
38 virtual void setRa(
float ra) = 0;
54 public ::elt::mal::ps::DataEntity<AxesPosition>
57 static constexpr
const char*
TYPE_ID =
"AxesPosition";
64 virtual float getAz()
const = 0;
65 virtual void setAz(
float az) = 0;
78 public ::elt::mal::ps::DataEntity<LogInfo>
81 static constexpr
const char*
TYPE_ID =
"LogInfo";
114 virtual const char*
what() const noexcept {
115 return "::exmalif::ExceptionErr";
131 class StdCmds :
public virtual ::elt::mal::rr::RrEntity {
133 virtual std::string
Stop() = 0;
134 virtual std::string
Init() = 0;
142 virtual std::string
Exit() = 0;
143 virtual std::string
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) = 0;
144 virtual std::string
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) = 0;
145 virtual std::string
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) = 0;
159 virtual ::elt::mal::future<std::string>
Stop() = 0;
160 virtual ::elt::mal::future<std::string>
Init() = 0;
161 virtual ::elt::mal::future<std::string>
Reset() = 0;
162 virtual ::elt::mal::future<std::string>
Enable() = 0;
163 virtual ::elt::mal::future<std::string>
Disable() = 0;
164 virtual ::elt::mal::future<std::string>
GetState() = 0;
165 virtual ::elt::mal::future<std::string>
GetStatus() = 0;
167 virtual ::elt::mal::future<std::string>
Config() = 0;
168 virtual ::elt::mal::future<std::string>
Exit() = 0;
169 virtual ::elt::mal::future<std::string>
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) = 0;
170 virtual ::elt::mal::future<std::string>
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) = 0;
171 virtual ::elt::mal::future<std::string>
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) = 0;
183 public virtual ::elt::mal::rr::ClientRrEntity {
189 public virtual ::elt::mal::rr::ClientRrEntity {
196 const std::shared_ptr<StdCmds> &entity)
197 : m_entity(entity) {}
199 virtual ::elt::mal::future<std::string>
Stop() {
200 ::elt::mal::promise<std::string> p;
204 p.set_value(m_entity->Stop());
207 p.set_exception(exceptionerr);
208 }
catch(
const std::exception& ex) {
212 return p.get_future();
215 virtual ::elt::mal::future<std::string>
Init() {
216 ::elt::mal::promise<std::string> p;
220 p.set_value(m_entity->Init());
223 p.set_exception(exceptionerr);
224 }
catch(
const std::exception& ex) {
228 return p.get_future();
231 virtual ::elt::mal::future<std::string>
Reset() {
232 ::elt::mal::promise<std::string> p;
236 p.set_value(m_entity->Reset());
239 p.set_exception(exceptionerr);
240 }
catch(
const std::exception& ex) {
244 return p.get_future();
247 virtual ::elt::mal::future<std::string>
Enable() {
248 ::elt::mal::promise<std::string> p;
252 p.set_value(m_entity->Enable());
255 p.set_exception(exceptionerr);
256 }
catch(
const std::exception& ex) {
260 return p.get_future();
263 virtual ::elt::mal::future<std::string>
Disable() {
264 ::elt::mal::promise<std::string> p;
268 p.set_value(m_entity->Disable());
271 p.set_exception(exceptionerr);
272 }
catch(
const std::exception& ex) {
276 return p.get_future();
279 virtual ::elt::mal::future<std::string>
GetState() {
280 ::elt::mal::promise<std::string> p;
284 p.set_value(m_entity->GetState());
287 p.set_exception(exceptionerr);
288 }
catch(
const std::exception& ex) {
292 return p.get_future();
296 ::elt::mal::promise<std::string> p;
300 p.set_value(m_entity->GetStatus());
303 p.set_exception(exceptionerr);
304 }
catch(
const std::exception& ex) {
308 return p.get_future();
312 ::elt::mal::promise<std::string> p;
316 p.set_value(m_entity->GetVersion());
319 p.set_exception(exceptionerr);
320 }
catch(
const std::exception& ex) {
324 return p.get_future();
327 virtual ::elt::mal::future<std::string>
Config() {
328 ::elt::mal::promise<std::string> p;
332 p.set_value(m_entity->Config());
335 p.set_exception(exceptionerr);
336 }
catch(
const std::exception& ex) {
340 return p.get_future();
343 virtual ::elt::mal::future<std::string>
Exit() {
344 ::elt::mal::promise<std::string> p;
348 p.set_value(m_entity->Exit());
351 p.set_exception(exceptionerr);
352 }
catch(
const std::exception& ex) {
356 return p.get_future();
359 virtual ::elt::mal::future<std::string>
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) {
360 ::elt::mal::promise<std::string> p;
364 p.set_value(m_entity->SetLogLevel(info));
367 p.set_exception(exceptionerr);
368 }
catch(
const std::exception& ex) {
372 return p.get_future();
375 virtual ::elt::mal::future<std::string>
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) {
376 ::elt::mal::promise<std::string> p;
380 p.set_value(m_entity->Preset(pos));
382 }
catch(
const std::exception& ex) {
386 return p.get_future();
389 virtual ::elt::mal::future<std::string>
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) {
390 ::elt::mal::promise<std::string> p;
394 p.set_value(m_entity->Move(pos));
397 p.set_exception(exceptionerr);
398 }
catch(
const std::exception& ex) {
402 return p.get_future();
406 return m_entity->GetPresetProgress();
412 std::shared_ptr<StdCmds> m_entity;
level
Definition: hellorad.py:30
virtual ::elt::mal::future< std::string > GetVersion()=0
virtual const char * what() const noexcept
Definition: Exmalif.hpp:114
virtual std::string GetStatus()=0
virtual void setAz(float az)=0
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()
Definition: Exmalif.hpp:405
static const char * name
Definition: Exmalif.hpp:460
virtual ::elt::mal::future< std::string > Config()=0
static const char * libraryName
Definition: Exmalif.hpp:429
virtual ::elt::mal::future< std::string > GetVersion()
Definition: Exmalif.hpp:311
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()=0
static const char * libraryName
Definition: Exmalif.hpp:459
virtual ~StdCmds()=default
virtual ~LogInfo()=default
virtual void setLogger(const std::string &logger)=0
virtual ~TelPosition()=default
AsyncStdCmds.
Definition: Exmalif.hpp:157
virtual std::string SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)=0
virtual std::string getLogger() const =0
virtual std::string Exit()=0
virtual ::elt::mal::future< std::string > Enable()=0
virtual ::elt::mal::future< std::string > Enable()
Definition: Exmalif.hpp:247
static const char * libraryName
Definition: Exmalif.hpp:441
virtual std::string Enable()=0
virtual void setLevel(const std::string &level)=0
virtual float getRa() const =0
virtual ::elt::mal::future< std::string > Stop()
Definition: Exmalif.hpp:199
virtual std::string GetVersion()=0
virtual std::string Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)=0
static const char * libraryName
Definition: Exmalif.hpp:423
static const char * libraryName
Definition: Exmalif.hpp:435
virtual ::elt::mal::future< std::string > Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)
Definition: Exmalif.hpp:375
virtual std::string Stop()=0
virtual ::elt::mal::future< std::string > Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)=0
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:57
virtual std::string Reset()=0
static const char * name
Definition: Exmalif.hpp:424
virtual ::elt::mal::future< std::string > Disable()=0
static const char * name
Definition: Exmalif.hpp:442
logger
Definition: activity.py:32
virtual ::elt::mal::future< std::string > Exit()
Definition: Exmalif.hpp:343
Definition: Exmalif.hpp:193
Definition: Exmalif.hpp:183
ExceptionErr(const std::string &_desc, int32_t _code)
Definition: Exmalif.hpp:102
Definition: Exmalif.hpp:189
virtual std::string Init()=0
virtual ::elt::mal::future< std::string > GetState()=0
static const char * name
Definition: Exmalif.hpp:448
virtual ::elt::mal::future< std::string > Init()
Definition: Exmalif.hpp:215
virtual void setRa(float ra)=0
virtual ~AsyncStdCmdsImplWrapper()=default
virtual ::elt::mal::future< std::string > Disable()
Definition: Exmalif.hpp:263
virtual float getAz() const =0
int32_t code
Definition: Exmalif.hpp:123
virtual ::elt::mal::future< std::string > GetState()
Definition: Exmalif.hpp:279
static const char * name
Definition: Exmalif.hpp:436
virtual ::elt::mal::future< std::string > Exit()=0
virtual ~ExceptionErr()=default
virtual ::elt::mal::future< std::string > GetStatus()
Definition: Exmalif.hpp:295
virtual int32_t getCode() const
Definition: Exmalif.hpp:109
virtual ::elt::mal::future< std::string > Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)
Definition: Exmalif.hpp:389
Definition: Exmalif.hpp:418
::exmalif::AxesPosition & operator=(const ::exmalif::AxesPosition &other)
Definition: Exmalif.hpp:68
std::string desc
Definition: Exmalif.hpp:122
virtual ~AxesPosition()=default
virtual void setDec(float dec)=0
::exmalif::LogInfo & operator=(const ::exmalif::LogInfo &other)
Definition: Exmalif.hpp:92
static int typeHash()
Definition: Exmalif.hpp:174
virtual float getDec() const =0
virtual std::string getLevel() const =0
virtual ::elt::mal::future< std::string > Stop()=0
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()=0
Definition: Exmalif.hpp:100
virtual std::string Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)=0
static const char * name
Definition: Exmalif.hpp:454
static const char * libraryName
Definition: Exmalif.hpp:447
Definition: Exmalif.hpp:79
Definition: Exmalif.hpp:55
virtual float getAlt() const =0
Definition: Exmalif.hpp:25
virtual ::elt::mal::future< std::string > GetStatus()=0
virtual ::elt::mal::future< std::string > Reset()=0
virtual ::elt::mal::future< std::string > Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)=0
static int typeHash()
Definition: Exmalif.hpp:148
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:33
virtual void setAlt(float alt)=0
::exmalif::TelPosition & operator=(const ::exmalif::TelPosition &other)
Definition: Exmalif.hpp:44
virtual ::elt::mal::future< std::string > Config()
Definition: Exmalif.hpp:327
virtual std::string Disable()=0
Definition: Exmalif.hpp:31
virtual std::string Config()=0
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:81
static const char * name
Definition: Exmalif.hpp:430
virtual ::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)
Definition: Exmalif.hpp:359
static const char * libraryName
Definition: Exmalif.hpp:453
AsyncStdCmdsImplWrapper(const std::shared_ptr< StdCmds > &entity)
Definition: Exmalif.hpp:195
virtual std::string getDesc() const
Definition: Exmalif.hpp:105
virtual std::string GetState()=0
virtual ::elt::mal::future< std::string > Reset()
Definition: Exmalif.hpp:231
virtual ~AsyncStdCmds()=default
virtual ::elt::mal::future< std::string > Init()=0
StdCmds.
Definition: Exmalif.hpp:131
virtual ::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)=0