summaryrefslogtreecommitdiffstats
path: root/app/os_exchange_data.h
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 23:21:45 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 23:21:45 +0000
commit321792ef1baac764227d55fc944f32cf29e50c6a (patch)
tree58acd23f1f5d4fc2e33e07e188210d2836fc84f2 /app/os_exchange_data.h
parent4343dfbb634893311ae654e412d704831c8ba5ac (diff)
downloadchromium_src-321792ef1baac764227d55fc944f32cf29e50c6a.zip
chromium_src-321792ef1baac764227d55fc944f32cf29e50c6a.tar.gz
chromium_src-321792ef1baac764227d55fc944f32cf29e50c6a.tar.bz2
Stubs out OSExchangeData for views on gtk.
BUG=none TEST=none Review URL: http://codereview.chromium.org/113321 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16012 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'app/os_exchange_data.h')
-rw-r--r--app/os_exchange_data.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/app/os_exchange_data.h b/app/os_exchange_data.h
index 5668008..046c77c 100644
--- a/app/os_exchange_data.h
+++ b/app/os_exchange_data.h
@@ -5,8 +5,12 @@
#ifndef APP_OS_EXCHANGE_DATA_H_
#define APP_OS_EXCHANGE_DATA_H_
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
#include <atlbase.h>
#include <objidl.h>
+#endif
#include <vector>
#include "base/basictypes.h"
@@ -23,8 +27,13 @@ class Pickle;
// translating that into something the OS can understand.
//
///////////////////////////////////////////////////////////////////////////////
+#if defined(OS_WIN)
class OSExchangeData : public IDataObject {
+#else
+class OSExchangeData {
+#endif
public:
+#if defined(OS_WIN)
// Returns true if source has plain text that is a valid url.
static bool HasPlainTextURL(IDataObject* source);
@@ -32,8 +41,10 @@ class OSExchangeData : public IDataObject {
// that url.
static bool GetPlainTextURL(IDataObject* source, GURL* url);
+ explicit OSExchangeData(IDataObject* source);
+#endif
+
OSExchangeData();
- OSExchangeData(IDataObject* source);
virtual ~OSExchangeData();
// These functions add data to the OSExchangeData object of various Chrome
@@ -51,8 +62,10 @@ class OSExchangeData : public IDataObject {
void SetURL(const GURL& url, const std::wstring& title);
// A full path to a file
void SetFilename(const std::wstring& full_path);
+#if defined(OS_WIN)
// Adds pickled data of the specified format.
void SetPickledData(CLIPFORMAT format, const Pickle& data);
+#endif
// Adds the bytes of a file (CFSTR_FILECONTENTS and CFSTR_FILEDESCRIPTOR).
void SetFileContents(const std::wstring& filename,
const std::string& file_contents);
@@ -68,7 +81,9 @@ class OSExchangeData : public IDataObject {
bool GetURLAndTitle(GURL* url, std::wstring* title) const;
// Return the path of a file, if available.
bool GetFilename(std::wstring* full_path) const;
+#if defined(OS_WIN)
bool GetPickledData(CLIPFORMAT format, Pickle* data) const;
+#endif
bool GetFileContents(std::wstring* filename,
std::string* file_contents) const;
bool GetHtml(std::wstring* html, GURL* base_url) const;
@@ -79,6 +94,7 @@ class OSExchangeData : public IDataObject {
bool HasURL() const;
bool HasURLTitle() const;
bool HasFile() const;
+#if defined(OS_WIN)
bool HasFormat(CLIPFORMAT format) const;
// IDataObject implementation:
@@ -100,8 +116,10 @@ class OSExchangeData : public IDataObject {
HRESULT __stdcall QueryInterface(const IID& iid, void** object);
ULONG __stdcall AddRef();
ULONG __stdcall Release();
+#endif
private:
+#if defined(OS_WIN)
// FormatEtcEnumerator only likes us for our StoredDataMap typedef.
friend class FormatEtcEnumerator;
@@ -137,8 +155,9 @@ class OSExchangeData : public IDataObject {
CComPtr<IDataObject> source_object_;
LONG ref_count_;
+#endif
- DISALLOW_EVIL_CONSTRUCTORS(OSExchangeData);
+ DISALLOW_COPY_AND_ASSIGN(OSExchangeData);
};
#endif // #ifndef APP_OS_EXCHANGE_DATA_H_