CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
CapabilityChecker.h
Go to the documentation of this file.
1
15
16
#pragma once
17
18
#include "
plugin_manager/PluginManifest.h
"
19
20
#include <string>
21
22
namespace
cdc::plugin_manager
{
23
24
enum class
CapabilityResult
{
25
Ok
,
26
ApiLevelMismatch
,
27
LinearMemoryOutOfRange
,
28
RmemNameInvalid
,
29
EccNameInvalid
,
30
GpioPinNotAllowed
,
31
GpioPinAlreadyHeld
,
32
BleServiceUuidConflict
,
33
BleServiceUuidInvalid
,
34
NvsNamespaceConflict
,
35
NvsNamespaceInvalid
,
36
MissingNvsNamespace
,
37
};
38
39
struct
CapabilityCheckResult
{
40
CapabilityResult
result
;
41
std::string
detail
;
42
bool
ok
()
const
{
return
result
==
CapabilityResult::Ok
; }
43
};
44
45
class
CapabilityChecker
{
46
public
:
47
[[nodiscard]]
static
CapabilityCheckResult
validate
(
const
PluginManifest
& manifest);
48
};
49
50
}
// namespace cdc::plugin_manager
PluginManifest.h
In-memory representation of a plugin's meta.json.
cdc::plugin_manager::CapabilityChecker
Definition
CapabilityChecker.h:45
cdc::plugin_manager::CapabilityChecker::validate
static CapabilityCheckResult validate(const PluginManifest &manifest)
Definition
CapabilityChecker.cpp:42
cdc::plugin_manager
Definition
CapabilityChecker.h:22
cdc::plugin_manager::CapabilityResult
CapabilityResult
Definition
CapabilityChecker.h:24
cdc::plugin_manager::CapabilityResult::ApiLevelMismatch
@ ApiLevelMismatch
Definition
CapabilityChecker.h:26
cdc::plugin_manager::CapabilityResult::GpioPinAlreadyHeld
@ GpioPinAlreadyHeld
Definition
CapabilityChecker.h:31
cdc::plugin_manager::CapabilityResult::BleServiceUuidInvalid
@ BleServiceUuidInvalid
Definition
CapabilityChecker.h:33
cdc::plugin_manager::CapabilityResult::LinearMemoryOutOfRange
@ LinearMemoryOutOfRange
Definition
CapabilityChecker.h:27
cdc::plugin_manager::CapabilityResult::NvsNamespaceInvalid
@ NvsNamespaceInvalid
Definition
CapabilityChecker.h:35
cdc::plugin_manager::CapabilityResult::NvsNamespaceConflict
@ NvsNamespaceConflict
Definition
CapabilityChecker.h:34
cdc::plugin_manager::CapabilityResult::Ok
@ Ok
Definition
CapabilityChecker.h:25
cdc::plugin_manager::CapabilityResult::RmemNameInvalid
@ RmemNameInvalid
Definition
CapabilityChecker.h:28
cdc::plugin_manager::CapabilityResult::GpioPinNotAllowed
@ GpioPinNotAllowed
Definition
CapabilityChecker.h:30
cdc::plugin_manager::CapabilityResult::BleServiceUuidConflict
@ BleServiceUuidConflict
Definition
CapabilityChecker.h:32
cdc::plugin_manager::CapabilityResult::EccNameInvalid
@ EccNameInvalid
Definition
CapabilityChecker.h:29
cdc::plugin_manager::CapabilityResult::MissingNvsNamespace
@ MissingNvsNamespace
Definition
CapabilityChecker.h:36
cdc::plugin_manager::CapabilityCheckResult
Definition
CapabilityChecker.h:39
cdc::plugin_manager::CapabilityCheckResult::ok
bool ok() const
Definition
CapabilityChecker.h:42
cdc::plugin_manager::CapabilityCheckResult::detail
std::string detail
Definition
CapabilityChecker.h:41
cdc::plugin_manager::CapabilityCheckResult::result
CapabilityResult result
Definition
CapabilityChecker.h:40
cdc::plugin_manager::PluginManifest
Definition
PluginManifest.h:70
components
plugin_manager
include
plugin_manager
CapabilityChecker.h
Generated by
1.16.1