EntropyEngine::Core::EntropyService
EntropyEngine::Core::EntropyService
Section titled “EntropyEngine::Core::EntropyService”Base interface for pluggable services within Entropy. More…
#include <EntropyService.h>
Inherits from EntropyEngine::Core::EntropyObject
Inherited by EntropyCanvas::ComponentSchemaService, EntropyCanvas::SceneService, EntropyCanvas::USDService, EntropyCanvas::UsdSyncService, EntropyEngine::Core::Concurrency::WorkService, EntropyEngine::Core::TimerService
Public Functions
Section titled “Public Functions”| Name | |
|---|---|
| ~EntropyService() override =default | |
| virtual const char * | version() const |
| virtual void | unload() |
| virtual TypeSystem::TypeID | typeId() const =0 |
| virtual void | stop() |
| ServiceState | state() const |
| virtual void | start() |
| virtual const char * | name() const =0 |
| virtual void | load() |
| virtual const char * | id() const =0 |
| virtual std::vector< TypeSystem::TypeID > | dependsOnTypes() const |
| virtual std::vector< std::string > | dependsOn() const |
| virtual const char * | className() const override Runtime class name for diagnostics and reflection. |
Protected Functions
Section titled “Protected Functions”| Name | |
|---|---|
| void | setState(ServiceState s) |
Friends
Section titled “Friends”| Name | |
|---|---|
| class | EntropyServiceRegistry |
Additional inherited members
Section titled “Additional inherited members”Protected Classes inherited from EntropyEngine::Core::EntropyObject
| Name | |
|---|---|
| struct | HandleCore Optional handle identity stamped by an owner/registry. |
Public Functions inherited from EntropyEngine::Core::EntropyObject
| Name | |
|---|---|
| virtual | ~EntropyObject() =default |
| virtual const TypeSystem::TypeInfo * | typeInfo() const Optional richer type information; may be null. |
| bool | tryRetain() const Attempts to retain only if the object is still alive. |
| virtual std::string | toString() const Human-readable short string (class@ptr by default). |
| void | retain() const Increments the reference count. |
| void | release() const Decrements the reference count and deletes when it reaches zero. |
| uint32_t | refCount() const Current reference count (approximate under contention). |
| EntropyObject & | operator=(const EntropyObject & ) =delete |
| EntropyObject & | operator=(EntropyObject && ) =delete |
| bool | hasHandle() const |
| template <class OwnerT > OwnerT * | handleOwnerAs() const Returns the stamped owner pointer cast to the requested type. |
| const void * | handleOwner() const |
| uint32_t | handleIndex() const |
| uint64_t | handleId() const |
| uint32_t | handleGeneration() const |
| WeakControlBlock * | getWeakControlBlock() const Lazily retrieves or creates the weak control block. |
| virtual std::string | description() const Long-form description; defaults to toString(). |
| virtual std::string | debugString() const Debug-oriented string including refcount and handle when present. |
| virtual uint64_t | classHash() const Stable type hash for cross-language identification. |
| EntropyObject() =default | |
| EntropyObject(EntropyObject && ) =delete | |
| EntropyObject(const EntropyObject & ) =delete |
Protected Functions inherited from EntropyEngine::Core::EntropyObject
| Name | |
|---|---|
| void | _setHandleIdentity(void * owner, uint32_t index, uint32_t generation) |
| void | _clearHandleIdentity() |
Protected Attributes inherited from EntropyEngine::Core::EntropyObject
| Name | |
|---|---|
| std::atomic< WeakControlBlock * > | _weakBlock Lazily allocated control block for weak refs. |
| std::atomic< uint32_t > | _refCount Thread-safe retain/release counter. |
| struct EntropyEngine::Core::EntropyObject::HandleCore | _handle |
Friends inherited from EntropyEngine::Core::EntropyObject
| Name | |
|---|---|
| struct | HandleAccess |
Detailed Description
Section titled “Detailed Description”class EntropyEngine::Core::EntropyService;Base interface for pluggable services within Entropy.
Services encapsulate optional subsystems (e.g., Work execution, Scene, Renderer) and participate in the application lifecycle via load/start/stop/unload callbacks.
Services inherit from EntropyObject, enabling:
- Reference counting for safe shared ownership
- Handle stamping for generation-based validation
- WeakRef support for non-owning references across subsystems
Implementations should be lightweight to construct; heavy initialization should happen in load()/start(). All lifecycle methods are expected to be called on the main thread by the orchestrator.
Public Functions Documentation
Section titled “Public Functions Documentation”function ~EntropyService
Section titled “function ~EntropyService”~EntropyService() override =defaultfunction version
Section titled “function version”inline virtual const char * version() constReimplemented by: EntropyCanvas::ComponentSchemaService::version, EntropyCanvas::SceneService::version, EntropyEngine::Core::Concurrency::WorkService::version, EntropyEngine::Core::TimerService::version
function unload
Section titled “function unload”inline virtual void unload()Reimplemented by: EntropyCanvas::ComponentSchemaService::unload, EntropyCanvas::SceneService::unload, EntropyCanvas::USDService::unload, EntropyCanvas::UsdSyncService::unload, EntropyEngine::Core::Concurrency::WorkService::unload, EntropyEngine::Core::TimerService::unload
function typeId
Section titled “function typeId”virtual TypeSystem::TypeID typeId() const =0Reimplemented by: EntropyCanvas::ComponentSchemaService::typeId, EntropyCanvas::SceneService::typeId, EntropyCanvas::USDService::typeId, EntropyCanvas::UsdSyncService::typeId, EntropyEngine::Core::Concurrency::WorkService::typeId, EntropyEngine::Core::TimerService::typeId
function stop
Section titled “function stop”inline virtual void stop()Reimplemented by: EntropyCanvas::ComponentSchemaService::stop, EntropyCanvas::SceneService::stop, EntropyCanvas::USDService::stop, EntropyCanvas::UsdSyncService::stop, EntropyEngine::Core::Concurrency::WorkService::stop, EntropyEngine::Core::TimerService::stop
function state
Section titled “function state”inline ServiceState state() constfunction start
Section titled “function start”inline virtual void start()Reimplemented by: EntropyCanvas::ComponentSchemaService::start, EntropyCanvas::SceneService::start, EntropyCanvas::USDService::start, EntropyCanvas::UsdSyncService::start, EntropyEngine::Core::Concurrency::WorkService::start, EntropyEngine::Core::TimerService::start
function name
Section titled “function name”virtual const char * name() const =0Reimplemented by: EntropyCanvas::ComponentSchemaService::name, EntropyCanvas::SceneService::name, EntropyCanvas::USDService::name, EntropyCanvas::UsdSyncService::name, EntropyEngine::Core::Concurrency::WorkService::name, EntropyEngine::Core::TimerService::name
function load
Section titled “function load”inline virtual void load()Reimplemented by: EntropyCanvas::ComponentSchemaService::load, EntropyCanvas::SceneService::load, EntropyCanvas::USDService::load, EntropyCanvas::UsdSyncService::load, EntropyEngine::Core::Concurrency::WorkService::load, EntropyEngine::Core::TimerService::load
function id
Section titled “function id”virtual const char * id() const =0Reimplemented by: EntropyCanvas::ComponentSchemaService::id, EntropyCanvas::SceneService::id, EntropyCanvas::USDService::id, EntropyCanvas::UsdSyncService::id, EntropyEngine::Core::Concurrency::WorkService::id, EntropyEngine::Core::TimerService::id
function dependsOnTypes
Section titled “function dependsOnTypes”inline virtual std::vector< TypeSystem::TypeID > dependsOnTypes() constReimplemented by: EntropyCanvas::USDService::dependsOnTypes, EntropyCanvas::UsdSyncService::dependsOnTypes, EntropyEngine::Core::Concurrency::WorkService::dependsOnTypes, EntropyEngine::Core::TimerService::dependsOnTypes
function dependsOn
Section titled “function dependsOn”inline virtual std::vector< std::string > dependsOn() constReimplemented by: EntropyEngine::Core::Concurrency::WorkService::dependsOn, EntropyEngine::Core::TimerService::dependsOn
function className
Section titled “function className”inline virtual const char * className() const overrideRuntime class name for diagnostics and reflection.
Reimplements: EntropyEngine::Core::EntropyObject::className
Protected Functions Documentation
Section titled “Protected Functions Documentation”function setState
Section titled “function setState”inline void setState( ServiceState s)Friends
Section titled “Friends”friend EntropyServiceRegistry
Section titled “friend EntropyServiceRegistry”friend class EntropyServiceRegistry( EntropyServiceRegistry);Updated on 2026-01-26 at 17:14:35 -0500