Add wxPlatformInfo::GetCpuArchitectureName()

This provides the same information as wxGetCpuArchitectureName(), but is
consistent with the other wxPlatformInfo accessors, which also
correspond to the existing wxGetXXX() functions, and makes it more
convenient to use this information in the application code as now
everything is available via wxPlatformInfo instead of having to use
different functions for different pieces.
This commit is contained in:
Vadim Zeitlin 2020-12-12 15:23:17 +01:00
parent 5c4461a154
commit 15c3ce6710
3 changed files with 17 additions and 0 deletions

View File

@ -260,6 +260,8 @@ public:
{ return GetBitnessName(); } { return GetBitnessName(); }
wxString GetEndiannessName() const wxString GetEndiannessName() const
{ return GetEndiannessName(m_endian); } { return GetEndiannessName(m_endian); }
wxString GetCpuArchitectureName() const
{ return m_cpuArch; }
wxString GetOperatingSystemDescription() const wxString GetOperatingSystemDescription() const
{ return m_osDesc; } { return m_osDesc; }
wxString GetDesktopEnvironment() const wxString GetDesktopEnvironment() const
@ -301,6 +303,8 @@ public:
{ SetBitness(n); } { SetBitness(n); }
void SetEndianness(wxEndianness n) void SetEndianness(wxEndianness n)
{ m_endian = n; } { m_endian = n; }
void SetCpuArchitectureName(const wxString& cpuArch)
{ m_cpuArch = cpuArch; }
void SetDesktopEnvironment(const wxString& de) void SetDesktopEnvironment(const wxString& de)
{ m_desktopEnv = de; } { m_desktopEnv = de; }
@ -386,6 +390,9 @@ protected:
// endianness of the machine // endianness of the machine
wxEndianness m_endian; wxEndianness m_endian;
// CPU architecture family name, possibly empty if unknown
wxString m_cpuArch;
}; };

View File

@ -368,6 +368,15 @@ public:
*/ */
wxEndianness GetEndianness() const; wxEndianness GetEndianness() const;
/**
Returns the CPU architecture name, if available.
@see wxGetCpuArchitectureName()
@since 3.1.5
*/
wxString GetCpuArchitectureName() const;
/** /**
Returns the run-time major version of the OS associated with this Returns the run-time major version of the OS associated with this
wxPlatformInfo instance. wxPlatformInfo instance.

View File

@ -197,6 +197,7 @@ void wxPlatformInfo::InitForCurrentPlatform()
m_osDesc = wxGetOsDescription(); m_osDesc = wxGetOsDescription();
m_endian = wxIsPlatformLittleEndian() ? wxENDIAN_LITTLE : wxENDIAN_BIG; m_endian = wxIsPlatformLittleEndian() ? wxENDIAN_LITTLE : wxENDIAN_BIG;
m_bitness = wxIsPlatform64Bit() ? wxBITNESS_64 : wxBITNESS_32; m_bitness = wxIsPlatform64Bit() ? wxBITNESS_64 : wxBITNESS_32;
m_cpuArch = wxGetCpuArchitectureName();
#ifdef __LINUX__ #ifdef __LINUX__
m_ldi = wxGetLinuxDistributionInfo(); m_ldi = wxGetLinuxDistributionInfo();