Line data Source code
1 : /* 2 : * Copyright (c) 2016 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #ifndef vnsw_agent_interface_index_resource_hpp 6 : #define vnsw_agent_interface_index_resource_hpp 7 : 8 : /* 9 : * interface index allocator using index_vector 10 : */ 11 : #include <oper/interface.h> 12 : #include <resource_manager/index_resource.h> 13 : #include <resource_manager/resource_backup.h> 14 : 15 : class ResourceManager; 16 : class ResourceKey; 17 : // Vm interface backup. 18 : class VmInterfaceIndexResourceKey : public IndexResourceKey { 19 : public: 20 : VmInterfaceIndexResourceKey(ResourceManager *rm, 21 : const boost::uuids::uuid &uuid, 22 : const std::string &interface_name); 23 54 : virtual ~VmInterfaceIndexResourceKey() {}; 24 : virtual void Backup(ResourceData *data, uint16_t op); 25 : virtual bool IsLess(const ResourceKey &rhs) const; 26 : private: 27 : boost::uuids::uuid uuid_; 28 : std::string interface_name_; 29 : }; 30 : #endif