gmSCOperatingSystemClass
The OperationgSystem Service Class
Section titled “The OperationgSystem Service Class”The service class OperatingSystem performs those operations that require direct access to the operating system that cannot implemented in a platform independent way. This implementation is provided for Windows platforms MSCPLAT. Other platforms would require their own version.
The method OperatingSystem_CopyFile
Section titled “The method OperatingSystem_CopyFile”Prototype
int OperatingSystem_CopyFile(char* SrcFile, char* DestFile);The OperatingSystem_CopyFile method does a file copy in as efficient a method as possible. If the destination file already exists, it will be overridden. Its parameters are as follows:
| Parameter | Description |
|---|---|
| SrcFile | Contains the name of the source file in null-terminated string form. |
| DestFile | Contains the name of the destination file in null-terminated form. |
If the copy succeeds, the return value is nonzero, else the return value is zero.
The method OperatingSystem_DeleteDirectory
Section titled “The method OperatingSystem_DeleteDirectory”Prototype
int OperatingSystem_DeleteDirectory(char* Directory);The OperatingSystem_DeleteDirectory method deletes a named directory. Its parameter is:
| Parameter | Description |
|---|---|
| Directory | Contains the name of the directory to be deleted in null-terminated string form. |
If the directory is successfully deleted, then a zero is returned. If the directory cannot be deleted, then a one is returned.
The method OperatingSystem_GetGuid
Section titled “The method OperatingSystem_GetGuid”Prototype
int OperatingSystem_GetGuid(char* guidStr,int length);The OperatingSystem_GetGuid method returns a created GUID string. A GUID is a Globally Unique Identifier, a unique 128-bit number that is used to identify a particular component, application, file, database entry, or user. This method uses the operating to create such an identifier in the commonly used string form. Each call to this method creates a new unique GUID. Its parameters are as follows:
| Parameter | Description |
|---|---|
| guidStr | Receives the GUID as obtained from the operating system. It is not null-terminated. |
| length | Specifies the length of guidStr. It is used to avoid overflow. No more than length characters will be copied into it. |
The method returns the length of the GUID string as returned.
The method OperatingSystem_GetFileInfo
Section titled “The method OperatingSystem_GetFileInfo”Prototype
int OperatingSystem_GetFileInfo(char* Filename,tOperatingSystem_FileInfo* FileInfo);The method OperatingSystem_GetFileInfo gets information about a specific file from the operating system. This information is as follows:
| Member | Description |
|---|---|
| FileName | Full name of file |
| Extension | Extension associated with file |
| LocalStart | Start of local name |
| TypeOfFile | The type of the file |
| DateModified | Date last modified |
| TimeModified | Time last modified |
| DateCreated | Date created |
| TimeCreated | Time created |
| DateAccessed | Date last accessed |
| TimeAccessed | Time last accessed |
| CurrentSize | Current size of file |
| Protection | Protection status |
| Mode | Mode of file |
The parameters of the method are as follows:
| Parameter | Description |
|---|---|
| Filename | Contains the name of the file in null-terminated form. |
| Fileinfo | Receives the information about the file as listed above. |
The method OperatingSystem_GetLibraryMethod
Section titled “The method OperatingSystem_GetLibraryMethod”Prototype
MethodHandle OperatingSystem_GetLibraryMethod(void* library,CONST char* methodName);The OperatingSystem_GetLibraryMethod method gets the execution handle to a method in a loaded a dynamic link library. Its parameters are as follows:
| Parameter | Description |
|---|---|
| library | Specifies the handle of the library containing the desired method obtained from the method OperatingSystem_LoadLibrary. |
| methodName | Contains the name of the method to be executed in null-terminated form. |
This method returns an execution handle to the method if all went well; else it returns a NULL.
The method OperatingSystem_GetTime
Section titled “The method OperatingSystem_GetTime”Prototype
int OperatingSystem_GetTime(void);The OperatingSystem_GetTime method returns the current time in milliseconds. It has no parameters.
The method OperatingSystem_GetProgramName
Section titled “The method OperatingSystem_GetProgramName”Prototype
void OperatingSystem_GetProgramName(char* name,int nName)The OperatingSystem_GetProgramName method obtains the name of the currently executing program. This name is typically used to determine the names of corresponding startup files. Its parameters are as follows:
| Parameter | Description |
|---|---|
| name | Receives the name of the executing program in null-terminated form. |
| nName | Specifies the size of the name return area and is used to avoid overflow. |
The method OperatingSystem_LoadLibrary
Section titled “The method OperatingSystem_LoadLibrary”Prototype
void* OperatingSystem_LoadLibrary(char* libName);The OperatingSystem_LoadLibrary method loads a dynamic link library and returns the handle to its information. Its parameter is:
| Parameter | Description |
|---|---|
| libName | Contains the name of the library to be loaded in null-terminated string form. |
This method returns an opaque handle to the loaded library information if all went well; else it returns a NULL.
The method OperatingSystem_MakeDirectory
Section titled “The method OperatingSystem_MakeDirectory”Prototype
int OperatingSystem_MakeDirectory(char* Directory);The OperatingSystem_MakeDirectory method makes a directory in the file system. Its parameter is:
| Parameter | Description |
|---|---|
| Directory | Contains the name of the directory to be created as a null-terminated string. |
If the directory is successfully created, then a zero is returned. If the directory cannot be created, then a one is returned.
The method OperatingSystem_ReadFileDirectory
Section titled “The method OperatingSystem_ReadFileDirectory”Prototype
int OperatingSystem_ReadFileDirectory(char* DirName,tOperatingSystem_FileInfo* FileInfo);The OperatingSystem_ReadFileDirectory method reads the file directory one entry at a time. It is used to obtain a listing of all files in a directory. The information about each file is stored in a tOperatingSystem_FileInfo structure whose members are as follows:
| Member | Description |
|---|---|
| FileName | Full name of file |
| Extension | Extension associated with file |
| LocalStart | Start of local name |
| TypeOfFile | The type of the file |
| DateModified | Date last modified |
| TimeModified | Time last modified |
| DateCreated | Date created |
| TimeCreated | Time created |
| DateAccessed | Date last accessed |
| TimeAccessed | Time last accessed |
| CurrentSize | Current size of file |
| Protection | Protection status |
| Mode | Mode of file |
| InternalInfo | Used internally |
The parameters of the method are as follows:
| Parameter | Description |
|---|---|
| DirName | Contains the name of the directory to be read on the initial call to this method. On subsequent calls this parameter is set to NULL. |
| FileInfo | Receives the tOperatingSystem_FileInfo member values for the current file. |
If information about a first or next file is being returned, then a zero is returned. If no more files are present, a one is returned.
The method OperatingSystem_UnloadLibrary
Section titled “The method OperatingSystem_UnloadLibrary”Prototype
void OperatingSystem_UnloadLibrary(void* library);The OperatingSystem_UnloadLibrary method unloads a dynamic link library. Its parameter is:
| Parameter | Description |
|---|---|
| library | Specifies the handle of the library to be unloaded as received from the method OperatingSystem_LoadLibrary. |