xapian-core  1.4.20
Classes | Public Member Functions | Private Attributes | List of all members
Xapian::Registry Class Reference

Registry for user subclasses. More...

#include <registry.h>

+ Collaboration diagram for Xapian::Registry:

Classes

class  Internal
 

Public Member Functions

 Registry (const Registry &other)
 Copy constructor. More...
 
Registryoperator= (const Registry &other)
 Assignment operator. More...
 
 Registry ()
 Default constructor. More...
 
 ~Registry ()
 
void register_weighting_scheme (const Xapian::Weight &wt)
 Register a weighting scheme. More...
 
const Xapian::Weightget_weighting_scheme (const std::string &name) const
 Get the weighting scheme given a name. More...
 
void register_posting_source (const Xapian::PostingSource &source)
 Register a user-defined posting source class. More...
 
const Xapian::PostingSourceget_posting_source (const std::string &name) const
 Get a posting source given a name. More...
 
void register_match_spy (const Xapian::MatchSpy &spy)
 Register a user-defined match spy class. More...
 
const Xapian::MatchSpyget_match_spy (const std::string &name) const
 Get a match spy given a name. More...
 
void register_lat_long_metric (const Xapian::LatLongMetric &metric)
 Register a user-defined lat-long metric class. More...
 
const Xapian::LatLongMetricget_lat_long_metric (const std::string &name) const
 Get a lat-long metric given a name. More...
 

Private Attributes

Xapian::Internal::intrusive_ptr< Internalinternal
 

Detailed Description

Registry for user subclasses.

This class provides a way for the remote server to look up user subclasses when unserialising.

Definition at line 47 of file registry.h.

Constructor & Destructor Documentation

◆ Registry() [1/2]

Xapian::Registry::Registry ( const Registry other)

Copy constructor.

The internals are reference counted, so copying is cheap.

Parameters
otherThe object to copy.

Definition at line 229 of file registry.cc.

References LOGCALL_CTOR.

◆ Registry() [2/2]

Xapian::Registry::Registry ( )

Default constructor.

The registry will contain all standard subclasses of user-subclassable classes.

Definition at line 248 of file registry.cc.

References LOGCALL_CTOR.

Referenced by operator=().

◆ ~Registry()

Xapian::Registry::~Registry ( )

Definition at line 254 of file registry.cc.

References LOGCALL_DTOR.

Member Function Documentation

◆ get_lat_long_metric()

const Xapian::LatLongMetric * Xapian::Registry::get_lat_long_metric ( const std::string &  name) const

Get a lat-long metric given a name.

The returned metric is owned by the registry object.

Returns NULL if the metric could not be found.

Definition at line 314 of file registry.cc.

References internal, LOGCALL, lookup_object(), and RETURN.

Referenced by DEFINE_TESTCASE(), and Xapian::LatLongDistancePostingSource::unserialise_with_registry().

◆ get_match_spy()

const Xapian::MatchSpy * Xapian::Registry::get_match_spy ( const std::string &  name) const

Get a match spy given a name.

Parameters
nameThe name of the match spy to find.
Returns
An object with the requested name, or NULL if the match spy could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

Definition at line 300 of file registry.cc.

References internal, LOGCALL, lookup_object(), and RETURN.

Referenced by DEFINE_TESTCASE(), and RemoteServer::msg_query().

◆ get_posting_source()

const Xapian::PostingSource * Xapian::Registry::get_posting_source ( const std::string &  name) const

Get a posting source given a name.

Parameters
nameThe name of the posting source to find.
Returns
An object with the requested name, or NULL if the posting source could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

Definition at line 286 of file registry.cc.

References internal, LOGCALL, lookup_object(), and RETURN.

Referenced by DEFINE_TESTCASE(), and Xapian::Query::Internal::unserialise().

◆ get_weighting_scheme()

const Xapian::Weight * Xapian::Registry::get_weighting_scheme ( const std::string &  name) const

Get the weighting scheme given a name.

Parameters
nameThe name of the weighting scheme to find.
Returns
An object with the requested name, or NULL if the weighting scheme could not be found. The returned object is owned by the registry and so must not be deleted by the caller.

Definition at line 272 of file registry.cc.

References internal, LOGCALL, lookup_object(), and RETURN.

Referenced by DEFINE_TESTCASE(), and RemoteServer::msg_query().

◆ operator=()

Registry & Xapian::Registry::operator= ( const Registry other)
default

Assignment operator.

The internals are reference counted, so assignment is cheap.

Parameters
otherThe object to copy.

Definition at line 236 of file registry.cc.

References internal, LOGCALL, Registry(), and RETURN.

◆ register_lat_long_metric()

void Xapian::Registry::register_lat_long_metric ( const Xapian::LatLongMetric metric)

Register a user-defined lat-long metric class.

Definition at line 307 of file registry.cc.

References internal, LOGCALL_VOID, Xapian::LatLongMetric::name(), and register_object().

◆ register_match_spy()

void Xapian::Registry::register_match_spy ( const Xapian::MatchSpy spy)

Register a user-defined match spy class.

Parameters
spyThe match spy to register.

Definition at line 293 of file registry.cc.

References internal, LOGCALL_VOID, Xapian::MatchSpy::name(), and register_object().

Referenced by DEFINE_TESTCASE().

◆ register_posting_source()

void Xapian::Registry::register_posting_source ( const Xapian::PostingSource source)

Register a user-defined posting source class.

Parameters
sourceThe posting source to register.

Definition at line 279 of file registry.cc.

References internal, LOGCALL_VOID, Xapian::PostingSource::name(), and register_object().

Referenced by DEFINE_TESTCASE().

◆ register_weighting_scheme()

void Xapian::Registry::register_weighting_scheme ( const Xapian::Weight wt)

Register a weighting scheme.

Parameters
wtThe weighting scheme to register.

Definition at line 265 of file registry.cc.

References internal, LOGCALL_VOID, Xapian::Weight::name(), and register_object().

Referenced by DEFINE_TESTCASE().

Member Data Documentation

◆ internal

Xapian::Internal::intrusive_ptr<Internal> Xapian::Registry::internal
private

The documentation for this class was generated from the following files: