Upstreaming browser/ui/uikit_ui_util from iOS.
[chromium-blink-merge.git] / remoting / protocol / clipboard_filter.h
blob545744790da69803504ac2c74f818190f98ab1ad
1 // Copyright (c) 2012 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.
5 #ifndef REMOTING_PROTOCOL_CLIPBOARD_FILTER_H_
6 #define REMOTING_PROTOCOL_CLIPBOARD_FILTER_H_
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "remoting/protocol/clipboard_stub.h"
12 namespace remoting {
13 namespace protocol {
15 // Forwards clipboard events to |clipboard_stub|, if configured. Event
16 // forwarding may also be disabled independently of the configured
17 // |clipboard_stub|. ClipboardFilters initially have event forwarding enabled.
18 class ClipboardFilter : public ClipboardStub {
19 public:
20 ClipboardFilter();
21 explicit ClipboardFilter(ClipboardStub* clipboard_stub);
22 ~ClipboardFilter() override;
24 // Set the ClipboardStub that events will be forwarded to.
25 void set_clipboard_stub(ClipboardStub* clipboard_stub);
27 // Enable/disable forwarding of clipboard events to the ClipboardStub.
28 void set_enabled(bool enabled) { enabled_ = enabled; }
29 bool enabled() const { return enabled_; }
31 // ClipboardStub interface.
32 void InjectClipboardEvent(const ClipboardEvent& event) override;
34 private:
35 ClipboardStub* clipboard_stub_;
36 bool enabled_;
38 DISALLOW_COPY_AND_ASSIGN(ClipboardFilter);
41 } // namespace protocol
42 } // namespace remoting
44 #endif // REMOTING_PROTOCOL_CLIPBOARD_FILTER_H_