ldas-tools-diskcacheAPI  2.5.6
Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | List of all members
diskCache::Cache::Registry Class Reference

#include <Registry.hh>

Inheritance diagram for diskCache::Cache::Registry:
diskCache::Common::Registry diskCache::Cache::RegistrySingleton

Classes

class  Info
 

Public Types

typedef LDASTools::AL::SharedPtr< SearchInterfaceindexing_type
 
typedef void(* FindFunc) (const Streams::Streamable &Source, const Directory &Dir, QueryAnswer &Answer)
 
typedef bool(* IsMatchFunc) (DirectoryScanData &Data)
 
typedef void(* OnDirectoryCloseFunc) (DirectoryScanData &Data)
 
typedef void(* TranslateQueryFunc) (const QueryParams &Params, QueryAnswer &Answer)
 
typedef INT_4U id_type
 
typedef std::string ascii_key_type
 
typedef LDASTools::AL::SharedPtr< Infoinfo_type
 

Public Member Functions

 Registry ()
 
void OnDirectoryClose (DirectoryScanData &Data)
 
id_type Register (const Info &Key)
 
bool ScanForMatch (DirectoryScanData &Data)
 
void TranslateQuery (const Cache::QueryParams &Params, Cache::QueryAnswer &Answer) const
 Translate a query. More...
 
id_type Register (const Info &Key)
 
id_type Id (const std::string &Name) const
 
const info_type GetInfo (id_type Id) const
 

Static Public Attributes

static const id_type KEY_NULL = id_type( 0 )
 

Protected Types

typedef LDASTools::AL::unordered_map< id_type, info_typeregistry_container_type
 

Protected Member Functions

const registry_container_typeregistry () const
 

Member Typedef Documentation

◆ ascii_key_type

typedef std::string diskCache::Common::Registry::ascii_key_type
inherited

◆ FindFunc

typedef void(* diskCache::Cache::Registry::FindFunc) (const Streams::Streamable &Source, const Directory &Dir, QueryAnswer &Answer)

◆ id_type

typedef INT_4U diskCache::Common::Registry::id_type
inherited

◆ indexing_type

typedef LDASTools::AL::SharedPtr< SearchInterface > diskCache::Cache::Registry::indexing_type

◆ info_type

typedef LDASTools::AL::SharedPtr< Info > diskCache::Common::Registry::info_type
inherited

◆ IsMatchFunc

typedef bool(* diskCache::Cache::Registry::IsMatchFunc) (DirectoryScanData &Data)

◆ OnDirectoryCloseFunc

typedef void(* diskCache::Cache::Registry::OnDirectoryCloseFunc) (DirectoryScanData &Data)

◆ registry_container_type

typedef LDASTools::AL::unordered_map< id_type, info_type > diskCache::Common::Registry::registry_container_type
protectedinherited

◆ TranslateQueryFunc

typedef void(* diskCache::Cache::Registry::TranslateQueryFunc) (const QueryParams &Params, QueryAnswer &Answer)

Constructor & Destructor Documentation

◆ Registry()

diskCache::Cache::Registry::Registry ( )
inline

Member Function Documentation

◆ GetInfo()

const Registry::info_type diskCache::Common::Registry::GetInfo ( id_type  Id) const
inlineinherited

◆ Id()

Registry::id_type diskCache::Common::Registry::Id ( const std::string &  Name) const
inlineinherited
Todo:
This needs to be locked to be thread safe. It only needs to be locked with a read lock since it only queries the information.

◆ OnDirectoryClose()

void diskCache::Cache::Registry::OnDirectoryClose ( DirectoryScanData Data)

After all data has been read from the directory, this function is called to allow all search engines an oppertunity

Todo:
Associate the updated information with the cache

◆ Register() [1/2]

Registry::id_type diskCache::Common::Registry::Register ( const Info Key)
inherited
Todo:
Lock the registry because changes are going to happen

◆ Register() [2/2]

Registry::id_type diskCache::Cache::Registry::Register ( const Info Key)

◆ registry()

const Registry::registry_container_type & diskCache::Common::Registry::registry ( ) const
inlineprotectedinherited

◆ ScanForMatch()

bool diskCache::Cache::Registry::ScanForMatch ( DirectoryScanData Data)

◆ TranslateQuery()

void diskCache::Cache::Registry::TranslateQuery ( const Cache::QueryParams Params,
Cache::QueryAnswer Answer 
) const

Translate a query.

Member Data Documentation

◆ KEY_NULL

const id_type diskCache::Common::Registry::KEY_NULL = id_type( 0 )
staticinherited

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