aboutsummaryrefslogtreecommitdiffstats
path: root/include/HandlerManager.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/HandlerManager.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/HandlerManager.h b/include/HandlerManager.h
index 185cc55..4f63f17 100644
--- a/include/HandlerManager.h
+++ b/include/HandlerManager.h
@@ -13,11 +13,27 @@
namespace nt
{
+ class IdentityManager;
+ class LifecycleManager;
+ class PermissionsManager;
+
/** @brief Opens and closes authorized handles to registry objects. */
class NT_API HandlerManager
{
public:
/**
+ * @brief Constructs a HandlerManager with shared runtime dependencies.
+ *
+ * All managers are injected so that state (registry entries, lifecycle
+ * counters, permission policy) persists across calls rather than being
+ * rebuilt per open/close.
+ */
+ HandlerManager(ObjectManager& objects,
+ PermissionsManager& permissions,
+ IdentityManager& identities,
+ LifecycleManager& lifecycles);
+
+ /**
* @brief Represents authorized access to an object in the registry.
*
* This increases the handle count in the object manager. We should
@@ -51,5 +67,11 @@ namespace nt
* @return True when the handle was closed successfully.
*/
bool Close(struct handle* handle);
+
+ private:
+ ObjectManager& objects_;
+ PermissionsManager& permissions_;
+ IdentityManager& identities_;
+ LifecycleManager& lifecycles_;
};
}