00001 #ifndef neo_ParameterPort 00002 #define neo_ParameterPort 00003 00004 namespace neo { 00005 namespace cca { 00006 namespace ports { 00007 00008 00013 class ParameterPort : public virtual BasicParameterPort 00014 { 00015 public: 00016 00017 virtual ~ParameterPort() {} 00018 00019 // BasicParameterPort 00020 00022 virtual std::vector< std::string > readConfigurationKeys()= 0; 00023 00025 virtual neo::cca::TypeMap_shared readConfigurationMap() throw ( neo::cca::Exception )= 0; 00026 00031 virtual void writeConfigurationMap( neo::cca::TypeMap_shared tm) throw ( neo::cca::Exception )= 0; 00032 00033 virtual std::string readTitle()= 0; 00034 virtual std::vector< std::string > readGroupNames()= 0; 00035 virtual std::string readGroupTitle( const std::string & groupName)= 0; 00036 virtual std::vector< std::string > readGroupKeys( const std::string & groupName )= 0; 00037 00038 virtual std::string readHelp( const std::string & key)= 0; 00039 virtual std::string readPrompt( const std::string & key)= 0; 00040 virtual bool hasBounds( const std::string & key)= 0; 00041 virtual bool hasChoices( const std::string & key)= 0; 00042 00043 virtual bool readDefaultBoolean( const std::string & key)= 0; 00044 virtual std::string readDefaultString ( const std::string & key)= 0; 00045 virtual int32_t readDefaultInt( const std::string & key)= 0; 00046 virtual int64_t readDefaultLong( const std::string & key)= 0; 00047 virtual float readDefaultFloat ( const std::string & key)= 0; 00048 virtual double readDefaultDouble( const std::string & key)= 0; 00049 virtual std::complex<float> readDefaultFcomplex( const std::string & key)= 0; 00050 virtual std::complex<double> readDefaultDcomplex( const std::string & key)= 0; 00051 00052 virtual std::vector< std::string > readDefaultStringArray( const std::string & key)= 0; 00053 virtual std::vector< bool > readDefaultBooleanArray( const std::string & key)= 0; 00054 virtual std::vector< int32_t > readDefaultIntArray( const std::string & key)= 0; 00055 virtual std::vector< int64_t > readDefaultLongArray( const std::string & key)= 0; 00056 virtual std::vector< float > readDefaultFloatArray( const std::string & key)= 0; 00057 virtual std::vector< double > readDefaultDoubleArray( const std::string & key)= 0; 00058 virtual std::vector< std::complex<float> > readDefaultFcomplexArray( const std::string & key)= 0; 00059 virtual std::vector< std::complex<double> > readDefaultDcomplexArray( const std::string & key)= 0; 00060 00061 virtual void readBoundsInt(const std::string & key, int32_t & low, int32_t & high)= 0; 00062 virtual void readBoundsLong(const std::string & key, int64_t & low, int64_t & high)= 0; 00063 virtual void readBoundsFloat(const std::string & key, float & low, float & high)= 0; 00064 virtual void readBoundsDouble(const std::string & key, double & low, double & high)= 0; 00065 00066 virtual std::vector< std::string > readChoicesString(const std::string & key)= 0; 00067 virtual std::vector< int32_t > readChoicesInt(const std::string & key)= 0; 00068 virtual std::vector< int64_t > readChoicesLong(const std::string & key)= 0; 00069 virtual std::vector< float > readChoicesFloat(const std::string & key)= 0; 00070 virtual std::vector< double > readChoicesDouble(const std::string & key)= 0; 00071 virtual std::vector< std::complex<float> > readChoicesFcomplex(const std::string & key)= 0; 00072 virtual std::vector< std::complex<double> > readChoicesDcomplex(const std::string & key)= 0; 00073 00074 }; // end interface ParameterPort 00075 00076 00077 } // end namespace ports 00078 } // end namespace cca 00079 } // end namespace neo 00080 #endif // neo_ParameterPort