Nebula
Loading...
Searching...
No Matches
IO::AssignRegistry Class Reference

#include <assignregistry.h>

Detailed Description

Central registry for path assigns.

This is a true singleton, visible from all threads.

Inherits Core::RefCounted.

Public Member Functions

 AssignRegistry ()
 constructor
 
virtual ~AssignRegistry ()
 destructor
 
void Setup ()
 setup the assign registry (may only be called once from the main thread)
 
void Discard ()
 discard the assign registry
 
bool IsValid () const
 return true if the object has been setup
 
void SetAssign (const Assign &assign)
 set a new assign
 
bool HasAssign (const Util::String &assignName) const
 return true if an assign exists
 
Util::String GetAssign (const Util::String &assignName) const
 get an assign
 
void ClearAssign (const Util::String &assignName)
 clear an assign
 
Util::Array< AssignGetAllAssigns () const
 return an array of all currently defined assigns
 
URI ResolveAssigns (const URI &uri) const
 resolve any assigns in an URI
 
Util::String ResolveAssignsInString (const Util::String &uriString) const
 resolve any assigns in a string (must have URI form)
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Private Member Functions

 __DeclareClass (AssignRegistry)
 
 __DeclareInterfaceSingleton (AssignRegistry)
 
void SetupSystemAssigns ()
 setup standard system assigns (e.g. home:, etc...)
 
void SetupProjectAssigns ()
 setup standard project assigns (e.g. msh:, model:, etc...)
 

Private Attributes

bool isValid
 
Threading::CriticalSection critSect
 
Util::HashTable< Util::String, Util::StringassignTable
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Constructor & Destructor Documentation

◆ AssignRegistry()

IO::AssignRegistry::AssignRegistry ( )

constructor

◆ ~AssignRegistry()

IO::AssignRegistry::~AssignRegistry ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

IO::AssignRegistry::__DeclareClass ( AssignRegistry )
private

◆ __DeclareInterfaceSingleton()

IO::AssignRegistry::__DeclareInterfaceSingleton ( AssignRegistry )
private

◆ ClearAssign()

void IO::AssignRegistry::ClearAssign ( const Util::String & assignName)

clear an assign

◆ Discard()

void IO::AssignRegistry::Discard ( )

discard the assign registry

◆ GetAllAssigns()

Array< Assign > IO::AssignRegistry::GetAllAssigns ( ) const

return an array of all currently defined assigns

◆ GetAssign()

String IO::AssignRegistry::GetAssign ( const Util::String & assignName) const

get an assign

◆ HasAssign()

bool IO::AssignRegistry::HasAssign ( const Util::String & assignName) const

return true if an assign exists

◆ IsValid()

bool IO::AssignRegistry::IsValid ( ) const

return true if the object has been setup

◆ ResolveAssigns()

URI IO::AssignRegistry::ResolveAssigns ( const URI & uri) const

resolve any assigns in an URI

Resolves all assigns from an URI returning an URI.

It is allowed to "stack" assigns, which means, defining an assign as pointing to another assign.

◆ ResolveAssignsInString()

String IO::AssignRegistry::ResolveAssignsInString ( const Util::String & uriString) const

resolve any assigns in a string (must have URI form)

Resolves all assigns from a URI.

It is allowed to "stack" assigns, which means, defining an assign as pointing to another assign.s

◆ SetAssign()

void IO::AssignRegistry::SetAssign ( const Assign & assign)

set a new assign

◆ Setup()

void IO::AssignRegistry::Setup ( )

setup the assign registry (may only be called once from the main thread)

◆ SetupProjectAssigns()

void IO::AssignRegistry::SetupProjectAssigns ( )
private

setup standard project assigns (e.g. msh:, model:, etc...)

◆ SetupSystemAssigns()

void IO::AssignRegistry::SetupSystemAssigns ( )
private

setup standard system assigns (e.g. home:, etc...)

Member Data Documentation

◆ assignTable

Util::HashTable<Util::String, Util::String> IO::AssignRegistry::assignTable
private

◆ critSect

Threading::CriticalSection IO::AssignRegistry::critSect
private

◆ isValid

bool IO::AssignRegistry::isValid
private

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