if (m_properNamespace) {
if (attribute.name == L"name") {
m_feature.name = attribute.value;
+ m_privilege.name = attribute.value;
}
}
m_feature.required = true;
}
}
}
+
+ LibIri::Wrapper iriPrivilege(
+ DPL::ToUTF8String(m_privilege.name).c_str());
+
+ if (m_privilege.name != L"") {
+ if (iriPrivilege.Validate()) {
+ if (m_data.privilegeList.find(m_privilege) ==
+ m_data.privilegeList.end()) {
+ m_data.privilegeList.insert(m_privilege);
+ } else {
+ LogDebug("Ignoring privilege with name" <<
+ DPL::ToUTF8String(m_privilege.name));
+ }
+ }
+ }
}
PrivilegeParser(ConfigParserData& data) :
ElementParser(),
m_data(data),
m_feature(L""),
+ m_privilege(L""),
m_properNamespace(false)
{
}
private:
ConfigParserData& m_data;
ConfigParserData::Feature m_feature;
+ ConfigParserData::Privilege m_privilege;
bool m_properNamespace;
};