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/Mal.hpp>
20 #include <mal/IcdTypes.hpp>
21 #include <mal/utility/shared_vector.hpp>
28 class TelPosition :
public ::elt::mal::ps::DataEntity<TelPosition> {
30 static constexpr
const char*
TYPE_ID =
"TelPosition";
33 virtual float getRa()
const = 0;
34 virtual void setRa(
float ra) = 0;
36 virtual float getDec()
const = 0;
49 class AxesPosition :
public ::elt::mal::ps::DataEntity<AxesPosition> {
51 static constexpr
const char*
TYPE_ID =
"AxesPosition";
54 virtual float getAlt()
const = 0;
55 virtual void setAlt(
float alt) = 0;
57 virtual float getAz()
const = 0;
58 virtual void setAz(
float az) = 0;
70 class LogInfo :
public ::elt::mal::ps::DataEntity<LogInfo> {
72 static constexpr
const char*
TYPE_ID =
"LogInfo";
75 virtual std::string
getLevel()
const = 0;
76 virtual void setLevel(
const std::string& level) = 0;
78 virtual std::string
getLogger()
const = 0;
104 virtual const char*
what() const noexcept {
105 return "::exmalif::ExceptionErr";
118 class StdCmds :
public virtual ::elt::mal::rr::RrEntity {
120 virtual std::string
Stop() = 0;
121 virtual std::string
Init() = 0;
122 virtual std::string
Reset() = 0;
123 virtual std::string
Enable() = 0;
124 virtual std::string
Disable() = 0;
125 virtual std::string
Status() = 0;
126 virtual std::string
Config() = 0;
127 virtual std::string
Exit() = 0;
128 virtual std::string
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) = 0;
129 virtual std::string
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) = 0;
130 virtual std::string
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) = 0;
131 virtual std::shared_ptr<::elt::mal::rr::Ami<std::string>>
GetPresetProgress() = 0;
142 virtual ::elt::mal::future<std::string>
Stop() = 0;
143 virtual ::elt::mal::future<std::string>
Init() = 0;
144 virtual ::elt::mal::future<std::string>
Reset() = 0;
145 virtual ::elt::mal::future<std::string>
Enable() = 0;
146 virtual ::elt::mal::future<std::string>
Disable() = 0;
147 virtual ::elt::mal::future<std::string>
Status() = 0;
148 virtual ::elt::mal::future<std::string>
Config() = 0;
149 virtual ::elt::mal::future<std::string>
Exit() = 0;
150 virtual ::elt::mal::future<std::string>
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) = 0;
151 virtual ::elt::mal::future<std::string>
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) = 0;
152 virtual ::elt::mal::future<std::string>
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) = 0;
153 virtual std::shared_ptr<::elt::mal::rr::Ami<std::string>>
GetPresetProgress() = 0;
164 public virtual ::elt::mal::rr::ClientRrEntity {
170 public virtual ::elt::mal::rr::ClientRrEntity {
177 const std::shared_ptr<StdCmds> &entity)
178 : m_entity(entity) {}
180 virtual ::elt::mal::future<std::string>
Stop() {
181 ::elt::mal::promise<std::string> p;
184 p.set_value(m_entity->Stop());
187 return p.get_future();
190 virtual ::elt::mal::future<std::string>
Init() {
191 ::elt::mal::promise<std::string> p;
194 p.set_value(m_entity->Init());
197 return p.get_future();
200 virtual ::elt::mal::future<std::string>
Reset() {
201 ::elt::mal::promise<std::string> p;
204 p.set_value(m_entity->Reset());
207 return p.get_future();
210 virtual ::elt::mal::future<std::string>
Enable() {
211 ::elt::mal::promise<std::string> p;
214 p.set_value(m_entity->Enable());
217 return p.get_future();
220 virtual ::elt::mal::future<std::string>
Disable() {
221 ::elt::mal::promise<std::string> p;
224 p.set_value(m_entity->Disable());
227 return p.get_future();
230 virtual ::elt::mal::future<std::string>
Status() {
231 ::elt::mal::promise<std::string> p;
234 p.set_value(m_entity->Status());
237 return p.get_future();
240 virtual ::elt::mal::future<std::string>
Config() {
241 ::elt::mal::promise<std::string> p;
244 p.set_value(m_entity->Config());
247 return p.get_future();
250 virtual ::elt::mal::future<std::string>
Exit() {
251 ::elt::mal::promise<std::string> p;
254 p.set_value(m_entity->Exit());
257 return p.get_future();
260 virtual ::elt::mal::future<std::string>
SetLogLevel(
const std::shared_ptr<::exmalif::LogInfo>& info) {
261 ::elt::mal::promise<std::string> p;
265 p.set_value(m_entity->SetLogLevel(info));
268 p.set_exception(exceptionerr);
271 return p.get_future();
274 virtual ::elt::mal::future<std::string>
Preset(
const std::shared_ptr<::exmalif::TelPosition>& pos) {
275 ::elt::mal::promise<std::string> p;
278 p.set_value(m_entity->Preset(pos));
281 return p.get_future();
284 virtual ::elt::mal::future<std::string>
Move(
const std::shared_ptr<::exmalif::AxesPosition>& pos) {
285 ::elt::mal::promise<std::string> p;
289 p.set_value(m_entity->Move(pos));
292 p.set_exception(exceptionerr);
295 return p.get_future();
299 return m_entity->GetPresetProgress();
305 std::shared_ptr<StdCmds> m_entity;
Definition: Exmalif.hpp:118
static const char * libraryName
Definition: Exmalif.hpp:316
Definition: Exmalif.hpp:28
static int typeHash()
Definition: Exmalif.hpp:133
virtual ~StdCmds()=default
virtual ::elt::mal::future< std::string > Init()
Definition: Exmalif.hpp:190
virtual ::elt::mal::future< std::string > Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)
Definition: Exmalif.hpp:284
virtual ::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)=0
virtual std::string Status()=0
virtual ::elt::mal::future< std::string > Disable()
Definition: Exmalif.hpp:220
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:51
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()=0
required string logger
Definition: exmalif.proto:25
virtual int32_t getCode() const
Definition: Exmalif.hpp:99
Definition: Exmalif.hpp:140
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()=0
virtual const char * what() const noexcept
Definition: Exmalif.hpp:104
virtual ::elt::mal::future< std::string > Enable()=0
virtual std::string Config()=0
virtual std::string getDesc() const
Definition: Exmalif.hpp:95
virtual ::elt::mal::future< std::string > Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)=0
Definition: Exmalif.hpp:173
Definition: Exmalif.hpp:90
virtual ::elt::mal::future< std::string > Config()=0
virtual std::string Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)=0
Definition: Exmalif.hpp:49
::exmalif::TelPosition & operator=(const ::exmalif::TelPosition &other)
Definition: Exmalif.hpp:40
virtual ~LogInfo()=default
virtual std::string SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)=0
virtual ::elt::mal::future< std::string > SetLogLevel(const std::shared_ptr<::exmalif::LogInfo > &info)
Definition: Exmalif.hpp:260
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:72
virtual float getAz() const =0
static const char * name
Definition: Exmalif.hpp:347
ExceptionErr(const std::string &_desc, int32_t _code)
Definition: Exmalif.hpp:92
virtual ::elt::mal::future< std::string > Config()
Definition: Exmalif.hpp:240
virtual ::elt::mal::future< std::string > Disable()=0
static constexpr const char * TYPE_ID
Definition: Exmalif.hpp:30
AsyncStdCmdsImplWrapper(const std::shared_ptr< StdCmds > &entity)
Definition: Exmalif.hpp:176
int32_t code
Definition: Exmalif.hpp:113
required float dec
Definition: exmalif.proto:15
virtual ::elt::mal::future< std::string > Reset()
Definition: Exmalif.hpp:200
Definition: Exmalif.hpp:162
virtual float getDec() const =0
virtual std::string Stop()=0
virtual ::elt::mal::future< std::string > Exit()=0
virtual std::string getLevel() const =0
static const char * name
Definition: Exmalif.hpp:335
virtual void setAlt(float alt)=0
static const char * libraryName
Definition: Exmalif.hpp:334
::exmalif::LogInfo & operator=(const ::exmalif::LogInfo &other)
Definition: Exmalif.hpp:82
required float az
Definition: exmalif.proto:20
std::string desc
Definition: Exmalif.hpp:112
message AxesPosition
Definition: exmalif.proto:18
virtual std::string Disable()=0
Definition: Exmalif.hpp:70
virtual ~TelPosition()=default
static const char * libraryName
Definition: Exmalif.hpp:340
virtual float getAlt() const =0
static int typeHash()
Definition: Exmalif.hpp:155
virtual ::elt::mal::future< std::string > Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)=0
static const char * libraryName
Definition: Exmalif.hpp:328
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress()
Definition: Exmalif.hpp:298
virtual ~ExceptionErr()=default
virtual std::string getLogger() const =0
package generated zpb exmalif
Definition: exmalif.proto:11
virtual ::elt::mal::future< std::string > Enable()
Definition: Exmalif.hpp:210
static const char * name
Definition: Exmalif.hpp:323
static const char * name
Definition: Exmalif.hpp:341
virtual void setLevel(const std::string &level)=0
message LogInfo
Definition: exmalif.proto:23
virtual ::elt::mal::future< std::string > Stop()
Definition: Exmalif.hpp:180
static const char * name
Definition: Exmalif.hpp:353
static const char * libraryName
Definition: Exmalif.hpp:346
virtual std::string Exit()=0
virtual ::elt::mal::future< std::string > Reset()=0
virtual std::string Enable()=0
virtual void setLogger(const std::string &logger)=0
virtual ::elt::mal::future< std::string > Status()=0
message TelPosition
Definition: exmalif.proto:13
virtual void setRa(float ra)=0
virtual ::elt::mal::future< std::string > Preset(const std::shared_ptr<::exmalif::TelPosition > &pos)
Definition: Exmalif.hpp:274
virtual float getRa() const =0
static const char * name
Definition: Exmalif.hpp:317
virtual ~AsyncStdCmds()=default
virtual void setDec(float dec)=0
virtual ::elt::mal::future< std::string > Status()
Definition: Exmalif.hpp:230
virtual std::string Reset()=0
static const char * name
Definition: Exmalif.hpp:329
virtual ::elt::mal::future< std::string > Stop()=0
::exmalif::AxesPosition & operator=(const ::exmalif::AxesPosition &other)
Definition: Exmalif.hpp:61
virtual std::string Move(const std::shared_ptr<::exmalif::AxesPosition > &pos)=0
virtual ~AxesPosition()=default
virtual void setAz(float az)=0
virtual ::elt::mal::future< std::string > Init()=0
static const char * libraryName
Definition: Exmalif.hpp:352
virtual ~AsyncStdCmdsImplWrapper()=default
virtual ::elt::mal::future< std::string > Exit()
Definition: Exmalif.hpp:250
Definition: Exmalif.hpp:168
static const char * libraryName
Definition: Exmalif.hpp:322
virtual std::string Init()=0