System::Object Class Reference

The base of all objects in the engine.

#include <Object.hpp>

Inheritance diagram for System::Object:

Game::DataBank Game::DataProvider Game::Engine Network::Connection Network::Manager System::Default System::Driver System::Package System::Property System::Struct

List of all members.

Public Member Functions

virtual VOID Register ()
virtual VOID Create ()
virtual VOID Delete ()
virtual VOID Destroy ()
VOID AddSelf ()
VOID RemoveSelf ()
BOOL IsA (Class *InClass) CONST
BOOL IsIn (Object *InOuter) CONST
String GetFullName () CONST
VOID ConditionalRegister ()
VOID ConditionalDestroy ()
VOID StaticConstructor ()
DWORD Reference ()
DWORD Release ()
ClassGetClass () CONST
ObjectGetOuter () CONST
Name GetName () CONST
DWORD GetFlags () CONST
VOID SetClass (Class *InClass)
VOID SetOuter (Object *InOuter)
VOID SetName (Name InName)
VOID SetFlags (DWORD InFlags)

Static Public Member Functions

static VOID Startup ()
static VOID Shutdown ()
static VOID ProcessRegistrants ()
static BOOL GetInitialized ()
static DWORD CollectGarbage ()
static VOID PurgeGarbage ()
static BOOL Construct (Object **OutObject, Class *InClass, Object *InOuter, Name InName, DWORD InFlags)
static BOOL Find (Object **OutObject, Name InName, Class *InClass, Object *InOuter, BOOL ExactClass=FALSE)
static BOOL Resolve (Object **OutObject, CONST TCHAR *InFullName)
static VOID Delete (Object *InObject)
static VOID Release (Object *InObject)
template<class Type>
static Type * Cast (Object *InObject)
 Casts an object to a static type.

Private Member Functions

VOID SetupDefaults (Class *InClass)
VOID HashSelf ()
VOID UnhashSelf ()

Private Attributes

DWORD Index
ClassClassification
ObjectOuter
Name Identifier
DWORD Flags
CriticalResource< DWORD > References
PVOID Registrant

Static Private Attributes

static BOOL G_Initialized = FALSE
static
CriticalResource
< ObjectVector
G_Objects
static
CriticalResource
< Array< DWORD > > 
G_Available
static
CriticalResource
< ObjectVector
G_Buckets [4096]
static
CriticalResource
< ObjectVector
G_Garbage


Member Function Documentation

VOID System::Object::Register (  )  [virtual]

Registers object with the object subsystem.

Reimplemented in System::Default, System::Driver, and System::Property.

VOID System::Object::Create (  )  [virtual]

Called when an object is created.

Reimplemented in Linux::TcpManager, Windows::TcpManager, Game::Client, and Game::Engine.

VOID System::Object::Delete (  )  [virtual]

Prepares an object for destruction.

Reimplemented in Windows::TcpManager, and Game::Engine.

VOID System::Object::Destroy (  )  [virtual]

Destroys an object within the object subsystem.

Reimplemented in Linux::TcpManager, System::Driver, Windows::TcpManager, and Game::Engine.

VOID System::Object::AddSelf (  ) 

Adds the object to the object subsystem.

VOID System::Object::RemoveSelf (  ) 

Removes the object from the object subsystem.

BOOL System::Object::IsA ( Class InClass  ) 

Checks if the object is an instance of the given class.

BOOL System::Object::IsIn ( Object InOuter  ) 

Checks if the object is within a given object.

String System::Object::GetFullName (  ) 

Return the full name of the object.

VOID System::Object::ConditionalRegister (  ) 

Registers an object if the system is initialized.

VOID System::Object::ConditionalDestroy (  ) 

Destroys an object if it has not yet been destroyed.

VOID System::Object::StaticConstructor (  ) 

Object static constructor.

Reimplemented in Linux::TcpManager, and Windows::TcpManager.

DWORD System::Object::Reference (  ) 

Reference the object.

DWORD System::Object::Release (  ) 

Release the object.

VOID System::Object::Startup (  )  [static]

Startup routine for the object subsystem.

VOID System::Object::Shutdown (  )  [static]

Shutdown routine for the object subsystem.

VOID System::Object::ProcessRegistrants (  )  [static]

Add the registrants to the object subsystem.

BOOL System::Object::GetInitialized (  )  [static]

Returns whether or not the subsystem is initialized.

DWORD System::Object::CollectGarbage (  )  [static]

Collect unreferenced objects.

VOID System::Object::PurgeGarbage (  )  [static]

Deallocate destroyed objects.

BOOL System::Object::Construct ( Object **  OutObject,
Class InClass,
Object InOuter,
Name  InName,
DWORD  InFlags 
) [static]

Instantiate a class registered with the system.

BOOL System::Object::Find ( Object **  OutObject,
Name  InName,
Class InClass,
Object InOuter,
BOOL  ExactClass = FALSE 
) [static]

Finds an object within the object subsystem.

BOOL System::Object::Resolve ( Object **  OutObject,
CONST TCHAR *  InFullName 
) [static]

Attempts to resolve a full text name to an object.

VOID System::Object::Delete ( Object InObject  )  [static]

Attempt to delete an object.

VOID System::Object::Release ( Object InObject  )  [static]

Attempt to release an object.

Class * System::Object::GetClass (  ) 

Get the object's class.

Object * System::Object::GetOuter (  ) 

Get the object's outer.

Name System::Object::GetName (  ) 

Get the object's name.

DWORD System::Object::GetFlags (  ) 

Get the object's flags.

VOID System::Object::SetClass ( Class InClass  ) 

Set the object's class.

VOID System::Object::SetOuter ( Object InOuter  ) 

Set the object's outer.

VOID System::Object::SetName ( Name  InName  ) 

Set the object's name.

VOID System::Object::SetFlags ( DWORD  InFlags  ) 

Set the object's flags.

VOID System::Object::SetupDefaults ( Class InClass  )  [private]

Setup the object's default values.

VOID System::Object::HashSelf (  )  [private]

Adds the object to the object subsystem hash table.

VOID System::Object::UnhashSelf (  )  [private]

Remove the object from the object subsystem hash table.


Member Data Documentation

DWORD System::Object::Index [private]

The index of the object in the table.

Class* System::Object::Classification [private]

The type of object it is.

Object* System::Object::Outer [private]

The object it resides in.

Name System::Object::Identifier [private]

The name it has.

DWORD System::Object::Flags [private]

The flags it has.

Reimplemented in System::Class, and System::Property.

CriticalResource< DWORD > System::Object::References [private]

The number of times it has been referenced.

PVOID System::Object::Registrant [private]

Contains the name of the registrant.

BOOL System::Object::G_Initialized = FALSE [static, private]

Whether or not the object subsystem is initialized.

CriticalResource< ObjectVector > System::Object::G_Objects [static, private]

Objects registered with the object subsystem.

CriticalResource< Array< DWORD > > System::Object::G_Available [static, private]

Entries in the object array that are available for use.

CriticalResource< ObjectVector > System::Object::G_Buckets [static, private]

Hash table buckets containing objects registered with the object subsystem.

CriticalResource< ObjectVector > System::Object::G_Garbage [static, private]

Objects ready for destruction.


The documentation for this class was generated from the following files:
Generated on Wed Dec 5 14:53:02 2007 for Aerospace Engine by  doxygen 1.5.3