kodi
PeripheralBusUSB.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "peripherals/bus/PeripheralBus.h"
12 #include "peripherals/devices/Peripheral.h"
13 
14 #include <IOKit/IOKitLib.h>
15 #include <IOKit/IOMessage.h>
16 
17 namespace PERIPHERALS
18 {
19  class CPeripherals;
20 
22  {
23  public:
24  explicit CPeripheralBusUSB(CPeripherals& manager);
25  ~CPeripheralBusUSB() override;
26 
30  bool PerformDeviceScan(PeripheralScanResults& results) override;
31 
32  protected:
33  PeripheralScanResults m_scan_results;
34  static PeripheralType GetType(int iDeviceClass);
35  static void DeviceDetachCallback(void *refCon, io_service_t service, natural_t messageType, void *messageArgument);
36  static void DeviceAttachCallback(CPeripheralBusUSB* refCon, io_iterator_t iterator);
37 
38  IONotificationPortRef m_notify_port;
39  io_iterator_t m_attach_iterator;
40  };
41 
42 }
Definition: PeripheralTypes.h:356
bool PerformDeviceScan(PeripheralScanResults &results) override
Definition: PeripheralBusUSB.cpp:73
Definition: RetroPlayerInput.h:15
Definition: PeripheralBusUSB.h:21
Definition: PeripheralBus.h:36
Definition: Peripherals.h:56