expose the new query-for-contents facility as session service
This commit is contained in:
parent
9514970b6c
commit
c01f774344
2 changed files with 16 additions and 10 deletions
|
|
@ -57,6 +57,7 @@
|
|||
#include "proc/mobject/session/session-service-mock-index.hpp"
|
||||
#include "proc/mobject/session/session-service-defaults.hpp"
|
||||
|
||||
#include "proc/mobject/session/placement-index-query-resolver.hpp"
|
||||
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
#include <vector>
|
||||
|
|
@ -133,6 +134,7 @@ namespace session {
|
|||
};
|
||||
|
||||
|
||||
|
||||
template<class IMPL>
|
||||
struct ServiceAccessPoint<SessionServiceExploreScope, IMPL>
|
||||
: IMPL
|
||||
|
|
@ -140,9 +142,7 @@ namespace session {
|
|||
QueryResolver&
|
||||
getScopeQueryResolver()
|
||||
{
|
||||
UNIMPLEMENTED ("how actually to manage the PlacementIndexQueryResolver wrapper instance");
|
||||
|
||||
// return IMPL::magic_;
|
||||
return resolvingWrapper_;
|
||||
}
|
||||
|
||||
PlacementMO&
|
||||
|
|
@ -150,9 +150,18 @@ namespace session {
|
|||
{
|
||||
return IMPL::getPlacementIndex()->getRoot();
|
||||
}
|
||||
|
||||
protected:
|
||||
ServiceAccessPoint<SessionServiceExploreScope, IMPL>()
|
||||
: resolvingWrapper_(IMPL::getPlacementIndex())
|
||||
{ }
|
||||
|
||||
private:
|
||||
PlacementIndexQueryResolver resolvingWrapper_;
|
||||
};
|
||||
|
||||
|
||||
|
||||
template<class IMPL>
|
||||
struct ServiceAccessPoint<SessionServiceMockIndex, IMPL>
|
||||
: IMPL
|
||||
|
|
@ -177,6 +186,7 @@ namespace session {
|
|||
};
|
||||
|
||||
|
||||
|
||||
template<class IMPL>
|
||||
struct ServiceAccessPoint<SessionServiceDefaults, IMPL>
|
||||
: IMPL
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
**
|
||||
** By virtue of this service, QueryFocus, Scope and Placement can
|
||||
** remain completely agnostic of session's implementation details,
|
||||
** and especially aren't bound to PlacementIndex. This is important,
|
||||
** especially they aren't bound to PlacementIndex. This is important,
|
||||
** because the public session API is casted in terms of PlacementRef
|
||||
** and QueryFocus An implementation of this service is available
|
||||
** and QueryFocus. An implementation of this service is available
|
||||
** through the SessionServices access mechanism.
|
||||
**
|
||||
** @see session-impl.hpp implementation of the service
|
||||
|
|
@ -48,7 +48,6 @@
|
|||
|
||||
#include "proc/mobject/placement.hpp"
|
||||
#include "proc/mobject/session/query-resolver.hpp"
|
||||
//#include "lib/meta/generator.hpp"
|
||||
|
||||
|
||||
|
||||
|
|
@ -56,11 +55,8 @@
|
|||
namespace mobject {
|
||||
namespace session {
|
||||
|
||||
// using lumiera::typelist::InstantiateChained;
|
||||
// using lumiera::typelist::InheritFrom;
|
||||
// using lumiera::typelist::NullType;
|
||||
|
||||
|
||||
|
||||
struct SessionServiceExploreScope
|
||||
{
|
||||
static QueryResolver const& getResolver();
|
||||
|
|
|
|||
Loading…
Reference in a new issue