#include "device/gamepad/gamepad_platform_data_fetcher_linux.h"
#include <stddef.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "device/gamepad/gamepad_blocklist.h"
#include "device/gamepad/gamepad_id_list.h"
#include "device/gamepad/gamepad_uma.h"
#include "device/gamepad/nintendo_controller.h"
#include "device/udev_linux/scoped_udev.h"
namespace device {
GamepadPlatformDataFetcherLinux::Factory::Factory(
scoped_refptr<base::SequencedTaskRunner> dbus_runner)
: … { … }
GamepadPlatformDataFetcherLinux::Factory::~Factory() = default;
std::unique_ptr<GamepadDataFetcher>
GamepadPlatformDataFetcherLinux::Factory::CreateDataFetcher() { … }
GamepadSource GamepadPlatformDataFetcherLinux::Factory::source() { … }
GamepadSource GamepadPlatformDataFetcherLinux::Factory::static_source() { … }
GamepadPlatformDataFetcherLinux::GamepadPlatformDataFetcherLinux(
scoped_refptr<base::SequencedTaskRunner> dbus_runner)
: … { … }
GamepadPlatformDataFetcherLinux::~GamepadPlatformDataFetcherLinux() { … }
GamepadSource GamepadPlatformDataFetcherLinux::source() { … }
void GamepadPlatformDataFetcherLinux::OnAddedToProvider() { … }
void GamepadPlatformDataFetcherLinux::OnDeviceAdded(
ScopedUdevDevicePtr device) { … }
void GamepadPlatformDataFetcherLinux::OnDeviceRemoved(
ScopedUdevDevicePtr device) { … }
void GamepadPlatformDataFetcherLinux::OnDeviceChanged(
ScopedUdevDevicePtr device) { … }
void GamepadPlatformDataFetcherLinux::GetGamepadData(bool) { … }
void GamepadPlatformDataFetcherLinux::RefreshDevice(udev_device* dev) { … }
GamepadDeviceLinux* GamepadPlatformDataFetcherLinux::GetDeviceWithJoydevIndex(
int joydev_index) { … }
void GamepadPlatformDataFetcherLinux::RemoveDevice(GamepadDeviceLinux* device) { … }
bool GamepadPlatformDataFetcherLinux::DisconnectUnrecognizedGamepad(int index) { … }
GamepadDeviceLinux* GamepadPlatformDataFetcherLinux::GetOrCreateMatchingDevice(
const UdevGamepadLinux& pad_info) { … }
void GamepadPlatformDataFetcherLinux::RefreshJoydevDevice(
udev_device* dev,
const UdevGamepadLinux& pad_info) { … }
void GamepadPlatformDataFetcherLinux::RefreshEvdevDevice(
udev_device* dev,
const UdevGamepadLinux& pad_info) { … }
void GamepadPlatformDataFetcherLinux::RefreshHidrawDevice(
udev_device* dev,
const UdevGamepadLinux& pad_info) { … }
void GamepadPlatformDataFetcherLinux::OnHidrawDeviceOpened(
GamepadDeviceLinux* device) { … }
void GamepadPlatformDataFetcherLinux::ReadDeviceData(size_t index) { … }
void GamepadPlatformDataFetcherLinux::PlayEffect(
int pad_id,
mojom::GamepadHapticEffectType type,
mojom::GamepadEffectParametersPtr params,
mojom::GamepadHapticsManager::PlayVibrationEffectOnceCallback callback,
scoped_refptr<base::SequencedTaskRunner> callback_runner) { … }
void GamepadPlatformDataFetcherLinux::ResetVibration(
int pad_id,
mojom::GamepadHapticsManager::ResetVibrationActuatorCallback callback,
scoped_refptr<base::SequencedTaskRunner> callback_runner) { … }
}