Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: base/clipboard.h

Issue 172032: First cut for a FreeBSD port - much still not working (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_CLIPBOARD_H_ 5 #ifndef BASE_CLIPBOARD_H_
6 #define BASE_CLIPBOARD_H_ 6 #define BASE_CLIPBOARD_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/process.h" 12 #include "base/process.h"
13 #include "base/string16.h" 13 #include "base/string16.h"
14 14
15 namespace gfx { 15 namespace gfx {
16 class Size; 16 class Size;
17 } 17 }
18 18
19 class FilePath; 19 class FilePath;
20 20
21 class Clipboard { 21 class Clipboard {
22 public: 22 public:
23 typedef std::string FormatType; 23 typedef std::string FormatType;
24 #if defined(OS_LINUX) 24 #if defined(USE_X11)
25 typedef struct _GtkClipboard GtkClipboard; 25 typedef struct _GtkClipboard GtkClipboard;
26 typedef std::map<FormatType, std::pair<char*, size_t> > TargetMap; 26 typedef std::map<FormatType, std::pair<char*, size_t> > TargetMap;
27 #endif 27 #endif
28 28
29 // ObjectType designates the type of data to be stored in the clipboard. This 29 // ObjectType designates the type of data to be stored in the clipboard. This
30 // designation is shared across all OSes. The system-specific designation 30 // designation is shared across all OSes. The system-specific designation
31 // is defined by FormatType. A single ObjectType might be represented by 31 // is defined by FormatType. A single ObjectType might be represented by
32 // several system-specific FormatTypes. For example, on Linux the CBF_TEXT 32 // several system-specific FormatTypes. For example, on Linux the CBF_TEXT
33 // ObjectType maps to "text/plain", "STRING", and several other formats. On 33 // ObjectType maps to "text/plain", "STRING", and several other formats. On
34 // windows it maps to CF_UNICODETEXT. 34 // windows it maps to CF_UNICODETEXT.
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 void WriteHyperlink(const char* title_data, 160 void WriteHyperlink(const char* title_data,
161 size_t title_len, 161 size_t title_len,
162 const char* url_data, 162 const char* url_data,
163 size_t url_len); 163 size_t url_len);
164 164
165 void WriteWebSmartPaste(); 165 void WriteWebSmartPaste();
166 166
167 void WriteFiles(const char* file_data, size_t file_len); 167 void WriteFiles(const char* file_data, size_t file_len);
168 168
169 void WriteBitmap(const char* pixel_data, const char* size_data); 169 void WriteBitmap(const char* pixel_data, const char* size_data);
170 #if defined(OS_WIN) || defined(OS_LINUX) 170 #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
171 // |format_name| is an ASCII string and should be NULL-terminated. 171 // |format_name| is an ASCII string and should be NULL-terminated.
172 // TODO(estade): port to mac. 172 // TODO(estade): port to mac.
173 void WriteData(const char* format_name, size_t format_len, 173 void WriteData(const char* format_name, size_t format_len,
174 const char* data_data, size_t data_len); 174 const char* data_data, size_t data_len);
175 #endif 175 #endif
176 #if defined(OS_WIN) 176 #if defined(OS_WIN)
177 void WriteBitmapFromSharedMemory(const char* bitmap_data, 177 void WriteBitmapFromSharedMemory(const char* bitmap_data,
178 const char* size_data, 178 const char* size_data,
179 base::ProcessHandle handle); 179 base::ProcessHandle handle);
180 180
(...skipping 12 matching lines...) Expand all
193 193
194 // Return the window that should be the clipboard owner, creating it 194 // Return the window that should be the clipboard owner, creating it
195 // if neccessary. Marked const for lazily initialization by const methods. 195 // if neccessary. Marked const for lazily initialization by const methods.
196 HWND GetClipboardWindow() const; 196 HWND GetClipboardWindow() const;
197 197
198 // Mark this as mutable so const methods can still do lazy initialization. 198 // Mark this as mutable so const methods can still do lazy initialization.
199 mutable HWND clipboard_owner_; 199 mutable HWND clipboard_owner_;
200 200
201 // True if we can create a window. 201 // True if we can create a window.
202 bool create_window_; 202 bool create_window_;
203 #elif defined(OS_LINUX) 203 #elif defined(USE_X11)
204 // Data is stored in the |clipboard_data_| map until it is saved to the system 204 // Data is stored in the |clipboard_data_| map until it is saved to the system
205 // clipboard. The Store* functions save data to the |clipboard_data_| map. The 205 // clipboard. The Store* functions save data to the |clipboard_data_| map. The
206 // SetGtkClipboard function replaces whatever is on the system clipboard with 206 // SetGtkClipboard function replaces whatever is on the system clipboard with
207 // the contents of |clipboard_data_|. 207 // the contents of |clipboard_data_|.
208 // The Write* functions make a deep copy of the data passed to them an store 208 // The Write* functions make a deep copy of the data passed to them an store
209 // it in |clipboard_data_|. 209 // it in |clipboard_data_|.
210 210
211 // Write changes to gtk clipboard. 211 // Write changes to gtk clipboard.
212 void SetGtkClipboard(); 212 void SetGtkClipboard();
213 // Insert a mapping into clipboard_data_. 213 // Insert a mapping into clipboard_data_.
214 void InsertMapping(const char* key, char* data, size_t data_len); 214 void InsertMapping(const char* key, char* data, size_t data_len);
215 215
216 TargetMap* clipboard_data_; 216 TargetMap* clipboard_data_;
217 GtkClipboard* clipboard_; 217 GtkClipboard* clipboard_;
218 #endif 218 #endif
219 219
220 DISALLOW_COPY_AND_ASSIGN(Clipboard); 220 DISALLOW_COPY_AND_ASSIGN(Clipboard);
221 }; 221 };
222 222
223 #endif // BASE_CLIPBOARD_H_ 223 #endif // BASE_CLIPBOARD_H_
OLDNEW
« base/base.gyp ('K') | « base/base.gyp ('k') | base/clipboard_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698