00001 //***************************************************************************** 00011 //***************************************************************************** 00012 00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00014 #pragma once 00015 #endif 00016 00017 #ifndef __XSI_ARRAYPARAMETER_H__ 00018 #define __XSI_ARRAYPARAMETER_H__ 00019 00020 #include <xsi_status.h> 00021 #include <xsi_parameter.h> 00022 00023 namespace XSI { 00024 00025 // ******************************************************************* 00034 // ******************************************************************* 00035 00036 class SICPPSDKDECL ArrayParameter : public Parameter 00037 { 00038 public: 00040 ArrayParameter( ); 00041 00043 ~ArrayParameter( ); 00044 00048 ArrayParameter(const CRef& in_ref); 00049 00053 ArrayParameter(const ArrayParameter& in_obj); 00054 00060 bool IsA( siClassID in_ClassID) const; 00061 00065 siClassID GetClassID() const; 00066 00071 ArrayParameter& operator=(const ArrayParameter& in_obj); 00072 00078 ArrayParameter& operator=(const CRef& in_ref); 00079 00086 Parameter operator[]( LONG in_index ); 00087 00091 LONG GetCount( void ) const; 00092 00097 Parameter Add( void ); 00098 00104 CStatus Remove( LONG in_lIndex ); 00105 00111 CStatus Remove( const Parameter &in_parameter ); 00112 00121 CStatus Move( LONG in_lIndex, LONG in_lUpDown ); 00122 00131 CStatus Move( const Parameter &in_parameter, LONG in_lUpDown ); 00132 00139 Parameter Add( const CValue& ); 00140 00141 private: 00142 ArrayParameter* operator&() const; 00143 ArrayParameter* operator&(); 00144 00145 }; 00146 00147 }; 00148 00149 #endif // __XSI_ARRAYPARAMETER_H__