Line data Source code
1 : #ifndef __SRC_OPER_NETNS_INSTANCE_ADAPTER_H 2 : #define __SRC_OPER_NETNS_INSTANCE_ADAPTER_H 3 : #include "oper/instance_manager_adapter.h" 4 : #include "oper/service_instance.h" 5 : #include "oper/instance_task.h" 6 : 7 : class NetNSInstanceAdapter : public InstanceManagerAdapter { 8 : public: 9 3 : NetNSInstanceAdapter(const std::string &netns_cmd, 10 : const std::string &loadbalancer_config_path, 11 : Agent *agent) 12 6 : : netns_cmd_(netns_cmd), 13 3 : loadbalancer_config_path_(loadbalancer_config_path), 14 3 : agent_(agent) 15 3 : {} 16 : 17 : InstanceTask* CreateStartTask(const ServiceInstance::Properties &props, 18 : bool update); 19 : InstanceTask* CreateStopTask(const ServiceInstance::Properties &props); 20 : bool isApplicable(const ServiceInstance::Properties &props); 21 0 : void set_cmd(const std::string &netns_cmd) { netns_cmd_ = netns_cmd;} 22 : private: 23 : std::string netns_cmd_; 24 : std::string loadbalancer_config_path_; 25 : Agent *agent_; 26 : }; 27 : 28 : #endif