XSIUserDataList.h

00001 /****************************************************************************************
00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 
00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 
00008  
00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00010 
00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00013 trademarks contained herein are the property of their respective owners. 
00014 ****************************************************************************************/
00015 
00016 #ifndef _XSIUSERDATALIST_H
00017 #define _XSIUSERDATALIST_H
00018 
00019 #include "Template.h"
00020 
00021 class CSLUserData;
00022 class CSLCluster;
00023 
00033 class XSIEXPORT CSLUserDataList
00034     : public CSLTemplate
00035 {
00036 public:
00037 
00043     CSLUserDataList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00044 
00046     virtual ~CSLUserDataList();
00047 
00051     ETemplateType Type(){ return XSI_USER_DATA_LIST; }
00052 
00056     SI_Error Synchronize();
00057 
00059     // User data functionality ///////////////////////////////////////////////
00061 
00065     CSLUserData* AddUserData();
00066 
00071     SI_Error RemoveUserData( SI_Int in_nIndex );
00072 
00077     SI_Error RemoveUserData( CSLUserData* in_pToRemove );
00078 
00082     SI_Error ClearUserDatas();
00083 
00088     CSLUserData* ConnectUserData( CSLUserData* in_pToConnect );
00089 
00093     CSLUserData** GetUserDataList();
00094 
00098     SI_Int GetUserDataCount();
00099 
00104     CSLUserData* FindUserData( SI_Char* in_szUserDataName );
00105 
00106 private:
00107     CSIBCArray<CSLUserData*> m_UserDatas;
00108 
00109     SI_Void *m_pReserved;
00110 };
00111 
00112 #endif