This is a preliminary API and may be improved based on user feedback. It is currently available in C++ and Python.

template<class TT>
template <class TT> class OEMultiParameter : public OESystem::OEPointerParameter<TT>

OWMultiParameter represents parametera that have three different representations of the values. The three representations are an unsigned , a std::string , and an object representation.

Following methods are publicly inherited from OEParameter:
The OEMultiParameter class defines the following public methods:


OEMultiParameter(const std::string& name, const bool customAllowed)
OEMultiParameter(const OEMultiParameter&)

Default and copy constructors.

Constructs an OEMultiParameter instance using the specified set of parameters. The second argument in the second constructor represents if a custom object (not already defined as a legal entry) could be used as a parameter.


OEMultiParameter &operator=(const OEMultiParameter &)

The assignment operator.


bool AddLegalEntry(const unsigned idxKey, const std::string& strKey, const TT& lib)

Add new legal entry for this parameter. The three argument value represents the three representations of the same legal value.


TT* GetDefault() const

Returns the current default value of the parameter.


TT* GetSetting() const

Returns the current setting of the parameter.


TT* GetValue() const

Returns the current user-defined value of the parameter.


bool SetValue(const unsigned)

Sets the default value of the parameter.


bool SetValue(const unsigned)
bool SetValue(const std::string&)
bool SetValue(const TT&)
bool SetValue(OEPlatform::oeistream& ifs)

Sets the user-defined value of the parameter.