00001 //*************************************************************************************** 00002 // 00003 // File supervisor: Crosswalk team 00004 // 00005 // Copyright 2008 Autodesk, Inc. All rights reserved. 00006 // Use of this software is subject to the terms of the Autodesk license agreement 00007 // provided at the time of installation or download, or which otherwise accompanies 00008 // this software in either electronic or hard copy form. 00009 // 00010 //*************************************************************************************** 00011 00012 #ifndef _XSIUSERDATALIST_H 00013 #define _XSIUSERDATALIST_H 00014 00015 #include "Template.h" 00016 00017 class CSLUserData; 00018 class CSLCluster; 00019 00027 class XSIEXPORT CSLUserDataList 00028 : public CSLTemplate 00029 { 00030 public: 00031 00037 CSLUserDataList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00038 00040 virtual ~CSLUserDataList(); 00041 00045 ETemplateType Type(){ return XSI_USER_DATA_LIST; } 00046 00050 SI_Error Synchronize(); 00051 00053 // User data functionality /////////////////////////////////////////////// 00055 00059 CSLUserData* AddUserData(); 00060 00065 SI_Error RemoveUserData( SI_Int in_nIndex ); 00066 00071 SI_Error RemoveUserData( CSLUserData* in_pToRemove ); 00072 00076 SI_Error ClearUserDatas(); 00077 00082 CSLUserData* ConnectUserData( CSLUserData* in_pToConnect ); 00083 00087 CSLUserData** GetUserDataList(); 00088 00092 SI_Int GetUserDataCount(); 00093 00098 CSLUserData* FindUserData( SI_Char* in_szUserDataName ); 00099 00100 private: 00101 CSIBCArray<CSLUserData*> m_UserDatas; 00102 00103 SI_Void *m_pReserved; 00104 }; 00105 00106 #endif