diff options
Diffstat (limited to '')
| -rw-r--r-- | include/HandlerManager.h | 22 |
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_; }; } |
