eVaf
|
eVaf application interface More...
#include <Common/iapp.h>
Public Types | |
enum | { RC_Quit = 0, RC_Error = 1, RC_Restart = 2 } |
Application return values. More... | |
Signals | |
void | ready () |
Ready signal. More... | |
void | terminating () |
Terminating signal. More... | |
Public Member Functions | |
virtual QString const | binDir () const =0 |
Returns the name of the binary files directory. More... | |
virtual QString const | dataRootDir () const =0 |
Returns the name of the eVaf data directory. More... | |
virtual QString const | docDir () const =0 |
Returns the documentation directory. More... | |
virtual QString const | etcDir () const =0 |
Returns the configuration files directory. More... | |
virtual int | exec ()=0 |
Enters the main event loop of the Qt application. More... | |
iApp () | |
Interface constructor. More... | |
virtual bool | isReady () const =0 |
Returns true if the eVaf application is ready. More... | |
virtual QString const | language () const =0 |
Returns the current language and country used by the application. More... | |
virtual QString const | logDir () const =0 |
Returns the log files directory. More... | |
virtual QString const | name () const =0 |
Returns the name of the eVaf application. More... | |
virtual QString const | qtPluginsDir () const =0 |
Returns the Qt plugins directory. More... | |
virtual void | quit (bool err=false)=0 |
Requests the eVaf application to quit. More... | |
virtual void | restart ()=0 |
Requests the eVaf application to restart. More... | |
virtual QString const | rootDir () const =0 |
Returns the name of the eVaf root directory. More... | |
virtual QString const | xmlFileName () const =0 |
Returns the name of the application's XML file. More... | |
virtual | ~iApp () |
Empty virtual destructor. More... | |
Static Public Member Functions | |
static iApp * | instance () |
Returns the iApp interface instance. More... | |
Static Public Attributes | |
static char const *const | EV_QUIT |
Event that requests the eVaf application to quit. More... | |
static char const *const | EV_READY |
Event informing that the eVaf application is ready. More... | |
static char const *const | EV_RESTART |
Event that requests the eVaf application to restart. More... | |
static char const *const | EV_TERMINATING |
Event informing that the eVaf application is restarting. More... | |
eVaf application interface
The iApp interface provides information about current eVaf application. Functions in this interface return the name of the application, names of directories where different recources are located etc. Modules should always use the iApp interface for directory names and locations.
For example, all the configuration files should be located in the eVaf::Common::iApp::instance()->etcDir() directory.
Directory names returned by functions in this interface are UNIX path names and they are quaranteed to end with the '/' character.
All the resources returned by this interface have default values, that should work in most of the cases. Fox example, the binary directory is set to the same directory where the application's main executable is found. The root directory is the parent of the binary directory etc.
Default values can be overwritten with environment variables and command line arguments. If both are used, then command line arguments have higher priorities.
anonymous enum |
|
inlinevirtual |
|
pure virtual |
Returns the name of the binary files directory.
The binary directory is the directory where all the application's binary files (main executable and modules) are located. The default binary directory is where the main executable is located.
NB! Changing the application's root directory does not change the location of the binary directory.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the name of the eVaf data directory.
The data root directory is the base directory for all the directories that require write access.
The default data directory on Windows is %APPDATA%/%EVAF_APP_NAME%. The default data directory on Linux is ${HOME}/.${EVAF_APP_NAME}.
This directory can be changed with the EVAF_DATA_ROOT_DIR environment variable or with the -dataroot[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the documentation directory.
This is the directory where all the documentation and help files are located. The default documentation directory is 'doc' in the root directory.
This directory can be changed with the EVAF_DOC_DIR environment variable or with the -doc[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the configuration files directory.
This is the directory where all the application's configuration files are located. The default configuration files directory is 'etc' in the data root directory.
This directory can be changed with the EVAF_ETC_DIR environment variable or with the -etc[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Enters the main event loop of the Qt application.
This function enters the event loop of the Qt application. Use this function to start event handling instead of calling QCoreApplication::exec() or QApplication::exec() functions directly.
Implemented in eVaf::Common::Internal::App.
|
static |
Returns the iApp interface instance.
This function returns the global iApp interface instance. As all the eVaf modules and applications are expected to be linked against the common library, then this is the preferred method of obtaining the iApp interface. The other method is by using the iRegistry interface.
|
pure virtual |
Returns true if the eVaf application is ready.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the current language and country used by the application.
This function returns the current lowercase two-letter ISO 639 language code and uppercase two-letter ISO 3166 country code if set.
The default language is queried from the operating system.
The language can be changed with the EVAF_LANGUAGE environment variabel or with the -lang[uage]=<language> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the log files directory.
This is the directory where the application outputs all the log files. The default log files directory is 'log' in the data root directory.
This directory can be changed with the EVAF_LOG_DIR environment variable or with the -log[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the name of the eVaf application.
This function returns the name of the eVaf application, which is a string that identifies the application. The default name of the application is "eVaf".
This name of the application can be changed with the EVAF_APP_NAME environment variable or with the -app[lication]=<name> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the Qt plugins directory.
The Qt plugins directory is where additional Qt plugins are located. These Qt plugins are loaded manually by the application and specified in the application's XML file.
Changing this directory does not affect the way how Qt itself loads its plugins.
This directory can be changed with the EVAF_QT_PLUGINS_DIR environment variable or with the -qtplugins[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Requests the eVaf application to quit.
err | If true, then indicates that the application exits due to a fatal error |
This function requests the eVaf application to quit.
Implemented in eVaf::Common::Internal::App.
|
signal |
Ready signal.
This signal is emitted when the eVaf application is ready, ie the application initialized and all the modules loaded.
|
pure virtual |
Requests the eVaf application to restart.
This function requests the eVaf application to restart itself. Restarting the application reloads all the plugins and re-initializes them.
Implemented in eVaf::Common::Internal::App.
|
pure virtual |
Returns the name of the eVaf root directory.
The root directory is the base directory where the eVaf application is installed. The default root directory is the parent of the binary directory.
Write access to the root directory is not required to run the application.
This directory can be changed with the EVAF_ROOT_DIR environment variable or with the -root[dir]=<directory> command line argument.
Implemented in eVaf::Common::Internal::App.
|
signal |
Terminating signal.
This signal is emitted when the eVaf application is about to terminate.
|
pure virtual |
Returns the name of the application's XML file.
This function returns the name of the application's XML file. It tries to find the most specific file name for the given language. If not found, then defaults to the generic name.
For example, if the language is set to "et_EE" and the application's name is "eVaf", then it tries to find XML files with the following names "eVaf_et_EE.xml" and "eVaf_et.xml". If neither is found, defaults to the name "eVaf.xml".
The path is not included in the returned file name. Use the eVaf::Common::iEnv::etcDir() function for the location of the file.
Implemented in eVaf::Common::Internal::App.
|
static |
|
static |
|
static |
|
static |