X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/449090b54d2e74bfd28c217bab25d11764ca38cc..0f5378d414cb68caaa535199c1af12dec1720c3d:/src/common/platinfo.cpp?ds=sidebyside diff --git a/src/common/platinfo.cpp b/src/common/platinfo.cpp index 1d8d99e22f..2df232b6dc 100644 --- a/src/common/platinfo.cpp +++ b/src/common/platinfo.cpp @@ -6,7 +6,7 @@ // Created: 07.07.2006 (based on wxToolkitInfo) // RCS-ID: $Id$ // Copyright: (c) 2006 Francesco Montorsi -// License: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -45,65 +45,66 @@ static wxPlatformInfo gs_platInfo(wxPORT_UNKNOWN); static const wxChar* const wxOperatingSystemIdNames[] = { - _T("Apple Mac OS"), - _T("Apple Mac OS X"), + wxT("Apple Mac OS"), + wxT("Apple Mac OS X"), - _T("Microsoft Windows 9X"), - _T("Microsoft Windows NT"), - _T("Microsoft Windows Micro"), - _T("Microsoft Windows CE"), + wxT("Microsoft Windows 9X"), + wxT("Microsoft Windows NT"), + wxT("Microsoft Windows Micro"), + wxT("Microsoft Windows CE"), - _T("Linux"), - _T("FreeBSD"), - _T("OpenBSD"), - _T("NetBSD"), + wxT("Linux"), + wxT("FreeBSD"), + wxT("OpenBSD"), + wxT("NetBSD"), - _T("SunOS"), - _T("AIX"), - _T("HPUX"), + wxT("SunOS"), + wxT("AIX"), + wxT("HPUX"), - _T("DOS"), - _T("OS/2") + wxT("Other Unix"), + wxT("Other Unix"), + + wxT("DOS"), + wxT("OS/2"), }; static const wxChar* const wxPortIdNames[] = { - _T("wxBase"), - _T("wxMSW"), - _T("wxMotif"), - _T("wxGTK"), - _T("wxMGL"), - _T("wxX11"), - _T("wxOS2"), - _T("wxMac"), - _T("wxCocoa"), - _T("wxWinCE"), - _T("wxPalmOS"), - _T("wxDFB") + wxT("wxBase"), + wxT("wxMSW"), + wxT("wxMotif"), + wxT("wxGTK"), + wxT("wxDFB"), + wxT("wxX11"), + wxT("wxOS2"), + wxT("wxMac"), + wxT("wxCocoa"), + wxT("wxWinCE"), }; static const wxChar* const wxArchitectureNames[] = { - _T("32 bit"), - _T("64 bit") + wxT("32 bit"), + wxT("64 bit") }; static const wxChar* const wxEndiannessNames[] = { - _T("Big endian"), - _T("Little endian"), - _T("PDP endian") + wxT("Big endian"), + wxT("Little endian"), + wxT("PDP endian") }; // ---------------------------------------------------------------------------- // local functions // ---------------------------------------------------------------------------- -// returns log in base 2 of the value, this maps the enum values to the -// corresponding indices +// returns the logarithm in base 2 of 'value'; this maps the enum values to the +// corresponding indexes of the string arrays above static unsigned wxGetIndexFromEnumValue(int value) { - wxCHECK_MSG( value, (unsigned)-1, _T("invalid enum value") ); + wxCHECK_MSG( value, (unsigned)-1, wxT("invalid enum value") ); int n = 0; while ( !(value & 1) ) @@ -112,7 +113,7 @@ static unsigned wxGetIndexFromEnumValue(int value) n++; } - wxASSERT_MSG( value == 1, _T("more than one bit set in enum value") ); + wxASSERT_MSG( value == 1, wxT("more than one bit set in enum value") ); return n; } @@ -153,6 +154,9 @@ bool wxPlatformInfo::operator==(const wxPlatformInfo &t) const m_osVersionMajor == t.m_osVersionMajor && m_osVersionMinor == t.m_osVersionMinor && m_os == t.m_os && + m_osDesc == t.m_osDesc && + m_ldi == t.m_ldi && + m_desktopEnv == t.m_desktopEnv && m_port == t.m_port && m_usingUniversal == t.m_usingUniversal && m_arch == t.m_arch && @@ -165,7 +169,7 @@ void wxPlatformInfo::InitForCurrentPlatform() const wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL; if ( !traits ) { - wxFAIL_MSG( _T("failed to initialize wxPlatformInfo") ); + wxFAIL_MSG( wxT("failed to initialize wxPlatformInfo") ); m_port = wxPORT_UNKNOWN; m_usingUniversal = false; @@ -176,11 +180,18 @@ void wxPlatformInfo::InitForCurrentPlatform() { m_port = traits->GetToolkitVersion(&m_tkVersionMajor, &m_tkVersionMinor); m_usingUniversal = traits->IsUsingUniversalWidgets(); + m_desktopEnv = traits->GetDesktopEnvironment(); } m_os = wxGetOsVersion(&m_osVersionMajor, &m_osVersionMinor); + m_osDesc = wxGetOsDescription(); m_endian = wxIsPlatformLittleEndian() ? wxENDIAN_LITTLE : wxENDIAN_BIG; m_arch = wxIsPlatform64Bit() ? wxARCH_64 : wxARCH_32; + +#ifdef __LINUX__ + m_ldi = wxGetLinuxDistributionInfo(); +#endif + // else: leave m_ldi empty } /* static */ @@ -196,6 +207,12 @@ const wxPlatformInfo& wxPlatformInfo::Get() return gs_platInfo; } +/* static */ +wxString wxPlatformInfo::GetOperatingSystemDirectory() +{ + return wxGetOSDirectory(); +} + // ---------------------------------------------------------------------------- @@ -204,17 +221,17 @@ const wxPlatformInfo& wxPlatformInfo::Get() wxString wxPlatformInfo::GetOperatingSystemFamilyName(wxOperatingSystemId os) { - const wxChar* string = _T("Unknown"); + const wxChar* string = wxT("Unknown"); if ( os & wxOS_MAC ) - string = _T("Macintosh"); + string = wxT("Macintosh"); else if ( os & wxOS_WINDOWS ) - string = _T("Windows"); + string = wxT("Windows"); else if ( os & wxOS_UNIX ) - string = _T("Unix"); + string = wxT("Unix"); else if ( os == wxOS_DOS ) - string = _T("DOS"); + string = wxT("DOS"); else if ( os == wxOS_OS2 ) - string = _T("OS/2"); + string = wxT("OS/2"); return string; } @@ -224,7 +241,7 @@ wxString wxPlatformInfo::GetOperatingSystemIdName(wxOperatingSystemId os) const unsigned idx = wxGetIndexFromEnumValue(os); wxCHECK_MSG( idx < WXSIZEOF(wxOperatingSystemIdNames), wxEmptyString, - _T("invalid OS id") ); + wxT("invalid OS id") ); return wxOperatingSystemIdNames[idx]; } @@ -234,7 +251,7 @@ wxString wxPlatformInfo::GetPortIdName(wxPortId port, bool usingUniversal) const unsigned idx = wxGetIndexFromEnumValue(port); wxCHECK_MSG( idx < WXSIZEOF(wxPortIdNames), wxEmptyString, - _T("invalid port id") ); + wxT("invalid port id") ); wxString ret = wxPortIdNames[idx]; @@ -249,7 +266,7 @@ wxString wxPlatformInfo::GetPortIdShortName(wxPortId port, bool usingUniversal) const unsigned idx = wxGetIndexFromEnumValue(port); wxCHECK_MSG( idx < WXSIZEOF(wxPortIdNames), wxEmptyString, - _T("invalid port id") ); + wxT("invalid port id") ); wxString ret = wxPortIdNames[idx]; ret = ret.Mid(2).Lower(); // remove 'wx' prefix @@ -321,11 +338,11 @@ wxArchitecture wxPlatformInfo::GetArch(const wxString &arch) wxEndianness wxPlatformInfo::GetEndianness(const wxString& end) { - wxString endl(end.Lower()); - if ( end.StartsWith(wxT("little")) ) + const wxString endl(end.Lower()); + if ( endl.StartsWith(wxT("little")) ) return wxENDIAN_LITTLE; - if ( end.StartsWith(wxT("big")) ) + if ( endl.StartsWith(wxT("big")) ) return wxENDIAN_BIG; return wxENDIAN_INVALID;