Documentation
Public Member Functions |
Private Member Functions |
Private Attributes |
Friends |
List of all members
Urho3D::Context Class Reference
Urho3D execution context. Provides access to subsystems, object factories and attributes, and event receivers. More...
#include <Context.h>
Inheritance diagram for Urho3D::Context:
Collaboration diagram for Urho3D::Context:
Public Member Functions | |
Context () | |
Construct. | |
~Context () | |
Destruct. More... | |
SharedPtr< Object > | CreateObject (StringHash objectType) |
Create an object by type hash. Return pointer to it or null if no factory found. | |
void | RegisterFactory (ObjectFactory *factory) |
Register a factory for an object type. | |
void | RegisterFactory (ObjectFactory *factory, const char *category) |
Register a factory for an object type and specify the object category. | |
void | RegisterSubsystem (Object *subsystem) |
Register a subsystem. | |
void | RemoveSubsystem (StringHash objectType) |
Remove a subsystem. | |
void | RegisterAttribute (StringHash objectType, const AttributeInfo &attr) |
Register object attribute. | |
void | RemoveAttribute (StringHash objectType, const char *name) |
Remove object attribute. | |
void | UpdateAttributeDefaultValue (StringHash objectType, const char *name, const Variant &defaultValue) |
Update object attribute's default value. | |
VariantMap & | GetEventDataMap () |
Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. | |
void | CopyBaseAttributes (StringHash baseType, StringHash derivedType) |
Copy base class attributes to derived class. | |
template<class T > | |
void | RegisterFactory () |
Template version of registering an object factory. | |
template<class T > | |
void | RegisterFactory (const char *category) |
Template version of registering an object factory with category. | |
template<class T > | |
void | RemoveSubsystem () |
Template version of removing a subsystem. | |
template<class T > | |
void | RegisterAttribute (const AttributeInfo &attr) |
Template version of registering an object attribute. | |
template<class T > | |
void | RemoveAttribute (const char *name) |
Template version of removing an object attribute. | |
template<class T , class U > | |
void | CopyBaseAttributes () |
Template version of copying base class attributes to derived class. | |
template<class T > | |
void | UpdateAttributeDefaultValue (const char *name, const Variant &defaultValue) |
Template version of updating an object attribute's default value. | |
Object * | GetSubsystem (StringHash type) const |
Return subsystem by type. | |
const HashMap< StringHash, SharedPtr< Object > > & | GetSubsystems () const |
Return all subsystems. | |
const HashMap< StringHash, SharedPtr< ObjectFactory > > & | GetObjectFactories () const |
Return all object factories. | |
const HashMap< String, Vector < StringHash > > & | GetObjectCategories () const |
Return all object categories. | |
Object * | GetEventSender () const |
Return active event sender. Null outside event handling. | |
EventHandler * | GetEventHandler () const |
Return active event handler. Set by Object. Null outside event handling. | |
const String & | GetTypeName (StringHash objectType) const |
Return object type name from hash, or empty if unknown. | |
AttributeInfo * | GetAttribute (StringHash objectType, const char *name) |
Return a specific attribute description for an object, or null if not found. | |
template<class T > | |
T * | GetSubsystem () const |
Template version of returning a subsystem. | |
template<class T > | |
AttributeInfo * | GetAttribute (const char *name) |
Template version of returning a specific attribute description. | |
const Vector< AttributeInfo > * | GetAttributes (StringHash type) const |
Return attribute descriptions for an object type, or null if none defined. | |
const Vector< AttributeInfo > * | GetNetworkAttributes (StringHash type) const |
Return network replication attribute descriptions for an object type, or null if none defined. | |
const HashMap< StringHash, Vector< AttributeInfo > > & | GetAllAttributes () const |
Return all registered attributes. | |
HashSet< Object * > * | GetEventReceivers (Object *sender, StringHash eventType) |
Return event receivers for a sender and event type, or null if they do not exist. | |
HashSet< Object * > * | GetEventReceivers (StringHash eventType) |
Return event receivers for an event type, or null if they do not exist. | |
Public Member Functions inherited from Urho3D::RefCounted | |
RefCounted () | |
Construct. Allocate the reference count structure and set an initial self weak reference. | |
virtual | ~RefCounted () |
Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. | |
void | AddRef () |
Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting. | |
void | ReleaseRef () |
Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting. | |
int | Refs () const |
Return reference count. | |
int | WeakRefs () const |
Return weak reference count. | |
RefCount * | RefCountPtr () |
Return pointer to the reference count structure. | |
Private Member Functions | |
void | AddEventReceiver (Object *receiver, StringHash eventType) |
Add event receiver. | |
void | AddEventReceiver (Object *receiver, Object *sender, StringHash eventType) |
Add event receiver for specific event. | |
void | RemoveEventSender (Object *sender) |
Remove an event sender from all receivers. Called on its destruction. | |
void | RemoveEventReceiver (Object *receiver, Object *sender, StringHash eventType) |
Remove event receiver from specific events. | |
void | RemoveEventReceiver (Object *receiver, StringHash eventType) |
Remove event receiver from non-specific events. | |
void | SetEventHandler (EventHandler *handler) |
Set current event handler. Called by Object. | |
void | BeginSendEvent (Object *sender) |
Begin event send. | |
void | EndSendEvent () |
End event send. Clean up event receivers removed in the meanwhile. | |
Private Attributes | |
HashMap< StringHash, SharedPtr < ObjectFactory > > | factories_ |
Object factories. | |
HashMap< StringHash, SharedPtr < Object > > | subsystems_ |
Subsystems. | |
HashMap< StringHash, Vector < AttributeInfo > > | attributes_ |
Attribute descriptions per object type. | |
HashMap< StringHash, Vector < AttributeInfo > > | networkAttributes_ |
Network replication attribute descriptions per object type. | |
HashMap< StringHash, HashSet < Object * > > | eventReceivers_ |
Event receivers for non-specific events. | |
HashMap< Object *, HashMap < StringHash, HashSet< Object * > > > | specificEventReceivers_ |
Event receivers for specific senders' events. | |
PODVector< Object * > | eventSenders_ |
Event sender stack. | |
PODVector< VariantMap * > | eventDataMaps_ |
Event data stack. | |
EventHandler * | eventHandler_ |
Active event handler. Not stored in a stack for performance reasons; is needed only in esoteric cases. | |
HashMap< String, Vector < StringHash > > | objectCategories_ |
Object categories. | |
Friends | |
class | Object |
Detailed Description
Urho3D execution context. Provides access to subsystems, object factories and attributes, and event receivers.
Constructor & Destructor Documentation
Urho3D::Context::~Context | ( | ) |
The documentation for this class was generated from the following files:
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Core/Context.h
- /home/travis/build/urho3d/Urho3D/Source/Urho3D/Core/Context.cpp