OXYGENHUB
◆ main openmsx / src / settings / ProxySetting.hh
1.0 KiB · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#ifndef PROXYSETTING_HH
2
#define PROXYSETTING_HH
3
4
#include "Setting.hh"
5
6
namespace openmsx {
7
8
class Reactor;
9
10
class ProxySetting final : public BaseSetting
11
{
12
public:
13
	ProxySetting(Reactor& reactor, const TclObject& name);
14
15
	void setValue(const TclObject& value) override;
16
	[[nodiscard]] std::string_view getTypeString() const override;
17
	[[nodiscard]] std::string_view getDescription() const override;
18
	[[nodiscard]] const TclObject& getValue() const override;
19
	[[nodiscard]] std::optional<TclObject> getOptionalValue() const override;
20
	[[nodiscard]] TclObject getDefaultValue() const override;
21
	void setValueDirect(const TclObject& value) override;
22
	void tabCompletion(std::vector<std::string>& tokens) const override;
23
	[[nodiscard]] bool needLoadSave() const override;
24
	[[nodiscard]] bool needTransfer() const override;
25
	void additionalInfo(TclObject& result) const override;
26
27
private:
28
	[[nodiscard]]       BaseSetting* getSetting();
29
	[[nodiscard]] const BaseSetting* getSetting() const;
30
31
private:
32
	Reactor& reactor;
33
};
34
35
} // namespace openmsx
36
37
#endif