1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#ifndef CSCONFIG_H
#define CSCONFIG_H
#include <wx/string.h>
class csConfig
{
wxString m_command;
wxString m_options;
size_t m_flags;
public:
enum eConfigOption {
kPrettyJSON = (1 << 0),
};
protected:
void EnableFlag(eConfigOption flag, bool b)
{
if(b) {
m_flags |= flag;
} else {
m_flags &= ~flag;
}
}
bool HasFlag(eConfigOption flag) const { return m_flags & flag; }
public:
csConfig();
virtual ~csConfig();
void Load();
void SetCommand(const wxString& command) { this->m_command = command; }
void SetOptions(const wxString& options) { this->m_options = options; }
const wxString& GetCommand() const { return m_command; }
const wxString& GetOptions() const { return m_options; }
void SetPrettyJSON(bool b) { EnableFlag(kPrettyJSON, b); }
bool IsPrettyJSON() const { return HasFlag(kPrettyJSON); }
};
#endif // CSCONFIG_H
|