17 #ifndef CYBER_SERVICE_DISCOVERY_CONTAINER_WAREHOUSE_BASE_H_ 18 #define CYBER_SERVICE_DISCOVERY_CONTAINER_WAREHOUSE_BASE_H_ 27 namespace service_discovery {
34 virtual bool Add(uint64_t key,
const RolePtr& role,
bool ignore_if_exist) = 0;
36 virtual void Clear() = 0;
37 virtual std::size_t
Size() = 0;
39 virtual void Remove(uint64_t key) = 0;
41 virtual void Remove(
const proto::RoleAttributes& target_attr) = 0;
43 virtual bool Search(uint64_t key) = 0;
44 virtual bool Search(uint64_t key,
RolePtr* first_matched_role) = 0;
45 virtual bool Search(uint64_t key,
46 proto::RoleAttributes* first_matched_role_attr) = 0;
47 virtual bool Search(uint64_t key, std::vector<RolePtr>* matched_roles) = 0;
49 uint64_t key, std::vector<proto::RoleAttributes>* matched_roles_attr) = 0;
51 virtual bool Search(
const proto::RoleAttributes& target_attr) = 0;
52 virtual bool Search(
const proto::RoleAttributes& target_attr,
54 virtual bool Search(
const proto::RoleAttributes& target_attr,
55 proto::RoleAttributes* first_matched_role_attr) = 0;
56 virtual bool Search(
const proto::RoleAttributes& target_attr,
57 std::vector<RolePtr>* matched_roles) = 0;
59 const proto::RoleAttributes& target_attr,
60 std::vector<proto::RoleAttributes>* matched_roles_attr) = 0;
62 virtual void GetAllRoles(std::vector<RolePtr>* roles) = 0;
63 virtual void GetAllRoles(std::vector<proto::RoleAttributes>* roles_attr) = 0;
70 #endif // CYBER_SERVICE_DISCOVERY_CONTAINER_WAREHOUSE_BASE_H_ virtual ~WarehouseBase()
Definition: warehouse_base.h:32
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
virtual void GetAllRoles(std::vector< RolePtr > *roles)=0
WarehouseBase()
Definition: warehouse_base.h:31
std::shared_ptr< RoleBase > RolePtr
Definition: role.h:31
virtual void Remove(uint64_t key)=0
virtual bool Add(uint64_t key, const RolePtr &role, bool ignore_if_exist)=0
virtual bool Search(uint64_t key)=0
Definition: warehouse_base.h:29
virtual std::size_t Size()=0