cumbia-qtcontrols 1.x
Qt widgets on top of the cumbia C++ library
cucontext.h
Go to the documentation of this file.
1#ifndef CUCONTEXT_H
2#define CUCONTEXT_H
3
4class Cumbia;
5class CumbiaPool;
9class CuControlsPropertyReaderA;
11class CuDataListener;
12class CuLinkStats;
13
14#include <string>
16#include <cudata.h>
17#include <QList>
18
19class CuContextPrivate;
20
47{
48public:
49 CuContext(Cumbia *cumbia, const CuControlsReaderFactoryI &r_factory);
50 CuContext(Cumbia *cumbia, const CuControlsWriterFactoryI &w_factory);
51 CuContext(CumbiaPool *cumbia_pool, const CuControlsFactoryPool &fpool);
52
53 virtual ~CuContext();
54
55 bool isAuto() const;
56
57 CuControlsReaderA *replace_reader(const std::string &s, CuDataListener* datal);
58 CuControlsWriterA *replace_writer(const std::string &s, CuDataListener *datal);
59 CuControlsReaderA *add_reader(const std::string &s, CuDataListener* datal);
60 CuControlsWriterA *add_writer(const std::string &s, CuDataListener *datal);
61
62 CuControlsPropertyReaderA* get_property_reader(const std::string& s, CuDataListener *datal);
63
64 void disposeReader(const std::string &src = std::string());
65 void disposeWriter(const std::string &src = std::string());
66
67 void setOptions(const CuData& options);
68 void sendData(const CuData& data);
69 void sendData(const QList<CuData> &data);
70 void getData(CuData& d_inout);
71 void getData(QList<CuData> &in_datalist);
72
73 CuData options() const;
74
77 CuControlsReaderA *findReader(const std::string& srcnam);
78 CuControlsWriterA *findWriter(const std::string& targetnam);
83
84 QList<CuControlsReaderA*> readers() const;
85 QList<CuControlsWriterA *> writers() const;
86
87 Cumbia* cumbia() const;
88 CumbiaPool *cumbiaPool() const;
89
90private:
91
92 CuContextPrivate *d;
93
94 CuControlsReaderA *m_make_reader(const std::string &s, CuDataListener* datal) const;
95 CuControlsWriterA *m_make_writer(const std::string &s, CuDataListener* datal) const;
96
97};
98
99#endif // CULINKCONTROL_H
CuLinkControl stores a small set of objects to help create readers and writers.
Definition: cucontext.h:47
void getData(CuData &d_inout)
Send to the link a bundle with input arguments (keys) and get back the same bundle with values,...
Definition: cucontext.cpp:305
QList< CuControlsWriterA * > writers() const
Definition: cucontext.cpp:396
virtual ~CuContext()
Definition: cucontext.cpp:58
bool isAuto() const
Definition: cucontext.cpp:72
CumbiaPool * cumbiaPool() const
Definition: cucontext.cpp:406
CuControlsReaderA * replace_reader(const std::string &s, CuDataListener *datal)
Definition: cucontext.cpp:129
QList< CuControlsReaderA * > readers() const
Definition: cucontext.cpp:391
CuControlsFactoryPool getControlsFactoryPool() const
returns a copy of the CuControlsFactoryPool, which will be valid if the context is configured with a ...
Definition: cucontext.cpp:447
CuLinkStats * getLinkStats() const
Definition: cucontext.cpp:386
void disposeReader(const std::string &src=std::string())
Definition: cucontext.cpp:170
CuControlsReaderA * findReader(const std::string &srcnam)
Definition: cucontext.cpp:378
CuControlsWriterFactoryI * getWriterFactoryI() const
returns a pointer to the CuControlsWriterFactoryI or NULL if the context is not a writer context
Definition: cucontext.cpp:436
CuControlsPropertyReaderA * get_property_reader(const std::string &s, CuDataListener *datal)
Definition: cucontext.cpp:166
CuControlsWriterA * add_writer(const std::string &s, CuDataListener *datal)
Definition: cucontext.cpp:158
CuControlsWriterA * replace_writer(const std::string &s, CuDataListener *datal)
Definition: cucontext.cpp:138
void sendData(const CuData &data)
Send options bundle to the link, if active, and save them locally.
Definition: cucontext.cpp:258
CuControlsWriterA * findWriter(const std::string &targetnam)
Definition: cucontext.cpp:411
Cumbia * cumbia() const
Definition: cucontext.cpp:401
CuControlsWriterA * getWriter() const
Definition: cucontext.cpp:371
CuControlsReaderFactoryI * getReaderFactoryI() const
returns a pointer to the CuControlsReaderFactoryI or NULL if the context is not a reader context
Definition: cucontext.cpp:425
void setOptions(const CuData &options)
Definition: cucontext.cpp:219
CuControlsReaderA * add_reader(const std::string &s, CuDataListener *datal)
Definition: cucontext.cpp:149
CuData options() const
Get the options currently set on the context.
Definition: cucontext.cpp:359
CuControlsReaderA * getReader() const
Definition: cucontext.cpp:364
void disposeWriter(const std::string &src=std::string())
Definition: cucontext.cpp:188
this class, used in conjunction with CumbiaPool allows to connect to different control system framewo...
Definition: cucontrolsfactorypool.h:44
abstract class defining an interface for cumbia-qtcontrols readers
Definition: cucontrolsreader_abs.h:29
cumbia-qtcontrols reader factory. Creates an instance of a CuControlsReaderA implementation.
Definition: cucontrolsfactories_i.h:67
abstract class defining an interface for cumbia-qtcontrols writers
Definition: cucontrolswriter_abs.h:42
cumbia-qtcontrols writer factory. Creates an instance of a CuControlWriterA implementation.
Definition: cucontrolsfactories_i.h:24
Class used by cumbia-qtcontrols objects to store a minimal set of statistics about the link health.
Definition: culinkstats.h:27