nx_metadata_sdk 1.0 Metadata SDK

i_plugin_diagnostic_event.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2
3 #pragma once
4
5 #include <nx/sdk/interface.h>
6
7 namespace nx::sdk {
8
13 class IPluginDiagnosticEvent: public nx::sdk::Interface<IPluginDiagnosticEvent>
14 {
15 public:
16 static auto interfaceId()
17 {
18 return makeIdWithAlternative("nx::sdk::IPluginDiagnosticEvent",
19 /* Planned future renaming. */ "nx::sdk::IIntegrationDiagnosticEvent");
20 }
21
22 enum class Level
23 {
24 info,
25 warning,
26 error,
27 };
28
29 virtual Level level() const = 0;
30 virtual const char* caption() const = 0;
31 virtual const char* description() const = 0;
32 };
33 using IPluginDiagnosticEvent0 = IPluginDiagnosticEvent;
34
35 } // namespace nx::sdk
nx::sdk::IPluginDiagnosticEvent
Definition: i_plugin_diagnostic_event.h:13
nx::sdk::Interface
Definition: interface.h:48
nx::sdk
Definition: device_agent.h:12
nx::sdk::IRefCountable::makeIdWithAlternative
static std::vector< const InterfaceId * > makeIdWithAlternative(const char(&charArray)[len], const char(&alternativeCharArray)[alternativeLen])
Definition: i_ref_countable.h:87