35 const std::string &
name =
"",
37 const std::string &
param =
"",
57 virtual void setValue(
const std::string &
val,
bool suppressCallback =
false);
62 void setEnabled(
bool enable,
bool suppressCallback =
false);
86 std::vector<std::pair<std::string, Option *>>
suboptions;
103 const std::string &
param,
104 const std::string &value =
"",
106 const std::string &
parent =
"",
107 const std::string &
limit =
"");
111 const std::map<std::string, std::unique_ptr<Option>>&
getOptionMap()
const;
124 std::map<std::string, std::unique_ptr<Option>>
options;
void(*)(Option &, bool, void *) fcn_type
Callback(fcn_type func_ptr, void *opaque)
bool operator==(const Callback &) const
void operator()(Option &, bool) const
void removeOnChangeCallback(const Callback &callback)
std::string getValue() const
void setType(OptType type)
void setParam(const std::string &p)
void setEnabled(bool enable, bool suppressCallback=false)
void addOnChangeCallback(Callback callback)
std::vector< Callback > onChangeCallbacks
static void suboptionChanged(Option &opt, bool suboption, void *opaque)
void addSuboption(Option *sub, const std::string &limit="")
std::string getSubVals() const
std::vector< std::pair< std::string, Option * > > suboptions
virtual void setValue(const std::string &val, bool suppressCallback=false)
std::string getName() const
Option(Settings *settings, const std::string &name="", OptType type=OptType::StringOpt, const std::string ¶m="", const std::string &defaultValue="", bool enabled=true)
virtual std::string getLaunchOption() const
std::string getParam() const
virtual void setDefaultValue(const std::string &val)
std::map< std::string, std::unique_ptr< Option > > options
const Option & getOption(const std::string &opt) const
std::string getLaunchParams() const
const std::string & getSessRndKey() const
std::string getPreviewParams() const
void populateVideoCompressSettings(AvailableSettings *availSettings)
void populateSettingsFromCapabilities(AvailableSettings *availSettings)
const std::map< std::string, std::unique_ptr< Option > > & getOptionMap() const
std::string getControlPort() const
Option & addOption(std::string name, Option::OptType type, const std::string ¶m, const std::string &value="", bool enabled=true, const std::string &parent="", const std::string &limit="")
void populateDeviceSettings(AvailableSettings *availSettings)
Option::Callback::fcn_type callback