25 #include "containerabstractinterface.h" 26 #include "jsonparser.h" 27 #include "softwarecontainererror.h" 63 LOG_DECLARE_CLASS_CONTEXT(
"GATE",
"Gateway");
66 enum class GatewayState : unsigned int {
87 std::shared_ptr<ContainerAbstractInterface> container,
88 bool isDynamic =
false);
97 virtual std::string id()
const;
110 virtual bool setConfig(
const json_t *config);
122 virtual bool activate();
133 virtual bool teardown();
138 virtual bool isConfigured();
146 virtual bool isActivated();
158 virtual bool readConfigElement(
const json_t *element) = 0;
165 std::shared_ptr<ContainerAbstractInterface> getContainer();
170 bool setEnvironmentVariable(
const std::string &variable,
const std::string &value);
172 virtual bool activateGateway() = 0;
173 virtual bool teardownGateway() = 0;
181 bool m_activatedOnce;
185 std::shared_ptr<ContainerAbstractInterface> m_container;
190 GatewayState m_state;
Gateway base class for SoftwareContainer.
Developers guide to adding a config item: