/*************************************************************************/ /* File : CKParameterLocal.h */ /* Author : Nicolas Galinotti */ /* */ /* Virtools SDK */ /* Copyright (c) Virtools 2000, All Rights Reserved. */ /*************************************************************************/ #ifndef CKPARAMETERLOCAL_H #define CKPARAMETERLOCAL_H #include "CKParameter.h" /************************************************************************* Name: CKParameterLocal Summary: Local parameter providing a value Remarks: {Image:ParameterLocal} + A CKParameterLocal derives directly from CKParameterOut and differs only by its class ID, it provides no additional methods. + A CKParameterLocal is created with CKBehavior::CreateLocalParameter or CKContext::CreateParameterLocal. + The class id of CKParameterLocal is CKCID_PARAMETERLOCAL. See also: CKParameterOut *****************************************************************************/ class CKParameterLocal : public CKParameter { public : //-------------------------------------------- // Special Parameter :: This (MySelf) void SetAsMyselfParameter(CKBOOL act); CKBOOL IsMyselfParameter() {return (m_ObjectFlags & CK_PARAMETERIN_THIS);} virtual void SetOwner(CKObject *o); virtual CKERROR SetValue(const void *buf,int size = 0); virtual CKERROR CopyValue(CKParameter *param,CKBOOL UpdateParam=TRUE); virtual void * GetWriteDataPtr(); virtual CKERROR SetStringValue(CKSTRING Value); void CheckClass(CKParameterTypeDesc* iType); //------------------------------------------------------------------- #ifdef DOCJETDUMMY // Docjet secret macro #else //--------------------------------------- // Virtual functions CKParameterLocal(CKContext *Context,CKSTRING name = NULL); virtual ~CKParameterLocal(); virtual CK_CLASSID GetClassID(); virtual void PreDelete(); virtual CKStateChunk *Save(CKFile *file,CKDWORD flags); virtual CKERROR Load(CKStateChunk *chunk,CKFile* file); virtual int GetMemoryOccupation(); //-------------------------------------------- // Dependencies Functions virtual CKERROR RemapDependencies(CKDependenciesContext& context); virtual CKERROR Copy(CKObject& o,CKDependenciesContext& context); //-------------------------------------------- // Class Registering static CKSTRING GetClassName(); static int GetDependenciesCount(int mode); static CKSTRING GetDependencies(int i,int mode); static void Register(); static CKParameterLocal* CreateInstance(CKContext *Context); static void ReleaseInstance(CKContext* iContext,CKParameterLocal*); static CK_CLASSID m_ClassID; // Dynamic Cast method (returns NULL if the object can't be casted) static CKParameterLocal* Cast(CKObject* iO) { return CKIsChildClassOf(iO,CKCID_PARAMETERLOCAL)?(CKParameterLocal*)iO:NULL; } #endif // docjet secret macro }; #endif