# XSIUserDataList.h

    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