Skip to content

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

Name
~EntropyService() override =default
virtual const char *version() const
virtual voidunload()
virtual TypeSystem::TypeIDtypeId() const =0
virtual voidstop()
ServiceStatestate() const
virtual voidstart()
virtual const char *name() const =0
virtual voidload()
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.
Name
voidsetState(ServiceState s)
Name
classEntropyServiceRegistry

Protected Classes inherited from EntropyEngine::Core::EntropyObject

Name
structHandleCore
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.
booltryRetain() const
Attempts to retain only if the object is still alive.
virtual std::stringtoString() const
Human-readable short string (class@ptr by default).
voidretain() const
Increments the reference count.
voidrelease() const
Decrements the reference count and deletes when it reaches zero.
uint32_trefCount() const
Current reference count (approximate under contention).
EntropyObject &operator=(const EntropyObject & ) =delete
EntropyObject &operator=(EntropyObject && ) =delete
boolhasHandle() const
template <class OwnerT >
OwnerT *
handleOwnerAs() const
Returns the stamped owner pointer cast to the requested type.
const void *handleOwner() const
uint32_thandleIndex() const
uint64_thandleId() const
uint32_thandleGeneration() const
WeakControlBlock *getWeakControlBlock() const
Lazily retrieves or creates the weak control block.
virtual std::stringdescription() const
Long-form description; defaults to toString().
virtual std::stringdebugString() const
Debug-oriented string including refcount and handle when present.
virtual uint64_tclassHash() 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
structHandleAccess
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.

~EntropyService() override =default
inline virtual const char * version() const

Reimplemented by: EntropyCanvas::ComponentSchemaService::version, EntropyCanvas::SceneService::version, EntropyEngine::Core::Concurrency::WorkService::version, EntropyEngine::Core::TimerService::version

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

virtual TypeSystem::TypeID typeId() const =0

Reimplemented by: EntropyCanvas::ComponentSchemaService::typeId, EntropyCanvas::SceneService::typeId, EntropyCanvas::USDService::typeId, EntropyCanvas::UsdSyncService::typeId, EntropyEngine::Core::Concurrency::WorkService::typeId, EntropyEngine::Core::TimerService::typeId

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

inline ServiceState state() const
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

virtual const char * name() const =0

Reimplemented by: EntropyCanvas::ComponentSchemaService::name, EntropyCanvas::SceneService::name, EntropyCanvas::USDService::name, EntropyCanvas::UsdSyncService::name, EntropyEngine::Core::Concurrency::WorkService::name, EntropyEngine::Core::TimerService::name

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

virtual const char * id() const =0

Reimplemented by: EntropyCanvas::ComponentSchemaService::id, EntropyCanvas::SceneService::id, EntropyCanvas::USDService::id, EntropyCanvas::UsdSyncService::id, EntropyEngine::Core::Concurrency::WorkService::id, EntropyEngine::Core::TimerService::id

inline virtual std::vector< TypeSystem::TypeID > dependsOnTypes() const

Reimplemented by: EntropyCanvas::USDService::dependsOnTypes, EntropyCanvas::UsdSyncService::dependsOnTypes, EntropyEngine::Core::Concurrency::WorkService::dependsOnTypes, EntropyEngine::Core::TimerService::dependsOnTypes

inline virtual std::vector< std::string > dependsOn() const

Reimplemented by: EntropyEngine::Core::Concurrency::WorkService::dependsOn, EntropyEngine::Core::TimerService::dependsOn

inline virtual const char * className() const override

Runtime class name for diagnostics and reflection.

Reimplements: EntropyEngine::Core::EntropyObject::className

inline void setState(
ServiceState s
)
friend class EntropyServiceRegistry(
EntropyServiceRegistry
);

Updated on 2026-01-26 at 17:14:35 -0500