The Nebula Device 3: IO::SchemeRegistry Class Reference

The Nebula Device 3

IO::SchemeRegistry Class Reference

#include <schemeregistry.h>

Inheritance diagram for IO::SchemeRegistry:

Core::RefCounted

Detailed Description

Central registry for URI schemes, associates an URI scheme (e.g. http, file, ...) with a Nebula3 stream class.

(C) 2008 Radon Labs GmbH

Public Member Functions

 SchemeRegistry ()
 constructor
virtual ~SchemeRegistry ()
 destructor
void Setup ()
 setup the scheme registry (may only be called at app startup by the main thread)
void Discard ()
 discard the scheme registry
bool IsValid () const
 return true if the scheme registry is valid
void RegisterUriScheme (const Util::String &uriScheme, const Core::Rtti &classRtti)
 associate an uri scheme with a stream class
void UnregisterUriScheme (const Util::String &uriScheme)
 unregister an uri scheme
bool IsUriSchemeRegistered (const Util::String &uriScheme) const
 return true if an uri scheme has been registered
const Core::RttiGetStreamClassByUriScheme (const Util::String &uriScheme) const
 get the registered stream class for an uri scheme
Util::Array< Util::StringGetAllRegisteredUriSchemes () const
 get an array of all registered schemes
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

Static Public Member Functions

static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

Member Function Documentation

void IO::SchemeRegistry::RegisterUriScheme ( const Util::String uriScheme,
const Core::Rtti classRtti 
)

associate an uri scheme with a stream class

Associates an URI scheme with a stream class. If the same URI scheme is already registered, the old association will be overwritten.

int Core::RefCounted::GetRefCount (  )  const [inline, inherited]

get the current refcount

Return the current refcount of the object.

void Core::RefCounted::AddRef (  )  [inline, inherited]

increment refcount by one

Increment the refcount of the object.

void Core::RefCounted::Release (  )  [inline, inherited]

decrement refcount and destroy object if refcount is zero

Decrement the refcount and destroy object if refcount is zero.

const Util::String & Core::RefCounted::GetClassName (  )  const [inline, inherited]

get the class name

Get the class name of the object.

Util::FourCC Core::RefCounted::GetClassFourCC (  )  const [inline, inherited]

get the class FourCC code

Get the class FourCC of the object.

void Core::RefCounted::DumpRefCountingLeaks (  )  [static, inherited]

dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

This method should be called as the very last before an application exits.