summaryrefslogtreecommitdiffstats
path: root/device/hid/hid_service.h
diff options
context:
space:
mode:
authorreillyg <reillyg@chromium.org>2014-09-06 11:38:31 -0700
committerCommit bot <commit-bot@chromium.org>2014-09-06 18:42:54 +0000
commitce69e2adaf3ec91056ec87e1a59848b9781709c1 (patch)
treecfc4d684d64bb18691639ba01d13d4da9cdd94ac /device/hid/hid_service.h
parent4e279527936c87f440663b15dd29a71771ac36a9 (diff)
downloadchromium_src-ce69e2adaf3ec91056ec87e1a59848b9781709c1.zip
chromium_src-ce69e2adaf3ec91056ec87e1a59848b9781709c1.tar.gz
chromium_src-ce69e2adaf3ec91056ec87e1a59848b9781709c1.tar.bz2
Make the device::HidService destructor protected.
This prevents anything other than device::HidService::Destroyer from calling the destructor. For example, scoped_ptr, as was the case in HidConnectionTest. BUG= Review URL: https://codereview.chromium.org/542153004 Cr-Commit-Position: refs/heads/master@{#293623}
Diffstat (limited to 'device/hid/hid_service.h')
-rw-r--r--device/hid/hid_service.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/device/hid/hid_service.h b/device/hid/hid_service.h
index cc7813b..c370203 100644
--- a/device/hid/hid_service.h
+++ b/device/hid/hid_service.h
@@ -23,8 +23,6 @@ class HidService {
static HidService* GetInstance(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner);
- virtual ~HidService();
-
// Enumerates and returns a list of device identifiers.
virtual void GetDevices(std::vector<HidDeviceInfo>* devices);
@@ -41,6 +39,7 @@ class HidService {
typedef std::map<HidDeviceId, HidDeviceInfo> DeviceMap;
HidService();
+ virtual ~HidService();
void AddDevice(const HidDeviceInfo& info);
void RemoveDevice(const HidDeviceId& device_id);
@@ -49,6 +48,8 @@ class HidService {
base::ThreadChecker thread_checker_;
private:
+ class Destroyer;
+
DeviceMap devices_;
DISALLOW_COPY_AND_ASSIGN(HidService);