OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResourceTable Class Referenceabstract

#include <resource_table.h>

Inheritance diagram for ResourceTable:
Collaboration diagram for ResourceTable:

Public Types

typedef boost::shared_ptr
< ResourceKey
KeyPtr
 
typedef boost::shared_ptr
< ResourceData
DataPtr
 
typedef ResourceTable::KeyPtr ResourceKeyPtr
 
typedef std::map< KeyPtr,
DataPtr, KeyDataMapComparator
KeyDataMap
 
typedef KeyDataMap::iterator KeyDataMapIter
 

Public Member Functions

 ResourceTable (ResourceManager *rm)
 
virtual ~ResourceTable ()
 
virtual const std::string ToString ()=0
 
virtual DataPtr AllocateData (KeyPtr key)=0
 
virtual void RestoreKey (KeyPtr key, DataPtr data)=0
 
virtual void ReleaseKey (KeyPtr key, DataPtr data)=0
 
void InsertKey (KeyPtr key, DataPtr data)
 
void DeleteKey (KeyPtr key)
 
ResourceDataFindKey (KeyPtr key)
 
DataPtr FindKeyPtr (KeyPtr key)
 
void FlushStale ()
 
ResourceTable::DataPtr Allocate (KeyPtr key)
 
ResourceManagerresource_manager () const
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ResourceTable)
 

Private Attributes

ResourceManagerrm_
 
KeyDataMap key_data_map_
 

Detailed Description

Definition at line 67 of file resource_table.h.

Member Typedef Documentation

typedef boost::shared_ptr<ResourceData> ResourceTable::DataPtr

Definition at line 70 of file resource_table.h.

Definition at line 72 of file resource_table.h.

typedef KeyDataMap::iterator ResourceTable::KeyDataMapIter

Definition at line 73 of file resource_table.h.

typedef boost::shared_ptr<ResourceKey> ResourceTable::KeyPtr

Definition at line 69 of file resource_table.h.

Constructor & Destructor Documentation

ResourceTable::ResourceTable ( ResourceManager rm)

Definition at line 39 of file resource_table.cc.

ResourceTable::~ResourceTable ( )
virtual

Definition at line 42 of file resource_table.cc.

Member Function Documentation

ResourceTable::DataPtr ResourceTable::Allocate ( KeyPtr  key)

Definition at line 81 of file resource_table.cc.

Here is the call graph for this function:

virtual DataPtr ResourceTable::AllocateData ( KeyPtr  key)
pure virtual

Implemented in IndexResourceTable.

void ResourceTable::DeleteKey ( KeyPtr  key)

Definition at line 50 of file resource_table.cc.

ResourceTable::DISALLOW_COPY_AND_ASSIGN ( ResourceTable  )
private
ResourceData * ResourceTable::FindKey ( KeyPtr  key)

Definition at line 62 of file resource_table.cc.

Here is the call graph for this function:

ResourceTable::DataPtr ResourceTable::FindKeyPtr ( KeyPtr  key)

Definition at line 54 of file resource_table.cc.

void ResourceTable::FlushStale ( )

Definition at line 67 of file resource_table.cc.

Here is the call graph for this function:

void ResourceTable::InsertKey ( KeyPtr  key,
DataPtr  data 
)

Definition at line 46 of file resource_table.cc.

virtual void ResourceTable::ReleaseKey ( KeyPtr  key,
DataPtr  data 
)
pure virtual

Implemented in IndexResourceTable.

ResourceManager* ResourceTable::resource_manager ( ) const
inline

Definition at line 86 of file resource_table.h.

virtual void ResourceTable::RestoreKey ( KeyPtr  key,
DataPtr  data 
)
pure virtual

Implemented in IndexResourceTable.

virtual const std::string ResourceTable::ToString ( )
pure virtual

Implemented in IndexResourceTable.

Member Data Documentation

KeyDataMap ResourceTable::key_data_map_
private

Definition at line 89 of file resource_table.h.

ResourceManager* ResourceTable::rm_
private

Definition at line 88 of file resource_table.h.


The documentation for this class was generated from the following files: