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 values listed in the following table.

Node Class Constant Description
Architecture_32Big_Endian 32‑bit big‑endian internal byte ordering and alignment
Architecture_32Little_Endian 32‑bit little‑endian internal byte ordering and alignment
Architecture_64Big_Endian 64‑bit big‑endian internal byte ordering and alignment
Architecture_64Little_Endian 64‑bit little‑endian internal byte ordering and alignment
Architecture_Gui Binary data passed in the byte order of the GUI system (currently Windows 32‑bit little‑endian)
platformId Integer Operating system of the server node of the receiver object. The operating system returned by this method can be one of the values listed in the following table.
   
Node Class Constant Description
OSWindowsEnterprise

Microsoft Windows 11, Windows 10, Windows Server 2022, Windows Server 2019, Windows Server 2016, or Windows Server 2012

OSWindowsHome Microsoft Windows 98 (not a supported operating system)
OSWindowsMobile Microsoft Windows CE (not a supported operating system)
buildArchitecture String Details about the platform and build type for which the binaries where 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