44 virtual IOController::IOStateList
read()
override;
47 static ACLInfoMap readACLInfo(
const std::shared_ptr<Configuration>& conf,
const std::shared_ptr<UniXML>& _xml );
53 IOConfig_XML(
const std::string& fname,
const std::shared_ptr<Configuration>& conf );
60 IOConfig_XML(
const std::shared_ptr<UniXML>& _xml,
const std::shared_ptr<Configuration>& conf, xmlNode* root =
nullptr );
62 void setAclConfig(
const std::string& name,
const std::string& section=
"ACLConfig");
63 void setAclIgnoreError(
bool st );
103 void setItemFilter(
const std::string& filterField,
const std::string& filterValue =
"" );
108 void setConsumerFilter(
const std::string& filterField,
const std::string& filterValue =
"" );
119 void setThresholdsFilter(
const std::string& filterField,
const std::string& filterValue =
"" );
133 typedef sigc::slot<bool, const std::shared_ptr<UniXML>&,
UniXML::iterator&, xmlNode*, std::shared_ptr<IOController::USensorInfo>&> NCReaderSlot;
144 void read_consumers(
const std::shared_ptr<UniXML>& xml, xmlNode* node, std::shared_ptr<IOController::USensorInfo>& inf );
145 IOController::IOStateList read_list( xmlNode* node );
146 void init_thresholds( xmlNode* node, IOController::IOStateList& iolist );
147 void init_depends_signals( IOController::IOStateList& lst );
150 bool getSensorInfo( xmlNode* snode, std::shared_ptr<IOController::USensorInfo>& si )
const;
151 bool getThresholdInfo(xmlNode* tnode, std::shared_ptr<IOController::UThresholdInfo>& ti)
const;
154 static void set_dumptime(
const std::shared_ptr<UniXML>& xml, xmlNode* node );
155 static xmlNode* bind_node(
const std::shared_ptr<UniXML>& xml, xmlNode* root,
const std::string& nodename,
const std::string& nm =
"");
156 static xmlNode* rebind_node(
const std::shared_ptr<UniXML>& xml, xmlNode* root,
const std::string& nodename,
const std::string& nm =
"");
158 std::string s_filterField = {
"" };
159 std::string s_filterValue = {
"" };
160 std::string t_filterField = {
"" };
161 std::string t_filterValue = {
"" };
163 std::string i_filterField = {
"" };
164 std::string i_filterValue = {
"" };
165 std::string c_filterField = {
"" };
166 std::string c_filterValue = {
"" };
168 std::string fname = {
"" };
169 std::shared_ptr<Configuration> conf;
170 std::shared_ptr<UniXML> uxml;
172 std::string aclConfigName;
173 std::string aclConfigSectionName;
174 bool aclIgnoreErrors = {
false };
175 xmlNode* root = {
nullptr };
179 NCReaderSlot ncrslot;