Filters information document according to identity of requestor. More...
#include <InfoFilter.h>
Public Member Functions | |
InfoFilter (MessageAuth &id) | |
bool | Filter (XMLNode doc) const |
bool | Filter (XMLNode doc, const InfoFilterPolicies &policies, const NS &ns) const |
Filters information document according to identity of requestor.
Identity is compared to policies stored inside information document and external ones. Parts of document which do not pass policy evaluation are removed.
Arc::InfoFilter::InfoFilter | ( | MessageAuth & | id | ) |
Creates object and associates identity.
Associated identity is not copied, hence passed argument must not be destroyed while this method is used.
bool Arc::InfoFilter::Filter | ( | XMLNode | doc, | |
const InfoFilterPolicies & | policies, | |||
const NS & | ns | |||
) | const |
Filter information document according to internal and external policies.
In provided document all policies and nodes which have their policies evaluated to negative result are removed. External policies are provided in policies argument. First element of every pair is XPath defining to which XML node policy must be applied. Second element is policy itself. Argument ns defines XML namespaces for XPath evaluation.
bool Arc::InfoFilter::Filter | ( | XMLNode | doc | ) | const |
Filter information document according to internal policies.
In provided document all policies and nodes which have their policies evaluated to negative result are removed.