25 #ifndef INCLUDED_InterfaceTree_h_GUID_7F88FD57_3657_4AA6_B725_A1C69AA21ED2 26 #define INCLUDED_InterfaceTree_h_GUID_7F88FD57_3657_4AA6_B725_A1C69AA21ED2 29 #include <osvr/Client/Export.h> 48 RemoteHandlerPtr handler;
49 common::InterfaceList interfaces;
63 OSVR_CLIENT_EXPORT
bool 69 OSVR_CLIENT_EXPORT
bool 74 OSVR_CLIENT_EXPORT common::InterfaceList &
75 getInterfacesForPath(std::string
const &path);
78 OSVR_CLIENT_EXPORT RemoteHandlerPtr
79 getHandlerForPath(std::string
const &path);
82 OSVR_CLIENT_EXPORT RemoteHandlerPtr
83 eraseHandlerForPath(std::string
const &path);
87 OSVR_CLIENT_EXPORT RemoteHandlerPtr replaceHandlerForPath(
88 std::string
const &path, RemoteHandlerPtr
const &handler);
91 OSVR_CLIENT_EXPORT
void updateHandlers();
94 OSVR_CLIENT_EXPORT
void clearHandlers();
99 if (!node.
value().handler && !node.
value().interfaces.empty()) {
108 node_type &m_getNodeForPath(std::string
const &path);
111 RemoteHandlerPtr m_removeHandler(node_type &node);
114 RemoteHandlerPtr m_setHandler(node_type &node,
115 RemoteHandlerPtr
const &handler);
123 #endif // INCLUDED_InterfaceTree_h_GUID_7F88FD57_3657_4AA6_B725_A1C69AA21ED2 Definition: InterfaceTree.h:47
Definition: InterfaceTree.cpp:38
shared_ptr< ClientInterface > ClientInterfacePtr
Pointer for holding ClientInterface objects safely.
Definition: ClientInterfacePtr.h:43
A node in a generic tree, which can contain an object by value.
Definition: TreeNode.h:72
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
value_type & value()
Reference accessor for contained value.
Definition: TreeNode.h:134
std::string getTreeNodeFullPath(util::TreeNode< T > const &node, const char pathSeparator[])
Given a tree node and a path separator, get the full path identifying that tree node.
Definition: TreeNodeFullPath.h:56
TreeNodePointer< ValueType >::type ptr_type
The pointer for holding this template instantiation - used primarily/only in holding the root node...
Definition: TreeNode.h:80
void traverseWith(T &node, F &&functor)
A method to handle visiting every node in a tree with a lambda or other by-value function object...
Definition: TreeTraversalVisitor.h:67
Holds on to lists of interfaces organized into the tree structure, as well as their associated handle...
Definition: InterfaceTree.h:53
void visitPathsWithoutHandlers(F &&func)
Visit all paths with interfaces in their list but no handler.
Definition: InterfaceTree.h:97
Definition: benchGeometry.cpp:23
Wrapper for a container of handlers.
Definition: HandlerContainer.h:41
OSVR_COMMON_EXPORT const char * getPathSeparator()
Gets the path separator - a slash - as a null-terminated string.
Definition: RoutingConstants.cpp:38