ISimpleFaceDataManager.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2006 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 /**************************************************************************
00011     FILE: ISimpleFaceDataManager.h
00012 
00013     DESCRIPTION: Declares a public header for a function published core interface
00014                  for managing SimpleFaceDataChannel custom attributes.
00015                     - interface ID
00016                     - FP command ID's
00017                     - Static FP interface declaration
00018 
00019     AUTHOR: ktong - created 02.16.2006
00020 /***************************************************************************/
00021 
00022 #pragma once
00023 
00024 #include "iFnPub.h"
00025 #include "ISimpleFaceDataChannel.h"
00026 
00028 #define SimpleFaceDataManager_InterfaceID Interface_ID(0x5e62018, 0xa73467e)
00029 
00031 
00038 class ISimpleFaceDataManager : public FPStaticInterface
00039 {
00040 public:
00042     enum {
00043         eFpAddChannel, // Add a channel to this object
00044         eFpRemoveChannel, // Remove a channel from this object
00045         eFpGetChannel, // Get a channel on this object
00046         eFpGetChannels, // Get an array of all channels on this object
00047 
00048         eFpChannelTypeEnum, // ID for the function-published channel-type enum.
00049     };
00050 
00052 
00073     virtual ISimpleFaceDataChannel* AddChannel(Object* pObj, int type, const Class_ID* pChannelID, const MCHAR* pChannelName) const =0;
00075 
00079     virtual ISimpleFaceDataChannel* AddChannel(Object* pObj, int type, const Tab<DWORD>* pChannelID, const MCHAR* pChannelName) const =0;
00080 
00082 
00087     virtual void RemoveChannel(Object* pObj, const Class_ID &channelID)=0;
00089 
00093     virtual void RemoveChannel(Object* pObj, const Tab<DWORD>* pChannelID)=0;
00094 
00096 
00101     virtual ISimpleFaceDataChannel* GetChannel(Object* pObj, const Tab<DWORD>* pChannelID) const =0;
00103 
00107     virtual ISimpleFaceDataChannel* GetChannel(Object* pObj, const Class_ID &channelID) const =0;
00108 
00110 
00114     virtual Tab<ISimpleFaceDataChannel*> GetChannels(Object* pObj) const =0;
00115 };
00116 
00117 // EOF