Add ICU message format support
[chromium-blink-merge.git] / ui / base / clipboard / clipboard_aurax11.h
blob1b30a3b0daf8b910a807d07e565328541386e243
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.
5 #ifndef UI_BASE_CLIPBOARD_CLIPBOARD_AURAX11_H_
6 #define UI_BASE_CLIPBOARD_CLIPBOARD_AURAX11_H_
8 #include "ui/base/clipboard/clipboard.h"
10 #include "base/memory/scoped_ptr.h"
12 namespace ui {
14 class ClipboardAuraX11 : public Clipboard {
15 private:
16 friend class Clipboard;
18 ClipboardAuraX11();
19 ~ClipboardAuraX11() override;
21 // Clipboard overrides:
22 uint64 GetSequenceNumber(ClipboardType type) const override;
23 bool IsFormatAvailable(const FormatType& format,
24 ClipboardType type) const override;
25 void Clear(ClipboardType type) override;
26 void ReadAvailableTypes(ClipboardType type,
27 std::vector<base::string16>* types,
28 bool* contains_filenames) const override;
29 void ReadText(ClipboardType type, base::string16* result) const override;
30 void ReadAsciiText(ClipboardType type, std::string* result) const override;
31 void ReadHTML(ClipboardType type,
32 base::string16* markup,
33 std::string* src_url,
34 uint32* fragment_start,
35 uint32* fragment_end) const override;
36 void ReadRTF(ClipboardType type, std::string* result) const override;
37 SkBitmap ReadImage(ClipboardType type) const override;
38 void ReadCustomData(ClipboardType clipboard_type,
39 const base::string16& type,
40 base::string16* result) const override;
41 void ReadBookmark(base::string16* title, std::string* url) const override;
42 void ReadData(const FormatType& format, std::string* result) const override;
43 void WriteObjects(ClipboardType type, const ObjectMap& objects) override;
44 void WriteText(const char* text_data, size_t text_len) override;
45 void WriteHTML(const char* markup_data,
46 size_t markup_len,
47 const char* url_data,
48 size_t url_len) override;
49 void WriteRTF(const char* rtf_data, size_t data_len) override;
50 void WriteBookmark(const char* title_data,
51 size_t title_len,
52 const char* url_data,
53 size_t url_len) override;
54 void WriteWebSmartPaste() override;
55 void WriteBitmap(const SkBitmap& bitmap) override;
56 void WriteData(const FormatType& format,
57 const char* data_data,
58 size_t data_len) override;
60 // TODO(dcheng): Is this still needed now that each platform clipboard has its
61 // own class derived from Clipboard?
62 class AuraX11Details;
63 scoped_ptr<AuraX11Details> aurax11_details_;
65 DISALLOW_COPY_AND_ASSIGN(ClipboardAuraX11);
68 } // namespace ui
70 #endif // UI_BASE_CLIPBOARD_CLIPBOARD_AURAX11_H_