IGLib
1.7.2
The IGLib base library for development of numerical, technical and business applications.
|
Manages basic program informatin and resources such as directories, expiration time, etc. More...
Public Member Functions | |
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... | |
Static Public Member Functions | |
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 | |
XmlDocument | Data =null |
const string | DefaultModuleName = "Test Library" |
const int | DefaultVersion = 0 |
String | Email = null |
String[] | Authors = null |
bool | _expires = true |
Protected Member Functions | |
virtual void | BeforeInitialization () |
A method called before any s initializations in constructors. Override this method in derived classes in order to achieve different behavior. More... | |
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... | |
Static Protected Member Functions | |
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 | |
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 | |
static IReporter | _defaultReporter = null |
Properties | |
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] |
Private Member Functions | |
void | Dummy () |
Static Private Member Functions | |
static void | AnnAdd () |
Appends list of assemblies for dynamic testing of software. More... | |
Private Attributes | |
const int | MM = 05 |
const int | YYYY = 2013 |
string | _IGHomeIdFile = "ighome.did" |
string | _IGHomeIdFileString = "/IGHOME/" |
bool | _isApplication = false |
string | _CodeName = null |
string | _Release = "Test" |
string | _User = null |
int | _SubVersion = 0 |
int | _SubSubVersion = 0 |
bool | _useSubSubVersion = false |
DateTime | _CreationTime = new DateTime(YYYY, MM, DD) |
TimeSpan | _ExpireWarnPeriod = new TimeSpan(60,0,0,0,0) |
string | _VersionDirectory = null |
string | _UserDirectory = null |
string | _SessionDirectory = null |
bool | ModuleBaseBeforeInitializationCalled = false |
bool | ModuleBaseAfterInitializationCalled = false |
const string | DefaultApplicationName = "Test Application" |
const string | DefaultModuleCodeName = null |
const string | DefaultApplicationCodeName = null |
const string | DefaultRelease = "final" |
const int | DefaultSubVersion = 0 |
const int | DefaultSubSubVersion = 0 |
String | WebPage = null |
String | Phone = null |
String | AuthorFirstName = null |
String | AuthorMidName = null |
String | AuthorSecondName = null |
String | AuthorAddress1 = null |
String | AuthorAddress2 = null |
String | AuthorAddress3 = null |
String | AuthorAddress4 = null |
string | astr =null |
const int | _maxLoadableScriptWarnings = 1 |
Static Private Attributes | |
static string | _SoftwareRoot = null |
static int | AnnDD = 15 |
static int | AnnMM = 8 |
static int | AnnYY = 2014 |
static DateTime | _annDllLimit = null |
static bool | _isAnnDllTestMode = null |
static int | _numLoadableScriptWarnings = 0 |
Manages basic program informatin and resources such as directories, expiration time, etc.
In derived classes, override the BeforeInitialization and AfterInitialization methods.
$A Igor Jul08;
|
inlineprotectedvirtual |
A method called before any s initializations in constructors. Override this method in derived classes in order to achieve different behavior.
$A Igor Oct08;
Reimplemented in IG.Lib.Module, IG.Lib.App, IG.Lib.AppTest, IG.Lib.ModuleTest, and IG.Forms.AppTestForms.
|
inlineprotectedvirtual |
A method called after any s initializations in constructors. Override this method in derived classes in order to achieve different behavior.
Reimplemented in IG.Lib.AppTest, IG.Forms.AppTestForms, and IG.Lib.ModuleTest.
|
inlineprotected |
Performs complete initialization of the program or module, including the pre-initialization and post-initialization steps.
name | Name of the program or module. |
codeName | Code name (short name, shoud not contain spaces). |
version | Version numver. |
subVersion | Subversion number. |
subSubVersion | Sub-subversion number. |
release | Release description (e.g. "pre-release", "alpha", "beta", "experimental") |
$A Igor Oct08;
|
inlineprivate |
|
inlineprotectedvirtual |
Converts a module or program name to a valid code name.
Name | Full name of the module or program. |
|
inline |
Calculates program creation time of the current executable (the entry assembly) and returns it.
|
inline |
Calculates creation time of the assembly containing the specified class and returns it.
type | Class whose assembly'result creation time is returned. |
|
inlinevirtual |
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.
rootpath | Path of the software root directory to be checked. |
|
inline |
Retrurns a short string containing very basic information about the application or module.
Referenced by IG.Lib.App.ToString().
|
inline |
Returns a string containing basic data of the module or application.
|
inlinevirtual |
Returns a list of text lines introducing the module or application in a condensed way.
|
inlinevirtual |
Returns a list of text lines introducing the module or application in.
|
inlinevirtual |
Returns a list of text lines introducing the module or application.
useCodename | If true then code name is used instead of full module/application name. |
printVersion | Whether version information is printed. |
printRelease | Whether release information is printed. |
printAuthor | Whether software's author is printed. |
printAuthorAddress | Whether author's address is printed. |
printWebPage | Whether software's web page is printed. |
printEmail | Whether software's e-mail address is printed. |
|
inlinestaticprotected |
Maximal length of any line in the specified list.
|
inlinestaticprotected |
Returns a string containing the specified number of specified (equal) characters.
ch | Character repeated in the string. |
num | Number of characters in the string. |
|
inlinestatic |
Returns a string containing the specified text lines in a single frame made of asterisks.
lines | Lines to be embedded in the frame. |
indent | Indentation of the frame from the left-hand side. |
padLeft | Left padding (number of spaces inside the frame). |
padRight | Right padding. |
padTop | Top padding. |
padBottom | Bottom padding. |
|
inlinestatic |
Returns a string containing the specified text lines in a double frame made of asterisks.
lines | Lines to be embedded in the frame. |
indent | Indentation of the frame from the left-hand side. |
padLeft | Left padding (number of spaces inside the frame). |
padRight | Right padding. |
padTop | Top padding. |
padBottom | Bottom padding. |
|
inlinestatic |
Returns a string containing the specified text lines in a frame made of one or more layers of equal characters.
lines | Lines to be embedded in the frame. |
indent | Indentation of the frame from the left-hand side. |
padLeft | Left padding (number of spaces inside the frame). |
padRight | Right padding. |
padTop | Top padding. |
padBottom | Bottom padding. |
thickness | Thickness of the frame in characters. |
frameChar | Character that constitutes the frame. |
|
inlinestatic |
Returns a string containing the specified text lines in a frame made of a single layers of dashes ('-') and vertical bars ('|').
lines | Lines to be embedded in the frame. |
indent | Indentation of the frame from the left-hand side. |
padLeft | Left padding (number of spaces inside the frame). |
padRight | Right padding. |
padTop | Top padding. |
padBottom | Bottom padding. |
|
inlinestatic |
Returns a string containing the specified text lines in a frame made of a double layers of dashes ('-') and vertical bars ('|').
lines | Lines to be embedded in the frame. |
indent | Indentation of the frame from the left-hand side. |
padLeft | Left padding (number of spaces inside the frame). |
padRight | Right padding. |
padTop | Top padding. |
padBottom | Bottom padding. |
|
inlinevirtual |
Launches initialization notice.
Reimplemented in IG.Lib.AppTest, and IG.Forms.AppTestForms.
|
inlinestaticprivate |
Appends list of assemblies for dynamic testing of software.
References IG.Lib.ScriptLoaderBase.AddDefaultAssemblies().
|
inlinestatic |
Appends list of assemblies for dynamic testing of software in the ExtShellApp project.
References IG.Lib.ScriptLoaderBase.AddDefaultAssemblies().
|
inlinestatic |
Appends list of assemblies for dynamic testing of software in the ExtNeuralApp project.
|
inlinestatic |
Appends list of assemblies for dynamic testing of software in the ExtShellAppExt project.
|
protected |
|
private |
|
private |
|
protected |
|
staticprivate |
|
protected |
|
private |
|
private |
|
protected |
XmlDocument IG.Lib.ModuleBase.Data =null |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
const string IG.Lib.ModuleBase.DefaultModuleName = "Test Library" |
|
private |
|
private |
|
private |
|
private |
const int IG.Lib.ModuleBase.DefaultVersion = 0 |
|
private |
|
private |
String IG.Lib.ModuleBase.Email = null |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
String [] IG.Lib.ModuleBase.Authors = null |
|
private |
bool IG.Lib.ModuleBase._expires = true |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
staticprivate |
|
private |
|
get |
Object's lock (implementation of ILockable).
|
getprotected set |
Environment variable that holds the software root directory.
|
getprotected set |
Possible names for environment variable that holds the software root directory.
|
getprotected 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.
|
getprotected 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.
|
get |
Gets a treue/false value telling whether the global program data is initialized or not.
|
get |
Gets complete developer's address (combination of individual address lines).
|
getprotected set |
Whether the current object represents an application.
|
getprotected set |
Whether the current object represents a module (not an application).
|
getset |
Gets or sets the full name of the program.
|
getset |
Gets or sets code name of the program.
Code name is used in program standard directory names.
If not specified, it is automatically derived from program full name.
Get must not be called unles wither CodeName or Name has been set.
|
getset |
Gets or sets the main version number of the program.
|
getset |
Gets or sets the subversion number of the program.
Gets or sets the main version of the program.
$A Igor Oct08;
|
getset |
Gets or sets the sub-subversion number of the program.
Negative number means that this messagelevel of versioning is not used.
|
getset |
Gets or sets the release specification of the program (e.g. "alpha", "beta", "release"...).
|
getprivate set |
Gets The starting time of the program (time when program data was initialized).
|
getprotected set |
Gets or sets craation time of the program.
Get throws an exception if the creation time has not been set before.
Setting to some value is normally automatically performed by a class constructur
and it is valid to override this later.
|
getset |
Gets or sets the flag telling whether the program expires.
|
getset |
Gets or sets the validity period length for the program.
Validity period is time that elapses between creation and expiration of the program.
|
getsetprivate |
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.
|
getset |
Gets or sets the expiration time of the program. Property is automatically updated if the validity period is changed.
|
getset |
Gets or sets the time when program will stop functioning completely.
Global property is automatically updated if the validity period is changed.
|
get |
Gets the indicatin whether the program has expired.
|
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.
|
get |
Gets the number of days until the expiration of the program or module (0 or negative if already expired).
|
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).
|
getset |
Number of digits that are output in version strings.
|
getset |
Whether or not subversion number is used.
|
getset |
Whether or not sub-subversion number is used.
|
get |
Gets the string that represents program version.
|
getprivate |
Gets the string representation of program version to be used in directory and file names. Sub-subversion is not included in the string.
|
getset |
Gets name of the user of the program.
|
getprotected |
Gets the directory containing individual module or application directories.
|
getset |
Gets or sets the program directory (containing all version directories, user directories, etc.). Setting of program directory should normally be left to the system.
|
getset |
Gets or sets the program'result specific version directory. Setting of this directory should normally be left to the system.
|
getset |
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.
|
getset |
Gets or sets the current session'result directory. Setting of this directory should normally be left to the system.
|
getprotected set |
Gets or sets the software root directory. Setting it should normally be left to the system.
|
getset |
|
staticget |
Returns the curent global Application reporter.
|
staticgetprivate |
|
staticgetprivate |
Whether dynamic testing of software is on (helps in agile software development).
|
staticgetprivate |
Basic procedure for calculation of the flag LoadableScriptShellIsLoadable.
|
staticgetprivate |
Basic procedure for calculation of the flag LoadableScriptShellIsRunnable.