chromium/ui/events/devices/x11/device_list_cache_x11.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef UI_EVENTS_DEVICES_X11_DEVICE_LIST_CACHE_X11_H_
#define UI_EVENTS_DEVICES_X11_DEVICE_LIST_CACHE_X11_H_

#include <map>
#include <memory>

#include "ui/events/devices/x11/events_devices_x11_export.h"
#include "ui/gfx/x/xinput.h"

namespace base {
template <typename T>
struct DefaultSingletonTraits;
}

XDeviceList;
XIDeviceList;

namespace ui {

// A class to cache the current XInput device list. This minimized the
// round-trip time to the X server whenever such a device list is needed. The
// update function will be called on each incoming
// x11::Input::HierarchyEvent::opcode event.
class EVENTS_DEVICES_X11_EXPORT DeviceListCacheX11 {};

}  // namespace ui

#endif  // UI_EVENTS_DEVICES_X11_DEVICE_LIST_CACHE_X11_H_