getOSDetails

getOSDetails(jdo: JadeDynamicObject input);

The getOSDetails method of the Process class populates a JadeDynamicObject object with information about the operating system and architecture of the receiving process.

In Jade thin client mode, this method returns the operating system details of the presentation client. (To return the operating system details of the application server workstation that is running the Jade logic, use the getOSDetails method of the Node class.)

The method enables you to determine the various usages of Jade for a specific environment; for example, the type of binaries required for thin client downloads (for example, x64‑msoft‑win64‑ansi).

The properties that are returned in the dynamic object specified in the jdo parameter are listed in the following table.

Property Type Description
version String Specific version of the operating system.
architecture Integer

Internal byte ordering and alignment information relevant to Jade release. It is used by the setByteOrderLocal and setByteOrderRemote methods of the Character, Date, Decimal, Integer, Integer64, Real, Time, and TimeStamp primitive types.

The architecture can be one of the following values.

  • Architecture_32Big_Endian

  • Architecture_32Little_Endian

  • Architecture_64Big_Endian

  • Architecture_64Little_Endian

  • Architecture_Gui

For more details, see the Node Class Constants table.

platformId Integer Operating system of the server node of the receiver object.

The operating system returned by this method can be one of the following values.

  • OSWindowsEnterprise

  • OSWindowsHome

  • OSWindowsMobile

For more details, see the Node Class Constants table.

buildArchitecture String Details about the platform and build type for which the binaries were built (for example, x64‑msoft‑win64‑ansi). Can be used to determine the type of binaries required for thin client downloads.
currentBuildArchitectureList String Complete list of current buildArchitecture strings, separated by semicolons.
fullBuildArchitectureList String Complete list of past and current buildArchitecture strings, separated by semicolons.
isBigEndian Boolean Indicates if CPU for the node is running big‑endian (PowerPC can switch from big‑endian to little‑endian, and the reverse).
characterSize Integer 1 for ANSI, 2 for Unicode.
addressWidth Integer 32 indicates 32‑bit executing binaries, 64 indicates 64‑bit executing binaries.
osAddressWidth Integer 32 indicates a 32‑bit operating system, 64 indicates a 64‑bit operating system.
osVersionEnum Integer Internal unique number representing the operating system and hardware combination.
osVersionString String Description of the operating system in a readable format.

The calling process is responsible for creating and deleting the JadeDynamicObject instance.

The following example shows the use of the getOSDetails method.

vars
    jdoProcess : JadeDynamicObject;
    str, str2  : String;
    pos        : Integer;
begin
    create jdoProcess transient;
    process.getOSDetails(jdoProcess);
    str:=jdoProcess.getPropertyValue("currentBuildArchitectureList").String;
    pos := 1;
    while true do
        str2 := str.scanUntil(";", pos);
        write str2;
        if pos = null then
            break;
        endif;
        pos := pos + 1;
    endwhile;
epilog
    delete jdoProcess;
end;

The output from the method shown in the previous example is as follows.

i686-msoft-win32-ansi
i686-msoft-win32-unicode
armv4i-msoft-wince50-unicode
i686-msoft-x86emu-unicode
x64-msoft-win64-ansi
x64-msoft-win64-unicode
armv4i-msoft-wm60-unicode