- Create `Include/` folder for all main projects - Fix some issues here and there (found while moving things) - All includes are now in `Tactility/` subfolder and must be included with that prefix. This fixes issues with clashing POSIX headers (e.g. `<semaphore.h>` versus Tactility's `Semaphore.h`)
24 lines
408 B
C++
24 lines
408 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
namespace tt::service {
|
|
|
|
// Forward declaration
|
|
class ServiceContext;
|
|
|
|
class Service {
|
|
|
|
public:
|
|
|
|
Service() = default;
|
|
virtual ~Service() = default;
|
|
|
|
virtual void onStart(ServiceContext& serviceContext) {}
|
|
virtual void onStop(ServiceContext& serviceContext) {}
|
|
};
|
|
|
|
template<typename T>
|
|
std::shared_ptr<Service> create() { return std::shared_ptr<T>(new T); }
|
|
|
|
} |