diff --git a/src/proc/mobject/session/session-impl.hpp b/src/proc/mobject/session/session-impl.hpp index c120251cc..246b9f9c4 100644 --- a/src/proc/mobject/session/session-impl.hpp +++ b/src/proc/mobject/session/session-impl.hpp @@ -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 #include @@ -133,6 +134,7 @@ namespace session { }; + template struct ServiceAccessPoint : 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() + : resolvingWrapper_(IMPL::getPlacementIndex()) + { } + + private: + PlacementIndexQueryResolver resolvingWrapper_; }; + template struct ServiceAccessPoint : IMPL @@ -177,6 +186,7 @@ namespace session { }; + template struct ServiceAccessPoint : IMPL diff --git a/src/proc/mobject/session/session-service-explore-scope.hpp b/src/proc/mobject/session/session-service-explore-scope.hpp index f3ef6829b..577705cb9 100644 --- a/src/proc/mobject/session/session-service-explore-scope.hpp +++ b/src/proc/mobject/session/session-service-explore-scope.hpp @@ -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();