Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

IParticleChannel Class Reference

Search for all occurrences

#include <IParticleChannel.h>

Inheritance diagram for IParticleChannel:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  kClone, kIsSimilarChannel, kIsTransferable, kSetTransferable,
  kIsPrivateChannel, kGetPrivateOwner, kSetPrivateOwner, kGetCreatorAction,
  kSetCreatorAction, kGetReadID_PartA, kGetReadID_PartB, kGetWriteID_PartA,
  kGetWriteID_PartB, kSetReadID, kSetWriteID
}
enum   {
  kChunkCount = 1000, kChunkData = 1010, kChunkGlobalCount = 1020, kChunkSharedCount = 1021,
  kChunkGlobalValue = 1030, kChunkSharedValue = 1031, kChunkReadID = 1040, kChunkWriteID = 1050,
  kChunkTransferable = 1055, kChunkPrivate = 1056, kChunkActionHandle = 1057, kChunkValue1 = 1061,
  kChunkValue2 = 1062, kChunkValue3 = 1063, kChunkValue4 = 1064, kChunkValue5 = 1065,
  kChunkValue6 = 1066, kChunkValue7 = 1067
}

Public Member Functions

BEGIN_FUNCTION_MAP  FN_0 (kClone, TYPE_IOBJECT, Clone)
  FN_1 (kIsSimilarChannel, TYPE_bool, IsSimilarChannel, TYPE_IOBJECT)
  FN_0 (kIsTransferable, TYPE_bool, IsTransferable)
  VFN_1 (kSetTransferable, SetTransferable, TYPE_bool)
  FN_0 (kIsPrivateChannel, TYPE_bool, IsPrivateChannel)
  FN_0 (kGetPrivateOwner, TYPE_OBJECT, GetPrivateOwner)
  VFN_1 (kSetPrivateOwner, SetPrivateOwner, TYPE_OBJECT)
  FN_0 (kGetCreatorAction, TYPE_INODE, GetCreatorAction)
  VFN_1 (kSetCreatorAction, SetCreatorAction, TYPE_INODE)
  FN_0 (kGetReadID_PartA, TYPE_DWORD, GetReadID_PartA)
  FN_0 (kGetReadID_PartB, TYPE_DWORD, GetReadID_PartB)
  FN_0 (kGetWriteID_PartA, TYPE_DWORD, GetWriteID_PartA)
  FN_0 (kGetWriteID_PartB, TYPE_DWORD, GetWriteID_PartB)
  VFN_2 (kSetReadID, SetReadID, TYPE_DWORD, TYPE_DWORD)
  VFN_2 (kSetWriteID, SetWriteID, TYPE_DWORD, TYPE_DWORD)
PFExport  IParticleChannel ()
PFExport  IParticleChannel (const Interface_ID &readID, const Interface_ID &writeID)
virtual Class_ID  GetClassID () const =0
  Returns the unique ID for the channel class.
virtual IObject Clone () const =0
  cloning; make a copy of the channel
virtual IOResult  Save (ISave *isave) const =0
  saving content of the channel to file
virtual IOResult  Load (ILoad *iload)=0
  loading content of the channel from file
PFExport bool  IsSimilarChannel (IObject *channel) const
  checks if the given IObject is a similar particle channel
PFExport bool  IsTransferable () const
  Get "transferable" status.
PFExport void  SetTransferable (bool status)
  Set "transferable" status.
PFExport bool  IsPrivateChannel () const
  A channel can be declared "private" by an action.
PFExport Object GetPrivateOwner () const
  returns a "private owner" action of the channel
PFExport void  SetPrivateOwner (Object *action)
  sets a "private owner" action of the channel
PFExport INode GetCreatorAction () const
  channel data can be viewed by different actions.
PFExport void  SetCreatorAction (INode *actionNode)
  channel data can be viewed by different actions.
PFExport DWORD  GetReadID_PartA () const
  Set/get a concrete channel ID for a generic data particle channel.
PFExport DWORD  GetReadID_PartB () const
  Set/get a concrete channel ID for a generic data particle channel.
PFExport DWORD  GetWriteID_PartA () const
  access write-interface ID of the wrapping channel
PFExport DWORD  GetWriteID_PartB () const
  access write-interface ID of the wrapping channel
PFExport void  SetReadID (DWORD interfaceID_PartA, DWORD interfaceID_PartB)
  set up read-interface ID of the wrapping channel
PFExport void  SetWriteID (DWORD interfaceID_PartA, DWORD interfaceID_PartB)
  set up write-interface ID of the wrapping channel
PFExport const Interface_ID GetReadID () const
  methods that are not in FnPub interface.
PFExport const Interface_ID GetWriteID () const
  access write-interface ID of the wrapping channel
PFExport void  SetReadID (const Interface_ID &id)
  set up read-interface ID of the wrapping channel
PFExport void  SetWriteID (const Interface_ID &id)
  set up write-interface ID of the wrapping channel
PFExport void  CloneChannelCore (IParticleChannel *getFrom)
  when cloning a channel, data about transferable, privateOwner, creatorAction, readID & write ID should be cloned.
PFExport void  UpdateCreatorHandle (IMergeManager *pMM)
  when cached channel data are merged the stored action creator handle could be invalid.
virtual int  MemoryUsed () const =0
  returns amount of memory used (in bytes) by the channel to store the information
FPInterfaceDesc GetDesc ()

Protected Member Functions

int  numRefs () const
int &  _numRefs ()

Protected Attributes

bool  m_isTransferable
bool  m_isPrivate
Object m_privateOwner
INode m_creatorAction
ULONG  m_creatorHandle
Interface_ID  m_readID
Interface_ID  m_writeID

Member Enumeration Documentation

anonymous enum
anonymous enum

Member Function Documentation

BEGIN_FUNCTION_MAP FN_0 ( kClone  ,
TYPE_IOBJECT  ,
Clone   
)
FN_1 ( kIsSimilarChannel  ,
TYPE_bool  ,
IsSimilarChannel  ,
TYPE_IOBJECT   
)
FN_0 ( kIsTransferable  ,
TYPE_bool  ,
IsTransferable   
)
VFN_1 ( kSetTransferable  ,
SetTransferable  ,
TYPE_bool   
)
FN_0 ( kIsPrivateChannel  ,
TYPE_bool  ,
IsPrivateChannel   
)
FN_0 ( kGetPrivateOwner  ,
TYPE_OBJECT  ,
GetPrivateOwner   
)
VFN_1 ( kSetPrivateOwner  ,
SetPrivateOwner  ,
TYPE_OBJECT   
)
FN_0 ( kGetCreatorAction  ,
TYPE_INODE  ,
GetCreatorAction   
)
VFN_1 ( kSetCreatorAction  ,
SetCreatorAction  ,
TYPE_INODE   
)
FN_0 ( kGetReadID_PartA  ,
TYPE_DWORD  ,
GetReadID_PartA   
)
FN_0 ( kGetReadID_PartB  ,
TYPE_DWORD  ,
GetReadID_PartB   
)
FN_0 ( kGetWriteID_PartA  ,
TYPE_DWORD  ,
GetWriteID_PartA   
)
FN_0 ( kGetWriteID_PartB  ,
TYPE_DWORD  ,
GetWriteID_PartB   
)
VFN_2 ( kSetReadID  ,
SetReadID  ,
TYPE_DWORD  ,
TYPE_DWORD   
)
VFN_2 ( kSetWriteID  ,
SetWriteID  ,
TYPE_DWORD  ,
TYPE_DWORD   
)

IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel
IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel IParticleChannel