70class ServerConfigHandler {
78 ServerConfigResult loadDownloadedDefinitions();
79 ServerConfigResult saveDownloadedDefinition(uint32_t definitionId,
80 uint16_t definitionVersion,
81 const char *definitionJson,
82 const uint8_t *sha256);
83 ServerConfigResult beginStagedDownloadedDefinition(
84 uint32_t definitionId,
85 uint16_t definitionVersion,
87 const uint8_t *sha256,
89 ServerConfigResult writeStagedDownloadedDefinitionChunk(
94 ServerConfigResult commitStagedDownloadedDefinition(
96 uint32_t definitionId,
97 uint16_t definitionVersion,
99 const uint8_t *sha256);
101 ServerConfigResult removeDownloadedDefinition(uint32_t definitionId,
102 uint16_t definitionVersion);
103 uint8_t getCachedDefinitionCount()
const;
104 bool getCachedDefinitionDetails(uint8_t listIndex,
106 ServerConfigResult garbageCollectUnusedDefinitions();
107 ServerConfigResult applyAssignmentJson(
const char *assignmentJson,
108 uint32_t definitionId,
109 uint16_t definitionVersion);
110 ServerConfigResult applyInstanceParams(uint8_t instanceId,
111 uint32_t definitionId,
112 uint16_t definitionVersion,
113 const char *paramsJson,
115 uint8_t *appliedInstanceId =
nullptr);
116 ServerConfigResult applyInstanceUpgrade(uint8_t instanceId,
117 uint32_t definitionId,
118 uint16_t fromDefinitionVersion,
119 uint16_t toDefinitionVersion,
120 const char *paramsJson,
121 uint16_t paramsSize);
122 ServerConfigResult validateAssignmentJson(
123 const char *assignmentJson,
124 uint32_t definitionId,
125 uint16_t definitionVersion)
const;
126 ServerConfigResult validateInstanceParams(
128 uint32_t definitionId,
129 uint16_t definitionVersion,
130 const char *paramsJson,
131 uint16_t paramsSize)
const;
132 ServerConfigResult validateInstanceUpgrade(uint8_t instanceId,
133 uint32_t definitionId,
134 uint16_t fromDefinitionVersion,
135 uint16_t toDefinitionVersion,
136 const char *paramsJson,
137 uint16_t paramsSize)
const;
138 ServerConfigResult applyCommandJson(
const char *commandJson);
139 ServerConfigResult validateCommandJson(
const char *commandJson)
const;
140 ServerConfigResult removeAssignment(uint8_t instanceId);
141 bool loadDownloadedDefinition(uint32_t definitionId,
142 uint16_t definitionVersion,
145 bool loadDownloadedDefinitionJson(
146 uint32_t definitionId,
147 uint16_t definitionVersion,
148 char *definitionJson,
149 size_t definitionJsonSize,
152 bool isRuntimeRefreshRequired()
const;
153 void clearRuntimeRefreshRequired();
156 static ServerConfigResult fromAssignmentResult(AssignmentResult result);
162 bool runtimeRefreshRequired =
false;