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
00038
00039
00040 class SICPPSDKDECL ArrayParameter : public Parameter
00041 {
00042 public:
00044 ArrayParameter( );
00045
00047 ~ArrayParameter( );
00048
00052 ArrayParameter(const CRef& in_ref);
00053
00057 ArrayParameter(const ArrayParameter& in_obj);
00058
00064 bool IsA( siClassID in_ClassID) const;
00065
00069 siClassID GetClassID() const;
00070
00075 ArrayParameter& operator=(const ArrayParameter& in_obj);
00076
00082 ArrayParameter& operator=(const CRef& in_ref);
00083
00090 Parameter operator[]( LONG in_index );
00091
00095 LONG GetCount( void ) const;
00096
00101 Parameter Add( void );
00102
00108 CStatus Remove( LONG in_lIndex );
00109
00115 CStatus Remove( const Parameter &in_parameter );
00116
00125 CStatus Move( LONG in_lIndex, LONG in_lUpDown );
00126
00135 CStatus Move( const Parameter &in_parameter, LONG in_lUpDown );
00136
00143 Parameter Add( const CValue& );
00144
00145 private:
00146 ArrayParameter* operator&() const;
00147 ArrayParameter* operator&();
00148
00149 };
00150
00151 };
00152
00153 #endif // __XSI_ARRAYPARAMETER_H__