00001 #ifndef neo_ParameterPortFactory_h_seen
00002 #define neo_ParameterPortFactory_h_seen
00003
00004 namespace neo {
00005 namespace cca {
00006 namespace ports {
00007
00008
00012 class ParameterPortFactory : public virtual neo::cca::Port
00013 {
00014 public:
00015
00016 virtual ~ParameterPortFactory() {}
00017
00020 virtual void createParameterPort(neo::cca::TypeMap_shared portData, const ::std::string & portName)= 0;
00021
00024 virtual void setBatchTitle(neo::cca::TypeMap_shared portData, const ::std::string & title)= 0;
00025
00030 virtual void setGroupName(neo::cca::TypeMap_shared portData, const std::string & newGroupName)= 0;
00031 virtual void setGroupNameAndTitle(neo::cca::TypeMap_shared portData, const std::string & newGroupName, const std::string & title)= 0;
00032
00035 virtual void addRequestBoolean(neo::cca::TypeMap_shared portData,
00036 const std::string & name,
00037 const std::string & help,
00038 const std::string & prompt,
00039 bool deflt)= 0;
00040
00043 virtual void addRequestInt(neo::cca::TypeMap_shared portData,
00044 const std::string & name,
00045 const std::string & help,
00046 const std::string & prompt,
00047 int deflt,
00048 int low,
00049 int high)= 0;
00050
00053 virtual void addRequestLong(neo::cca::TypeMap_shared portData,
00054 const std::string & name,
00055 const std::string & help,
00056 const std::string & prompt,
00057 int64_t deflt,
00058 int64_t low,
00059 int64_t high)= 0;
00060
00066 virtual void addRequestFloat(neo::cca::TypeMap_shared portData,
00067 const std::string & name,
00068 const std::string & help,
00069 const std::string & prompt,
00070 float deflt,
00071 float low,
00072 float high)= 0;
00073
00076 virtual void addRequestDouble(neo::cca::TypeMap_shared portData,
00077 const std::string & name,
00078 const std::string & help,
00079 const std::string & prompt,
00080 double deflt,
00081 double low,
00082 double high)= 0;
00083
00086 virtual void addRequestString(neo::cca::TypeMap_shared portData,
00087 const std::string & name,
00088 const std::string & help,
00089 const std::string & prompt,
00090 const std::string & deflt)= 0;
00092 virtual void addRequestStringChoice(neo::cca::TypeMap_shared portData,
00093 const std::string & key, const std::string &choice)= 0;
00094
00096 virtual void addStringChoices(neo::cca::TypeMap_shared portData,
00097 const std::string & key,
00098 std::vector< std::string > choices)= 0;
00099
00101 virtual void addIntChoices(neo::cca::TypeMap_shared portData,
00102 const std::string & key,
00103 std::vector< int32_t > choices)= 0;
00104
00107 virtual void addIntChoices(neo::cca::TypeMap_shared portData,
00108 const std::string & key,
00109 int32_t choices[], size_t nChoices)= 0;
00110
00112 virtual void addLongChoices(neo::cca::TypeMap_shared portData,
00113 const std::string & key,
00114 std::vector< int64_t > choices)= 0;
00115
00118 virtual void addLongChoices(neo::cca::TypeMap_shared portData,
00119 const std::string & key,
00120 int64_t choices[], size_t nChoices)= 0;
00121
00123 virtual void addFloatChoices(neo::cca::TypeMap_shared portData,
00124 const std::string & key,
00125 std::vector< float > choices)= 0;
00126
00129 virtual void addFloatChoices(neo::cca::TypeMap_shared portData,
00130 const std::string & key,
00131 float choices[], size_t nChoices)= 0;
00132
00134 virtual void addDoubleChoices(neo::cca::TypeMap_shared portData,
00135 const std::string & key,
00136 std::vector< double > choices)= 0;
00137
00140 virtual void addDoubleChoices(neo::cca::TypeMap_shared portData,
00141 const std::string & key,
00142 double choices[], size_t nChoices)= 0;
00143
00145 virtual void addFcomplexChoices(neo::cca::TypeMap_shared portData,
00146 const std::string & key,
00147 std::vector< std::complex< float > > choices)= 0;
00148
00151 virtual void addFcomplexChoices(neo::cca::TypeMap_shared portData,
00152 const std::string & key,
00153 std::complex< float > choices[], size_t nChoices)= 0;
00154
00156 virtual void addDcomplexChoices(neo::cca::TypeMap_shared portData,
00157 const std::string & key,
00158 std::vector< std::complex< double > > choices)= 0;
00159
00162 virtual void addDcomplexChoices(neo::cca::TypeMap_shared portData,
00163 const std::string & key,
00164 std::complex< double > choices[], size_t nChoices)= 0;
00165
00166
00177 virtual void clearRequests(neo::cca::TypeMap_shared portData)= 0;
00178
00187 virtual void registerUpdater(neo::cca::TypeMap_shared portData,
00188 ParameterGetListener *powner)= 0;
00189
00197 virtual void registerUpdatedListener(neo::cca::TypeMap_shared portData,
00198 ParameterSetListener *powner)= 0;
00199
00204 virtual void addParameterPort(neo::cca::TypeMap_shared portData, neo::cca::Services * svc)= 0;
00205
00207 virtual void removeParameterPort(neo::cca::TypeMap_shared portData, neo::cca::Services * svc)= 0;
00208
00209
00210 };
00211
00212
00213 }
00214 }
00215 }
00216 #endif // neo_ParameterPortFactory_h_seen