Public Member Functions | Protected Attributes

FBPropertyBase< tType, pPT > Class Template Reference

Search for all occurrences

Detailed Description

template<class tType, FBPropertyType pPT>
class FBPropertyBase< tType, pPT >

Base template class for all standard properties

Definition at line 490 of file fbproperties.h.

#include <fbproperties.h>

Inheritance diagram for FBPropertyBase< tType, pPT >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  FBPropertyBase ()
  Constructor.
  FBPropertyBase (const FBPropertyBase< tType, pPT > &pValue)
  Constructor.
  ~FBPropertyBase ()
  Destructor.
FBPropertyBase Init (void *pParent, char *pName, tType(*pGet)(void *)=NULL, void(*pSet)(void *, tType)=NULL)
  Initialization function.
  operator tType () const
  Overloaded cast to tType operator.
virtual FBPropertyType  GetPropertyType () override
  Get the property's type.
void  SetPropertyValue (tType pValue)
  Set the value of the internal property.
tType  GetPropertyValue ()
  Get the value of the internal property.
virtual bool  IsReadOnly ()
  Is this class read-only? If there is an existing set function, this class is read/write, otherwise it is read-only.
virtual void  GetData (void *pData, int pSize, FBEvaluateInfo *pEvalInfo=NULL) const
  Get value.
virtual void  SetData (void *pData)
  Set value.
void  operator= (tType pValue)
  Overloaded = operator.

Protected Attributes

void(*  Set )(void *, tType)
  Set function pointer.
tType(*  Get )(void *)
  Get function pointer.

Constructor & Destructor Documentation

FBPropertyBase ( ) [inline]

Constructor.

Definition at line 499 of file fbproperties.h.

{ Set = NULL; Get = NULL; }  
FBPropertyBase ( const FBPropertyBase< tType, pPT > &  pValue ) [inline]

Constructor.

Parameters:
pValue FBPropertyBase.

Definition at line 504 of file fbproperties.h.

{ operator=((tType)pValue ); }
~FBPropertyBase ( ) [inline]

Destructor.

Definition at line 507 of file fbproperties.h.

    {     
    }

Member Function Documentation

FBPropertyBase* Init ( void *  pParent,
char *  pName,
tType(*)(void *)  pGet = NULL,
void(*)(void *, tType)  pSet = NULL 
) [inline]

Initialization function.

Parameters:
pParent Parent object.
pName Name of base enum.
pGet Get function (default=NULL).
pSet Set function (default=NULL).
Returns:
Pointer to this object.

Definition at line 518 of file fbproperties.h.

    {  
        mParent = pParent;  
        mName   = pName ;   
        Get     = pGet;     
        Set     = pSet;     
        return this;
    } 
void operator= ( tType  pValue ) [inline]

Overloaded = operator.

Set the value of the current object using the Set function.

Parameters:
pValue Value to set for object.

Reimplemented in FBPropertyBaseEnum< tType >, FBPropertyBaseComponent< tType >, FBPropertyBaseComponent< HFBPlug >, and FBPropertyBaseComponent< HFBComponent >.

Definition at line 532 of file fbproperties.h.

{ SetData( &pValue ); }
operator tType ( ) const [inline]

Overloaded cast to tType operator.

Get the value of the current object using Get fuction.

Returns:
tType cast of current object.

Reimplemented in FBPropertyBaseEnum< tType >, FBPropertyBaseComponent< tType >, FBPropertyBaseComponent< HFBPlug >, and FBPropertyBaseComponent< HFBComponent >.

Definition at line 539 of file fbproperties.h.

{ tType Value; GetData( &Value,sizeof(Value) ); return Value; } 
virtual FBPropertyType GetPropertyType ( ) [inline, override, virtual]

Get the property's type.

Returns:
The property's type.

Reimplemented from FBProperty.

Definition at line 544 of file fbproperties.h.

{ return pPT; }
void SetPropertyValue ( tType  pValue ) [inline]

Set the value of the internal property.

Parameters:
pValue Value to set to internal property.

Definition at line 549 of file fbproperties.h.

    {
        if(IsInternal() && GetValuePtr())
        {
            *(tType*)GetValuePtr() = pValue;
        }
    }
tType GetPropertyValue ( ) [inline]

Get the value of the internal property.

Returns:
Property value.

Definition at line 560 of file fbproperties.h.

    {
        if(IsInternal() && GetValuePtr())
        {
            return *(tType*)GetValuePtr();
        } else
        {
            return (tType)0;
        }
    }
virtual bool IsReadOnly ( ) [inline, virtual]

Is this class read-only? If there is an existing set function, this class is read/write, otherwise it is read-only.

Returns:
true if it is read-only.

Reimplemented from FBProperty.

Definition at line 575 of file fbproperties.h.

{ return IsInternal() ? (FBProperty::IsReadOnly()) : (Set == NULL); }
virtual void GetData ( void *  pData,
int  pSize,
FBEvaluateInfo pEvalInfo = NULL 
) const [inline, virtual]

Get value.

Return values:
pValue Value to fill with current object value.

Reimplemented from FBProperty.

Definition at line 580 of file fbproperties.h.

    {
        if(Get)
        { 
            *((tType*)pData) = (*Get)(mParent); 
        } 
        else if (IsInternal())
        {
            FBProperty::GetData( pData, pSize, pEvalInfo );
        } 
        else
        {
            assert(Get != NULL || IsInternal());
            *((tType*)pData) = (tType)0; 
        }
    }
virtual void SetData ( void *  pData ) [inline, virtual]

Set value.

Parameters:
pData Integer to use to set.

Reimplemented from FBProperty.

Definition at line 599 of file fbproperties.h.

    { 
        if(Set) 
        { 
            (*Set)( mParent,*(tType*)pData ); 
        } 
        else if (IsInternal())
        {
            FBProperty::SetData( pData );
        } 
        else
        { 
            assert( Set != NULL || IsInternal() ); 
        } 
    } 

Member Data Documentation

void(* Set)(void *, tType) [protected]

Set function pointer.

Definition at line 494 of file fbproperties.h.

tType(* Get)(void *) [protected]

Get function pointer.

Definition at line 495 of file fbproperties.h.


The documentation for this class was generated from the following file: