xtd 0.2.0
operating_system.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "optional.hpp"
6#include "distribution.hpp"
7#include "object.hpp"
8#include "platform_id.hpp"
9#include "string.hpp"
10#include "version.hpp"
11#include <map>
12#include <vector>
13
15namespace xtd {
25 class operating_system final : public object {
26 public:
28
82
84 operating_system() = default;
85 operating_system(const operating_system&) = default;
86 operating_system& operator =(const operating_system&) = default;
88
90
98
104 xtd::string desktop_theme() const noexcept;
105
108 xtd::distribution distribution() const noexcept;
109
112 xtd::string name() const noexcept;
113
116 xtd::platform_id platform() const noexcept;
117
122 xtd::string service_pack() const noexcept;
123
127 const xtd::version& version() const noexcept;
128
132 xtd::string version_string() const noexcept;
134
136
140 bool is_64_bit() const noexcept;
141
144 bool is_aix() const noexcept;
145
148 bool is_android() const noexcept;
149
153 bool is_apple_platform() const noexcept;
154
157 bool is_bsd_platform() const noexcept;
158
161 bool is_darwin() const noexcept;
162
165 bool is_free_bsd() const noexcept;
166
169 bool is_haiku() const noexcept;
170
173 bool is_ios() const noexcept;
174
177 bool is_linux() const noexcept;
178
181 bool is_macos() const noexcept;
182
186 bool is_macos_platform() const noexcept;
187
190 bool is_mingw() const noexcept;
191
194 bool is_msys() const noexcept;
195
198 bool is_posix() const noexcept;
199
206 bool is_posix_platform() const noexcept;
207
214 bool is_unix_platform() const noexcept;
215
218 bool is_tvos() const noexcept;
219
222 bool is_watchos() const noexcept;
223
226 bool is_windows() const noexcept;
227
230 bool is_windows_ce() const noexcept;
231
234 bool is_windows_platform() const noexcept;
235
238 bool is_xbox() const noexcept;
239
242 xtd::size get_hash_code() const noexcept override;
243
246 xtd::string to_string() const noexcept override;
248
249 private:
250 xtd::platform_id platform_ = xtd::platform_id::unknown;
251 xtd::version version_;
252 xtd::string service_pack_;
253 xtd::string desktop_environment_;
254 xtd::string desktop_theme_;
255 bool is_64_bit_ = false;
256 xtd::distribution distribution_;
257 mutable xtd::string version_string_;
258 };
259}
Represents information about an operating system distribution, such as the version and name....
Definition distribution.hpp:28
object()=default
Create a new instance of the ultimate base class object.
bool is_bsd_platform() const noexcept
Determines whether the current platform is BSD (FreeBSD, or Darwin).
xtd::distribution distribution() const noexcept
Gets the distribution.
xtd::string to_string() const noexcept override
Converts the value of this operating_system object to its equivalent string representation.
bool is_apple_platform() const noexcept
Determines whether the current platform belongs to the Apple ecosystem (macOS, iOS,...
bool is_windows_ce() const noexcept
Determines whether the current platform is Windows CE.
bool is_macos() const noexcept
Determines whether the current platform is macOS.
bool is_msys() const noexcept
Determines whether the current platform is MSYS.
operating_system(xtd::platform_id platform, const xtd::version &version, const xtd::string &service_pack, const xtd::string &desktop_environment, const xtd::string &desktop_theme)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
bool is_posix_platform() const noexcept
Determines whether the current platform is Posix family.
bool is_mingw() const noexcept
Determines whether the current platform is MINGW.
const xtd::version & version() const noexcept
Gets a xtd::version object that identifies the operating system.
bool is_linux() const noexcept
Determines whether the current platform is Linux.
bool is_xbox() const noexcept
Determines whether the current platform is xbox.
operating_system(xtd::platform_id platform, const xtd::version &version, const xtd::string &service_pack)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
operating_system(xtd::platform_id platform, const xtd::version &version)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
xtd::string desktop_theme() const noexcept
Gets the desktop theme.
bool is_macos_platform() const noexcept
Determines whether the current platform is part of the macOS family (including macOS,...
operating_system(xtd::platform_id platform, const xtd::version &version, const xtd::string &service_pack, const xtd::string &desktop_environment, const xtd::string &desktop_theme, bool is_64_bit, const xtd::distribution &distribution)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
bool is_tvos() const noexcept
Determines whether the current platform is tvOS family.
bool is_posix() const noexcept
Determines whether the current platform is Posix.
bool is_ios() const noexcept
Determines whether the current platform is iOS.
operating_system(xtd::platform_id platform, const xtd::version &version, const xtd::string &service_pack, const xtd::string &desktop_environment, const xtd::string &desktop_theme, bool is_64_bit)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
bool is_haiku() const noexcept
Determines whether the current platform is Haiku.
bool is_unix_platform() const noexcept
Determines whether the current platform is Unix family.
bool is_windows_platform() const noexcept
Determines whether the current platform is Windows family.
xtd::string name() const noexcept
Gets the concatenated string representation of the platform identifier.
xtd::string version_string() const noexcept
Gets the concatenated string representation of the platform identifier, version, and service pack tha...
operating_system(xtd::platform_id platform, const xtd::version &version, const xtd::string &service_pack, const xtd::string &desktop_environment)
Initializes a new instance of the operating_system class, using the specified platform identifier val...
bool is_windows() const noexcept
Determines whether the current platform is Windows.
bool is_android() const noexcept
Determines whether the current platform is Android.
bool is_aix() const noexcept
Determines whether the current platform is AIX.
bool is_darwin() const noexcept
Determines whether the current platform is Darwin (macOS, iOS, tvOS, or watchOS).
bool is_free_bsd() const noexcept
Determines whether the current platform is FreeBSD.
xtd::size get_hash_code() const noexcept override
Serves as a hash function for a particular type.
bool is_64_bit() const noexcept
Determines whether the current operating system is a 64-bit operating system.
xtd::string service_pack() const noexcept
Gets the service pack version represented by this operating_system object.
xtd::string desktop_environment() const noexcept
Gets the desktop environment.
xtd::platform_id platform() const noexcept
Gets a xtd::platform_id enumeration value that identifies the operating system platform.
bool is_watchos() const noexcept
Determines whether the current platform is watchOS.
Represents the version number of an assembly, operating system, or the xtd. This class cannot be inhe...
Definition version.hpp:114
Contains xtd::distribution class.
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
platform_id
Identifies the operating system, or platform, supported by an assembly.
Definition platform_id.hpp:18
@ unknown
The processor architecture is unknown.
Definition architecture_id.hpp:22
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::object class.
Contains xtd::optional type.
Contains xtd::platform_id enum class.
Contains xtd::string alias.
Contains xtd::version class.