IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Lib.Module Class Reference

General module (or library) management class, a base class for specific module classes. Provides some basic functionality such as keeping information about the module, managing module directories and basic files, etc. Global module object is not implemented (in contrary to global program object), but it should be implemented in speciffic module classes derived from this one. More...

+ Inheritance diagram for IG.Lib.Module:
+ Collaboration diagram for IG.Lib.Module:

Public Member Functions

 Module (string moduleName, int version, int subVersion)
 
 Module (string moduleName, int version, int subVersion, string release)
 
 Module (string moduleName, int version, int subVersion, int subSubVersion, string release)
 Initializes the global data for the current module. More...
 
 Module (string moduleName, string codeName, int version, int subVersion, string release)
 
 Module (string moduleName, string codeName, int version, int subVersion, int subSubVersion, string release)
 
- Public Member Functions inherited from IG.Lib.ModuleBase
DateTime CalculateCreationTime ()
 Calculates program creation time of the current executable (the entry assembly) and returns it. More...
 
DateTime CalculateCreationTime (Type type)
 Calculates creation time of the assembly containing the specified class and returns it. More...
 
virtual bool CheckSoftwareRootValidity (string rootpath)
 Verifies whether the specified directory is a valid software root directory. Global is verified by the standard identtification file that was put into the directory at its creation. More...
 
string ToStringShort ()
 Retrurns a short string containing very basic information about the application or module. More...
 
override string ToString ()
 Returns a string containing basic data of the module or application. More...
 
virtual List< String > NoticeShort ()
 Returns a list of text lines introducing the module or application in a condensed way. More...
 
virtual List< String > Notice ()
 Returns a list of text lines introducing the module or application in. More...
 
virtual List< String > Notice (bool useCodename, bool printVersion, bool printRelease, bool printAuthor, bool printAuthorAddress, bool printWebPage, bool printEmail)
 Returns a list of text lines introducing the module or application. More...
 
virtual void LaunchInitNotice ()
 Launches initialization notice. More...
 

Protected Member Functions

virtual void InitModule (string moduleName, string codeName, int version, int subVersion, int subSubVersion, string release)
 
override void BeforeInitialization ()
 Pre-initialization stage. More...
 
- Protected Member Functions inherited from IG.Lib.ModuleBase
virtual void AfterInitialization ()
 A method called after any s initializations in constructors. Override this method in derived classes in order to achieve different behavior. More...
 
void InitModuleBase (string name, string codeName, int version, int subVersion, int subSubVersion, string release)
 Performs complete initialization of the program or module, including the pre-initialization and post-initialization steps. More...
 
virtual string ToCodeName (string Name)
 Converts a module or program name to a valid code name. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from IG.Lib.ModuleBase
static string DecorationFrameAsterisk (List< string > lines, int indent, int padLeft, int padRight, int padTop, int padBottom)
 Returns a string containing the specified text lines in a single frame made of asterisks. More...
 
static string DecorationFrameDoubleAsterisk (List< string > lines, int indent, int padLeft, int padRight, int padTop, int padBottom)
 Returns a string containing the specified text lines in a double frame made of asterisks. More...
 
static string DecorationFrame (List< string > lines, int indent, int padLeft, int padRight, int padTop, int padBottom, char frameChar, int thickness)
 Returns a string containing the specified text lines in a frame made of one or more layers of equal characters. More...
 
static string DecorationFrameDashed (List< string > lines, int indent, int padLeft, int padRight, int padTop, int padBottom)
 Returns a string containing the specified text lines in a frame made of a single layers of dashes ('-') and vertical bars ('|'). More...
 
static string DecorationFrameDoubleDashed (List< string > lines, int indent, int padLeft, int padRight, int padTop, int padBottom)
 Returns a string containing the specified text lines in a frame made of a double layers of dashes ('-') and vertical bars ('|'). More...
 
static void AddDefaultAssembliesExtShellApp ()
 Appends list of assemblies for dynamic testing of software in the ExtShellApp project. More...
 
static void AddDefaultAssembliesExtNeuralApp ()
 Appends list of assemblies for dynamic testing of software in the ExtNeuralApp project. More...
 
static void AddDefaultAssembliesExtShellAppExt ()
 Appends list of assemblies for dynamic testing of software in the ExtShellAppExt project. More...
 
- Public Attributes inherited from IG.Lib.ModuleBase
XmlDocument Data =null
 
const string DefaultModuleName = "Test Library"
 
const int DefaultVersion = 0
 
String Email = null
 
String[] Authors = null
 
bool _expires = true
 
- Static Protected Member Functions inherited from IG.Lib.ModuleBase
static int MaxLength (List< string > lines)
 Maximal length of any line in the specified list. More...
 
static string MultiCharacter (char ch, int num)
 Returns a string containing the specified number of specified (equal) characters. More...
 
- Protected Attributes inherited from IG.Lib.ModuleBase
const int DD = 06
 
object _lock = new object()
 
string _IGHomeEnv = null
 
string[] _IGHomeEnvList
 
bool _isModule = false
 
string _Name = "IG's Test Program"
 
int _version = 0
 
int _NumVersionDigits =2
 
bool _useSubVersion = true
 
DateTime _StartTime = DateTime.Now
 
TimeSpan _ValidityPeriod =new TimeSpan(100*366,0,0,0,0)
 
string _Directory = null
 
string _modulesDir = "modules"
 
string _applicationsDir = "applications"
 
IReporter _reporter = DefaultReporter
 
- Static Protected Attributes inherited from IG.Lib.ModuleBase
static IReporter _defaultReporter = null
 
- Properties inherited from IG.Lib.ModuleBase
object Lock [get]
 Object's lock (implementation of ILockable). More...
 
string IGHomeEnv [get, protected set]
 Environment variable that holds the software root directory. More...
 
string[] IGHomeEnvList [get, protected set]
 Possible names for environment variable that holds the software root directory. More...
 
virtual string IGHomeIdFile [get, protected set]
 Name of the software root identification file This file must be contained immediately in the software root directory. Its contents is checked in order to see whether a certain directory is actually the software root directory. More...
 
virtual string IGHomeIdFileString [get, protected set]
 Name of the software root identification file This file must be contained immediately in the software root directory. Its contents is checked in order to see whether a certain directory is actually the software root directory. More...
 
string AuthorFullName [get]
 Gets a treue/false value telling whether the global program data is initialized or not. More...
 
string AuthorAddress [get]
 Gets complete developer's address (combination of individual address lines). More...
 
virtual bool IsApplication [get, protected set]
 Whether the current object represents an application. More...
 
virtual bool IsModule [get, protected set]
 Whether the current object represents a module (not an application). More...
 
virtual string Name [get, set]
 Gets or sets the full name of the program. More...
 
string CodeName [get, set]
 Gets or sets code name of the program. More...
 
int Version [get, set]
 Gets or sets the main version number of the program. More...
 
int SubVersion [get, set]
 Gets or sets the subversion number of the program. More...
 
int SubSubVersion [get, set]
 Gets or sets the sub-subversion number of the program. More...
 
string Release [get, set]
 Gets or sets the release specification of the program (e.g. "alpha", "beta", "release"...). More...
 
virtual DateTime StartTime [get, private set]
 Gets The starting time of the program (time when program data was initialized). More...
 
DateTime CreationTime [get, protected set]
 Gets or sets craation time of the program. More...
 
virtual bool Expires [get, set]
 Gets or sets the flag telling whether the program expires. More...
 
TimeSpan ValidityPeriod [get, set]
 Gets or sets the validity period length for the program. More...
 
TimeSpan ExpireWarnPeriod [get, set]
 Gets or sets the length of the expiration warning period. This is the period of time between expiration of the software and time when the software actually stops working. If not set, 0 is taken. More...
 
DateTime ExpireTime [get, set]
 Gets or sets the expiration time of the program. Property is automatically updated if the validity period is changed. More...
 
DateTime ExpireFinalTime [get, set]
 Gets or sets the time when program will stop functioning completely. More...
 
bool HasExpired [get]
 Gets the indicatin whether the program has expired. More...
 
bool HasExpiredFinal [get]
 Gets the indicatin whether the program has stopped being functional because of expiration. This happens after final expiration time has reach, which follows a certain period after the regular expiration time. More...
 
int DaysTillExpire [get]
 Gets the number of days until the expiration of the program or module (0 or negative if already expired). More...
 
int DaysTillExpireFinal [get]
 Gets the number of days until the final expiration of the program or module, when the software will stop functioning (0 or negative if already expired). More...
 
int NumVersionDigits [get, set]
 Number of digits that are output in version strings. More...
 
bool UseSubVersion [get, set]
 Whether or not subversion number is used. More...
 
bool UseSubSubVersion [get, set]
 Whether or not sub-subversion number is used. More...
 
string VersionString [get]
 Gets the string that represents program version. More...
 
string DirectoryVersionString [get]
 Gets the string representation of program version to be used in directory and file names. Sub-subversion is not included in the string. More...
 
string User [get, set]
 Gets name of the user of the program. More...
 
virtual String SoftwareParentDirectory [get]
 Gets the directory containing individual module or application directories. More...
 
virtual string BaseDirectory [get, set]
 Gets or sets the program directory (containing all version directories, user directories, etc.). Setting of program directory should normally be left to the system. More...
 
virtual string VersionDirectory [get, set]
 Gets or sets the program'result specific version directory. Setting of this directory should normally be left to the system. More...
 
virtual string UserDirectory [get, set]
 Gets or sets the spedcific user'result directory for the current version of the progrm. Setting of this directory should normally be left to the system. More...
 
virtual string SessionDirectory [get, set]
 Gets or sets the current session'result directory. Setting of this directory should normally be left to the system. More...
 
virtual string SoftwareRoot [get, protected set]
 Gets or sets the software root directory. Setting it should normally be left to the system. More...
 
IReporter Reporter [get, set]
 
static IReporter DefaultReporter [get]
 Returns the curent global Application reporter. More...
 
static DateTime AnnDllTestLimit [get]
 
static bool IsAnnDllTestMode [get]
 Whether dynamic testing of software is on (helps in agile software development). More...
 
static bool LoadableScriptShellIsLoadableDefault [get]
 Basic procedure for calculation of the flag LoadableScriptShellIsLoadable. More...
 
static bool LoadableScriptShellIsRunnableDefault [get]
 Basic procedure for calculation of the flag LoadableScriptShellIsRunnable. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Detailed Description

General module (or library) management class, a base class for specific module classes. Provides some basic functionality such as keeping information about the module, managing module directories and basic files, etc. Global module object is not implemented (in contrary to global program object), but it should be implemented in speciffic module classes derived from this one.

$A Igor Jul08;

Constructor & Destructor Documentation

IG.Lib.Module.Module ( string  moduleName,
int  version,
int  subVersion 
)
inline
Parameters
moduleNameFull name of the module.
versionVersion of the program.
subVersionSub-version of the program.
IG.Lib.Module.Module ( string  moduleName,
int  version,
int  subVersion,
string  release 
)
inline
Parameters
moduleNameFull name of the module.
versionVersion of the program.
subVersionSub-version of the program.
releaseLifecycle stage of the program version (alpha, beta, release, etc.)
IG.Lib.Module.Module ( string  moduleName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
)
inline

Initializes the global data for the current module.

Parameters
moduleNameFull 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.Module.Module ( string  moduleName,
string  codeName,
int  version,
int  subVersion,
string  release 
)
inline
Parameters
moduleNameFull name of the module.
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.Module.Module ( string  moduleName,
string  codeName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
)
inline
Parameters
moduleNameFull name of the module.
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.Module.InitModule ( string  moduleName,
string  codeName,
int  version,
int  subVersion,
int  subSubVersion,
string  release 
)
inlineprotectedvirtual
Parameters
moduleNameFull name of the module.
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.Module.BeforeInitialization ( )
inlineprotectedvirtual

Pre-initialization stage.

Reimplemented from IG.Lib.ModuleBase.


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