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