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

General utilities. More...

Classes

class  MissingAssembly
 

Static Public Member Functions

static void SetUsername (string username)
 Sets name of the current user. This method is provided to enable testing code under another user name. Setting to null anihilates effect of previous calls. More...
 
static string GetComputerName ()
 Returns name of the computer on which application is running. More...
 
static string GetMacAddressFastest ()
 Returns the MAC address of the network interface card with maximal speed. More...
 
static string GetIpAddressLocal ()
 Returns the current local IP address of computer. More...
 
static string GetUserDomainName ()
 Returns the domain name associated with the current user. More...
 
static string GetDomainName ()
 Returns the network domain name associated with the current user. More...
 
static string GetSystemInfoString ()
 Returns a string containing basic system information - name of the current user, computer name, domain name, IP address, MAC address, and runtime version. More...
 
static string GetRuntimeVersionString ()
 Gets the version of the runtime on which the current application executes. More...
 
static Process ExecuteSystemCommand (string command, params string[] args)
 Executes system command with arguments synchronously (blocks until the process that is created exits). More...
 
static Process ExecuteSystemCommandAsync (string command, params string[] args)
 Executes system command with arguments asynchronously (returns immediately and does not wait for the process to complete). More...
 
static Process ExecuteSystemCommand (bool asynchronous, string command, params string[] args)
 Executes system command with arguments. More...
 
static Process ExecuteSystemCommand (string workingDirectory, bool asynchronous, string command, params string[] args)
 Executes system command with arguments. More...
 
static Process ExecuteSystemCommand (string workingDirectory, bool asynchronous, bool useShell, string command, params string[] args)
 Executes system command with arguments. More...
 
static Process ExecuteSystemCommand (string workingDirectory, bool asynchronous, bool useShell, bool createNoWindow, string redirectedOutputPath, bool redirectStandardOutput, string command, params string[] args)
 Executes system command with arguments. More...
 
static void OpenFileInDefaultBrowser (string filePath)
 Opens the specified file in the system's default browser. More...
 
static void OpenUrlInDefaultBrowser (string url)
 Opens the specified URL (Unique Resource locator, e.g. a web address) in the default browser. More...
 
static string GetCurrentProcessExecutableName ()
 Returns name of the executable file (with extension) for the current process. More...
 
static string GetCurrentProcessExecutablePath ()
 Returns the absolute path of the executable file (with extension) for the current process. More...
 
static string GetCurrentProcessExecutableWithoutExtension ()
 Returns name of the executable file (with extension) for the current process. More...
 
static void GetAllProcesses (ref List< Process > processList)
 Gets all runnning processes, and puts them to the specified list. More...
 
static void GetProcesses (string processName, ref List< Process > processList)
 Gets all processes with the specified name, and puts them to tehe specified list. More...
 
static void GetProcesses (string processName, bool caseSensitive, ref List< Process > processList)
 Gets all processes with the specified name, and puts them to tehe specified list. More...
 
static void GetProcesses (string processName, bool caseSensitive, bool isFullString, ref List< Process > processList)
 Gets all processes with the specified name, and puts them to tehe specified list. More...
 
static bool IsProcessRunning (string processName)
 Returns true if at least one process with the specified name is running, false otherwise. More...
 
static bool IsProcessRunning (string processName, bool caseSensitive)
 Returns true if at least one process with the specified name is running, false otherwise. More...
 
static bool IsProcessRunning (string processName, bool isFullString, bool caseSensitive)
 Returns true if at least one process with the specified name is running, false otherwise. More...
 
static void KillFirstProcess (string processName)
 Kills the first running process found that has the specified process name. More...
 
static void KillFirstProcess (string processName, bool caseSensitive)
 Kills the first running process found that has the specified process name. More...
 
static void KillFirstProcess (string processName, bool caseSensitive, bool isFullString)
 Kills the first running process found that has the specified process name. More...
 
static void KillAllProcesses (string processName)
 Kills all running process have the specified process name. More...
 
static void KillAllProcesses (string processName, bool caseSensitive)
 Kills all running processes that have the specified process name. More...
 
static void KillAllProcesses (string processName, bool isFullString, bool caseSensitive)
 Kills all running processes that have the specified process name. More...
 
static void GetAllApplications (ref List< Process > processList)
 Gets all runnning applications, and puts them to the specified list. More...
 
static void GetApplications (string processName, ref List< Process > processList)
 Gets all applications with the specified process name, and puts them to the specified list. More...
 
static void GetApplications (string processName, bool caseSensitive, ref List< Process > processList)
 Gets all applications with the specified proces name, and puts them to tehe specified list. More...
 
static void GetApplications (string processName, bool caseSensitive, bool isFullString, ref List< Process > processList)
 Gets all applications with the specified proces name, and puts them to tehe specified list. More...
 
static bool IsApplicationRunning (string processName)
 Returns true if at least one application with the specified process name is running, false otherwise. More...
 
static bool IsApplicationRunning (string processName, bool caseSensitive)
 Returns true if at least one application with the specified process name is running, false otherwise. More...
 
static bool IsApplicationRunning (string processName, bool caseSensitive, bool isFullString)
 Returns true if at least one application with the specified process name is running, false otherwise. More...
 
static void KillFirstApplication (string processName)
 Kills the first running application found that has the specified process name. More...
 
static void KillFirstApplication (string processName, bool caseSensitive)
 Kills the first running application found that has the specified process name. More...
 
static void KillFirstApplication (string processName, bool caseSensitive, bool isFullString)
 Kills the first running application found that has the specified process name. More...
 
static void KillAllApplications (string processName)
 Kills the all running applications that has the specified process name. More...
 
static void KillAllApplications (string processName, bool caseSensitive)
 Kills all running applications that have the specified process name. More...
 
static void KillAllApplications (string processName, bool caseSensitive, bool isFullString)
 Kills all running applications that have the specified process name. More...
 
static void GetApplicationsByWindowTitle (string mainWindowTitle, ref List< Process > processList)
 Gets all applications with the specified main window title, and puts them to the specified list. More...
 
static void GetApplicationsByWindowTitle (string mainWindowTitle, bool caseSensitive, ref List< Process > processList)
 Gets all applications with the specified main window title, and puts them to tehe specified list. More...
 
static void GetApplicationsByWindowTitle (string mainWindowTitle, bool caseSensitive, bool isFullString, ref List< Process > processList)
 Gets all applications with the specified main window title, and puts them to tehe specified list. More...
 
static bool IsApplicationRunningByWindowTitle (string mainWindowTitle)
 Returns true if at least one application with the specified main window title is running, false otherwise. More...
 
static bool IsApplicationRunningByWindowTitle (string mainWindowTitle, bool caseSensitive)
 Returns true if at least one application with the specified main window title is running, false otherwise. More...
 
static bool IsApplicationRunningByWindowTitle (string mainWindowTitle, bool caseSensitive, bool isFullString)
 Returns true if at least one application with the specified main window title is running, false otherwise. More...
 
static void KillFirstApplicationByWindowTitle (string mainWindowTitle)
 Kills the first running application found that has the specified main window title. More...
 
static void KillFirstApplicationByWindowTitle (string mainWindowTitle, bool caseSensitive)
 Kills the first running application found that has the specified main window title. More...
 
static void KillFirstApplicationByWindowTitle (string mainWindowTitle, bool caseSensitive, bool isFullString)
 Kills the first running application found that has the specified main window title. More...
 
static void KillAllApplicationsByWindowTitle (string mainWindowTitle)
 Kills the all running applications that has the specified main window title. More...
 
static void KillAllApplicationsByWindowTitle (string mainWindowTitle, bool caseSensitive)
 Kills all running applications that have the specified main window title. More...
 
static void KillAllApplicationsByWindowTitle (string mainWindowTitle, bool caseSensitive, bool isFullString)
 Kills all running applications that have the specified main window title. More...
 
static Assembly GetAssemblyByName (string assemblyName, bool caseSensitive=false, bool loadIfNecessary=true)
 
static Assembly[] GetLoadedAssemblies ()
 Returns a list of all currently loaded assemblies in the applicattion. More...
 
static Assembly[] GetReferencedAssembliesWithoutGac ()
 Returns an array containing the executable assembly and all its DIRECTLY referenced assemblies. Assemblies from the Global Assembly Cache (GAC) are NOT included. More...
 
static Assembly[] GetReferencedAssembliesRecursiveWithoutGac ()
 Returns an array containing the executable assembly and all its referenced assemblies (directly or indirectly). Assemblies from the Global Assembly Cache (GAC) are NOT included. More...
 
static Assembly[] GetReferencedAssemblies ()
 Returns an array containing the executable assembly and all its DIRECTLY referenced assemblies. Assemblies from the Global Assembly Cache (GAC) are also included. More...
 
static Assembly[] GetReferencedAssembliesRecursive ()
 Returns an array containing the executable assembly and all its referenced assemblies (directly or indirectly), More...
 
static List< string > GetReferencedAssembliesFlat (Assembly assembly)
 Get assemblies referenced by the specified assembly. Not recursive. More...
 
static Dictionary< string,
Assembly > 
GetReferencedAssemblies (Assembly assembly, bool ignoreGac=true, bool recursive=true)
 Creates and returns a dictionary containing all assemblies referenced (directly or indirectly) by the specified assembly. Recursive. More...
 
static List< MissingAssemblyGetMissingAssemblies (Assembly assembly, bool recursive=true)
 Get missing assemblies. More...
 
static string SimpleAssemblyName (string fullName)
 Returns a simple assembly name that corresponds to the specified full name of the assembly. More...
 
static string GetAssemblyName (Assembly assembly)
 Returns name of the specified assembly. More...
 
static string GetAssemblyFileName (Assembly assembly)
 Returns file name of the specified assembly. More...
 
static string GetAssemblyDirectory (Assembly assembly)
 Returns the directory containing the specified assembly. More...
 
static string GetAssemblyAssemblyName (Assembly assembly)
 Returns assembly name of the specified assembly. More...
 
static string GetAssemblyVersion (Assembly assembly, int numLevels=2)
 Returns version (from the file info) of the specified assembly. More...
 
static string GetAssemblyTitle (Assembly assembly)
 Returns descriptive title of the specified assembly (from the AssemblyInfo file). More...
 
static string GetAssemblyDescription (Assembly assembly)
 Returns description of the specified assembly (from assembly info). More...
 
static string GetAssemblyCompany (Assembly assembly)
 Returns company attribute of the specified assembly. More...
 
static string GetAssemblyCopyrightInfo (Assembly assembly)
 Returns copyright information of the specified assembly. More...
 
static string GetAssemblyInfo (Assembly assembly, int infoLevel=3, int versionLevel=0)
 Returns a (possibly multiline) string containing basic information about the specified assembly, such as file name, directory, assembly name, and version. More...
 
static string GetExecutableFileName ()
 Returns file name of the current executable. More...
 
static string GetExecutableDirectory ()
 Returns the directory containing the executable that started the current application. More...
 
static string GetExecutableAssemblyName ()
 Returns assembly name of the current executable. More...
 
static string GetExecutableVersion (int numLevels=2)
 Returns version (from the file info) of the current executable. More...
 
static string GetExecutableTitle ()
 Returns descriptive title of the current executable (from the AssemblyInfo file). More...
 
static string GetExecutableDescription ()
 Returns description of the current executable (from the AssemblyInfo file). More...
 
static string GetExecutableCompany ()
 Returns company attribute of the currentt executable. More...
 
static string GetExecutableCopyrightInfo ()
 Returns copyright information of the current executable. More...
 
static string GetExecutableInfo (int infoLevel=3, int versionLevel=0)
 Returns a (possibly multiline) string containing basic information about the current executable, such as executable file name and directory. More...
 
static string GetIglibFileName ()
 Returns file name of the IGLib assembly. More...
 
static string GetIglibDirectory ()
 Returns the directory containing the IGLib assembly. More...
 
static string GetIglibAssemblyName ()
 Returns assembly name of the IGLib assembly. More...
 
static string GetIglibVersion (int numLevels=2)
 Returns version (from the file info) of the IGLib assembly. More...
 
static string GetIglibTitle ()
 Returns descriptive title of the IGLib assembly (from the AssemblyInfo file). More...
 
static string GetIglibDescription ()
 Returns description of the IGLib assembly (from assembly info). More...
 
static string GetIglibCompany ()
 Returns company attribute of the IGLib assembly. More...
 
static string GetIglibCopyrightInfo ()
 Returns copyright information of the IGLib assembly. More...
 
static string GetIglibInfo (int infoLevel=3, int versionLevel=0)
 Returns a (possibly multiline) string containing basic information about the IGLib base library, such as file name, directory, assembly name, and version. More...
 
static string GetApplicationInfo (int infoLevel=3, bool includeIglibInfo=true, int versionLevel=2, IList< Assembly > additionalAssemblies=null)
 Returns a (possibly multiline) string containing basic information about the current application, such as file name, directory, assembly name, and version. Information about IGLib can be included, too. More...
 
static ThreadPriority ProcessToThreadPriority (ProcessPriorityClass processPriority)
 Converts the specified ProcessPriorityClass enum value to the approcimately equivalent ThreadPriority value and returns it. More...
 
static ProcessPriorityClass ThreadToProcessPriority (ThreadPriority threadPriority)
 Converts the specified ThreadPriority enum value to the approcimately equivalent ProcessPriorityClass value and returns it. More...
 
static ThreadPriority GetThreadPriorityFromProcess ()
 Returns the thread priority value that is equivallent to the current process' priority class. More...
 
static void UpdateThreadPriorityFromProcess ()
 Updates the global thread priority (the UtilSystem.ThreadPriority property ) in such a way that it is the same as the current process priority. More...
 
static void OnThreadPriorityChange ()
 This delegate is called when the global thread priority changes (property UtilSystem.ThreadPriority), but can also be called manually. More...
 
static void AddOnThreadPriorityChange (ThreadStart onPriorityChangeMethod)
 Adds the specified method that is executed when the global thread priority changes. More...
 
static void RemoveOnThreadPriorityChange (ThreadStart onPriorityChangeMethod)
 Removes the specified method that is executed when the global thread priority changes. More...
 
static bool IsTextFile (string filePath)
 Detects if the specified file is a text file and detects the encoding. More...
 
static bool IsTextFile (string filePath, int numChecked)
 Detects if the specified file is a text file and detects the encoding. More...
 
static bool IsTextFile (string filePath, out Encoding encoding)
 Detects if the specified file is a text file and detects the encoding. More...
 
static bool IsTextFile (string filePath, int numChecked, out Encoding encoding)
 Detects if the specified file is a text file and detects the encoding. More...
 
static string GetWorkspaceDirectoryPath ()
 Returns the workspace directory, which is primarily located through the environment variable contained in WorkspaceDirectoryEnvironmentVar (usually named WORKSPACE). More...
 
static string GetWorkspacePath (string relativePath)
 Returns a complete path of a file or directory specified by a relative path to the workspace directory, or null if the workspace directory can not be located. More...
 
static string GetWorkspaceProjectsDirectoryPath ()
 Returns the workspace projects directory, which is primarily located through the workspace directory (returned by the GetWorkspaceDirectoryPath method) as a directory located in the same directory and named WorkspaceProjectsDirName. More...
 
static string GetWorkspaceProjectsPath (string relativePath)
 Returns a complete path of a file or directory specified by a relative path to the workspace projects directory, or null if the workspace projects directory can not be located. More...
 
static string GetStandardizedDirectoryPath (string directoryPath)
 Returns the specified directory path in standard form (absolute path, system's path separator, ended with path separator). More...
 
static void StandardizeDirectoryPath (ref string directoryPath)
 Converts the specified path to standard form (absolute path, system's path separator, ended with path separator). More...
 
static void SetCurrentDirectory (string directoryPath)
 Changes directory to the specified directory. More...
 
static string GetRelativePath (string fromPath, string toPath)
 Calculates and returns relativa path from one path to another. WARNING: First path (with respect to this relative path is calculated) must be a directory path! More...
 
static void ExampleRelativePath ()
 Tests calculation More...
 
static void CopyDirectory (string sourceDirectoryPath, string targetDirectoryPath)
 Recursively copies contents of the source directory to the target directory. More...
 
static void CopyRecursive (DirectoryInfo source, DirectoryInfo target)
 Recursively copies contents of the source directory to the target directory. More...
 
static void CopyDirectorySafe (string sourceDirectoryPath, string targetDirectoryPath, out int numErrors, out string errorsString)
 Recursively copies contents of the source directory to the target directory. More...
 
static void CopyRecursiveSafe (DirectoryInfo source, DirectoryInfo target, ref int numErrors, ref string errorsString)
 Recursively copies contents of the source directory to the target directory. More...
 
static string CreateTestdirectoryStructure (string baseDirPath, string rootDirName)
 Creates a test directory structure for testing operatios such as recursive copying. Returns path of the created directory structure, or null if something is wrong. More...
 
static void ExampleCopyDir ()
 Examp More...
 
static void SaveBinary< ObjectType > (ObjectType objectToSave, string fileName)
 Save the specified serialized object in binary form to the specified file. More...
 
static void SaveBinary< ObjectType > (ObjectType objectToSave, Stream stream)
 Save the specified serialized object in binary form to the specified stream. More...
 
static ObjectType LoadBinary< ObjectType > (string fileName)
 Loads the from specified file. More...
 
static ObjectType LoadBinary< ObjectType > (Stream stream)
 Load network from specified file. More...
 
static void SaveBinary (object objectToSave, string fileName)
 Save the specified serialized object in binary form to the specified file. More...
 
static void SaveBinary (object objectToSave, Stream stream)
 Save the specified serialized object in binary form to the specified stream. More...
 
static object LoadBinary (string fileName)
 Loads the from specified file. More...
 
static object LoadBinary (Stream stream)
 Load network from specified file. More...
 

Properties

static bool UserNameNotRetrieved [get]
 Whether user name has already been retrieved ans stored. More...
 
static string UserName [get]
 Gets name of the current user. More...
 
static string UserNameLowerCase [get]
 Gets name of the current user with all letters converted to lower case (in order to avoid ambiguities). More...
 
static bool IsUserIgor [get]
 Returns true if the current user logged on the computer is Igor, or false otherwise. More...
 
static bool IsUserTadej [get]
 Returns true if the current user logged on the computer is Tadej, or false otherwise. More...
 
static bool IsWindowsOs [get]
 Returns true if the operating system is a Windows variant, false otherwise. More...
 
static bool IsLinuxOs [get]
 Returns true if the operating system is a Linux variant, false otherwise. More...
 
static bool IsMaxOs [get]
 Returns true if the operating system is a MacOs variant, false otherwise. More...
 
static Assembly ExecutableAssembly [get]
 Returns assembly of the current executable, obtained by Assembly.GetEntryAssembly(). More...
 
static Assembly IglibAssembly [get]
 Returns assembly of the current executable, obtained by Assembly.GetEntryAssembly(). More...
 
static bool DynamicThreadPriority [get, set]
 Whether the ThreadPriority property should be obtained dynamically from the process priority each time its getter is called, or the value that is set should be used until it is not changed explicitly. More...
 
static ThreadPriority ThreadPriority [get, set]
 Global thread priority. More...
 

Static Private Member Functions

static void RetrieveUserName ()
 Retrieves and stores information about current user name. More...
 
static void DetectOs ()
 Detects operating system. More...
 
static void InternalGetReferencedAssembliesRecursive (Assembly assembly, bool recursive=true)
 Internal recursive method to get all referenced assemblies, and all dependent assemblies of dependent assemblies, etc. More...
 
static string GetRepairedDirectoryPath (string directoryPath)
 Repairs the specified directory path, if applicable, and returns the repaired directory path. More...
 
static void RepairDirectoryPath (ref string directoryPath)
 Repairs the specified directory path, if applicable. More...
 

Private Attributes

const int MinNumCheckedIsTextFile = 100
 Minimal number of checked bytes when determining whether a file is a text file. More...
 
const string WorkspaceDirectoryEnvironmentVar = "WORKSPACE"
 
const string WorkspaceProjectsDirectoryEnvironmentVar = "WORKSPACEPROJECTS"
 
const string WorkspaceProjectsDirName = "workspaceprojects"
 

Static Private Attributes

static string _userName = null
 
static string _userNameLowerCase = null
 
static bool _isOsDetected = false
 
static bool _isWindowsOs = false
 
static bool _isLinuxOs = false
 
static bool _isMacOs = false
 
static volatile Assembly _executingAssembly = null
 
static volatile Assembly _iglibAssembly = null
 
static volatile Assembly[] _referencedAssembliesDirectWithoutGac
 Assemblies directly referenced by the current executale assembly. Calculated only once, lazy evaluation. More...
 
static volatile Assembly[] _referencedAssembliesRecursiveWithoutGac
 Assemblies directly or indirectly referenced by the current executale assembly. Calculated only once, lazy evaluation. More...
 
static volatile Assembly[] _referencedAssembliesDirect
 Assemblies directly referenced by the current executale assembly. Assemblies from global assembly cache are also included. Calculated only once, lazy evaluation. More...
 
static volatile Assembly[] _referencedAssembliesRecursive
 Assemblies directly or indirectly referenced by the current executale assembly. Calculated only once, lazy evaluation. More...
 
static Dictionary< string,
Assembly > 
_dependentAssemblyList
 
static List< MissingAssembly_missingAssemblyList
 
static bool _dynamicThreadPriority = true
 
static ThreadPriority _threadPriority = ProcessToThreadPriority(Process.GetCurrentProcess().PriorityClass)
 
static ThreadStart _onThreadPriorityChange
 

Detailed Description

General utilities.

$A Igor Apr10;

Member Function Documentation

static void IG.Lib.UtilSystem.RetrieveUserName ( )
inlinestaticprivate

Retrieves and stores information about current user name.

static void IG.Lib.UtilSystem.SetUsername ( string  username)
inlinestatic

Sets name of the current user. This method is provided to enable testing code under another user name. Setting to null anihilates effect of previous calls.

After call to this method, user name can be set to null in order to retrieve the true user logged in for subsequent operations.

Warning: you should use this only exceptionally, e.g. for testing, and only in testing or demo sections of code.

Parameters
usernameName of the user to be set. Null annihilates previous calls and causes that system provided user name is returned by subsequent queries.

Referenced by IG.Lib.ApplicationCommandlineBase.SetUserName().

static string IG.Lib.UtilSystem.GetComputerName ( )
inlinestatic

Returns name of the computer on which application is running.

Referenced by IG.Script.ScriptAppBase.SystemFunctionComputerName().

static string IG.Lib.UtilSystem.GetMacAddressFastest ( )
inlinestatic

Returns the MAC address of the network interface card with maximal speed.

The returned string represents hexadecimal MAC address without ':', '-' or other punctation marks.

References IG.Lib.Util.OutputLevel.

Referenced by IG.Script.ScriptAppBase.SystemFunctionMACAddress().

static string IG.Lib.UtilSystem.GetIpAddressLocal ( )
inlinestatic

Returns the current local IP address of computer.

Referenced by IG.Script.ScriptAppBase.SystemFunctionIpAddress().

static string IG.Lib.UtilSystem.GetUserDomainName ( )
inlinestatic

Returns the domain name associated with the current user.

Returns
static string IG.Lib.UtilSystem.GetDomainName ( )
inlinestatic

Returns the network domain name associated with the current user.

Returns

Referenced by IG.Script.ScriptAppBase.SystemFunctionDomainName().

static string IG.Lib.UtilSystem.GetSystemInfoString ( )
inlinestatic

Returns a string containing basic system information - name of the current user, computer name, domain name, IP address, MAC address, and runtime version.

Returns

Referenced by IG.Script.ScriptAppBase.SystemFunctionSystemInfo().

static void IG.Lib.UtilSystem.DetectOs ( )
inlinestaticprivate

Detects operating system.

References IG.Lib.Util.LockGlobal.

static string IG.Lib.UtilSystem.GetRuntimeVersionString ( )
inlinestatic

Gets the version of the runtime on which the current application executes.

Referenced by IG.Script.ScriptAppBase.SystemFunctionRuntimeVersion().

static Process IG.Lib.UtilSystem.ExecuteSystemCommand ( string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments synchronously (blocks until the process that is created exits).

Parameters
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.

Referenced by IG.Lib.CommandLineApplicationInterpreter.ExecuteSystemCommand(), and IG.Num.SimKosecFileManagerBase.RunSimulator().

static Process IG.Lib.UtilSystem.ExecuteSystemCommandAsync ( string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments asynchronously (returns immediately and does not wait for the process to complete).

Parameters
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.
static Process IG.Lib.UtilSystem.ExecuteSystemCommand ( bool  asynchronous,
string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments.

Parameters
asynchronousIf true then the system command is executed asynchronously (the method returns immediately, and the caller can wait for the executed process by calling WaitForExit() on the returned object). If false then method blocks until the process completes.
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.
Returns
Process object that can be used to access and manimulate the process that has been executed by this method.
static Process IG.Lib.UtilSystem.ExecuteSystemCommand ( string  workingDirectory,
bool  asynchronous,
string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments.

Parameters
workingDirectoryWorking directory of the process that is run. If null or empty string then working sirectory is not specified (the current working directory is used).
asynchronousIf true then the system command is executed asynchronously (the method returns immediately, and the caller can wait for the executed process by calling WaitForExit() on the returned object). If false then method blocks until the process completes.
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.
Returns
Process object that can be used to access and manimulate the process that has been executed by this method.
static Process IG.Lib.UtilSystem.ExecuteSystemCommand ( string  workingDirectory,
bool  asynchronous,
bool  useShell,
string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments.

Parameters
workingDirectoryWorking directory of the process that is run. If null or empty string then working sirectory is not specified (the current working directory is used).
asynchronousIf true then the system command is executed asynchronously (the method returns immediately, and the caller can wait for the executed process by calling WaitForExit() on the returned object). If false then method blocks until the process completes.
useShellWhether to use the command shell (open in a new window) for execution.
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.
Returns
Process object that can be used to access and manimulate the process that has been executed by this method.
static Process IG.Lib.UtilSystem.ExecuteSystemCommand ( string  workingDirectory,
bool  asynchronous,
bool  useShell,
bool  createNoWindow,
string  redirectedOutputPath,
bool  redirectStandardOutput,
string  command,
params string[]  args 
)
inlinestatic

Executes system command with arguments.

Parameters
workingDirectoryWorking directory of the process that is run. If null or empty string then working sirectory is not specified (the current working directory is used).
asynchronousIf true then the system command is executed asynchronously (the method returns immediately, and the caller can wait for the executed process by calling WaitForExit() on the returned object). If false then method blocks until the process completes.
useShellWhether to use the command shell (open in a new window) for execution.
createNoWindowIf true then window is not created.
redirectedOutputPathPath to the file where standard output is redirected (null means that output is not redirected to a file).
redirectStandardOutputWhether standard output is redirected (in this case, there will be no output to the console). Enables suppressing output to console without redirecting it to a specified file.
commandCommand string, usually a path to executable or other type of command.
argsArguments to system command.
Returns
Process object that can be used to access and manimulate the process that has been executed by this method.

References IG.Lib.UtilSystem.IsWindowsOs.

static void IG.Lib.UtilSystem.OpenFileInDefaultBrowser ( string  filePath)
inlinestatic

Opens the specified file in the system's default browser.

Parameters
filePathPath of the file to be opened.

Referenced by IG.Lib.HtmlWriter.Example().

static void IG.Lib.UtilSystem.OpenUrlInDefaultBrowser ( string  url)
inlinestatic

Opens the specified URL (Unique Resource locator, e.g. a web address) in the default browser.

<url>Adress of page to be shown.</url>

static string IG.Lib.UtilSystem.GetCurrentProcessExecutableName ( )
inlinestatic

Returns name of the executable file (with extension) for the current process.

Referenced by IG.Lib.CommandLineApplicationInterpreter.CmdAbout(), IG.Lib.CommandLineApplicationInterpreter.CmdApplicationInfo(), IG.Lib.CommandLineApplicationInterpreter.CmdAsyncCompleted(), IG.Lib.CommandLineApplicationInterpreter.CmdAsyncWaitResults(), IG.Lib.CommandLineApplicationInterpreter.CmdClearVariable(), IG.Lib.CommandLineApplicationInterpreter.CmdComment(), IG.Lib.CommandLineApplicationInterpreter.CmdExit(), IG.Lib.CommandLineApplicationInterpreter.CmdExpressionEvaluatorInteractive(), IG.Lib.CommandLineApplicationInterpreter.CmdGetVariable(), IG.Lib.CommandLineApplicationInterpreter.CmdHelp(), IG.Lib.CommandLineApplicationInterpreter.CmdIsModuleLoaded(), IG.Lib.CommandLineApplicationInterpreter.CmdLoadModule(), IG.Lib.CommandLineApplicationInterpreter.CmdLoadScript(), IG.Lib.CommandLineApplicationInterpreter.CmdModuleTestCommand(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeClientCreate(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeClientGetServerResponse(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeClientInfo(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeClientsRemove(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeServerCreate(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeServerInfo(), IG.Lib.CommandLineApplicationInterpreter.CmdPipeServersRemove(), IG.Lib.CommandLineApplicationInterpreter.CmdPrintCommands(), IG.Lib.CommandLineApplicationInterpreter.CmdPrintParallelCommands(), IG.Lib.CommandLineApplicationInterpreter.CmdPrintVariable(), IG.Lib.CommandLineApplicationInterpreter.CmdRunAsync(), IG.Lib.CommandLineApplicationInterpreter.CmdRunFile(), IG.Lib.CommandLineApplicationInterpreter.CmdRunInteractive(), IG.Lib.CommandLineApplicationInterpreter.CmdRunInternalScriptClass(), IG.Lib.CommandLineApplicationInterpreter.CmdRunLoadedScript(), IG.Lib.CommandLineApplicationInterpreter.CmdRunParallel(), IG.Lib.CommandLineApplicationInterpreter.CmdRunParallelRepeat(), IG.Lib.CommandLineApplicationInterpreter.CmdRunRepeat(), IG.Lib.CommandLineApplicationInterpreter.CmdRunRepeatVerbose(), IG.Lib.CommandLineApplicationInterpreter.CmdRunScriptFile(), IG.Lib.CommandLineApplicationInterpreter.CmdRunSystem(), IG.Lib.CommandLineApplicationInterpreter.CmdSetPriority(), IG.Lib.CommandLineApplicationInterpreter.CmdSetVariable(), IG.Lib.CommandLineApplicationInterpreter.CmdSleepSeconds(), IG.Lib.CommandLineApplicationInterpreter.CmdTest(), IG.Lib.CommandLineApplicationInterpreter.CmdTestFromTestModules(), IG.Lib.CommandLineApplicationInterpreter.CmdTestLU(), IG.Lib.CommandLineApplicationInterpreter.CmdTestProduct(), IG.Lib.CommandLineApplicationInterpreter.CmdTestQR(), IG.Lib.CommandLineApplicationInterpreter.CmdTestSpeed(), IG.Lib.CommandLineApplicationInterpreter.CmdTestSpeedLong(), IG.Lib.CommandLineApplicationInterpreter.CmdThtrowExceptions(), IG.Lib.CommandLineApplicationInterpreter.CmdTryRun(), IG.Lib.CommandLineApplicationInterpreter.CmdWrite(), and IG.Lib.CommandLineApplicationInterpreter.WriteLoadableScriptReferencedAssemblies().

static string IG.Lib.UtilSystem.GetCurrentProcessExecutablePath ( )
inlinestatic

Returns the absolute path of the executable file (with extension) for the current process.

static string IG.Lib.UtilSystem.GetCurrentProcessExecutableWithoutExtension ( )
inlinestatic

Returns name of the executable file (with extension) for the current process.

static void IG.Lib.UtilSystem.GetAllProcesses ( ref List< Process >  processList)
inlinestatic

Gets all runnning processes, and puts them to the specified list.

Parameters
processListList on which the processes are put. If nul then it is allocated first. If not empty then it is cleared firts.

Referenced by IG.Script.ScriptAppBase.ProcessFunctionListProcesses().

static void IG.Lib.UtilSystem.GetProcesses ( string  processName,
ref List< Process >  processList 
)
inlinestatic

Gets all processes with the specified name, and puts them to tehe specified list.

Parameters
processNameName of the processes to be put on the list. Name is case sensitive.
processListList on which the processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.

Referenced by IG.Script.ScriptAppBase.ProcessFunctionKillProcesses(), and IG.Script.ScriptAppBase.ProcessFunctionListProcesses().

static void IG.Lib.UtilSystem.GetProcesses ( string  processName,
bool  caseSensitive,
ref List< Process >  processList 
)
inlinestatic

Gets all processes with the specified name, and puts them to tehe specified list.

Parameters
processNameName of the processes to be put on the list.
caseSensitiveWhether name is case sensitive.
processListList on which the processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static void IG.Lib.UtilSystem.GetProcesses ( string  processName,
bool  caseSensitive,
bool  isFullString,
ref List< Process >  processList 
)
inlinestatic

Gets all processes with the specified name, and puts them to tehe specified list.

Parameters
processNameName of the processes to be put on the list.
caseSensitiveWhether name is case sensitive.
isFullStringWhether the processName is a full process name (if false, it can be only its substring).
processListList on which the processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static bool IG.Lib.UtilSystem.IsProcessRunning ( string  processName)
inlinestatic

Returns true if at least one process with the specified name is running, false otherwise.

Parameters
processNameName of the process for which we check whether it is running. Name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsProcessRunning ( string  processName,
bool  caseSensitive 
)
inlinestatic

Returns true if at least one process with the specified name is running, false otherwise.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsProcessRunning ( string  processName,
bool  isFullString,
bool  caseSensitive 
)
inlinestatic

Returns true if at least one process with the specified name is running, false otherwise.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full process name (if false, it can be only its substring).
Returns
True if at least one process with the specified name is running, false otherwise.
static void IG.Lib.UtilSystem.KillFirstProcess ( string  processName)
inlinestatic

Kills the first running process found that has the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process to be killed. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstProcess ( string  processName,
bool  caseSensitive 
)
inlinestatic

Kills the first running process found that has the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstProcess ( string  processName,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Kills the first running process found that has the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full process name (if false, it can be only its substring).

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllProcesses ( string  processName)
inlinestatic

Kills all running process have the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process to be killed. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllProcesses ( string  processName,
bool  caseSensitive 
)
inlinestatic

Kills all running processes that have the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllProcesses ( string  processName,
bool  isFullString,
bool  caseSensitive 
)
inlinestatic

Kills all running processes that have the specified process name.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full process name (if false, it can be only its substring).

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.GetAllApplications ( ref List< Process >  processList)
inlinestatic

Gets all runnning applications, and puts them to the specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processListList on which the processes are put. If nul then it is allocated first. If not empty then it is cleared firts.

Referenced by IG.Script.ScriptAppBase.ProcessFunctionListApplications(), and IG.Script.ScriptAppBase.ProcessFunctionListApplicationsByWindow().

static void IG.Lib.UtilSystem.GetApplications ( string  processName,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified process name, and puts them to the specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the processes to be put on the list. Name is case sensitive.
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.

Referenced by IG.Script.ScriptAppBase.ProcessFunctionKillApplications(), and IG.Script.ScriptAppBase.ProcessFunctionListApplications().

static void IG.Lib.UtilSystem.GetApplications ( string  processName,
bool  caseSensitive,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified proces name, and puts them to tehe specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the processes to be put on the list.
caseSensitiveWhether name is case sensitive.
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static void IG.Lib.UtilSystem.GetApplications ( string  processName,
bool  caseSensitive,
bool  isFullString,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified proces name, and puts them to tehe specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the processes to be put on the list.
caseSensitiveWhether name is case sensitive.
isFullStringWhether the processName is a full name (if false, it can be only a substring of the process name).
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static bool IG.Lib.UtilSystem.IsApplicationRunning ( string  processName)
inlinestatic

Returns true if at least one application with the specified process name is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the process for which we check whether it is running. Name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsApplicationRunning ( string  processName,
bool  caseSensitive 
)
inlinestatic

Returns true if at least one application with the specified process name is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsApplicationRunning ( string  processName,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Returns true if at least one application with the specified process name is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full name (if false, it can be only a substring of the process name).
Returns
True if at least one process with the specified name is running, false otherwise.
static void IG.Lib.UtilSystem.KillFirstApplication ( string  processName)
inlinestatic

Kills the first running application found that has the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process to be killed. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstApplication ( string  processName,
bool  caseSensitive 
)
inlinestatic

Kills the first running application found that has the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstApplication ( string  processName,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Kills the first running application found that has the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full name (if false, it can be only a substring of the process name).

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplications ( string  processName)
inlinestatic

Kills the all running applications that has the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process to be killed. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplications ( string  processName,
bool  caseSensitive 
)
inlinestatic

Kills all running applications that have the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplications ( string  processName,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Kills all running applications that have the specified process name.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
processNameName of the process for which we check whether it is running.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the processName is a full name (if false, it can be only a substring of the process name).

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.GetApplicationsByWindowTitle ( string  mainWindowTitle,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified main window title, and puts them to the specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplications' main window title. Name is case sensitive.
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.

Referenced by IG.Script.ScriptAppBase.ProcessFunctionKillApplicationsByWindow(), and IG.Script.ScriptAppBase.ProcessFunctionListApplicationsByWindow().

static void IG.Lib.UtilSystem.GetApplicationsByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified main window title, and puts them to tehe specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplications' main window title.
caseSensitiveWhether name is case sensitive.
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static void IG.Lib.UtilSystem.GetApplicationsByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive,
bool  isFullString,
ref List< Process >  processList 
)
inlinestatic

Gets all applications with the specified main window title, and puts them to tehe specified list.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplications' main window title.
caseSensitiveWhether name is case sensitive.
isFullStringWhether the mainWindowTitle is a full window title (if false, it can be only its substring).
processListList on which the application processes matching the name are put. If nul then it is allocated first. If not empty then it is cleared firts.
static bool IG.Lib.UtilSystem.IsApplicationRunningByWindowTitle ( string  mainWindowTitle)
inlinestatic

Returns true if at least one application with the specified main window title is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplication's main window title. Name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsApplicationRunningByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive 
)
inlinestatic

Returns true if at least one application with the specified main window title is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static bool IG.Lib.UtilSystem.IsApplicationRunningByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Returns true if at least one application with the specified main window title is running, false otherwise.

Applications are regarded all processes with visible main window and window title defined.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.
Returns
True if at least one process with the specified name is running, false otherwise.
static void IG.Lib.UtilSystem.KillFirstApplicationByWindowTitle ( string  mainWindowTitle)
inlinestatic

Kills the first running application found that has the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstApplicationByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive 
)
inlinestatic

Kills the first running application found that has the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillFirstApplicationByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Kills the first running application found that has the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplicationsByWindowTitle ( string  mainWindowTitle)
inlinestatic

Kills the all running applications that has the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title. Name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplicationsByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive 
)
inlinestatic

Kills all running applications that have the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.KillAllApplicationsByWindowTitle ( string  mainWindowTitle,
bool  caseSensitive,
bool  isFullString 
)
inlinestatic

Kills all running applications that have the specified main window title.

Applications are regarded all processes with visible main window and window title defined.

Nothing happens if there are no such processes running. Exceptions are cought and eventually reported on console if the Util.OutputLevel >= 1.

Parameters
mainWindowTitleApplication's main window title.
caseSensitiveWhether process name is case sensitive.
isFullStringWhether the mainWindowTitle is a full window title (if false, it can be only its substring).

References IG.Lib.Util.OutputLevel.

static Assembly IG.Lib.UtilSystem.GetAssemblyByName ( string  assemblyName,
bool  caseSensitive = false,
bool  loadIfNecessary = true 
)
inlinestatic
static Assembly [] IG.Lib.UtilSystem.GetLoadedAssemblies ( )
inlinestatic

Returns a list of all currently loaded assemblies in the applicattion.

static Assembly [] IG.Lib.UtilSystem.GetReferencedAssembliesWithoutGac ( )
inlinestatic

Returns an array containing the executable assembly and all its DIRECTLY referenced assemblies. Assemblies from the Global Assembly Cache (GAC) are NOT included.

Array of assemblies is calculated only once (the first time it is needed) and is stored internally for to speed up further uses.

See:

http://stackoverflow.com/questions/383686/how-do-you-loop-through-currently-loaded-assemblies

Assembly names, http://msdn.microsoft.com/en-us/library/k8xx4k69%28v=vs.110%29.aspx

References IG.Lib.Util.LockGlobal.

static Assembly [] IG.Lib.UtilSystem.GetReferencedAssembliesRecursiveWithoutGac ( )
inlinestatic

Returns an array containing the executable assembly and all its referenced assemblies (directly or indirectly). Assemblies from the Global Assembly Cache (GAC) are NOT included.

Array of assemblies is calculated only once (the first time it is needed) and is stored internally for to speed up further uses.

See:

http://stackoverflow.com/questions/383686/how-do-you-loop-through-currently-loaded-assemblies

Assembly names, http://msdn.microsoft.com/en-us/library/k8xx4k69%28v=vs.110%29.aspx

References IG.Lib.Util.LockGlobal.

static Assembly [] IG.Lib.UtilSystem.GetReferencedAssemblies ( )
inlinestatic

Returns an array containing the executable assembly and all its DIRECTLY referenced assemblies. Assemblies from the Global Assembly Cache (GAC) are also included.

Array of assemblies is calculated only once (the first time it is needed) and is stored internally to speed up further uses.

See:

http://stackoverflow.com/questions/383686/how-do-you-loop-through-currently-loaded-assemblies

Assembly names, http://msdn.microsoft.com/en-us/library/k8xx4k69%28v=vs.110%29.aspx

References IG.Lib.Util.LockGlobal.

static Assembly [] IG.Lib.UtilSystem.GetReferencedAssembliesRecursive ( )
inlinestatic

Returns an array containing the executable assembly and all its referenced assemblies (directly or indirectly),

Assemblies from the Global Assembly Cache (GAC) are also included.

Array of assemblies is calculated only once (the first time it is needed) and is stored internally to speed up further uses.

See:

http://stackoverflow.com/questions/383686/how-do-you-loop-through-currently-loaded-assemblies

Assembly names, http://msdn.microsoft.com/en-us/library/k8xx4k69%28v=vs.110%29.aspx

References IG.Lib.Util.LockGlobal.

static List<string> IG.Lib.UtilSystem.GetReferencedAssembliesFlat ( Assembly  assembly)
inlinestatic

Get assemblies referenced by the specified assembly. Not recursive.

Parameters
assemblyAssembly whose referenced assemblies are obtained.

References IG.Lib.Util.LockGlobal.

static Dictionary<string, Assembly> IG.Lib.UtilSystem.GetReferencedAssemblies ( Assembly  assembly,
bool  ignoreGac = true,
bool  recursive = true 
)
inlinestatic

Creates and returns a dictionary containing all assemblies referenced (directly or indirectly) by the specified assembly. Recursive.

Parameters
assemblyAssembly whose referenced assemblies are obtained recursively.

References IG.Lib.Util.LockGlobal.

static List<MissingAssembly> IG.Lib.UtilSystem.GetMissingAssemblies ( Assembly  assembly,
bool  recursive = true 
)
inlinestatic

Get missing assemblies.

References IG.Lib.Util.LockGlobal.

static void IG.Lib.UtilSystem.InternalGetReferencedAssembliesRecursive ( Assembly  assembly,
bool  recursive = true 
)
inlinestaticprivate

Internal recursive method to get all referenced assemblies, and all dependent assemblies of dependent assemblies, etc.

References IG.Lib.Util.LockGlobal.

static string IG.Lib.UtilSystem.SimpleAssemblyName ( string  fullName)
inlinestatic

Returns a simple assembly name that corresponds to the specified full name of the assembly.

Simple name is only the assemblyname, not including assembly version, pulbic key token, or culture.

Parameters
fullName
Returns
static string IG.Lib.UtilSystem.GetAssemblyName ( Assembly  assembly)
inlinestatic

Returns name of the specified assembly.

Parameters
assemblyAssembly whose name is returned.
static string IG.Lib.UtilSystem.GetAssemblyFileName ( Assembly  assembly)
inlinestatic

Returns file name of the specified assembly.

Parameters
assemblyAssembly whose file name is returned.
static string IG.Lib.UtilSystem.GetAssemblyDirectory ( Assembly  assembly)
inlinestatic

Returns the directory containing the specified assembly.

Parameters
assemblyAssembly whose directory is returned.
static string IG.Lib.UtilSystem.GetAssemblyAssemblyName ( Assembly  assembly)
inlinestatic

Returns assembly name of the specified assembly.

Parameters
assemblyAssembly whose name is returned.
static string IG.Lib.UtilSystem.GetAssemblyVersion ( Assembly  assembly,
int  numLevels = 2 
)
inlinestatic

Returns version (from the file info) of the specified assembly.

Parameters
numLevelsNmber of levels included in the returned version string.
assemblyAssembly whose version is returned.
static string IG.Lib.UtilSystem.GetAssemblyTitle ( Assembly  assembly)
inlinestatic

Returns descriptive title of the specified assembly (from the AssemblyInfo file).

Parameters
assemblyAssembly whose title is returned.
static string IG.Lib.UtilSystem.GetAssemblyDescription ( Assembly  assembly)
inlinestatic

Returns description of the specified assembly (from assembly info).

Parameters
assemblyAssembly whose description is returned.
static string IG.Lib.UtilSystem.GetAssemblyCompany ( Assembly  assembly)
inlinestatic

Returns company attribute of the specified assembly.

Parameters
assemblyAssembly whose company is returned.
static string IG.Lib.UtilSystem.GetAssemblyCopyrightInfo ( Assembly  assembly)
inlinestatic

Returns copyright information of the specified assembly.

Parameters
assemblyAssembly whose copyright information is returned.
static string IG.Lib.UtilSystem.GetAssemblyInfo ( Assembly  assembly,
int  infoLevel = 3,
int  versionLevel = 0 
)
inlinestatic

Returns a (possibly multiline) string containing basic information about the specified assembly, such as file name, directory, assembly name, and version.

Parameters
infoLevelLevel of information put into the string:

1: assembly name and version, executable file.

2: executable directory, title, description.

3: creator, copyright info.

Parameters
versionLevelLevel version nformation included. By default (value 0), one level more than infoLevel .
assemblyAssembly whose information in readable form is returned.
static string IG.Lib.UtilSystem.GetExecutableFileName ( )
inlinestatic

Returns file name of the current executable.

static string IG.Lib.UtilSystem.GetExecutableDirectory ( )
inlinestatic

Returns the directory containing the executable that started the current application.

Referenced by IG.Lib.ScriptLoaderBase.GetExecutableDirectory().

static string IG.Lib.UtilSystem.GetExecutableAssemblyName ( )
inlinestatic

Returns assembly name of the current executable.

static string IG.Lib.UtilSystem.GetExecutableVersion ( int  numLevels = 2)
inlinestatic

Returns version (from the file info) of the current executable.

Parameters
numLevelsNmber of levels included in the returned version string.
static string IG.Lib.UtilSystem.GetExecutableTitle ( )
inlinestatic

Returns descriptive title of the current executable (from the AssemblyInfo file).

static string IG.Lib.UtilSystem.GetExecutableDescription ( )
inlinestatic

Returns description of the current executable (from the AssemblyInfo file).

static string IG.Lib.UtilSystem.GetExecutableCompany ( )
inlinestatic

Returns company attribute of the currentt executable.

static string IG.Lib.UtilSystem.GetExecutableCopyrightInfo ( )
inlinestatic

Returns copyright information of the current executable.

static string IG.Lib.UtilSystem.GetExecutableInfo ( int  infoLevel = 3,
int  versionLevel = 0 
)
inlinestatic

Returns a (possibly multiline) string containing basic information about the current executable, such as executable file name and directory.

Parameters
infoLevelLevel of information put into the string:

1: assembly name and version, executable file.

2: executable directory, title, description.

3: creator, copyright info.

Parameters
versionLevelLevel version nformation included. By default (vlue 0), one level more than infoLevel .
static string IG.Lib.UtilSystem.GetIglibFileName ( )
inlinestatic

Returns file name of the IGLib assembly.

static string IG.Lib.UtilSystem.GetIglibDirectory ( )
inlinestatic

Returns the directory containing the IGLib assembly.

static string IG.Lib.UtilSystem.GetIglibAssemblyName ( )
inlinestatic

Returns assembly name of the IGLib assembly.

static string IG.Lib.UtilSystem.GetIglibVersion ( int  numLevels = 2)
inlinestatic

Returns version (from the file info) of the IGLib assembly.

Parameters
numLevelsNmber of levels included in the returned version string.
static string IG.Lib.UtilSystem.GetIglibTitle ( )
inlinestatic

Returns descriptive title of the IGLib assembly (from the AssemblyInfo file).

static string IG.Lib.UtilSystem.GetIglibDescription ( )
inlinestatic

Returns description of the IGLib assembly (from assembly info).

static string IG.Lib.UtilSystem.GetIglibCompany ( )
inlinestatic

Returns company attribute of the IGLib assembly.

static string IG.Lib.UtilSystem.GetIglibCopyrightInfo ( )
inlinestatic

Returns copyright information of the IGLib assembly.

static string IG.Lib.UtilSystem.GetIglibInfo ( int  infoLevel = 3,
int  versionLevel = 0 
)
inlinestatic

Returns a (possibly multiline) string containing basic information about the IGLib base library, such as file name, directory, assembly name, and version.

Parameters
infoLevelLevel of information put into the string:

1: assembly name and version, executable file.

2: executable directory, title, description.

3: creator, copyright info.

Parameters
versionLevelLevel version nformation included. By default (value 0), one level more than infoLevel .
static string IG.Lib.UtilSystem.GetApplicationInfo ( int  infoLevel = 3,
bool  includeIglibInfo = true,
int  versionLevel = 2,
IList< Assembly >  additionalAssemblies = null 
)
inlinestatic

Returns a (possibly multiline) string containing basic information about the current application, such as file name, directory, assembly name, and version. Information about IGLib can be included, too.

Parameters
infoLevelLevel of information put into the string:

1: assembly name and version, executable file.

2: executable directory.

Parameters
includeIglibInfoWhether info about IGLib is included. If false then only application info is included.
versionLevelLevel version nformation included. 2 by default, 0: one level more than infoLevel .
additionalAssembliesAdditional assemblies that should be described in the returned info string.

Referenced by IG.Lib.CommandLineApplicationInterpreter.CmdAbout(), and IG.Lib.CommandLineApplicationInterpreter.CmdApplicationInfo().

static ThreadPriority IG.Lib.UtilSystem.ProcessToThreadPriority ( ProcessPriorityClass  processPriority)
inlinestatic

Converts the specified ProcessPriorityClass enum value to the approcimately equivalent ThreadPriority value and returns it.

Parameters
processPriorityProcess priority value to be converted to thread priority.
static ProcessPriorityClass IG.Lib.UtilSystem.ThreadToProcessPriority ( ThreadPriority  threadPriority)
inlinestatic

Converts the specified ThreadPriority enum value to the approcimately equivalent ProcessPriorityClass value and returns it.

Parameters
threadPriorityThread priority value to be converted to thread priority.
static ThreadPriority IG.Lib.UtilSystem.GetThreadPriorityFromProcess ( )
inlinestatic

Returns the thread priority value that is equivallent to the current process' priority class.

static void IG.Lib.UtilSystem.UpdateThreadPriorityFromProcess ( )
inlinestatic

Updates the global thread priority (the UtilSystem.ThreadPriority property ) in such a way that it is the same as the current process priority.

If the priority is changed by this call then the event handlers are also executed (the delegate UtilSystem.OnThreadPriorityChange is called).

References IG.Lib.Util.LockGlobal.

static void IG.Lib.UtilSystem.OnThreadPriorityChange ( )
inlinestatic

This delegate is called when the global thread priority changes (property UtilSystem.ThreadPriority), but can also be called manually.

References IG.Lib.Util.LockGlobal.

static void IG.Lib.UtilSystem.AddOnThreadPriorityChange ( ThreadStart  onPriorityChangeMethod)
inlinestatic

Adds the specified method that is executed when the global thread priority changes.

Parameters
onPriorityChangeMethodMethod that is added.

References IG.Lib.Util.LockGlobal.

Referenced by IG.Num.ParallelJobDispatcherBase< JobContainerType >.RegisterSystemPriorityUpdating(), and IG.Lib.CommandLineApplicationInterpreter.RegisterSystemPriorityUpdating().

static void IG.Lib.UtilSystem.RemoveOnThreadPriorityChange ( ThreadStart  onPriorityChangeMethod)
inlinestatic

Removes the specified method that is executed when the global thread priority changes.

Parameters
onPriorityChangeMethodMethod that is removed.

References IG.Lib.Util.LockGlobal.

Referenced by IG.Num.ParallelJobDispatcherBase< JobContainerType >.UnregisterSystemPriorityUpdating(), and IG.Lib.CommandLineApplicationInterpreter.UnregisterSystemPriorityUpdating().

static bool IG.Lib.UtilSystem.IsTextFile ( string  filePath)
inlinestatic

Detects if the specified file is a text file and detects the encoding.

Parameters
filePathThe file name.
Returns
true if the specified file is a text file text.

Referenced by IG.Forms.HashGeneratorControl.GenerateFilePreview().

static bool IG.Lib.UtilSystem.IsTextFile ( string  filePath,
int  numChecked 
)
inlinestatic

Detects if the specified file is a text file and detects the encoding.

Parameters
filePathThe file name.
numCheckedThe max. number of bytes to use for testing (if 0 then complete file is used).
Returns
true if the specified file is a text file text.
static bool IG.Lib.UtilSystem.IsTextFile ( string  filePath,
out Encoding  encoding 
)
inlinestatic

Detects if the specified file is a text file and detects the encoding.

Parameters
filePathThe file name.
encodingThe detected encoding.
Returns
true if the specified file is a text file text.
static bool IG.Lib.UtilSystem.IsTextFile ( string  filePath,
int  numChecked,
out Encoding  encoding 
)
inlinestatic

Detects if the specified file is a text file and detects the encoding.

Parameters
filePathThe file name.
numCheckedThe max. number of bytes to use for testing (if 0 then complete file is used).
encodingThe detected encoding.
Returns
true if the specified file is a text file text.

Source:

http://stackoverflow.com/questions/910873/how-can-i-determine-if-a-file-is-binary-or-text-in-c

To detect file encoding, see Rick Strahl's blog:

http://www.west-wind.com/weblog/posts/2007/Nov/28/Detecting-Text-Encoding-for-StreamReader

static string IG.Lib.UtilSystem.GetWorkspaceDirectoryPath ( )
inlinestatic

Returns the workspace directory, which is primarily located through the environment variable contained in WorkspaceDirectoryEnvironmentVar (usually named WORKSPACE).

If the workspace directory can not be located then nulll is returned.

Workspace directory is base directory for code development.

static string IG.Lib.UtilSystem.GetWorkspacePath ( string  relativePath)
inlinestatic

Returns a complete path of a file or directory specified by a relative path to the workspace directory, or null if the workspace directory can not be located.

The workspace directory is obtained by calling the GetWorkspaceDirectoryPath method.

Parameters
relativePathPath of the file or directory relative to the workspace directory.

If this argument represents an absolute path then the argument itself is returned.

Returns
static string IG.Lib.UtilSystem.GetWorkspaceProjectsDirectoryPath ( )
inlinestatic

Returns the workspace projects directory, which is primarily located through the workspace directory (returned by the GetWorkspaceDirectoryPath method) as a directory located in the same directory and named WorkspaceProjectsDirName.

Workspace projects directory is base directory for various project data.

Referenced by IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvReadDefinitionAndData(), and IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvWriteDefinitionAndData().

static string IG.Lib.UtilSystem.GetWorkspaceProjectsPath ( string  relativePath)
inlinestatic

Returns a complete path of a file or directory specified by a relative path to the workspace projects directory, or null if the workspace projects directory can not be located.

The workspace projects directory is obtained by calling the GetWorkspaceDirectoryPath method.

Parameters
relativePathPath of the file or directory relative to the workspace projects directory.

If this argument represents an absolute path then the argument itself is returned.

Returns
static string IG.Lib.UtilSystem.GetRepairedDirectoryPath ( string  directoryPath)
inlinestaticprivate

Repairs the specified directory path, if applicable, and returns the repaired directory path.

If the specified path ends with directory separator then the last character is removed.

Parameters
directoryPathDirectory path to be repaired.
Returns
The repaired directory path, or the original string if no reparations were necessary.
static void IG.Lib.UtilSystem.RepairDirectoryPath ( ref string  directoryPath)
inlinestaticprivate

Repairs the specified directory path, if applicable.

If the specified path ends with directory separator then the last character is removed.

Parameters
directoryPathDirectory path to be repaired. Eventually repaired path is stored back to this variable.
static string IG.Lib.UtilSystem.GetStandardizedDirectoryPath ( string  directoryPath)
inlinestatic

Returns the specified directory path in standard form (absolute path, system's path separator, ended with path separator).

This method should always result in the same string for the same directory (regardles of the original form), therefore it is useful e.g. for naming a mutex used for locking access to a directory.

Parameters
directoryPathPath to the directory, which can be specified in any acceptale form.
Returns
Standard form of the specified directory path: absolute path, with system's path separators, ending with path separator.
static void IG.Lib.UtilSystem.StandardizeDirectoryPath ( ref string  directoryPath)
inlinestatic

Converts the specified path to standard form (absolute path, system's path separator, ended with path separator).

This method should always result in the same string for the same directory (regardles of the original form), therefore it is useful e.g. for naming a mutex used for locking access to a directory.

Parameters
directoryPathPath to the directory, which can be specified in any acceptale form.

Result of this method is directory path that DOES NOT END WITH DIRECTORY SEPARATOR.

If the original path string on Windows OS is "d:" and the current directory is on the d: drive, then the result will be "d:" and not the current directory (this would be returned by the Path.GetFullPath).

Referenced by IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvReadDefinitionAndData(), IG.Script.ScriptAppBase.DataStructuresFunctionTestCsvWriteDefinitionAndData(), IG.Lib.ArrayDto< ElementType, ElementBaseType, ElementDtoType >.ExampleVectorArray(), and IG.Lib.ListDto< ElementType, ElementBaseType, ElementDtoType >.ExampleVectorArray().

static void IG.Lib.UtilSystem.SetCurrentDirectory ( string  directoryPath)
inlinestatic

Changes directory to the specified directory.

This method overcomes problems with the fact that calling Directory.SetCurrentDirectory e.g. on "d:" (on Windows OS) when current directory is on the disk d: will not change the current directory (a backslash must be added to do so).

Parameters
directoryPathPath of the directory specified, can be a relaitve path.
static string IG.Lib.UtilSystem.GetRelativePath ( string  fromPath,
string  toPath 
)
inlinestatic

Calculates and returns relativa path from one path to another. WARNING: First path (with respect to this relative path is calculated) must be a directory path!

Parameters
fromPathPath of the directory with respect to which the full path is calculated. It must be a directory path, file paths are not good.
toPathPath for which relative path is calculated.
Returns
Relative path of the second argument with respect to the first argument.

Referenced by IG.Num.SimKosecFileManagerBase.RunSimulator(), and IG.Num.NeuralApproximatorBase.SaveJson().

static void IG.Lib.UtilSystem.ExampleRelativePath ( )
inlinestatic

Tests calculation

static void IG.Lib.UtilSystem.CopyDirectory ( string  sourceDirectoryPath,
string  targetDirectoryPath 
)
inlinestatic

Recursively copies contents of the source directory to the target directory.

Parameters
sourceDirectoryPathPath to the source directory.
targetDirectoryPathPath to the target directory.
static void IG.Lib.UtilSystem.CopyRecursive ( DirectoryInfo  source,
DirectoryInfo  target 
)
inlinestatic

Recursively copies contents of the source directory to the target directory.

Parameters
sourceSource directory.
targetTarget directory.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.CopyDirectorySafe ( string  sourceDirectoryPath,
string  targetDirectoryPath,
out int  numErrors,
out string  errorsString 
)
inlinestatic

Recursively copies contents of the source directory to the target directory.

Fail safe variant, does not throw exceptions and does not break execution when any individual basic operation fails.

Parameters
sourceDirectoryPathPath to the source directory.
targetDirectoryPathPath to the target directory.
numErrorsVariable where number of exceptions cathced during the call is written.
errorsStringString variable where information about all errors that occurred during operation is stored.

This is a safe variant of the method. Basic operations are embedded in try/catch blocks. If any individual basic operation fails (such as copying a single file or creating a target subdirectory) then copying of the remaining directory structure is not interrupted.

It should be well considered whether this variant or the plain variant (which fails and throws exception when an individual operation fails) should be used. Problem with this version is that it does not throw wxception if a part of directory structure could not be copied, so the caller will not know that. Use of this variant could be beneficial when it is likely that copying of some special parts (such as hidden or system files) is likely to fail but this is not relefant for function of the copied directory.

If Util.OutputLevel>0 then all errors are reporter on console.

References IG.Lib.Util.OutputLevel.

static void IG.Lib.UtilSystem.CopyRecursiveSafe ( DirectoryInfo  source,
DirectoryInfo  target,
ref int  numErrors,
ref string  errorsString 
)
inlinestatic

Recursively copies contents of the source directory to the target directory.

Fail safe variant, does not throw exceptions and does not break execution when any individual basic operation fails.

Parameters
sourceSource directory.
targetTarget directory.
numErrorsVariable where number of exceptions cathced during the call is written. Value of the variable increments for each exception catched.
errorsStringString variable where information about all errors that occurred during operation is stored. For each exception catched, a short error report is appended to its value.

This is a safe variant of the method. Basic operations are embedded in try/catch blocks. If any individual basic operation fails (such as copying a single file or creating a target subdirectory) then copying of the remaining directory structure is not interrupted.

It should be well considered whether this variant or the plain variant (which fails and throws exception when an individual operation fails) should be used. Problem with this version is that it does not throw wxception if a part of directory structure could not be copied, so the caller will not know that. Use of this variant could be beneficial when it is likely that copying of some special parts (such as hidden or system files) is likely to fail but this is not relefant for function of the copied directory.

If Util.OutputLevel>0 then all errors are reporter on console.

References IG.Lib.Util.OutputLevel.

static string IG.Lib.UtilSystem.CreateTestdirectoryStructure ( string  baseDirPath,
string  rootDirName 
)
inlinestatic

Creates a test directory structure for testing operatios such as recursive copying. Returns path of the created directory structure, or null if something is wrong.

Parameters
baseDirPathPath of the base directory within which the structure is created.
rootDirNameName of the root directoy of the created directory structure.
Returns
Path of the root directory of the created test directory structure, or null if the directory structure could not be created for some reason.
static void IG.Lib.UtilSystem.ExampleCopyDir ( )
inlinestatic

Examp

Parameters
sourceDirPath
targetDirPath

References IG.Lib.Util.OutputLevel, IG.Lib.StopWatch.Start(), IG.Lib.StopWatch.Stop(), and IG.Lib.StopWatch.Time.

static void IG.Lib.UtilSystem.SaveBinary< ObjectType > ( ObjectType  objectToSave,
string  fileName 
)
inlinestatic

Save the specified serialized object in binary form to the specified file.

Parameters
objectToSaveObject to be saved.
fileNameFile name to save the object into.
Template Parameters
ObjectTypeType of the object to be saved.

The object is saved using .NET serialization (binary formatter is used).

static void IG.Lib.UtilSystem.SaveBinary< ObjectType > ( ObjectType  objectToSave,
Stream  stream 
)
inlinestatic

Save the specified serialized object in binary form to the specified stream.

Parameters
objectToSaveObject to be saved.
streamStream to save the object into.
Template Parameters
ObjectTypeType of the object to be saved.

The object is saved using .NET serialization (binary formatter is used).

static ObjectType IG.Lib.UtilSystem.LoadBinary< ObjectType > ( string  fileName)
inlinestatic

Loads the from specified file.

Parameters
fileNameFile name to load network from.
Returns
Returns instance of Network class with all properties initialized from file.
Template Parameters
ObjectTypeType of the object to be saved.

Neural network is loaded from file using .NET serialization (binary formater is used).

static ObjectType IG.Lib.UtilSystem.LoadBinary< ObjectType > ( Stream  stream)
inlinestatic

Load network from specified file.

Parameters
streamStream to load network from.
Returns
Returns instance of ObjectType class with all properties initialized from file.
Template Parameters
ObjectTypeType of the object to be saved.

Neural network is loaded from file using .NET serialization (binary formater is used).

static void IG.Lib.UtilSystem.SaveBinary ( object  objectToSave,
string  fileName 
)
inlinestatic

Save the specified serialized object in binary form to the specified file.

Parameters
objectToSaveObject to be saved.
fileNameFile name to save the object into.

The object is saved using .NET serialization (binary formatter is used).

Referenced by IG.Num.SampledDataSet.SaveBinary().

static void IG.Lib.UtilSystem.SaveBinary ( object  objectToSave,
Stream  stream 
)
inlinestatic

Save the specified serialized object in binary form to the specified stream.

Parameters
objectToSaveObject to be saved.
streamStream to save the object into.

The object is saved using .NET serialization (binary formatter is used).

static object IG.Lib.UtilSystem.LoadBinary ( string  fileName)
inlinestatic

Loads the from specified file.

Parameters
fileNameFile name to load network from.
Returns
Returns instance of Network class with all properties initialized from file.

Neural network is loaded from file using .NET serialization (binary formater is used).

Referenced by IG.Num.SampledDataSet.LoadBinary().

static object IG.Lib.UtilSystem.LoadBinary ( Stream  stream)
inlinestatic

Load network from specified file.

Parameters
streamStream to load network from.
Returns
Returns instance of Network class with all properties initialized from file.

Neural network is loaded from file using .NET serialization (binary formater is used).

Member Data Documentation

string IG.Lib.UtilSystem._userName = null
staticprivate
string IG.Lib.UtilSystem._userNameLowerCase = null
staticprivate
bool IG.Lib.UtilSystem._isOsDetected = false
staticprivate
bool IG.Lib.UtilSystem._isWindowsOs = false
staticprivate
bool IG.Lib.UtilSystem._isLinuxOs = false
staticprivate
bool IG.Lib.UtilSystem._isMacOs = false
staticprivate
volatile Assembly IG.Lib.UtilSystem._executingAssembly = null
staticprivate
volatile Assembly IG.Lib.UtilSystem._iglibAssembly = null
staticprivate
volatile Assembly [] IG.Lib.UtilSystem._referencedAssembliesDirectWithoutGac
staticprivate

Assemblies directly referenced by the current executale assembly. Calculated only once, lazy evaluation.

volatile Assembly [] IG.Lib.UtilSystem._referencedAssembliesRecursiveWithoutGac
staticprivate

Assemblies directly or indirectly referenced by the current executale assembly. Calculated only once, lazy evaluation.

volatile Assembly [] IG.Lib.UtilSystem._referencedAssembliesDirect
staticprivate

Assemblies directly referenced by the current executale assembly. Assemblies from global assembly cache are also included. Calculated only once, lazy evaluation.

volatile Assembly [] IG.Lib.UtilSystem._referencedAssembliesRecursive
staticprivate

Assemblies directly or indirectly referenced by the current executale assembly. Calculated only once, lazy evaluation.

Dictionary<string, Assembly> IG.Lib.UtilSystem._dependentAssemblyList
staticprivate
List<MissingAssembly> IG.Lib.UtilSystem._missingAssemblyList
staticprivate
bool IG.Lib.UtilSystem._dynamicThreadPriority = true
staticprivate
ThreadPriority IG.Lib.UtilSystem._threadPriority = ProcessToThreadPriority(Process.GetCurrentProcess().PriorityClass)
staticprivate
ThreadStart IG.Lib.UtilSystem._onThreadPriorityChange
staticprivate
const int IG.Lib.UtilSystem.MinNumCheckedIsTextFile = 100
private

Minimal number of checked bytes when determining whether a file is a text file.

const string IG.Lib.UtilSystem.WorkspaceDirectoryEnvironmentVar = "WORKSPACE"
private
const string IG.Lib.UtilSystem.WorkspaceProjectsDirectoryEnvironmentVar = "WORKSPACEPROJECTS"
private
const string IG.Lib.UtilSystem.WorkspaceProjectsDirName = "workspaceprojects"
private

Property Documentation

bool IG.Lib.UtilSystem.UserNameNotRetrieved
staticgetprivate

Whether user name has already been retrieved ans stored.

string IG.Lib.UtilSystem.UserName
staticget

Gets name of the current user.

Referenced by IG.Script.ScriptAppBase.SystemFunctionUserName().

string IG.Lib.UtilSystem.UserNameLowerCase
staticget

Gets name of the current user with all letters converted to lower case (in order to avoid ambiguities).

bool IG.Lib.UtilSystem.IsUserIgor
staticget

Returns true if the current user logged on the computer is Igor, or false otherwise.

bool IG.Lib.UtilSystem.IsUserTadej
staticget

Returns true if the current user logged on the computer is Tadej, or false otherwise.

bool IG.Lib.UtilSystem.IsWindowsOs
staticget

Returns true if the operating system is a Windows variant, false otherwise.

Referenced by IG.Lib.UtilSystem.ExecuteSystemCommand().

bool IG.Lib.UtilSystem.IsLinuxOs
staticget

Returns true if the operating system is a Linux variant, false otherwise.

bool IG.Lib.UtilSystem.IsMaxOs
staticget

Returns true if the operating system is a MacOs variant, false otherwise.

Assembly IG.Lib.UtilSystem.ExecutableAssembly
staticget

Returns assembly of the current executable, obtained by Assembly.GetEntryAssembly().

Assembly IG.Lib.UtilSystem.IglibAssembly
staticget

Returns assembly of the current executable, obtained by Assembly.GetEntryAssembly().

bool IG.Lib.UtilSystem.DynamicThreadPriority
staticgetset

Whether the ThreadPriority property should be obtained dynamically from the process priority each time its getter is called, or the value that is set should be used until it is not changed explicitly.

Default is true.

By setting the ThreadPriority property, this flag is automatically set to false.

ThreadPriority IG.Lib.UtilSystem.ThreadPriority
staticgetset

Global thread priority.

Gets or sets priority that should be given to the newly created threads that use this instrument.

If the DynamicThreadPriority property is set to true then each time the getter is called, the value of the property will be obtained anew from the process priority class. Otherwise, the value that has been set last is used.

Setting the property value will automatically set the DynamicThreadPriority to false.

Referenced by IG.Lib.CommandLineApplicationInterpreter.CmdSetPriority(), IG.Num.ParallelJobDispatcherBase< JobContainerType >.UpdateThreadPriorityFromSystem(), and IG.Lib.CommandLineApplicationInterpreter.UpdateThreadPriorityFromSystem().


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