Sirikata
|
This class holds a set of options that may appear on a command line or within an argument to a module Holds a static index to all OptionSets currently available in the program. More...
#include <Options.hpp>
Classes | |
class | OptionNameAndContext |
class | StringVoid |
Public Member Functions | |
OptionSet () | |
~OptionSet () | |
void | parse (const std::string &, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false) |
void | parse (int, const char *const *, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false) |
void | parseFile (const std::string &, bool required, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false) |
void | fillMissingDefaults () |
Fills in defaults for any options that didn't already have values filled in. | |
void | addOption (OptionValue *v) |
OptionValue * | referenceOption (const std::string &option, OptionValue **pointer=NULL) |
Static Public Member Functions | |
static OptionValue * | referenceOption (const std::string &module, const std::string &option, OptionValue **pointer=NULL) |
static OptionValue * | referenceOption (const std::string &module, const void *context_ptr, const std::string &option, OptionValue **pointer=NULL) |
static std::map< StringVoid, OptionSet * > * | optionSets () |
static OptionSet * | getOptions (const std::string &s, const void *context) |
static OptionSet * | getOptions (const std::string &s) |
static OptionSet * | getOptions () |
Private Types | |
enum | ParsingStage { PARSED_NO_OPTIONS, PARSED_BLANK_OPTIONS, PARSED_UNBLANK_OPTIONS, PARSED_PARTIAL_UNBLANK_OPTIONS } |
Private Member Functions | |
void | addOptionNoLock (OptionValue *) |
OptionValue * | referenceOptionNoLock (const std::string &option, OptionValue **pointer) |
bool | initializationSet (OptionValue *thus, const OptionValue &other) |
Static Private Member Functions | |
static OptionSet * | getOptionsNoLock (const std::string &s, const void *context) |
Private Attributes | |
std::map< std::string, OptionValue * > | mNames |
enum Sirikata::OptionSet::ParsingStage | mParsingStage |
Friends | |
class | InitializeGlobalOptions |
class | InitializeClassOptions |
This class holds a set of options that may appear on a command line or within an argument to a module Holds a static index to all OptionSets currently available in the program.
enum Sirikata::OptionSet::ParsingStage [private] |
Sirikata::OptionSet::OptionSet | ( | ) |
Sirikata::OptionSet::~OptionSet | ( | ) |
void Sirikata::OptionSet::addOption | ( | OptionValue * | v | ) |
References Sirikata::OptionRegistration::OptionSetMutex().
Referenced by Sirikata::InitializeClassOptions::addOption().
void Sirikata::OptionSet::addOptionNoLock | ( | OptionValue * | option | ) | [private] |
void Sirikata::OptionSet::fillMissingDefaults | ( | ) |
Fills in defaults for any options that didn't already have values filled in.
Useful if you add options and need to fill in defaults but can't parse with defaults since that would overwrite already-parsed options.
Referenced by Sirikata::FillMissingOptionDefaults().
OptionSet * Sirikata::OptionSet::getOptions | ( | ) | [static] |
Referenced by Sirikata::AlwaysLocationUpdatePolicy::AlwaysLocationUpdatePolicy(), Sirikata::MasterPintoServerQuerierBase::connect(), Sirikata::FakeParseOptions(), Sirikata::FillMissingOptionDefaults(), Sirikata::GetOption(), Sirikata::JS::JSObjectScript::initialize(), Sirikata::Graphics::OgreRenderer::initialize(), Sirikata::Models::ColladaSystem::initialize(), Sirikata::MasterPintoServerQuerierBase::MasterPintoServerQuerierBase(), Sirikata::InitializeClassOptions::module(), Sirikata::ObjectHost::ObjectHost(), Sirikata::ParseOptions(), Sirikata::ParseOptionsFile(), Sirikata::QueryHandlerFactory(), and Sirikata::Mesh::SaveFilter::SaveFilter().
OptionSet * Sirikata::OptionSet::getOptions | ( | const std::string & | s, |
const void * | context | ||
) | [static] |
References Sirikata::OptionRegistration::OptionSetMutex().
OptionSet * Sirikata::OptionSet::getOptions | ( | const std::string & | s | ) | [static] |
OptionSet * Sirikata::OptionSet::getOptionsNoLock | ( | const std::string & | s, |
const void * | context | ||
) | [static, private] |
bool Sirikata::OptionSet::initializationSet | ( | OptionValue * | thus, |
const OptionValue & | other | ||
) | [private] |
References Sirikata::OptionValue::mChangeFunction, Sirikata::OptionValue::mDefaultChar, Sirikata::OptionValue::mDefaultValue, Sirikata::OptionValue::mDescription, Sirikata::OptionValue::mName, Sirikata::OptionValue::mParser, Sirikata::OptionValue::mValue, and Sirikata::Any::newAndDoNotFree().
Referenced by addOptionNoLock().
static std::map<StringVoid,OptionSet*>* Sirikata::OptionSet::optionSets | ( | ) | [inline, static] |
void Sirikata::OptionSet::parse | ( | const std::string & | args, |
bool | use_defaults = true , |
||
bool | missing_only = false , |
||
bool | allow_unregistered = false |
||
) |
References Sirikata::OptionRegistration::OptionSetMutex(), Sirikata::OptionRegistration::register_options(), Sirikata::OptionRegistration::update_missing_options(), and Sirikata::OptionRegistration::update_options().
Referenced by Sirikata::AlwaysLocationUpdatePolicy::AlwaysLocationUpdatePolicy(), Sirikata::FakeParseOptions(), Sirikata::JS::JSObjectScript::initialize(), Sirikata::Models::ColladaSystem::initialize(), Sirikata::InitializeClassOptions::InitializeClassOptions(), Sirikata::InitializeGlobalOptions::InitializeGlobalOptions(), Sirikata::JS::JSObjectScriptManager::JSObjectScriptManager(), Sirikata::MasterPintoServerQuerierBase::MasterPintoServerQuerierBase(), Sirikata::ObjectHost::ObjectHost(), Sirikata::ParseOptions(), and Sirikata::Mesh::SaveFilter::SaveFilter().
void Sirikata::OptionSet::parse | ( | int | argc, |
const char *const * | argv, | ||
bool | use_defaults = true , |
||
bool | missing_only = false , |
||
bool | allow_unregistered = false |
||
) |
void Sirikata::OptionSet::parseFile | ( | const std::string & | file, |
bool | required, | ||
bool | use_defaults = true , |
||
bool | missing_only = false , |
||
bool | allow_unregistered = false |
||
) |
OptionValue * Sirikata::OptionSet::referenceOption | ( | const std::string & | module, |
const std::string & | option, | ||
OptionValue ** | pointer = NULL |
||
) | [static] |
References Sirikata::OptionRegistration::OptionSetMutex().
OptionValue * Sirikata::OptionSet::referenceOption | ( | const std::string & | option, |
OptionValue ** | pointer = NULL |
||
) |
References Sirikata::OptionRegistration::OptionSetMutex().
Referenced by Sirikata::MasterPintoServerQuerierBase::connect(), Sirikata::JS::EmersonScript::EmersonScript(), Sirikata::Graphics::OgreRenderer::farPlane(), Sirikata::GetOption(), Sirikata::MasterPintoServerQuerierBase::MasterPintoServerQuerierBase(), Sirikata::Graphics::OgreRenderer::nearPlane(), Sirikata::Graphics::OgreRenderer::parallaxShadowSteps(), Sirikata::Graphics::OgreRenderer::parallaxSteps(), Sirikata::JS::JSObjectScript::resolveImport(), Sirikata::Mesh::SaveFilter::SaveFilter(), Sirikata::Network::TCPStream::TCPStream(), and Sirikata::Network::TCPStreamListener::TCPStreamListener().
OptionValue * Sirikata::OptionSet::referenceOption | ( | const std::string & | module, |
const void * | context_ptr, | ||
const std::string & | option, | ||
OptionValue ** | pointer = NULL |
||
) | [static] |
References Sirikata::OptionRegistration::OptionSetMutex().
OptionValue * Sirikata::OptionSet::referenceOptionNoLock | ( | const std::string & | option, |
OptionValue ** | pointer | ||
) | [private] |
friend class InitializeClassOptions [friend] |
friend class InitializeGlobalOptions [friend] |
std::map<std::string,OptionValue*> Sirikata::OptionSet::mNames [private] |