00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _XSIUSERDATALIST_H 00015 #define _XSIUSERDATALIST_H 00016 00017 #include "Template.h" 00018 00019 class CSLUserData; 00020 class CSLCluster; 00021 00031 class XSIEXPORT CSLUserDataList 00032 : public CSLTemplate 00033 { 00034 public: 00035 00041 CSLUserDataList(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00042 00044 virtual ~CSLUserDataList(); 00045 00049 ETemplateType Type(){ return XSI_USER_DATA_LIST; } 00050 00054 SI_Error Synchronize(); 00055 00057 // User data functionality /////////////////////////////////////////////// 00059 00063 CSLUserData* AddUserData(); 00064 00069 SI_Error RemoveUserData( SI_Int in_nIndex ); 00070 00075 SI_Error RemoveUserData( CSLUserData* in_pToRemove ); 00076 00080 SI_Error ClearUserDatas(); 00081 00086 CSLUserData* ConnectUserData( CSLUserData* in_pToConnect ); 00087 00091 CSLUserData** GetUserDataList(); 00092 00096 SI_Int GetUserDataCount(); 00097 00102 CSLUserData* FindUserData( SI_Char* in_szUserDataName ); 00103 00104 private: 00105 CSIBCArray<CSLUserData*> m_UserDatas; 00106 00107 SI_Void *m_pReserved; 00108 }; 00109 00110 #endif