CUBRID Engine  latest
cubload::class_registry Class Reference

#include <load_class_registry.hpp>

Collaboration diagram for cubload::class_registry:
Collaboration graph

Public Member Functions

 class_registry ()
 
 ~class_registry ()
 
 class_registry (class_registry &&other)=delete
 
 class_registry (const class_registry &copy)=delete
 
class_registryoperator= (class_registry &&other)=delete
 
class_registryoperator= (const class_registry &copy)=delete
 
const class_entryget_class_entry (class_id clsid)
 
void get_all_class_entries (std::vector< const class_entry * > &entries) const
 
void register_class (const char *class_name, class_id clsid, OID class_oid, std::vector< const attribute * > &attributes)
 
void register_ignored_class (class_entry *cls_entry, class_id cls_id)
 

Private Types

using class_map = std::map< class_id, const class_entry *, std::greater< class_id >>
 

Private Member Functions

const class_entryget_class_entry_without_lock (class_id clsid)
 

Private Attributes

std::mutex m_mutex
 
class_map m_class_by_id
 

Detailed Description

Definition at line 87 of file load_class_registry.hpp.

Member Typedef Documentation

using cubload::class_registry::class_map = std::map<class_id, const class_entry *, std::greater<class_id>>
private

Definition at line 106 of file load_class_registry.hpp.

Constructor & Destructor Documentation

cubload::class_registry::class_registry ( )

Definition at line 126 of file load_class_registry.cpp.

cubload::class_registry::~class_registry ( )

Definition at line 133 of file load_class_registry.cpp.

References m_class_by_id.

cubload::class_registry::class_registry ( class_registry &&  other)
delete
cubload::class_registry::class_registry ( const class_registry copy)
delete

Member Function Documentation

void cubload::class_registry::get_all_class_entries ( std::vector< const class_entry * > &  entries) const

Definition at line 181 of file load_class_registry.cpp.

References m_class_by_id.

Referenced by cubload::session::update_class_statistics().

Here is the caller graph for this function:

const class_entry * cubload::class_registry::get_class_entry ( class_id  clsid)

Definition at line 173 of file load_class_registry.cpp.

References get_class_entry_without_lock(), and m_mutex.

Referenced by cubload::load_task::execute(), cubload::server_object_loader::init(), and cubload::session::install_class().

Here is the caller graph for this function:

const class_entry * cubload::class_registry::get_class_entry_without_lock ( class_id  clsid)
private

Definition at line 188 of file load_class_registry.cpp.

References m_class_by_id, and NULL.

Referenced by get_class_entry(), and register_class().

Here is the caller graph for this function:

class_registry& cubload::class_registry::operator= ( class_registry &&  other)
delete
class_registry& cubload::class_registry::operator= ( const class_registry copy)
delete
void cubload::class_registry::register_class ( const char *  class_name,
class_id  clsid,
OID  class_oid,
std::vector< const attribute * > &  attributes 
)

Definition at line 143 of file load_class_registry.cpp.

References get_class_entry_without_lock(), m_class_by_id, m_mutex, and NULL.

Referenced by cubload::server_class_installer::register_class_with_attributes().

Here is the caller graph for this function:

void cubload::class_registry::register_ignored_class ( class_entry cls_entry,
class_id  cls_id 
)

Definition at line 162 of file load_class_registry.cpp.

References assert, cubload::class_entry::is_ignored(), m_class_by_id, m_mutex, and NULL.

Referenced by cubload::server_class_installer::register_class_with_attributes().

Here is the caller graph for this function:

Member Data Documentation

class_map cubload::class_registry::m_class_by_id
private
std::mutex cubload::class_registry::m_mutex
private

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