supla-device
Loading...
Searching...
No Matches
assignment_applier.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_SUPLET_ASSIGNMENT_APPLIER_H_
5#define SRC_SUPLA_SUPLET_ASSIGNMENT_APPLIER_H_
6
7#include <stdint.h>
8#include <supla/suplet/manager.h>
9#include <supla/suplet/registry.h>
10
11namespace Supla {
12namespace Suplet {
13
14enum class AssignmentResult : uint8_t {
15 Applied = 0,
16 Removed = 1,
17 InvalidArgument = 2,
18 DefinitionNotSupported = 3,
19 InvalidConfig = 4,
20 StorageError = 5,
21 ResourceLimitExceeded = 6,
22 InstanceLimitExceeded = 7,
23 ChannelLimitExceeded = 8,
24};
25
27 public:
28 AssignmentApplier(Manager *manager, const Registry *registry);
29
30 AssignmentResult applyJson(const char *json,
31 uint32_t definitionId,
32 uint16_t definitionVersion);
33 AssignmentResult validateJson(const char *json,
34 uint32_t definitionId,
35 uint16_t definitionVersion) const;
36 AssignmentResult remove(uint8_t instanceId);
37
38 private:
39 Manager *manager = nullptr;
40 const Registry *registry = nullptr;
41};
42
43} // namespace Suplet
44} // namespace Supla
45
46#endif // SRC_SUPLA_SUPLET_ASSIGNMENT_APPLIER_H_
Definition assignment_applier.h:26
Definition manager.h:29
Definition registry.h:13