00001 #ifndef __CSTRINGARRAYPARAM_H //Required for current class 00002 #define __CSTRINGARRAYPARAM_H 00003 00004 //Required for base classes 00005 #ifndef __CCONFIGURATIONPARAMETER_H //CConfigurationParameter 00006 #include "CConfigurationParameter.h" 00007 #endif 00008 00009 // Forward class definitions: 00010 00011 class CTCLInterpreter; 00012 class CTCLResult; 00013 00017 class CStringArrayparam : public CConfigurationParameter 00018 { 00019 private: 00020 string* m_aStrings; 00021 int m_nSize; 00022 public: 00023 // Constructors and other 00024 CStringArrayparam (const string& rKey, int nSize); 00025 virtual ~ CStringArrayparam ( ); 00026 CStringArrayparam (const CStringArrayparam& rhs ); 00027 CStringArrayparam& operator= (const CStringArrayparam& rhs); 00028 int operator== (const CStringArrayparam& rhs) const; 00029 int operator!=(const CStringArrayparam& rhs) const { 00030 return !(operator==(rhs)); 00031 } 00032 00033 // Selectors: 00034 00035 public: 00036 00037 const string* getStrings() const 00038 { 00039 return m_aStrings; 00040 } 00041 00042 protected: 00043 00044 void setStrings (string* aStrings) 00045 { 00046 delete []m_aStrings; 00047 m_aStrings =aStrings; 00048 } 00049 00050 // Class operations: 00051 00052 public: 00053 00054 string& operator[] (int n) ; // 00055 virtual int SetValue (CTCLInterpreter& rInterp, CTCLResult& rResult, 00056 const char* pValue); 00057 virtual string GetParameterFormat(); 00058 }; 00059 00060 #endif