IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Lib::App Class Reference

Base class for all application classes. Provides some basic functionality such as keeping information about the application, managing application directories and basic files, etc. More...

Inheritance diagram for IG::Lib::App:
Collaboration diagram for IG::Lib::App:

List of all members.

Public Member Functions

 App (string programName, int version, int subVersion)
 Constructs a new application object.
 App (string programName, int version, int subVersion, string release)
 Constructs a new application object.
 App (string programName, int version, int subVersion, int subSubVersion, string release)
 Initializes the global data for the current program.
 App (string programName, string codeName, int version, int subVersion, string release)
 Initializes the global data for the current program.
 App (string programName, string codeName, int version, int subVersion, int subSubVersion, string release)
 Constructs a new application object.
void SetCommandlineArguments (string[] args)
 Sets command-line arguments of the application.
virtual void ParseCommandlineArguments (string[] args)
 Parses command-line arguments and eventually sets various internal variables according to their values. This method should be overrideden in derived classes and executed somewhere in the application (possibly in the initialization part).Base class' ParseCommandlineArguments should be called in the overridden methods.
void AddModule (Module m)
 Adds the specified module to the application's list of modules.
void RemoveModule (Module m)
 Removes the specified module to the application's list of modules.
override string ToString ()
 Returns a string containing basic data of the module or application.

Public Attributes

int _numCommandlineArguments

Protected Member Functions

virtual void InitProgram (string programName, string codeName, int version, int subVersion, int subSubVersion, string release)
 Constructs a new application object.
override void BeforeInitialization ()
 Pre-initialization stage.
int FindModuleIndex (Module m)

Static Protected Member Functions

static void InitApp ()
 Initializes the global application data. This should be called in derived class' Init().

Protected Attributes

string[] _commandLineArguments
List< Module_modules = new List<Module>()

Static Protected Attributes

static object lockGlobal = new Object()
 Global application data lock.
static App _global = new App(DefaultApplicationName, DefaultVersion, DefaultSubVersion)
static bool _initializedGlobal = false

Properties

string[] CommandlineArguments [get, set]
 Command-line arguments.
int NumCommandlineArguments [get, set]
 Number of command-line arguments.
static App Global [get, set]
 Gets the global instance of the App class, representing the current program.
static bool InitializedGlobal [get, set]
 Gets a true/false value telling whether the global application data is initialized or not.
static IReporter Rep [get, set]
 Application's reporter.

Detailed Description

Base class for all application classes. Provides some basic functionality such as keeping information about the application, managing application directories and basic files, etc.

$A Igor Oct08;


Constructor & Destructor Documentation

IG::Lib::App::App ( string  programName,
int  version,
int  subVersion 
) [inline]

Constructs a new application object.

Parameters:
programNameFull name of the program.
versionVersion of the program.
subVersionSub-version of the program.
IG::Lib::App::App ( string  programName,
int  version,
int  subVersion,
string  release 
) [inline]

Constructs a new application object.

Parameters:
programNameFull name of the program.
versionVersion of the program.
subVersionSub-version of the program.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)
IG::Lib::App::App ( string  programName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
) [inline]

Initializes the global data for the current program.

Parameters:
programNameFull name of the program.
versionVersion of the program.
subVersionSub-version of the program.
subsubVersionSub-subversion of the program. A negative number means that this messagelevel of versioning is not used.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)
IG::Lib::App::App ( string  programName,
string  codeName,
int  version,
int  subVersion,
string  release 
) [inline]

Initializes the global data for the current program.

Parameters:
programNameFull name of the program.
codeNameShort program codename, appropriate for use in directory names. If not specified then it is automatically formed from the full name
versionVersion of the program.
subVersionSub-version of the program.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)
IG::Lib::App::App ( string  programName,
string  codeName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
) [inline]

Constructs a new application object.

Parameters:
programNameFull name of the program.
codeNameShort program codename, appropriate for use in directory names. If not specified then it is automatically formed from the full name.
versionVersion of the program.
subVersionSub-version of the program.
subsubVersionSub-subversion of the program. A negative number means that this messagelevel of versioning is not used.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)

Member Function Documentation

virtual void IG::Lib::App::InitProgram ( string  programName,
string  codeName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
) [inline, protected, virtual]

Constructs a new application object.

Parameters:
programNameFull name of the program.
codeNameShort program codename, appropriate for use in directory names. If not specified then it is automatically formed from the full name.
versionVersion of the program.
subVersionSub-version of the program.
subsubVersionSub-subversion of the program. A negative number means that this messagelevel of versioning is not used.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)
override void IG::Lib::App::BeforeInitialization ( ) [inline, protected, virtual]

Pre-initialization stage.

Reimplemented from IG::Lib::ModuleBase.

Reimplemented in IG::Lib::AppTest, and IG::Forms::AppTestForms.

void IG::Lib::App::SetCommandlineArguments ( string[]  args) [inline]

Sets command-line arguments of the application.

Parameters:
argsCommand-line arguments to be set.
virtual void IG::Lib::App::ParseCommandlineArguments ( string[]  args) [inline, virtual]

Parses command-line arguments and eventually sets various internal variables according to their values. This method should be overrideden in derived classes and executed somewhere in the application (possibly in the initialization part).Base class' ParseCommandlineArguments should be called in the overridden methods.

Parameters:
argsCommand line arguments.
int IG::Lib::App::FindModuleIndex ( Module  m) [inline, protected]
void IG::Lib::App::AddModule ( Module  m) [inline]

Adds the specified module to the application's list of modules.

Parameters:
mModule to be added.
void IG::Lib::App::RemoveModule ( Module  m) [inline]

Removes the specified module to the application's list of modules.

Parameters:
mModule to be removed.
override string IG::Lib::App::ToString ( ) [inline]

Returns a string containing basic data of the module or application.

Returns:

Reimplemented from IG::Lib::ModuleBase.

static void IG::Lib::App::InitApp ( ) [inline, static, protected]

Initializes the global application data. This should be called in derived class' Init().


Member Data Documentation

string [] IG::Lib::App::_commandLineArguments [protected]
List<Module> IG::Lib::App::_modules = new List<Module>() [protected]
object IG::Lib::App::lockGlobal = new Object() [static, protected]

Global application data lock.

bool IG::Lib::App::_initializedGlobal = false [static, protected]

Property Documentation

string [] IG::Lib::App::CommandlineArguments [get, set]

Command-line arguments.

int IG::Lib::App::NumCommandlineArguments [get, set]

Number of command-line arguments.

App IG::Lib::App::Global [static, get, set]

Gets the global instance of the App class, representing the current program.

bool IG::Lib::App::InitializedGlobal [static, get, set]

Gets a true/false value telling whether the global application data is initialized or not.

IReporter IG::Lib::App::Rep [static, get, set]

Application's reporter.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events