|
| UpdateHandler () |
|
| ~UpdateHandler () SMTG_OVERRIDE |
|
tresult | addDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
| register More...
|
|
tresult | removeDependent (FUnknown *object, IDependent *dependent, size_t &earseCount) |
| unregister More...
|
|
tresult | removeDependent (FUnknown *object, IDependent *dependent) SMTG_OVERRIDE |
|
tresult | triggerUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send More...
|
|
tresult | deferUpdates (FUnknown *object, int32 message) SMTG_OVERRIDE |
| send More...
|
|
tresult | cancelUpdates (FUnknown *object) SMTG_OVERRIDE |
| cancel pending messages send by More...
|
|
tresult | triggerDeferedUpdates (FUnknown *object=nullptr) SMTG_OVERRIDE |
| send pending messages send by More...
|
|
size_t | countDependencies (FUnknown *object=nullptr) |
|
| OBJ_METHODS (UpdateHandler, FObject) FUNKNOWN_METHODS2(IUpdateHandler |
|
virtual void | addDependent (IDependent *dep) |
| adds dependency to the object More...
|
|
virtual void | removeDependent (IDependent *dep) |
| removes dependency from the object More...
|
|
virtual void | deferUpdate (int32 msg=kChanged) |
| Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). More...
|
|
| FObject ()=default |
| default constructor... More...
|
|
| FObject (const FObject &) |
|
FObject & | operator= (const FObject &) |
| overloads operator "=" as the reference assignment More...
|
|
virtual | ~FObject () |
| destructor... More...
|
|
virtual FClassID | isA () const |
| a local alternative to getFClassID () More...
|
|
virtual bool | isA (FClassID s) const |
| evaluates if the passed ID is of the FObject type More...
|
|
virtual bool | isTypeOf (FClassID s, bool=true) const |
| evaluates if the passed ID is of the FObject type More...
|
|
int32 | getRefCount () |
| returns the current interface reference count More...
|
|
FUnknown * | unknownCast () |
| get FUnknown interface from object More...
|
|
tresult | queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE |
| please refer to FUnknown::queryInterface () More...
|
|
uint32 | addRef () SMTG_OVERRIDE |
| please refer to FUnknown::addref () More...
|
|
uint32 | release () SMTG_OVERRIDE |
| please refer to FUnknown::release () More...
|
|
void | update (FUnknown *, int32) SMTG_OVERRIDE |
| empty virtual method that should be overridden by derived classes for data updates upon changes More...
|
|
virtual void | addDependent (IDependent *dep) |
| adds dependency to the object More...
|
|
virtual void | removeDependent (IDependent *dep) |
| removes dependency from the object More...
|
|
virtual void | changed (int32 msg=kChanged) |
| Inform all dependents, that the object has changed. More...
|
|
virtual void | deferUpdate (int32 msg=kChanged) |
| Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates). More...
|
|
virtual void | updateDone (int32) |
| empty virtual method that should be overridden by derived classes More...
|
|
virtual bool | isEqualInstance (FUnknown *d) |
|
template<class C > |
IPtr< C > | fromUnknown (FUnknown *unknown) |
|
virtual tresult | cancelUpdates (FUnknown *object)=0 |
| cancel pending messages send by More...
|
|
virtual tresult | triggerDeferedUpdates (FUnknown *object=nullptr)=0 |
| send pending messages send by More...
|
|
UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects.
This implementation is thread save, so objects can send message, add or remove dependents from different threads. Do do so it uses mutex, so be aware of locking.