Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/mobject/session/placement-index-query-resolver.hpp"
Wrapper for the PlacementIndex, allowing to resolve scope contents discovery.
Definition at line 81 of file placement-index-query-resolver.hpp.
Public Member Functions | |
PlacementIndexQueryResolver (PlacementIndex &theIndex) | |
PlacementIndexQueryResolver (function< IndexLink > const &accessIndex) | |
template<typename MO > | |
Resolution * | resolutionFunction (Goal const &goal) |
an instance of this function is installed for each specifically typed kind of query to be handled. More... | |
Public Member Functions inherited from QueryResolver | |
bool | canHandle (Goal const &) const |
PReso | issue (Goal const &query) const |
issue a query to retrieve contents The query is handed over internally to a suitable resolver implementation. More... | |
Private Member Functions | |
virtual bool | canHandleQuery (Goal::QueryID const &) const override |
template<typename MO > | |
void | defineHandling () |
virtual | operator string () const override |
short characterisation of the actual facility | |
void | preGenerateInvocationContext () |
template<typename MO > | |
lumiera::Resolution * | resolutionFunction (Goal const &goal) |
Explorer * | setupExploration (PlacementIndex::ID startID, ScopeQueryKind direction) |
the builder function used to set up an concrete result set object when issuing the query. More... | |
Private Attributes | |
function< IndexLink > | _getIndex |
Additional Inherited Members | |
Protected Types inherited from QueryResolver | |
using | ResolutionMechanism = function< Resolution *(Goal const &)> |
Protected Member Functions inherited from QueryResolver | |
void | installResolutionCase (Goal::QueryID const &, ResolutionMechanism) |
|
private |
the builder function used to set up an concrete result set object when issuing the query.
It is preconfigured by the resolutionFunction. The object returned from this function is taken over and managed by a smart-ptr, which is embedded within the iterator given to the client.
Definition at line 384 of file placement-index-query-resolver.cpp.
References steam::mobject::session::CHILDREN, steam::mobject::session::CONTENTS, PlacementIndex::getReferrers(), steam::mobject::session::PARENTS, and steam::mobject::session::PATH.
Referenced by PlacementIndexQueryResolver::operator string(), and PlacementIndexQueryResolver::resolutionFunction().
Resolution* resolutionFunction | ( | Goal const & | goal | ) |
an instance of this function is installed for each specifically typed kind of query to be handled.
This allows the client code to retrieve just placements of this special type (e.g. Placement<Clip>) in a typesafe manner. We ensure a suitable ContentFilter will be installed, dropping any other query results (of other type) before the point where they may get casted to the desired result type. The key for picking the right resolutionFunction is getResultTypeID<TYPE>()
Definition at line 361 of file placement-index-query-resolver.cpp.
References steam::mobject::session::anonymous_namespace{placement-index-query-resolver.cpp}::getContentFilter(), INSTANCEOF, and PlacementIndexQueryResolver::setupExploration().