ModuleParameter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __ModuleParameter_h
00015 #define __ModuleParameter_h
00016
00017 #include "ModuleDescriptionParserWin32Header.h"
00018
00019 #include <string>
00020 #include <vector>
00021 #include <iostream>
00022
00032 class ModuleDescriptionParser_EXPORT ModuleParameter
00033 {
00034 public:
00035 ModuleParameter();
00036 virtual ~ModuleParameter() {}
00037 ModuleParameter(const ModuleParameter& parameter);
00038
00039 void operator=(const ModuleParameter& parameter);
00040
00041 virtual void SetTag(const std::string &tag)
00042 {
00043 this->Tag = tag;
00044 }
00045
00046 virtual const std::string& GetTag() const
00047 {
00048 return this->Tag;
00049 }
00050
00051 virtual void SetCPPType(const std::string &type)
00052 {
00053 this->CPPType = type;
00054 }
00055
00056 virtual const std::string& GetCPPType() const
00057 {
00058 return this->CPPType;
00059 }
00060
00061 virtual void SetType(const std::string &type)
00062 {
00063 this->Type = type;
00064 }
00065
00066 virtual const std::string& GetType() const
00067 {
00068 return this->Type;
00069 }
00070
00071 virtual void SetReference(const std::string &ref)
00072 {
00073 this->Reference = ref;
00074 }
00075
00076 virtual const std::string& GetReference() const
00077 {
00078 return this->Reference;
00079 }
00080
00081 virtual void SetHidden(const std::string &hidden)
00082 {
00083 this->Hidden = hidden;
00084 }
00085
00086 virtual const std::string& GetHidden() const
00087 {
00088 return this->Hidden;
00089 }
00090
00091
00092
00093 virtual bool IsReturnParameter() const
00094 {
00095
00096 if (this->Channel == "output"
00097 && !this->IsFlagParameter() && !this->IsIndexParameter())
00098 {
00099 return true;
00100 }
00101 return false;
00102 }
00103
00104
00105 virtual bool IsFlagParameter() const
00106 {
00107 return (this->Flag != "" || this->LongFlag != "");
00108 }
00109
00110
00111 virtual bool IsIndexParameter() const
00112 {
00113 return (this->Index != "");
00114 }
00115
00116 virtual void SetArgType(const std::string &argType)
00117 {
00118 this->ArgType = argType;
00119 }
00120
00121 virtual const std::string& GetArgType() const
00122 {
00123 return this->ArgType;
00124 }
00125
00126 virtual void SetStringToType(const std::string &stringToType)
00127 {
00128 this->StringToType = stringToType;
00129 }
00130
00131 virtual const std::string &GetStringToType() const
00132 {
00133 return this->StringToType;
00134 }
00135
00136 virtual void SetName(const std::string &name)
00137 {
00138 this->Name = name;
00139 }
00140
00141 virtual const std::string& GetName() const
00142 {
00143 return this->Name;
00144 }
00145
00146 virtual void SetLongFlag(const std::string &longFlag)
00147 {
00148 this->LongFlag = longFlag;
00149 }
00150
00151 virtual const std::string& GetLongFlag() const
00152 {
00153 return this->LongFlag;
00154 }
00155
00156 virtual void SetLongFlagAliasesAsString(const std::string &aliases);
00157
00158 virtual const std::string& GetLongFlagAliasesAsString() const
00159 {
00160 return this->LongFlagAliasesAsString;
00161 }
00162
00163 virtual const std::vector<std::string> &GetLongFlagAliases() const
00164 {
00165 return this->LongFlagAliases;
00166 }
00167
00168 virtual void SetDeprecatedLongFlagAliasesAsString(const std::string &aliases);
00169
00170 virtual const std::string& GetDeprecatedLongFlagAliasesAsString() const
00171 {
00172 return this->DeprecatedLongFlagAliasesAsString;
00173 }
00174
00175 virtual const std::vector<std::string> &GetDeprecatedLongFlagAliases() const
00176 {
00177 return this->DeprecatedLongFlagAliases;
00178 }
00179
00180 virtual void SetLabel(const std::string &label)
00181 {
00182 this->Label = label;
00183 }
00184
00185 virtual const std::string& GetLabel() const
00186 {
00187 return this->Label;
00188 }
00189
00190 virtual void SetConstraints(const std::string &constraints)
00191 {
00192 this->Constraints = constraints;
00193 }
00194
00195 virtual const std::string& GetConstraints() const
00196 {
00197 return this->Constraints;
00198 }
00199
00200 virtual void SetMaximum(const std::string &maximum)
00201 {
00202 this->Maximum = maximum;
00203 }
00204
00205 virtual const std::string& GetMaximum() const
00206 {
00207 return this->Maximum;
00208 }
00209
00210 virtual void SetMinimum(const std::string &minimum)
00211 {
00212 this->Minimum = minimum;
00213 }
00214
00215 virtual const std::string& GetMinimum() const
00216 {
00217 return this->Minimum;
00218 }
00219
00220 virtual void SetStep(const std::string &step)
00221 {
00222 this->Step = step;
00223 }
00224
00225 virtual const std::string& GetStep() const
00226 {
00227 return this->Step;
00228 }
00229
00230 virtual void SetDescription(const std::string &description)
00231 {
00232 this->Description = description;
00233 }
00234
00235 virtual const std::string& GetDescription() const
00236 {
00237 return this->Description;
00238 }
00239
00240 virtual void SetChannel(const std::string &channel)
00241 {
00242 this->Channel = channel;
00243 }
00244
00245 virtual const std::string& GetChannel() const
00246 {
00247 return this->Channel;
00248 }
00249
00250 virtual void SetIndex(const std::string &index)
00251 {
00252 this->Index = index;
00253 }
00254
00255 virtual const std::string& GetIndex() const
00256 {
00257 return this->Index;
00258 }
00259
00260 virtual void SetDefault(const std::string &def)
00261 {
00262 this->Default = def;
00263 }
00264
00265 virtual const std::string& GetDefault() const
00266 {
00267 return this->Default;
00268 }
00269
00270 virtual void SetFlag(const std::string &flag)
00271 {
00272 this->Flag = flag;
00273 }
00274
00275 virtual const std::string& GetFlag() const
00276 {
00277 return this->Flag;
00278 }
00279
00280 virtual void SetFlagAliasesAsString(const std::string &aliases);
00281
00282 virtual const std::string& GetFlagAliasesAsString() const
00283 {
00284 return this->FlagAliasesAsString;
00285 }
00286
00287 virtual const std::vector<std::string> &GetFlagAliases() const
00288 {
00289 return this->FlagAliases;
00290 }
00291
00292 virtual void SetDeprecatedFlagAliasesAsString(const std::string &aliases);
00293
00294 virtual const std::string& GetDeprecatedFlagAliasesAsString() const
00295 {
00296 return this->DeprecatedFlagAliasesAsString;
00297 }
00298
00299 virtual const std::vector<std::string> &GetDeprecatedFlagAliases() const
00300 {
00301 return this->DeprecatedFlagAliases;
00302 }
00303
00304 virtual void SetMultiple(const std::string &multiple)
00305 {
00306 this->Multiple = multiple;
00307 }
00308
00309 virtual const std::string& GetMultiple() const
00310 {
00311 return this->Multiple;
00312 }
00313
00314 virtual void SetAggregate(const std::string &aggregate)
00315 {
00316 this->Aggregate = aggregate;
00317 }
00318
00319 virtual const std::string& GetAggregate() const
00320 {
00321 return this->Aggregate;
00322 }
00323
00324 virtual void SetFileExtensionsAsString(const std::string &extensions);
00325
00326 virtual const std::string& GetFileExtensionsAsString() const
00327 {
00328 return this->FileExtensionsAsString;
00329 }
00330
00331 virtual const std::vector<std::string> &GetFileExtensions() const;
00332
00333 virtual void SetCoordinateSystem(const std::string &coordinateSystem)
00334 {
00335 this->CoordinateSystem = coordinateSystem;
00336 }
00337
00338 virtual const std::string& GetCoordinateSystem() const
00339 {
00340 return this->CoordinateSystem;
00341 }
00342
00343 virtual const std::vector<std::string> &GetElements() const
00344 {
00345 return this->Elements;
00346 }
00347
00348 virtual std::vector<std::string> &GetElements()
00349 {
00350 return this->Elements;
00351 }
00352
00353
00354 protected:
00355
00356
00357 private:
00358 std::string Tag;
00359 std::string Name;
00360 std::string Description;
00361 std::string Label;
00362 std::string CPPType;
00363 std::string Type;
00364 std::string Reference;
00365 std::string Hidden;
00366 std::string ArgType;
00367 std::string StringToType;
00368 std::string Default;
00369 std::string Flag;
00370 std::string LongFlag;
00371 std::string Constraints;
00372 std::string Minimum;
00373 std::string Maximum;
00374 std::string Step;
00375 std::string Channel;
00376 std::string Index;
00377 std::string Multiple;
00378 std::string Aggregate;
00379 std::string FileExtensionsAsString;
00380 mutable std::vector<std::string> FileExtensions;
00381 std::string CoordinateSystem;
00382 std::vector<std::string> Elements;
00383 std::string FlagAliasesAsString;
00384 std::string DeprecatedFlagAliasesAsString;
00385 std::string LongFlagAliasesAsString;
00386 std::string DeprecatedLongFlagAliasesAsString;
00387 std::vector<std::string> FlagAliases;
00388 std::vector<std::string> DeprecatedFlagAliases;
00389 std::vector<std::string> LongFlagAliases;
00390 std::vector<std::string> DeprecatedLongFlagAliases;
00391 };
00392
00393 ModuleDescriptionParser_EXPORT std::ostream & operator<<(std::ostream &os, const ModuleParameter ¶meter);
00394
00395
00396 #endif