|
| | FObject ()=default |
| | default constructor...
|
| |
| | FObject (const FObject &) |
| |
| FObject & | operator= (const FObject &) |
| | overloads operator "=" as the reference assignment
|
| |
| virtual | ~FObject () |
| | destructor...
|
| |
| virtual FClassID | isA () const |
| | a local alternative to getFClassID ()
|
| |
| virtual bool | isA (FClassID s) const |
| | evaluates if the passed ID is of the FObject type
|
| |
| virtual bool | isTypeOf (FClassID s, bool=true) const |
| | evaluates if the passed ID is of the FObject type
|
| |
| int32 | getRefCount () |
| | returns the current interface reference count
|
| |
| FUnknown * | unknownCast () |
| | get FUnknown interface from object
|
| |
| tresult | queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE |
| | please refer to FUnknown::queryInterface ()
|
| |
| uint32 | addRef () SMTG_OVERRIDE |
| | please refer to FUnknown::addref ()
|
| |
| uint32 | release () SMTG_OVERRIDE |
| | please refer to FUnknown::release ()
|
| |
| void | update (FUnknown *, int32) SMTG_OVERRIDE |
| | empty virtual method that should be overridden by derived classes for data updates upon changes
|
| |
| virtual void | addDependent (IDependent *dep) |
| | adds dependency to the object
|
| |
| virtual void | removeDependent (IDependent *dep) |
| | removes dependency from the object
|
| |
| virtual void | changed (int32 msg=kChanged) |
| | Inform all dependents, that the object has changed.
|
| |
| virtual void | deferUpdate (int32 msg=kChanged) |
| | Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
|
| |
| virtual void | updateDone (int32) |
| | empty virtual method that should be overridden by derived classes
|
| |
| virtual bool | isEqualInstance (FUnknown *d) |
| |
Implements FUnknown and IDependent.
FObject is a polymorphic class that implements IDependent (of SKI module) and therefore derived from FUnknown, which is the most abstract base class of all.
All COM-like virtual methods of FUnknown such as queryInterface(), addRef(), release() are implemented here. On top of that, dependency-related methods are implemented too.
Pointer casting is done via the template methods FCast, either FObject to FObject or FUnknown to FObject.
FObject supports a new singleton concept, therefore these objects are deleted automatically upon program termination.
- Runtime type information: An object can be queried at runtime, of what class it is. To do this correctly, every class must override some methods. This is simplified by using the OBJ_METHODS macros
- See Also
- FUnknown
- IDependent
- IUpdateHandler