eVaf
eVaf::Common::iApp Class Referenceabstract

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 iAppinstance ()
 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...
 

Detailed Description

eVaf application interface

#include <Common/iApp>

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.

Definition at line 51 of file iapp.h.

Member Enumeration Documentation

anonymous enum

Application return values.

Enumerator
RC_Quit 

Normal exit.

RC_Error 

Exit due to an error.

RC_Restart 

The application is restarting.

Definition at line 58 of file iapp.h.

Constructor & Destructor Documentation

eVaf::Common::iApp::iApp ( )
inline

Interface constructor.

Definition at line 77 of file iapp.h.

virtual eVaf::Common::iApp::~iApp ( )
inlinevirtual

Empty virtual destructor.

Definition at line 80 of file iapp.h.

Member Function Documentation

virtual QString const eVaf::Common::iApp::binDir ( ) const
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.

virtual QString const eVaf::Common::iApp::dataRootDir ( ) const
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.

virtual QString const eVaf::Common::iApp::docDir ( ) const
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.

virtual QString const eVaf::Common::iApp::etcDir ( ) const
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.

virtual int eVaf::Common::iApp::exec ( )
pure virtual

Enters the main event loop of the Qt application.

Returns
Value returned by 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 iApp* eVaf::Common::iApp::instance ( )
static

Returns the iApp interface instance.

Returns
The iApp interface

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.

virtual bool eVaf::Common::iApp::isReady ( ) const
pure virtual

Returns true if the eVaf application is ready.

Implemented in eVaf::Common::Internal::App.

virtual QString const eVaf::Common::iApp::language ( ) const
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.

virtual QString const eVaf::Common::iApp::logDir ( ) const
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.

virtual QString const eVaf::Common::iApp::name ( ) const
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.

virtual QString const eVaf::Common::iApp::qtPluginsDir ( ) const
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.

virtual void eVaf::Common::iApp::quit ( bool  err = false)
pure virtual

Requests the eVaf application to quit.

Parameters
errIf 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.

void eVaf::Common::iApp::ready ( )
signal

Ready signal.

This signal is emitted when the eVaf application is ready, ie the application initialized and all the modules loaded.

virtual void eVaf::Common::iApp::restart ( )
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.

virtual QString const eVaf::Common::iApp::rootDir ( ) const
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.

void eVaf::Common::iApp::terminating ( )
signal

Terminating signal.

This signal is emitted when the eVaf application is about to terminate.

virtual QString const eVaf::Common::iApp::xmlFileName ( ) const
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.

Member Data Documentation

char const* const eVaf::Common::iApp::EV_QUIT
static

Event that requests the eVaf application to quit.

Definition at line 65 of file iapp.h.

char const* const eVaf::Common::iApp::EV_READY
static

Event informing that the eVaf application is ready.

Definition at line 71 of file iapp.h.

char const* const eVaf::Common::iApp::EV_RESTART
static

Event that requests the eVaf application to restart.

Definition at line 68 of file iapp.h.

char const* const eVaf::Common::iApp::EV_TERMINATING
static

Event informing that the eVaf application is restarting.

Definition at line 74 of file iapp.h.


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