#ifndef PLATFORM_IMPL_LINUX_DEVICE_INFO_H_ #define PLATFORM_IMPL_LINUX_DEVICE_INFO_H_ #include #include #include #include "absl/strings/string_view.h" #include "internal/platform/implementation/device_info.h" namespace nearby { namespace linux { class DeviceInfo : public api::DeviceInfo { public: ~DeviceInfo() override; std::optional GetOsDeviceName() const override; api::DeviceInfo::DeviceType GetDeviceType() const override; api::DeviceInfo::OsType GetOsType() const override { return api::DeviceInfo::OsType::kWindows; // Or ChromeOS? } std::optional GetFullName() const override; std::optional GetGivenName() const override { return GetFullName(); } std::optional GetLastName() const override { return GetFullName(); } std::optional GetProfileUserName() const override; std::optional GetDownloadPath() const override; std::optional GetLocalAppDataPath() const override; std::optional GetCommonAppDataPath() const override; std::optional GetTemporaryPath() const override; std::optional GetLogPath() const override; std::optional GetCrashDumpPath() const override; bool IsScreenLocked() const override; void RegisterScreenLockedListener( absl::string_view listener_name, std::function callback) override; void UnregisterScreenLockedListener(absl::string_view listener_name) override; sd_bus *system_bus; }; } // namespace linux } // namespace nearby #endif // PLATFORM_IMPL_LINUX_DEVICE_INFO_H_