Sdk/Application: Add command-line arguments handling
Former-commit-id: efe6c5a1d911bb78314f8819575699874f5101e8 [formerly a9b33eea0b4b261d3e3a63d8949512f737dbe1e1] [formerly bd00d4e8009ff0efa74e6a27d78960f6d3d72c17 [formerly 17b26899d0c158c77ea0ab4cfa243e92c2145b6b]] Former-commit-id: 4caea7e656e3718e1d462c5ed280aa6353368166 [formerly b82d884df55141a10251e84e54e0a40f84db2a5e] Former-commit-id: 3798d603338416b18a4d427cf8b3cb87bac12ff6
This commit is contained in:
@@ -33,22 +33,6 @@ namespace Ndk
|
||||
Sdk::Initialize();
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Constructs an Application object with command-line arguments
|
||||
*
|
||||
* Pass the argc and argv arguments from the main function.
|
||||
*
|
||||
* Command-line arguments can be retrieved by application methods
|
||||
*
|
||||
* This calls Sdk::Initialize()
|
||||
*
|
||||
* \remark Only one Application instance can exist at a time
|
||||
*/
|
||||
inline Application::Application(int argc, const char* argv[]) :
|
||||
Application()
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Destructs the application object
|
||||
*
|
||||
@@ -233,6 +217,30 @@ namespace Ndk
|
||||
}
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* \brief Gets the options used to start the application
|
||||
*
|
||||
* Options are defined as "-optionName" in command-line and are always lower-case
|
||||
*
|
||||
* \return Command-line options
|
||||
*/
|
||||
inline const std::set<Nz::String>& Application::GetOptions() const
|
||||
{
|
||||
return m_options;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Gets the parameters used to start the application
|
||||
*
|
||||
* Parameters are defined as "-key=value" in command-line, their key is lower-case but value capitals are kept.
|
||||
*
|
||||
* \return Command-line parameters
|
||||
*/
|
||||
inline const std::map<Nz::String, Nz::String>& Application::GetParameters() const
|
||||
{
|
||||
return m_parameters;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Gets the update time of the application
|
||||
* \return Update rate
|
||||
@@ -242,6 +250,46 @@ namespace Ndk
|
||||
return m_updateTime;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Query for a command-line option
|
||||
*
|
||||
* \param option Option name
|
||||
*
|
||||
* \remark option must be lower-case
|
||||
*
|
||||
* \return True if option is present
|
||||
*
|
||||
* \see GetOptions
|
||||
*/
|
||||
inline bool Application::HasOption(const Nz::String& option) const
|
||||
{
|
||||
return m_options.count(option) != 0;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Query for a command-line option
|
||||
*
|
||||
* \param key Parameter name
|
||||
* \param value Optional string to receive the parameter value
|
||||
*
|
||||
* \remark key must be lower-case
|
||||
*
|
||||
* \return True if parameter is present
|
||||
*
|
||||
* \see GetParameters
|
||||
*/
|
||||
inline bool Application::HasParameter(const Nz::String& key, Nz::String* value) const
|
||||
{
|
||||
auto it = m_parameters.find(key);
|
||||
if (it == m_parameters.end())
|
||||
return false;
|
||||
|
||||
if (value)
|
||||
*value = it->second;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Checks if the console overlay is enabled
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user