getOSDetails

getOSDetails(jdo: JadeDynamicObject input);

The getOSDetails method of the Node class populates a JadeDynamicObject object with information about the operating system and architecture of the receiver node.

This 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 10, Windows 8, Windows 7, Windows Server 2016, Windows Server 2012, or Windows Server 2008
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). This 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 first three properties (version, architecture, and platformId) are the same as the values returned by the getOSPlatform method.

The calling process is responsible for creating and deleting the JadeDynamicObject instance. The following example shows the use of the getOSDetails method.

vars
    jdo : JadeDynamicObject;
begin
    create jdo transient;
    node.getOSDetails(jdo);
    write jdo.display;
epilog
    delete jdo;
end;

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

---GetOSDetails(300)---children = JadeDynamicObjectArray/4194888.1.4194886.2.1 : 0
name = "GetOSDetails"
parent = *** <null> object reference ***
type = 300
version = 10.0
architecture = 3
platformId = 17
buildArchitecture = x64-msoft-win64-ansi
fullBuildArchitectureList = i686-msoft-win32-ansi;ppc-ibm-aix433-ansi;i686-suse-sles9-ansi;i686-redhat-rh9-ansi;i686-redhat-rhel3-ansi;i686-msoft-win32-unicode;i686-redhat-rhel3-unicode;i686-suse-sles9-unicode;armv4-msoft-wince42-unicode;i686-msoft-win32_6x-unicode;armv4-msoft-wince42_6x-unicode;armv4i-msoft-wince50_6x-unicode;armv4i-msoft-wince50-unicode;i686-msoft-x86emu-unicode;i686-suse-sles10-ansi;i686-suse-sles10-unicode;i686-redhat-rhel5-ansi;i686-redhat-rhel5-unicode;x64-msoft-win64-ansi;x64-msoft-win64-unicode;x86_64-suse-sles10-ansi;x86_64-suse-sles10-unicode;x86_64-redhat-rhel5-ansi;x86_64-redhat-rhel5-unicode;armv4i-msoft-wm60-unicode;i686-msoft-win32_VS2005-ansi;i686-msoft-win32_VS2005-unicode
currentBuildArchitectureList = 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
isBigEndian = false
characterSize = 1
addressWidth = 64
osAddressWidth = 64
osVersionEnum = 80
osVersionString = Windows 10 Enterprise, 64-bit Edition