]>
git.saurik.com Git - wxWidgets.git/blob - interface/wx/platinfo.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     interface of wxPlatformInfo 
   4 // Author:      wxWidgets team 
   6 // Licence:     wxWindows license 
   7 ///////////////////////////////////////////////////////////////////////////// 
  11     The following are the operating systems which are recognized by wxWidgets and 
  12     whose version can be detected at run-time. 
  14     The values of the constants are chosen so that they can be combined as flags; 
  15     this allows to check for operating system families like e.g. wxOS_MAC and wxOS_UNIX. 
  17 enum wxOperatingSystemId
 
  19     wxOS_UNKNOWN 
= 0,                 //!< returned on error 
  21     wxOS_MAC_OS         
= 1 << 0,     //!< Apple Mac OS 8/9/X with Mac paths 
  22     wxOS_MAC_OSX_DARWIN 
= 1 << 1,     //!< Apple Mac OS X with Unix paths 
  23     wxOS_MAC 
= wxOS_MAC_OS
|wxOS_MAC_OSX_DARWIN
, 
  25     wxOS_WINDOWS_9X     
= 1 << 2,     //!< Windows 9x family (95/98/ME) 
  26     wxOS_WINDOWS_NT     
= 1 << 3,     //!< Windows NT family (NT/2000/XP) 
  27     wxOS_WINDOWS_MICRO  
= 1 << 4,     //!< MicroWindows 
  28     wxOS_WINDOWS_CE     
= 1 << 5,     //!< Windows CE (Window Mobile) 
  29     wxOS_WINDOWS 
= wxOS_WINDOWS_9X       
| 
  34     wxOS_UNIX_LINUX     
= 1 << 6,       //!< Linux 
  35     wxOS_UNIX_FREEBSD   
= 1 << 7,       //!< FreeBSD 
  36     wxOS_UNIX_OPENBSD   
= 1 << 8,       //!< OpenBSD 
  37     wxOS_UNIX_NETBSD    
= 1 << 9,       //!< NetBSD 
  38     wxOS_UNIX_SOLARIS   
= 1 << 10,      //!< SunOS 
  39     wxOS_UNIX_AIX       
= 1 << 11,      //!< AIX 
  40     wxOS_UNIX_HPUX      
= 1 << 12,      //!< HP/UX 
  41     wxOS_UNIX 
= wxOS_UNIX_LINUX     
| 
  49     wxOS_DOS            
= 1 << 15,      //!< Microsoft DOS 
  50     wxOS_OS2            
= 1 << 16       //!< OS/2 
  54     The list of wxWidgets ports. 
  56     Some of them can be used with more than a single (native) toolkit; 
  57     e.g. wxWinCE port sources can be used with smartphones, pocket PCs 
  58     and handheld devices SDKs. 
  62     wxPORT_UNKNOWN  
= 0,            //!< returned on error 
  64     wxPORT_BASE     
= 1 << 0,       //!< wxBase, no native toolkit used 
  66     wxPORT_MSW      
= 1 << 1,       //!< wxMSW, native toolkit is Windows API 
  67     wxPORT_MOTIF    
= 1 << 2,       //!< wxMotif, using [Open]Motif or Lesstif 
  68     wxPORT_GTK      
= 1 << 3,       //!< wxGTK, using GTK+ 1.x, 2.x, GPE or Maemo 
  69     wxPORT_MGL      
= 1 << 4,       //!< wxMGL, using wxUniversal 
  70     wxPORT_X11      
= 1 << 5,       //!< wxX11, using wxUniversal 
  71     wxPORT_OS2      
= 1 << 6,       //!< wxOS2, using OS/2 Presentation Manager 
  72     wxPORT_MAC      
= 1 << 7,       //!< wxMac, using Carbon or Classic Mac API 
  73     wxPORT_COCOA    
= 1 << 8,       //!< wxCocoa, using Cocoa NextStep/Mac API 
  74     wxPORT_WINCE    
= 1 << 9,       //!< wxWinCE, toolkit is WinCE SDK API 
  75     wxPORT_PALMOS   
= 1 << 10,      //!< wxPalmOS, toolkit is PalmOS API 
  76     wxPORT_DFB      
= 1 << 11       //!< wxDFB, using wxUniversal 
  81     The architecture of the operating system 
  82     (regardless of the build environment of wxWidgets library - see ::wxIsPlatform64bit() 
  83     documentation for more info). 
  87     wxARCH_INVALID 
= -1,        //!< returned on error 
  89     wxARCH_32
,                  //!< 32 bit 
  97     The endian-ness of the machine. 
 101     wxENDIAN_INVALID 
= -1,      //!< returned on error 
 103     wxENDIAN_BIG
,               //!< 4321 
 104     wxENDIAN_LITTLE
,            //!< 1234 
 105     wxENDIAN_PDP
,               //!< 3412 
 112     @class wxPlatformInfo 
 114     This class holds informations about the operating system and the toolkit that 
 115     the application is running under and some basic architecture info of the machine 
 121     @see ::wxGetOsVersion(), wxIsPlatformLittleEndian(), wxIsPlatform64Bit(), 
 124 class wxPlatformInfo 
: public wxObject
 
 129         Initializes the instance with the values corresponding to the currently 
 132         This is a fast operation because it only requires to copy the values 
 133         internally cached for the currently running platform. 
 140         Initializes the object using given values. 
 142     wxPlatformInfo(wxPortId pid 
= wxPORT_UNKNOWN
, 
 145                    wxOperatingSystemId id 
= wxOS_UNKNOWN
, 
 148                    wxArchitecture arch 
= wxARCH_INVALID
, 
 149                    wxEndianness endian 
= wxENDIAN_INVALID
); 
 153         Returns @true if the OS version is at least @c major.minor. 
 155         @see GetOSMajorVersion(), GetOSMinorVersion(), 
 156              CheckToolkitVersion() 
 158     bool CheckOSVersion(int major
, int minor
) const; 
 161         Returns @true if the toolkit version is at least @c major.minor. 
 163         @see GetToolkitMajorVersion(), 
 164              GetToolkitMinorVersion(), CheckOSVersion() 
 166     bool CheckToolkitVersion(int major
, int minor
) const; 
 169         Returns the global wxPlatformInfo object, initialized with the values 
 170         for the currently running platform. 
 172     static const wxPlatformInfo 
Get(); 
 175         Converts the given string to a wxArchitecture enum value or to 
 176         @c wxARCH_INVALID if the given string is not a valid architecture string 
 177         (i.e. does not contain nor @c 32 nor @c 64 strings). 
 179     static wxArchitecture 
GetArch(const wxString
& arch
); 
 182         Returns the name for the given wxArchitecture enumeration value. 
 184     static wxString 
GetArchName(wxArchitecture arch
) const; 
 187         Returns the name for the architecture of this wxPlatformInfo instance. 
 189     wxString 
GetArchName() const; 
 192         Returns the architecture ID of this wxPlatformInfo instance. 
 194     wxArchitecture 
GetArchitecture() const; 
 197         Converts the given string to a wxEndianness enum value or to 
 198         @c wxENDIAN_INVALID if the given string is not a valid endianness 
 199         string (i.e. does not contain nor little nor big strings). 
 201     static wxEndianness 
GetEndianness(const wxString
& end
) const; 
 204         Returns the endianness ID of this wxPlatformInfo instance. 
 206     wxEndianness 
GetEndianness() const; 
 209         Returns name for the given wxEndianness enumeration value. 
 211     static wxString 
GetEndiannessName(wxEndianness end
) const; 
 214         Returns the name for the endianness of this wxPlatformInfo instance. 
 216     wxString 
GetEndiannessName() const; 
 219         Returns the run-time major version of the OS associated with this 
 220         wxPlatformInfo instance. 
 222         @see ::wxGetOsVersion(), CheckOSVersion() 
 224     int GetOSMajorVersion() const; 
 227         Returns the run-time minor version of the OS associated with this 
 228         wxPlatformInfo instance. 
 230         @see ::wxGetOsVersion(), CheckOSVersion() 
 232     int GetOSMinorVersion() const; 
 235         Returns the operating system family name for the given wxOperatingSystemId 
 236         enumeration value: @c Unix for @c wxOS_UNIX, @c Macintosh for @c wxOS_MAC, 
 237         @c Windows for @c wxOS_WINDOWS, @c DOS for @c wxOS_DOS, @c OS/2 for @c wxOS_OS2. 
 239     static wxString 
GetOperatingSystemFamilyName(wxOperatingSystemId os
) const; 
 242         Returns the operating system family name of the OS associated with this 
 243         wxPlatformInfo instance. 
 245     wxString 
GetOperatingSystemFamilyName() const; 
 248         Converts the given string to a wxOperatingSystemId enum value or to @c 
 249         wxOS_UNKNOWN if the given string is not a valid operating system name. 
 251     static wxOperatingSystemId 
GetOperatingSystemId(const wxString
& name
) const; 
 254         Returns the operating system ID of this wxPlatformInfo instance. 
 256     wxOperatingSystemId 
GetOperatingSystemId() const; 
 259         Returns the name for the given operating system ID value. 
 261         This can be a long name (e.g. <tt>Microsoft Windows NT</tt>); 
 262         use GetOperatingSystemFamilyName() to retrieve a short, generic name. 
 264     static wxString 
GetOperatingSystemIdName(wxOperatingSystemId os
) const; 
 267         Returns the operating system name of the OS associated with this wxPlatformInfo 
 270     wxString 
GetOperatingSystemIdName() const; 
 274         Converts the given string to a wxWidgets port ID value or to @c wxPORT_UNKNOWN 
 275         if the given string does not match any of the wxWidgets canonical name ports 
 276         ("wxGTK", "wxMSW", etc) nor any of the short wxWidgets name ports ("gtk", "msw", etc). 
 278     static wxPortId 
GetPortId(const wxString
& portname
) const; 
 281         Returns the wxWidgets port ID associated with this wxPlatformInfo instance. 
 283     wxPortId 
GetPortId() const; 
 286         Returns the name of the given wxWidgets port ID value. 
 287         The @a usingUniversal argument specifies whether the port is in its native 
 288         or wxUniversal variant. 
 290         The returned string always starts with the "wx" prefix and is a mixed-case string. 
 292     static wxString 
GetPortIdName(wxPortId port
, bool usingUniversal
) const; 
 295         Returns the name of the wxWidgets port ID associated with this wxPlatformInfo 
 298     wxString 
GetPortIdName() const; 
 301         Returns the short name of the given wxWidgets port ID value. 
 302         The @a usingUniversal argument specifies whether the port is in its native 
 303         or wxUniversal variant. 
 305         The returned string does not start with the "wx" prefix and is always lower case. 
 307     static wxString 
GetPortIdShortName(wxPortId port
, 
 308                                        bool usingUniversal
) const; 
 311         Returns the short name of the wxWidgets port ID associated with this 
 312         wxPlatformInfo instance. 
 314     wxString 
GetPortIdShortName() const; 
 317         Returns the run-time major version of the toolkit associated with this 
 318         wxPlatformInfo instance. 
 320         Note that if GetPortId() returns @c wxPORT_BASE, then this value is zero 
 321         (unless externally modified with SetToolkitVersion()); that is, no native 
 323         See wxAppTraits::GetToolkitVersion() for more info. 
 325         @see CheckToolkitVersion() 
 327     int GetToolkitMajorVersion() const; 
 330         Returns the run-time minor version of the toolkit associated with this 
 331         wxPlatformInfo instance. 
 333         Note that if GetPortId() returns @c wxPORT_BASE, then this value is zero 
 334         (unless externally modified with SetToolkitVersion()); that is, no native 
 336         See wxAppTraits::GetToolkitVersion() for more info. 
 338         @see CheckToolkitVersion() 
 340     int GetToolkitMinorVersion() const; 
 343         Returns @true if this instance is fully initialized with valid values. 
 348         Returns @true if this wxPlatformInfo describes wxUniversal build. 
 350     bool IsUsingUniversalWidgets() const; 
 353         Sets the architecture enum value associated with this wxPlatformInfo instance. 
 355     void SetArchitecture(wxArchitecture n
); 
 358         Sets the endianness enum value associated with this wxPlatformInfo instance. 
 360     void SetEndianness(wxEndianness n
); 
 363         Sets the version of the operating system associated with this wxPlatformInfo 
 366     void SetOSVersion(int major
, int minor
); 
 369         Sets the operating system associated with this wxPlatformInfo instance. 
 371     void SetOperatingSystemId(wxOperatingSystemId n
); 
 374         Sets the wxWidgets port ID associated with this wxPlatformInfo instance. 
 376     void SetPortId(wxPortId n
); 
 379         Sets the version of the toolkit associated with this wxPlatformInfo instance. 
 381     void SetToolkitVersion(int major
, int minor
); 
 384         Inequality operator. Tests all class' internal variables. 
 386     bool operator!=(const wxPlatformInfo
& t
) const; 
 389         Equality operator. Tests all class' internal variables. 
 391     bool operator==(const wxPlatformInfo
& t
) const;