aboutsummaryrefslogtreecommitdiffstats
path: root/src/HandlerManager.cpp
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-18 12:50:25 -0300
committerGitHub <noreply@github.com>2026-05-18 12:50:25 -0300
commitaf8759a9c1d965a3220024d1857aea219d62d898 (patch)
tree9cf14af855cac3674f508ec001bd04e262a524ae /src/HandlerManager.cpp
parent0fc76b99abbff1d3cef8e2f9fcd56f3ae4f23a7a (diff)
downloadRNT-af8759a9c1d965a3220024d1857aea219d62d898.tar.gz
RNT-af8759a9c1d965a3220024d1857aea219d62d898.zip
Branching and object registry rework (#11)
Diffstat (limited to '')
-rw-r--r--src/HandlerManager.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/HandlerManager.cpp b/src/HandlerManager.cpp
index 8149ff2..cb3b723 100644
--- a/src/HandlerManager.cpp
+++ b/src/HandlerManager.cpp
@@ -2,6 +2,7 @@
#include "IdentityManager.h"
#include "LifecycleManager.h"
+#include "NamespaceReferenceManager.h"
#include "PermissionsManager.h"
namespace nt
@@ -14,16 +15,19 @@ namespace nt
HandlerManager::HandlerManager(ObjectManager& objects,
PermissionsManager& permissions,
IdentityManager& identities,
- LifecycleManager& lifecycles)
+ LifecycleManager& lifecycles,
+ NamespaceReferenceManager& references)
: objects_(objects)
, permissions_(permissions)
, identities_(identities)
, lifecycles_(lifecycles)
+ , references_(references)
{}
struct HandlerManager::handle* HandlerManager::Open(std::vector<std::string> object_path, void* connection_context)
{
- ObjectManager::registry* retrieved_object = objects_.Find((const std::vector<std::string>)object_path);
+ const auto resolved = references_.Resolve(std::move(object_path));
+ ObjectManager::registry* retrieved_object = objects_.Find(resolved);
if (permissions_.Access(retrieved_object, (const void*)connection_context)
&& identities_.CanOpen(retrieved_object)
&& lifecycles_.Contention(retrieved_object)) {