Line data Source code
1 : /* 2 : * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved. 3 : * Copyright Contributors to the OpenSDN project 4 : */ 5 : 6 : #ifndef __ctrlplane__ifmap_node_proxy__ 7 : #define __ctrlplane__ifmap_node_proxy__ 8 : 9 : #include "base/util.h" 10 : #include "db/db_entry.h" 11 : #include "db/db_table.h" 12 : 13 : class IFMapNode; 14 : 15 : class IFMapNodeProxy : public DBState { 16 : public: 17 : IFMapNodeProxy(); 18 : IFMapNodeProxy(IFMapNodeProxy *rhs); 19 : IFMapNodeProxy(IFMapNode *node, DBTable::ListenerId lid); 20 : ~IFMapNodeProxy(); 21 324419 : IFMapNode *node() { return node_; } 22 18857 : const IFMapNode *node() const { return node_; } 23 : void Swap(IFMapNodeProxy *rhs); 24 : void Clear(); 25 : 26 : private: 27 : IFMapNode *node_; 28 : DBTable::ListenerId id_; 29 : DISALLOW_COPY_AND_ASSIGN(IFMapNodeProxy); 30 : }; 31 : 32 : #endif /* defined(__ctrlplane__ifmap_node_proxy__) */