diff options
Diffstat (limited to 'libraries/ecore/src/lib/ecore_win32/ecore_win32_dnd_data_object.h')
-rw-r--r-- | libraries/ecore/src/lib/ecore_win32/ecore_win32_dnd_data_object.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/libraries/ecore/src/lib/ecore_win32/ecore_win32_dnd_data_object.h b/libraries/ecore/src/lib/ecore_win32/ecore_win32_dnd_data_object.h new file mode 100644 index 0000000..3d289cf --- /dev/null +++ b/libraries/ecore/src/lib/ecore_win32/ecore_win32_dnd_data_object.h | |||
@@ -0,0 +1,49 @@ | |||
1 | #ifndef __ECORE_WIN32_DND_DATA_OBJECT_H__ | ||
2 | #define __ECORE_WIN32_DND_DATA_OBJECT_H__ | ||
3 | |||
4 | |||
5 | #define WIN32_LEAN_AND_MEAN | ||
6 | #include <windows.h> | ||
7 | #undef WIN32_LEAN_AND_MEAN | ||
8 | #include <objbase.h> | ||
9 | |||
10 | |||
11 | class DataObject : public IDataObject | ||
12 | { | ||
13 | private: | ||
14 | |||
15 | LONG ref_count_; | ||
16 | int formats_num_; | ||
17 | FORMATETC *format_etc_; | ||
18 | STGMEDIUM *stg_medium_; | ||
19 | |||
20 | private: // internal helper function | ||
21 | |||
22 | int lookup_format_etc(FORMATETC *format_etc); | ||
23 | |||
24 | public: // structors | ||
25 | |||
26 | DataObject(FORMATETC *fmtetc, STGMEDIUM *stgmed, int count); | ||
27 | ~DataObject(); | ||
28 | |||
29 | public: // IUnknown | ||
30 | |||
31 | HRESULT __stdcall QueryInterface(REFIID iid, void **ppvObject); | ||
32 | ULONG __stdcall AddRef(); | ||
33 | ULONG __stdcall Release(); | ||
34 | |||
35 | public: // IDataObject | ||
36 | |||
37 | HRESULT __stdcall GetData(FORMATETC *pFormatEtc, STGMEDIUM *pmedium); | ||
38 | HRESULT __stdcall GetDataHere(FORMATETC *pFormatEtc, STGMEDIUM *pmedium); | ||
39 | HRESULT __stdcall QueryGetData(FORMATETC *pFormatEtc); | ||
40 | HRESULT __stdcall GetCanonicalFormatEtc(FORMATETC *pFormatEct, FORMATETC *pFormatEtcOut); | ||
41 | HRESULT __stdcall SetData(FORMATETC *pFormatEtc, STGMEDIUM *pMedium, BOOL fRelease); | ||
42 | HRESULT __stdcall EnumFormatEtc(DWORD dwDirection, IEnumFORMATETC **ppEnumFormatEtc); | ||
43 | HRESULT __stdcall DAdvise(FORMATETC *pFormatEtc, DWORD advf, IAdviseSink *, DWORD *); | ||
44 | HRESULT __stdcall DUnadvise(DWORD dwConnection); | ||
45 | HRESULT __stdcall EnumDAdvise(IEnumSTATDATA **ppEnumAdvise); | ||
46 | }; | ||
47 | |||
48 | |||
49 | #endif /* __ECORE_WIN32_DND_DATA_OBJECT_H__ */ | ||