@@ -40,7 +40,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
4040
4141namespace SilKit {
4242namespace Config {
43- inline namespace v1 {
43+ inline namespace V1 {
4444
4545// ================================================================================
4646// Internal controller service
@@ -337,6 +337,17 @@ struct Experimental
337337 Metrics metrics;
338338};
339339
340+ // ================================================================================
341+ // Includes
342+ // ================================================================================
343+
344+ // ! \brief Structure that contains experimental settings
345+ struct Includes
346+ {
347+ std::vector<std::string> searchPathHints;
348+ std::vector<std::string> files;
349+ };
350+
340351// ================================================================================
341352// Root
342353// ================================================================================
@@ -349,8 +360,8 @@ struct ParticipantConfiguration : public IParticipantConfiguration
349360 // virtual auto ToYamlString() -> std::string override;
350361 // virtual auto ToJsonString() -> std::string override;
351362
352- // ! \brief Version of the JSON/YAML schema.
353- std::string schemaVersion{" 1 " };
363+ // ! \brief Version of the JSON/YAML schema. Currently is at 1
364+ std::string schemaVersion{" " };
354365 // ! \brief An optional user description for documentation purposes. Currently unused.
355366 std::string description;
356367 // ! \brief An optional file path.
@@ -374,6 +385,7 @@ struct ParticipantConfiguration : public IParticipantConfiguration
374385 HealthCheck healthCheck;
375386 Tracing tracing;
376387 Extensions extensions;
388+ Includes includes;
377389 Middleware middleware;
378390 Experimental experimental;
379391};
@@ -392,6 +404,7 @@ bool operator==(const MetricsSink& lhs, const MetricsSink& rhs);
392404bool operator ==(const Metrics& lhs, const Metrics& rhs);
393405bool operator ==(const Extensions& lhs, const Extensions& rhs);
394406bool operator ==(const Middleware& lhs, const Middleware& rhs);
407+ bool operator ==(const Includes& lhs, const Includes& rhs);
395408bool operator ==(const ParticipantConfiguration& lhs, const ParticipantConfiguration& rhs);
396409bool operator ==(const TimeSynchronization& lhs, const TimeSynchronization& rhs);
397410bool operator ==(const Experimental& lhs, const Experimental& rhs);
@@ -403,6 +416,39 @@ auto operator<<(std::ostream& out, const Label& label) -> std::ostream&;
403416bool operator <(const MetricsSink& lhs, const MetricsSink& rhs);
404417bool operator >(const MetricsSink& lhs, const MetricsSink& rhs);
405418
406- } // namespace v1
419+ } // namespace V1
407420} // namespace Config
408421} // namespace SilKit
422+
423+ namespace SilKitRegistry {
424+ namespace Config {
425+ namespace V1 {
426+
427+ constexpr inline auto GetSchemaVersion () -> const char*
428+ {
429+ return " 1" ;
430+ }
431+
432+ struct Experimental
433+ {
434+ SilKit::Config::V1::Metrics metrics;
435+ };
436+
437+ struct RegistryConfiguration
438+ {
439+ std::string description{" " };
440+ std::string schemaVersion{" " };
441+ SilKit::Util::Optional<std::string> listenUri;
442+ SilKit::Util::Optional<bool > enableDomainSockets;
443+ SilKit::Util::Optional<std::string> dashboardUri;
444+ SilKit::Config::Logging logging{};
445+ Experimental experimental{};
446+ };
447+
448+ bool operator ==(const Experimental& lhs, const Experimental& rhs);
449+
450+
451+
452+ } // namespace V1
453+ } // namespace Config
454+ } // namespace SilKitRegistry
0 commit comments