00001 #ifndef __ListParameters__ 00002 #define __ListParameters__ 00003 00004 00005 00025 #include <stdio.h> 00026 00027 #include "AbsParameter.hpp" 00028 00029 00030 class ListParameters 00031 { 00032 private: 00033 00034 char* className; 00035 00036 int nMajor, maxMajor; 00037 AbsParameter** majorParams; 00038 00039 int nMinor, maxMinor; 00040 AbsParameter** minorParams; 00041 00042 public: 00043 00044 ListParameters(char* aname, int nPrincipal, int nSecondary ) 00045 { 00046 className= aname; 00047 00048 nMajor=0; 00049 nMinor=0; 00050 00051 maxMajor= nPrincipal; 00052 maxMinor= nSecondary; 00053 00054 majorParams= new AbsParameter*[maxMajor]; 00055 minorParams= new AbsParameter*[maxMinor]; 00056 } 00057 00058 virtual ~ListParameters(){delete[] className; delete[] majorParams; delete[] minorParams;} 00059 00060 virtual char* getClassName(){ return className; } 00061 00062 virtual int numberOfParams(){return (nMajor+nMinor);} 00063 virtual int numberOfMajorParams(){return nMajor;} 00064 virtual int numberOfMinorParams(){return nMinor;} 00065 00066 virtual void addMajor(AbsParameter* newParam); 00067 virtual void addMinor(AbsParameter* newParam); 00068 00069 virtual AbsParameter* getMajor(int index){ return majorParams[index]; } 00070 virtual AbsParameter* getMinor(int index){ return minorParams[index]; } 00071 00072 virtual void report(FILE* file){} 00073 }; 00074 00075 00076 #endif