View | Details | Raw Unified | Return to bug 196754 | Differences between
and this patch

Collapse All | Expand All

(-)b/device/hid/BUILD.gn (+11 lines)
Lines 56-61 source_set("hid") { Link Here
56
    deps += [ "//device/udev_linux" ]
56
    deps += [ "//device/udev_linux" ]
57
  }
57
  }
58
58
59
  if (is_bsd) {
60
    sources -= [
61
      "hid_connection_linux.cc",
62
      "hid_connection_linux.h",
63
    ]
64
    sources += [
65
      "hid_service_freebsd.cc",
66
      "hid_service_freebsd.h",
67
    ]
68
  }
69
59
  if (is_chromeos) {
70
  if (is_chromeos) {
60
    deps += [ "//chromeos" ]
71
    deps += [ "//chromeos" ]
61
  }
72
  }
(-)b/device/hid/hid_service.cc (+4 lines)
Lines 16-21 Link Here
16
16
17
#if defined(OS_LINUX) && defined(USE_UDEV)
17
#if defined(OS_LINUX) && defined(USE_UDEV)
18
#include "device/hid/hid_service_linux.h"
18
#include "device/hid/hid_service_linux.h"
19
#elif defined(OS_BSD)
20
#include "device/hid/hid_service_freebsd.h"
19
#elif defined(OS_MACOSX)
21
#elif defined(OS_MACOSX)
20
#include "device/hid/hid_service_mac.h"
22
#include "device/hid/hid_service_mac.h"
21
#elif defined(OS_WIN)
23
#elif defined(OS_WIN)
Lines 42-47 constexpr base::TaskTraits HidService::kBlockingTaskTraits; Link Here
42
std::unique_ptr<HidService> HidService::Create() {
44
std::unique_ptr<HidService> HidService::Create() {
43
#if defined(OS_LINUX) && defined(USE_UDEV)
45
#if defined(OS_LINUX) && defined(USE_UDEV)
44
  return base::WrapUnique(new HidServiceLinux());
46
  return base::WrapUnique(new HidServiceLinux());
47
#elif defined(OS_BSD)
48
  return base::WrapUnique(new HidServiceFreeBSD());
45
#elif defined(OS_MACOSX)
49
#elif defined(OS_MACOSX)
46
  return base::WrapUnique(new HidServiceMac());
50
  return base::WrapUnique(new HidServiceMac());
47
#elif defined(OS_WIN)
51
#elif defined(OS_WIN)
(-)b/device/hid/hid_service_freebsd.cc (+46 lines)
Added Link Here
1
// Copyright 2014 The Chromium Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "device/hid/hid_service_freebsd.h"
6
7
#include <stdint.h>
8
9
#include <set>
10
#include <string>
11
#include <vector>
12
13
#include "base/bind.h"
14
#include "base/location.h"
15
#include "base/logging.h"
16
#include "base/single_thread_task_runner.h"
17
#include "base/stl_util.h"
18
#include "base/strings/stringprintf.h"
19
#include "base/strings/sys_string_conversions.h"
20
#include "base/task_scheduler/post_task.h"
21
#include "base/threading/thread_restrictions.h"
22
#include "base/threading/thread_task_runner_handle.h"
23
#include "components/device_event_log/device_event_log.h"
24
#include "device/hid/hid_connection.h"
25
26
namespace device {
27
28
HidServiceFreeBSD::HidServiceFreeBSD() : weak_factory_(this) {
29
  FirstEnumerationComplete();
30
}
31
32
HidServiceFreeBSD::~HidServiceFreeBSD() {}
33
34
void HidServiceFreeBSD::Connect(const HidDeviceId& device_id,
35
                            const ConnectCallback& callback) {
36
  DCHECK(thread_checker_.CalledOnValidThread());
37
38
  const auto& map_entry = devices().find(device_id);
39
  if (map_entry == devices().end()) {
40
    base::ThreadTaskRunnerHandle::Get()->PostTask(
41
        FROM_HERE, base::Bind(callback, nullptr));
42
    return;
43
  }
44
}
45
46
}  // namespace device
(-)b/device/hid/hid_service_freebsd.h (+33 lines)
Added Link Here
1
// Copyright 2014 The Chromium Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_
6
#define DEVICE_HID_HID_SERVICE_FREEBSD_H_
7
8
#include <string>
9
10
#include "base/macros.h"
11
#include "base/memory/ref_counted.h"
12
#include "base/memory/weak_ptr.h"
13
#include "device/hid/hid_service.h"
14
15
namespace device {
16
17
class HidServiceFreeBSD : public HidService {
18
 public:
19
  HidServiceFreeBSD();
20
  ~HidServiceFreeBSD() override;
21
22
  void Connect(const HidDeviceId& device_id,
23
               const ConnectCallback& connect) override;
24
25
 private:
26
  base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_;
27
28
  DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD);
29
};
30
31
}  // namespace device
32
33
#endif  // DEVICE_HID_HID_SERVICE_FREEBSD_H_

Return to bug 196754