#pragma once #include "service/ServiceContext.h" namespace tt::service { class ServiceInstance : public ServiceContext { private: Mutex mutex = Mutex(MutexTypeNormal); const service::ServiceManifest& manifest; std::shared_ptr data = nullptr; public: explicit ServiceInstance(const service::ServiceManifest& manifest); ~ServiceInstance() override = default; const service::ServiceManifest& getManifest() const override; std::shared_ptr getData() const override; void setData(std::shared_ptr newData) override; }; }