26 #include <sigc++/sigc++.h>
30 #include "IOController.h"
31 #include "IONotifyController.h"
52 const SInfo& operator=(
const SInfo& ) =
delete;
57 uniset::Message::Message::Priority& p,
long& def ) noexcept
67 this->
type = UniversalIO::DI;
68 this->
priority = uniset::Message::Medium;
88 static inline void ioRegistration(
IONotifyController* ic, std::shared_ptr<IOController::USensorInfo>& inf,
bool force =
false )
95 return ic->myiofind(k);
98 static inline IOController::IOStateList::iterator ioEnd( IONotifyController* ic ) noexcept
100 return ic->myioEnd();
102 static inline IOController::IOStateList::iterator ioBegin( IONotifyController* ic ) noexcept
104 return ic->myioBegin();
107 static void init_depends_signals( IONotifyController* ic );
131 NCRestorer_XML(
const std::string& fname,
const std::string& sensor_filterField,
const std::string& sensor_filterValue =
"" );
137 void setThresholdsFilter(
const std::string& filterField,
const std::string& filterValue =
"" );
139 bool setFileName(
const std::string& file,
bool create );
140 inline std::string getFileName()
const noexcept
156 typedef sigc::slot<bool, const std::shared_ptr<UniXML>&,
UniXML::iterator&, xmlNode*, std::shared_ptr<IOController::USensorInfo>&> NCReaderSlot;
158 void setNCReadItem( NCReaderSlot sl );
169 void read_consumers(
const std::shared_ptr<UniXML>& xml, xmlNode* node, std::shared_ptr<NCRestorer_XML::SInfo>& inf,
IONotifyController* ic );
170 void read_list(
const std::shared_ptr<UniXML>& xml, xmlNode* node,
IONotifyController* ic);
171 void read_thresholds(
const std::shared_ptr<UniXML>& xml, xmlNode* node,
IONotifyController* ic);
172 void init(
const std::string& fname );
175 bool getSensorInfo(
const std::shared_ptr<UniXML>& xml, xmlNode* snode, std::shared_ptr<NCRestorer_XML::SInfo>& si );
179 static void set_dumptime(
const std::shared_ptr<UniXML>& xml, xmlNode* node );
180 static xmlNode* bind_node(
const std::shared_ptr<UniXML>& xml, xmlNode* root,
const std::string& nodename,
const std::string& nm =
"");
181 static xmlNode* rebind_node(
const std::shared_ptr<UniXML>& xml, xmlNode* root,
const std::string& nodename,
const std::string& nm =
"");
183 std::string s_filterField = {
"" };
184 std::string s_filterValue = {
"" };
185 std::string t_filterField = {
"" };
186 std::string t_filterValue = {
"" };
188 std::string fname = {
"" };
189 std::shared_ptr<UniXML> uxml;
191 NCReaderSlot ncrslot;