Guitarix
gx_system::JsonParser Class Reference

#include <gx_json.h>

Inheritance diagram for gx_system::JsonParser:

Public Types

enum  token {
  no_token = 0x0000, end_token = 0x0001, begin_object = 0x002, end_object = 0x0004,
  begin_array = 0x0008, end_array = 0x0010, value_string = 0x0020, value_number = 0x0040,
  value_key = 0x0080, value_null = 0x0100, value_false = 0x0200, value_true = 0x0400,
  value_bool = 0x0600
}
 

Public Member Functions

 JsonParser (istream *i=0)
 
virtual ~JsonParser ()
 
virtual void close ()
 
void reset ()
 
bool is_closed ()
 
void set_stream (istream *i)
 
istream * get_stream ()
 
const char * get_token_name (token tok)
 
bool good ()
 
token next (token expect=no_token)
 
token peek ()
 
streampos get_streampos ()
 
void set_streampos (streampos pos)
 
void check_expect (token expect)
 
string current_value () const
 
int current_value_int ()
 
unsigned int current_value_uint ()
 
float current_value_float ()
 
double current_value_double ()
 
bool read_kv (const char *key, float &v)
 
bool read_kv (const char *key, double &v)
 
bool read_kv (const char *key, int &i)
 
bool read_kv (const char *key, unsigned int &i)
 
bool read_kv (const char *key, std::string &s)
 
bool read_kv (const char *key, Glib::ustring &s)
 
template<class T >
bool read_kv (const char *key, T &v)
 
void copy_object (JsonWriter &jw)
 
void skip_object ()
 
void throw_unexpected (token expect)
 

Detailed Description

Definition at line 112 of file gx_json.h.

Member Enumeration Documentation

◆ token

Enumerator
no_token 
end_token 
begin_object 
end_object 
begin_array 
end_array 
value_string 
value_number 
value_key 
value_null 
value_false 
value_true 
value_bool 

Definition at line 121 of file gx_json.h.

Constructor & Destructor Documentation

◆ JsonParser()

gx_system::JsonParser::JsonParser ( istream *  i = 0)

Definition at line 261 of file gx_json.cpp.

◆ ~JsonParser()

gx_system::JsonParser::~JsonParser ( )
virtual

Definition at line 273 of file gx_json.cpp.

Member Function Documentation

◆ check_expect()

void gx_system::JsonParser::check_expect ( token  expect)
inline

◆ close()

◆ copy_object()

◆ current_value()

string gx_system::JsonParser::current_value ( ) const
inline

Definition at line 143 of file gx_json.h.

Referenced by JsonArray::append(), gx_engine::GxMachineRemote::bank_get_filename(), ladspa::ChangeableValues::ChangeableValues(), gx_system::ModifyPreset::close(), gx_system::GxSettingsBase::convert_preset(), copy_object(), gx_engine::debug_trace_param(), gx_engine::enum_parameter_load_values(), gx_engine::FileParameter::FileParameter(), gx_preset::UnitsCollector::get_list(), gx_engine::GxMachineRemote::get_rack_unit_order(), gx_engine::GxMachineRemote::get_state(), gx_engine::Parameter::jp_next(), ladspa::LadspaPluginList::load(), gx_engine::GxMachineRemote::load_impresp_dirs(), gx_engine::GxMachineRemote::load_ladspalist(), gx_system::ModifyPreset::ModifyPreset(), gx_system::ModifyStatePreservePreset::ModifyStatePreservePreset(), gx_preset::PluginPresetList::next(), gx_engine::Parameter::Parameter(), gx_engine::ParameterV< float >::ParameterV(), gx_engine::ParameterV< GxSeqSettings >::ParameterV(), gx_engine::ParameterV< int >::ParameterV(), gx_engine::ParameterV< GxJConvSettings >::ParameterV(), gx_engine::ParameterV< bool >::ParameterV(), gx_engine::ParameterV< Glib::ustring >::ParameterV(), gx_engine::Plugin::Plugin(), gx_engine::GxMachineRemote::plugin_preset_list_load(), ladspa::PortDesc::PortDesc(), gx_system::SettingsFileHeader::read(), gx_jack::GxJack::read_connections(), read_kv(), gx_preset::PresetIO::read_online(), gx_preset::StateIO::read_state(), gx_engine::GxSeqSettings::readJSON(), gx_system::PresetFile::readJSON(), gx_engine::GxJConvSettings::readJSON(), gx_engine::MidiStandardControllers::readJSON(), gx_engine::MidiController::readJSON(), gx_engine::paradesc::readJSON(), gx_engine::plugdesc::readJSON(), gx_engine::ParamMap::readJSON_one(), gx_system::PresetFile::readJSON_remote(), gx_engine::FloatEnumParameter::readJSON_value(), gx_engine::EnumParameter::readJSON_value(), gx_engine::FileParameter::readJSON_value(), gx_engine::ParameterV< Glib::ustring >::readJSON_value(), gx_preset::PluginPresetList::remove(), gx_engine::GxMachineRemote::rename_bank(), gx_preset::PluginPresetList::save(), gx_system::PresetBanks::save(), gx_engine::GxMachineRemote::save_ladspalist(), gx_preset::PluginPresetList::set(), gx_engine::GxMachineRemote::set_parameter_value(), ladspa::PortDesc::set_state(), ladspa::PluginDesc::set_state(), gx_engine::paradesc::set_valuelist(), gx_preset::PluginPresetList::start(), and gx_system::CmdlineOptions::~CmdlineOptions().

◆ current_value_double()

double gx_system::JsonParser::current_value_double ( )
inline

Definition at line 152 of file gx_json.h.

Referenced by read_kv().

◆ current_value_float()

◆ current_value_int()

◆ current_value_uint()

unsigned int gx_system::JsonParser::current_value_uint ( )
inline

Definition at line 145 of file gx_json.h.

Referenced by ladspa::LadspaPluginList::load(), and read_kv().

◆ get_stream()

istream* gx_system::JsonParser::get_stream ( )
inline

◆ get_streampos()

streampos gx_system::JsonParser::get_streampos ( )
inline

Definition at line 140 of file gx_json.h.

◆ get_token_name()

const char * gx_system::JsonParser::get_token_name ( token  tok)

Definition at line 284 of file gx_json.cpp.

Referenced by throw_unexpected().

◆ good()

bool gx_system::JsonParser::good ( )
inline

Definition at line 137 of file gx_json.h.

◆ is_closed()

bool gx_system::JsonParser::is_closed ( )
inline

Definition at line 118 of file gx_json.h.

Referenced by close(), and gx_system::JsonReader::close().

◆ next()

JsonParser::token gx_system::JsonParser::next ( token  expect = no_token)

Definition at line 496 of file gx_json.cpp.

Referenced by JsonArray::append(), gx_engine::GxMachineRemote::bank_get_filename(), ladspa::ChangeableValues::ChangeableValues(), gx_system::PresetTransformer::close(), gx_system::JsonReader::close(), gx_system::ModifyPreset::close(), gx_engine::GxMachineRemote::commit_ladspa_changes(), gx_system::GxSettingsBase::convert_preset(), copy_object(), gx_engine::debug_trace_param(), gx_engine::enum_parameter_load_values(), gx_engine::FileParameter::FileParameter(), gx_preset::UnitsCollector::get_list(), gx_engine::GxMachineRemote::get_oscilloscope_info(), gx_engine::GxMachineRemote::get_rack_unit_order(), gx_engine::GxMachineRemote::get_state(), gx_engine::GxMachineRemote::get_tuner_freq(), gx_engine::Parameter::jp_next(), ladspa::LadspaPluginList::load(), gx_engine::GxMachineRemote::load_impresp_dirs(), gx_engine::GxMachineRemote::load_ladspalist(), gx_engine::GxMachineRemote::maxlevel_get(), gx_engine::GxMachineRemote::midi_get_config_mode(), gx_system::ModifyPreset::ModifyPreset(), gx_system::ModifyStatePreservePreset::ModifyStatePreservePreset(), gx_preset::PluginPresetList::next(), gx_engine::GxSeqSettings::operator==(), gx_engine::GxJConvSettings::operator==(), gx_engine::Parameter::Parameter(), gx_engine::ParameterV< float >::ParameterV(), gx_engine::ParameterV< GxSeqSettings >::ParameterV(), gx_engine::ParameterV< int >::ParameterV(), gx_engine::ParameterV< GxJConvSettings >::ParameterV(), gx_engine::ParameterV< bool >::ParameterV(), gx_engine::ParameterV< Glib::ustring >::ParameterV(), gx_engine::Plugin::Plugin(), gx_engine::GxMachineRemote::plugin_preset_list_load(), ladspa::PortDesc::PortDesc(), gx_system::PresetTransformer::PresetTransformer(), gx_system::SettingsFileHeader::read(), gx_engine::GxMachineRemote::read_audio(), gx_jack::GxJack::read_connections(), read_kv(), gx_system::SettingsFileHeader::read_major_minor(), gx_preset::PresetIO::read_online(), gx_preset::StateIO::read_state(), gx_engine::PluginListBase::readJSON(), ladspa::LadspaPluginList::readJSON(), gx_engine::GxSeqSettings::readJSON(), gx_system::PresetFile::readJSON(), gx_engine::GxJConvSettings::readJSON(), gx_engine::ParamMap::readJSON(), gx_engine::MidiStandardControllers::readJSON(), gx_engine::MidiController::readJSON(), gx_engine::paradesc::readJSON(), gx_engine::ControllerArray::readJSON(), gx_engine::plugdesc::readJSON(), gx_engine::ParamMap::readJSON_one(), gx_system::PresetFile::readJSON_remote(), gx_system::PresetBanks::readJSON_remote(), gx_engine::ParameterV< float >::readJSON_value(), gx_engine::FloatEnumParameter::readJSON_value(), gx_engine::ParameterV< int >::readJSON_value(), gx_engine::EnumParameter::readJSON_value(), gx_engine::ParameterV< bool >::readJSON_value(), gx_engine::FileParameter::readJSON_value(), gx_engine::ParameterV< Glib::ustring >::readJSON_value(), gx_preset::PluginPresetList::remove(), gx_engine::GxMachineRemote::rename_bank(), gx_preset::PluginPresetList::save(), gx_system::PresetBanks::save(), gx_engine::GxMachineRemote::save_ladspalist(), CmdConnection::send(), gx_preset::PluginPresetList::set(), gx_engine::GxMachineRemote::set_parameter_value(), ladspa::PortDesc::set_state(), ladspa::PluginDesc::set_state(), gx_engine::paradesc::set_valuelist(), skip_object(), gx_preset::PluginPresetList::start(), and gx_system::CmdlineOptions::~CmdlineOptions().

◆ peek()

token gx_system::JsonParser::peek ( )
inline

Definition at line 139 of file gx_json.h.

Referenced by JsonArray::append(), gx_engine::GxMachineRemote::bank_insert_uri(), ladspa::ChangeableValues::ChangeableValues(), gx_system::ModifyPreset::close(), gx_system::GxSettingsBase::convert_preset(), gx_system::PresetFile::create_writer(), gx_engine::debug_trace_param(), gx_engine::enum_parameter_load_values(), gx_engine::FileParameter::FileParameter(), gx_preset::UnitsCollector::get_list(), gx_engine::GxMachineRemote::get_oscilloscope_info(), gx_engine::GxMachineRemote::get_rack_unit_order(), ladspa::LadspaPluginList::load(), gx_engine::GxMachineRemote::load_impresp_dirs(), gx_engine::GxMachineRemote::load_ladspalist(), gx_engine::GxMachineRemote::maxlevel_get(), gx_system::ModifyPreset::ModifyPreset(), gx_system::ModifyStatePreservePreset::ModifyStatePreservePreset(), gx_preset::PluginPresetList::next(), gx_engine::GxSeqSettings::operator==(), gx_engine::GxJConvSettings::operator==(), gx_engine::Parameter::Parameter(), gx_engine::ParameterV< float >::ParameterV(), gx_engine::ParameterV< GxSeqSettings >::ParameterV(), gx_engine::ParameterV< int >::ParameterV(), gx_engine::ParameterV< GxJConvSettings >::ParameterV(), gx_engine::ParameterV< bool >::ParameterV(), gx_engine::ParameterV< Glib::ustring >::ParameterV(), gx_engine::Plugin::Plugin(), gx_engine::GxMachineRemote::plugin_preset_list_load(), ladspa::PortDesc::PortDesc(), gx_engine::GxMachineRemote::read_audio(), gx_jack::GxJack::read_connections(), gx_preset::PresetIO::read_online(), gx_preset::StateIO::read_state(), gx_engine::PluginListBase::readJSON(), ladspa::LadspaPluginList::readJSON(), gx_engine::GxSeqSettings::readJSON(), gx_engine::GxJConvSettings::readJSON(), gx_engine::ParamMap::readJSON(), gx_engine::MidiStandardControllers::readJSON(), gx_engine::MidiController::readJSON(), gx_engine::paradesc::readJSON(), gx_engine::ControllerArray::readJSON(), gx_engine::plugdesc::readJSON(), gx_system::PresetFile::readJSON_remote(), gx_system::PresetBanks::readJSON_remote(), gx_preset::PluginPresetList::remove(), gx_preset::PluginPresetList::save(), gx_system::PresetBanks::save(), gx_engine::GxMachineRemote::save_ladspalist(), CmdConnection::send(), gx_preset::PluginPresetList::set(), ladspa::PortDesc::set_state(), ladspa::PluginDesc::set_state(), gx_engine::paradesc::set_valuelist(), and gx_system::CmdlineOptions::~CmdlineOptions().

◆ read_kv() [1/7]

◆ read_kv() [2/7]

bool gx_system::JsonParser::read_kv ( const char *  key,
double &  v 
)

Definition at line 521 of file gx_json.cpp.

◆ read_kv() [3/7]

bool gx_system::JsonParser::read_kv ( const char *  key,
int &  i 
)

Definition at line 531 of file gx_json.cpp.

◆ read_kv() [4/7]

bool gx_system::JsonParser::read_kv ( const char *  key,
unsigned int &  i 
)

Definition at line 541 of file gx_json.cpp.

◆ read_kv() [5/7]

bool gx_system::JsonParser::read_kv ( const char *  key,
std::string &  s 
)

Definition at line 551 of file gx_json.cpp.

◆ read_kv() [6/7]

bool gx_system::JsonParser::read_kv ( const char *  key,
Glib::ustring &  s 
)

Definition at line 561 of file gx_json.cpp.

◆ read_kv() [7/7]

template<class T >
bool gx_system::JsonParser::read_kv ( const char *  key,
T &  v 
)
inline

Definition at line 164 of file gx_json.h.

◆ reset()

void gx_system::JsonParser::reset ( void  )

Definition at line 250 of file gx_json.cpp.

◆ set_stream()

void gx_system::JsonParser::set_stream ( istream *  i)
inline

Definition at line 119 of file gx_json.h.

Referenced by gx_system::JsonSubParser::JsonSubParser().

◆ set_streampos()

void gx_system::JsonParser::set_streampos ( streampos  pos)

◆ skip_object()

◆ throw_unexpected()

void gx_system::JsonParser::throw_unexpected ( token  expect)

Definition at line 303 of file gx_json.cpp.


The documentation for this class was generated from the following files: