FObject Class Reference

Implements FUnknown and IDependent. More...

#include <fobject.h>

Inheritance diagram for FObject:
Inheritance graph
[legend]

Public Member Functions

 FObject ()
 default constructor...
 FObject (const FObject &)
 overloaded constructor...
virtual ~FObject ()
 destructor...
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
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
virtual tresult queryInterface (const TUID iid, void **obj)
 please refer to FUnknown::queryInterface ()
virtual uint32 addRef ()
 please refer to FUnknown::addref ()
virtual uint32 release ()
 please refer to FUnknown::release ()
virtual void update (FUnknown *, int32)
 empty virtual method that should be overridden by derived classes for data updates upon changes
void addDependent (IDependent *dep)
 adds dependency to the object
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

Static Public Member Functions

static FClassID getFClassID ()
 return Class ID as an ASCII string (statically)
static void setUpdateHandler (IUpdateHandler *handler)
 set method for the local attribute
static IUpdateHandler * getUpdateHandler ()
 get method for the local attribute
static bool classIDsEqual (FClassID ci1, FClassID ci2)
 compares (evaluates) 2 class IDs
static FObjectunknownToObject (FUnknown *unknown)
 pointer conversion from FUnknown to FObject

Static Public Attributes

static const FUID iid
 Special UID that is used to cast an FUnknown pointer to a FObject.

Protected Attributes

int32 refCount
 COM-model local reference count.

Static Protected Attributes

static IUpdateHandler * gUpdateHandler = 0

Detailed Description

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.

See also:
  • FUnknown
  • IDependent
  • IUpdateHandler

Constructor & Destructor Documentation

FObject (  )  [inline]

default constructor...

FObject ( const FObject  )  [inline]

overloaded constructor...

virtual ~FObject (  )  [inline, virtual]

destructor...


Member Function Documentation

FObject& operator= ( const FObject  )  [inline]

overloads operator "=" as the reference assignment

static FClassID getFClassID (  )  [inline, static]

return Class ID as an ASCII string (statically)

Reimplemented in StringObject, FLockObject, and UpdateHandler.

virtual FClassID isA (  )  const [inline, virtual]

a local alternative to getFClassID ()

Reimplemented in StringObject, FLockObject, and UpdateHandler.

virtual bool isA ( FClassID  s  )  const [inline, virtual]

evaluates if the passed ID is of the FObject type

Reimplemented in StringObject, FLockObject, and UpdateHandler.

virtual bool isTypeOf ( FClassID  s,
bool  = true 
) const [inline, virtual]

evaluates if the passed ID is of the FObject type

Reimplemented in StringObject, FLockObject, and UpdateHandler.

int32 getRefCount (  )  [inline]

returns the current interface reference count

FUnknown* unknownCast (  )  [inline]

get FUnknown interface from object

tresult queryInterface ( const TUID  iid,
void **  obj 
) [virtual]

please refer to FUnknown::queryInterface ()

uint32 addRef (  )  [virtual]

please refer to FUnknown::addref ()

Reimplemented in StringObject, and UpdateHandler.

uint32 release (  )  [virtual]

please refer to FUnknown::release ()

Reimplemented in StringObject, and UpdateHandler.

virtual void update ( FUnknown *  ,
int32   
) [inline, virtual]

empty virtual method that should be overridden by derived classes for data updates upon changes

void addDependent ( IDependent *  dep  ) 

adds dependency to the object

void removeDependent ( IDependent *  dep  ) 

removes dependency from the object

void changed ( int32  msg = kChanged  )  [virtual]

Inform all dependents, that the object has changed.

void deferUpdate ( int32  msg = kChanged  )  [virtual]

Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).

virtual void updateDone ( int32   )  [inline, virtual]

empty virtual method that should be overridden by derived classes

static void setUpdateHandler ( IUpdateHandler *  handler  )  [inline, static]

set method for the local attribute

static IUpdateHandler* getUpdateHandler (  )  [inline, static]

get method for the local attribute

bool classIDsEqual ( FClassID  ci1,
FClassID  ci2 
) [inline, static]

compares (evaluates) 2 class IDs

FObject * unknownToObject ( FUnknown *  unknown  )  [inline, static]

pointer conversion from FUnknown to FObject


Field Documentation

const FUID iid [static]

Special UID that is used to cast an FUnknown pointer to a FObject.

int32 refCount [protected]

COM-model local reference count.

IUpdateHandler * gUpdateHandler = 0 [static, protected]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.