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"
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
{
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
;
35 ClipboardStub
* clipboard_stub_
;
38 DISALLOW_COPY_AND_ASSIGN(ClipboardFilter
);
41 } // namespace protocol
42 } // namespace remoting
44 #endif // REMOTING_PROTOCOL_CLIPBOARD_FILTER_H_