|  | 
|  | 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