#include <Object.hpp>
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 () |
Class * | GetClass () CONST |
Object * | GetOuter () 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 |
Class * | Classification |
Object * | Outer |
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 |
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.
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.