struct CCL::ISystemInformation

Overview

#include <isysteminfo.h>

struct ISystemInformation: public CCL::IUnknown
{
    // methods

    virtual void CCL_API setApplicationName (
        StringRef companyName,
        StringRef productName,
        int productVersion = 0
    ) = 0;

    virtual tbool CCL_API setLocation (System::FolderType type, UrlRef url) = 0;
    virtual tbool CCL_API getLocation (IUrl& url, System::FolderType type) const = 0;
    virtual tbool CCL_API resolveLocation (IUrl& resolved, UrlRef url) const = 0;
    virtual void CCL_API getLocalTime (DateTime& dateTime) const = 0;

    virtual void CCL_API convertLocalTimeToUTC (
        DateTime& utc,
        const DateTime& localTime
    ) const = 0;

    virtual void CCL_API convertUTCToLocalTime (
        DateTime& localTime,
        const DateTime& utc
    ) const = 0;

    virtual int64 CCL_API getUnixTime () const = 0;
    virtual void CCL_API convertUnixTimeToUTC (DateTime& utc, int64 unixTime) const = 0;
    virtual int64 CCL_API convertUTCToUnixTime (const DateTime& utc) const = 0;
    virtual int64 CCL_API getSecureComputerTime () const = 0;
    virtual void CCL_API getComputerName (String& name, int flags = 0) const = 0;
    virtual void CCL_API getUserName (String& name, int flags = 0) const = 0;
    virtual int CCL_API getNumberOfCPUs () const = 0;
    virtual int CCL_API getNumberOfCores () const = 0;
    virtual void CCL_API getMemoryInfo (System::MemoryInfo& memoryInfo) const = 0;
    virtual void CCL_API getComputerInfo (IAttributeList& attributes, int flags = 0) const = 0;
    virtual tbool CCL_API isProcessSandboxed () const = 0;
    virtual IAsyncOperation*CCL_API searchApplications (StringRef filter) const = 0;
    virtual void CCL_API terminate () = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Methods

virtual void CCL_API setApplicationName (
    StringRef companyName,
    StringRef productName,
    int productVersion = 0
) = 0

Set company and product folder names of main application.

virtual tbool CCL_API setLocation (System::FolderType type, UrlRef url) = 0

Set writable location.

virtual tbool CCL_API getLocation (IUrl& url, System::FolderType type) const = 0

Get real file system location on target computer for symbolic folder type.

virtual tbool CCL_API resolveLocation (IUrl& resolved, UrlRef url) const = 0

Resolve symbolic names in given location.

virtual void CCL_API getLocalTime (DateTime& dateTime) const = 0

Get current local time.

virtual void CCL_API convertLocalTimeToUTC (
    DateTime& utc,
    const DateTime& localTime
) const = 0

Convert local time to UTC (Coordinated Universal Time).

virtual void CCL_API convertUTCToLocalTime (
    DateTime& localTime,
    const DateTime& utc
) const = 0

Convert UTC (Coordinated Universal Time) to local time.

virtual int64 CCL_API getUnixTime () const = 0

Get Unix epoch time (seconds since January 1 1970 00:00 UTC).

virtual void CCL_API convertUnixTimeToUTC (DateTime& utc, int64 unixTime) const = 0

Convert Unix epoch time to UTC (Coordinated Universal Time).

virtual int64 CCL_API convertUTCToUnixTime (const DateTime& utc) const = 0

Convert UTC (Coordinated Universal Time) to Unix epoch time.

virtual int64 CCL_API getSecureComputerTime () const = 0

Get Unix epoch time (seconds since January 1 1970 00:00 UTC) from a secure source.

virtual void CCL_API getComputerName (String& name, int flags = 0) const = 0

Get name of local computer.

virtual void CCL_API getUserName (String& name, int flags = 0) const = 0

Get user name of calling thread.

virtual int CCL_API getNumberOfCPUs () const = 0

Get the number of active CPUs in the system.

virtual int CCL_API getNumberOfCores () const = 0

Get the number of active CPU cores in the system.

virtual void CCL_API getMemoryInfo (System::MemoryInfo& memoryInfo) const = 0

Get memory information.

virtual void CCL_API getComputerInfo (IAttributeList& attributes, int flags = 0) const = 0

Get computer information from underlying OS.

virtual tbool CCL_API isProcessSandboxed () const = 0

Determine if the application runs in a sandbox where certain restrictions to system objects may apply.

virtual IAsyncOperation*CCL_API searchApplications (StringRef filter) const = 0

Search installed applications.

Filter is a comma or semicolon separated list of search tokens. The tokens are not case sensitive Result of async operation is IUnknownList with IAttributeList objects. Attributes : kPackageName, kPackageVersion, kPackageVendor, kPackageExecutable

virtual void CCL_API terminate () = 0

Cleanup.