An RFC 1960-based Filter. More...
Public Member Functions | |
LDAPFilter () | |
Creates in invalid LDAPFilter object. More... | |
LDAPFilter (const std::string &filter) | |
Creates a LDAPFilter object. More... | |
LDAPFilter (const LDAPFilter &other) | |
~LDAPFilter () | |
operator bool () const | |
bool | Match (const ServiceReference &reference) const |
Filter using a service's properties. More... | |
bool | Match (const ServiceProperties &dictionary) const |
Filter using a ServiceProperties object with case insensitive key lookup. More... | |
bool | MatchCase (const ServiceProperties &dictionary) const |
Filter using a ServiceProperties . More... | |
std::string | ToString () const |
Returns this LDAPFilter 's filter string. More... | |
bool | operator== (const LDAPFilter &other) const |
Compares this LDAPFilter to another LDAPFilter . More... | |
LDAPFilter & | operator= (const LDAPFilter &filter) |
Protected Attributes | |
SharedDataPointer< LDAPFilterData > | d |
An RFC 1960-based Filter.
A LDAPFilter
can be used numerous times to determine if the match argument matches the filter string that was used to create the LDAPFilter
.
Some examples of LDAP filters are:
LDAPFilter::LDAPFilter | ( | ) |
Creates in invalid LDAPFilter
object.
Test the validity by using the boolean conversion operator.
Calling methods on an invalid LDAPFilter
will result in undefined behavior.
LDAPFilter::LDAPFilter | ( | const std::string & | filter | ) |
Creates a LDAPFilter
object.
This LDAPFilter
object may be used to match a ServiceReference
object or a ServiceProperties
object.
If the filter cannot be parsed, an std::invalid_argument will be thrown with a human readable message where the filter became unparsable.
filter | The filter string. |
LDAPFilter
object encapsulating the filter string. std::invalid_argument | If filter contains an invalid filter string that cannot be parsed. |
LDAPFilter::LDAPFilter | ( | const LDAPFilter & | other | ) |
LDAPFilter::~LDAPFilter | ( | ) |
bool LDAPFilter::Match | ( | const ServiceReference & | reference | ) | const |
Filter using a service's properties.
This LDAPFilter
is executed using the keys and values of the referenced service's properties. The keys are looked up in a case insensitive manner.
reference | The reference to the service whose properties are used in the match. |
true
if the service's properties match this LDAPFilter
false
otherwise. bool LDAPFilter::Match | ( | const ServiceProperties & | dictionary | ) | const |
Filter using a ServiceProperties
object with case insensitive key lookup.
This LDAPFilter
is executed using the specified ServiceProperties
's keys and values. The keys are looked up in a case insensitive manner.
dictionary | The ServiceProperties whose key/value pairs are used in the match. |
true
if the ServiceProperties
's values match this filter; false
otherwise. bool LDAPFilter::MatchCase | ( | const ServiceProperties & | dictionary | ) | const |
Filter using a ServiceProperties
.
This LDAPFilter
is executed using the specified ServiceProperties
's keys and values. The keys are looked up in a normal manner respecting case.
dictionary | The ServiceProperties whose key/value pairs are used in the match. |
true
if the ServiceProperties
's values match this filter; false
otherwise. LDAPFilter::operator bool | ( | ) | const |
LDAPFilter& LDAPFilter::operator= | ( | const LDAPFilter & | filter | ) |
bool LDAPFilter::operator== | ( | const LDAPFilter & | other | ) | const |
Compares this LDAPFilter
to another LDAPFilter
.
This implementation returns the result of calling this->ToString() == other.ToString()
.
other | The object to compare against this LDAPFilter . |
this->ToString() == other.ToString()
. std::string LDAPFilter::ToString | ( | ) | const |
Returns this LDAPFilter
's filter string.
The filter string is normalized by removing whitespace which does not affect the meaning of the filter.
LDAPFilter
's filter string.
|
protected |