NEOCCA bindings Specification  0.2.8
ParameterPort.hh
Go to the documentation of this file.
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