CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
IService.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5namespace cdc::core {
6
10enum class ServiceState : uint8_t {
11 UNINITIALIZED, // Not yet initialized
12 INITIALIZED, // init() called successfully
13 STARTED, // start() called successfully
14 STOPPED, // stop() called
15 ERROR // Error state
16};
17
27class IService {
28public:
29 virtual ~IService() = default;
30
35 virtual bool init() = 0;
36
41 virtual bool start() = 0;
42
46 virtual void stop() = 0;
47
51 virtual ServiceState getState() const = 0;
52
56 virtual const char* getName() const = 0;
57};
58
59} // namespace cdc::core
virtual ServiceState getState() const =0
virtual const char * getName() const =0
virtual void stop()=0
virtual ~IService()=default
virtual bool start()=0
virtual bool init()=0