1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
7 #define __REQUIRED_RPCNDR_H_VERSION__ 440
8 #endif
9 
10 #include "rpc.h"
11 #include "rpcndr.h"
12 
13 #ifndef __msdatsrc_h__
14 #define __msdatsrc_h__
15 
16 #ifndef __DataSourceListener_FWD_DEFINED__
17 #define __DataSourceListener_FWD_DEFINED__
18 typedef struct DataSourceListener DataSourceListener;
19 #endif
20 
21 #ifndef __DataSource_FWD_DEFINED__
22 #define __DataSource_FWD_DEFINED__
23 typedef struct DataSource DataSource;
24 #endif
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #ifndef __MIDL_user_allocate_free_DEFINED__
31 #define __MIDL_user_allocate_free_DEFINED__
32   void *__RPC_API MIDL_user_allocate(size_t);
33   void __RPC_API MIDL_user_free(void *);
34 #endif
35 
36 #define IDataSource DataSource
37 #define IDataSourceListener DataSourceListener
38 
39   EXTERN_C const IID CATID_DataSource;
40   EXTERN_C const IID CATID_DataConsumer;
41 
42   extern RPC_IF_HANDLE __MIDL_itf_msdatsrc_0000_v0_0_c_ifspec;
43   extern RPC_IF_HANDLE __MIDL_itf_msdatsrc_0000_v0_0_s_ifspec;
44 
45 #ifndef __MSDATASRC_LIBRARY_DEFINED__
46 #define __MSDATASRC_LIBRARY_DEFINED__
47   typedef BSTR DataMember;
48 
49   EXTERN_C const IID LIBID_MSDATASRC;
50 #ifndef __DataSourceListener_INTERFACE_DEFINED__
51 #define __DataSourceListener_INTERFACE_DEFINED__
52   EXTERN_C const IID IID_DataSourceListener;
53 #if defined(__cplusplus) && !defined(CINTERFACE)
54   struct DataSourceListener : public IUnknown {
55   public:
56     virtual HRESULT WINAPI dataMemberChanged(DataMember bstrDM) = 0;
57     virtual HRESULT WINAPI dataMemberAdded(DataMember bstrDM) = 0;
58     virtual HRESULT WINAPI dataMemberRemoved(DataMember bstrDM) = 0;
59   };
60 #else
61   typedef struct DataSourceListenerVtbl {
62     BEGIN_INTERFACE
63       HRESULT (WINAPI *QueryInterface)(DataSourceListener *This,REFIID riid,void **ppvObject);
64       ULONG (WINAPI *AddRef)(DataSourceListener *This);
65       ULONG (WINAPI *Release)(DataSourceListener *This);
66       HRESULT (WINAPI *dataMemberChanged)(DataSourceListener *This,DataMember bstrDM);
67       HRESULT (WINAPI *dataMemberAdded)(DataSourceListener *This,DataMember bstrDM);
68       HRESULT (WINAPI *dataMemberRemoved)(DataSourceListener *This,DataMember bstrDM);
69     END_INTERFACE
70   } DataSourceListenerVtbl;
71   struct DataSourceListener {
72     CONST_VTBL struct DataSourceListenerVtbl *lpVtbl;
73   };
74 #ifdef COBJMACROS
75 #define DataSourceListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
76 #define DataSourceListener_AddRef(This) (This)->lpVtbl->AddRef(This)
77 #define DataSourceListener_Release(This) (This)->lpVtbl->Release(This)
78 #define DataSourceListener_dataMemberChanged(This,bstrDM) (This)->lpVtbl->dataMemberChanged(This,bstrDM)
79 #define DataSourceListener_dataMemberAdded(This,bstrDM) (This)->lpVtbl->dataMemberAdded(This,bstrDM)
80 #define DataSourceListener_dataMemberRemoved(This,bstrDM) (This)->lpVtbl->dataMemberRemoved(This,bstrDM)
81 #endif
82 #endif
83   HRESULT WINAPI DataSourceListener_dataMemberChanged_Proxy(DataSourceListener *This,DataMember bstrDM);
84   void __RPC_STUB DataSourceListener_dataMemberChanged_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
85   HRESULT WINAPI DataSourceListener_dataMemberAdded_Proxy(DataSourceListener *This,DataMember bstrDM);
86   void __RPC_STUB DataSourceListener_dataMemberAdded_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
87   HRESULT WINAPI DataSourceListener_dataMemberRemoved_Proxy(DataSourceListener *This,DataMember bstrDM);
88   void __RPC_STUB DataSourceListener_dataMemberRemoved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
89 #endif
90 
91 #ifndef __DataSource_INTERFACE_DEFINED__
92 #define __DataSource_INTERFACE_DEFINED__
93   EXTERN_C const IID IID_DataSource;
94 #if defined(__cplusplus) && !defined(CINTERFACE)
95   struct DataSource : public IUnknown {
96   public:
97     virtual HRESULT WINAPI getDataMember(DataMember bstrDM,REFIID riid,IUnknown **ppunk) = 0;
98     virtual HRESULT WINAPI getDataMemberName(__LONG32 lIndex,DataMember *pbstrDM) = 0;
99     virtual HRESULT WINAPI getDataMemberCount(__LONG32 *plCount) = 0;
100     virtual HRESULT WINAPI addDataSourceListener(DataSourceListener *pDSL) = 0;
101     virtual HRESULT WINAPI removeDataSourceListener(DataSourceListener *pDSL) = 0;
102   };
103 #else
104   typedef struct DataSourceVtbl {
105     BEGIN_INTERFACE
106       HRESULT (WINAPI *QueryInterface)(DataSource *This,REFIID riid,void **ppvObject);
107       ULONG (WINAPI *AddRef)(DataSource *This);
108       ULONG (WINAPI *Release)(DataSource *This);
109       HRESULT (WINAPI *getDataMember)(DataSource *This,DataMember bstrDM,REFIID riid,IUnknown **ppunk);
110       HRESULT (WINAPI *getDataMemberName)(DataSource *This,__LONG32 lIndex,DataMember *pbstrDM);
111       HRESULT (WINAPI *getDataMemberCount)(DataSource *This,__LONG32 *plCount);
112       HRESULT (WINAPI *addDataSourceListener)(DataSource *This,DataSourceListener *pDSL);
113       HRESULT (WINAPI *removeDataSourceListener)(DataSource *This,DataSourceListener *pDSL);
114     END_INTERFACE
115   } DataSourceVtbl;
116   struct DataSource {
117     CONST_VTBL struct DataSourceVtbl *lpVtbl;
118   };
119 #ifdef COBJMACROS
120 #define DataSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
121 #define DataSource_AddRef(This) (This)->lpVtbl->AddRef(This)
122 #define DataSource_Release(This) (This)->lpVtbl->Release(This)
123 #define DataSource_getDataMember(This,bstrDM,riid,ppunk) (This)->lpVtbl->getDataMember(This,bstrDM,riid,ppunk)
124 #define DataSource_getDataMemberName(This,lIndex,pbstrDM) (This)->lpVtbl->getDataMemberName(This,lIndex,pbstrDM)
125 #define DataSource_getDataMemberCount(This,plCount) (This)->lpVtbl->getDataMemberCount(This,plCount)
126 #define DataSource_addDataSourceListener(This,pDSL) (This)->lpVtbl->addDataSourceListener(This,pDSL)
127 #define DataSource_removeDataSourceListener(This,pDSL) (This)->lpVtbl->removeDataSourceListener(This,pDSL)
128 #endif
129 #endif
130   HRESULT WINAPI DataSource_getDataMember_Proxy(DataSource *This,DataMember bstrDM,REFIID riid,IUnknown **ppunk);
131   void __RPC_STUB DataSource_getDataMember_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
132   HRESULT WINAPI DataSource_getDataMemberName_Proxy(DataSource *This,__LONG32 lIndex,DataMember *pbstrDM);
133   void __RPC_STUB DataSource_getDataMemberName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
134   HRESULT WINAPI DataSource_getDataMemberCount_Proxy(DataSource *This,__LONG32 *plCount);
135   void __RPC_STUB DataSource_getDataMemberCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
136   HRESULT WINAPI DataSource_addDataSourceListener_Proxy(DataSource *This,DataSourceListener *pDSL);
137   void __RPC_STUB DataSource_addDataSourceListener_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
138   HRESULT WINAPI DataSource_removeDataSourceListener_Proxy(DataSource *This,DataSourceListener *pDSL);
139   void __RPC_STUB DataSource_removeDataSourceListener_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
140 #endif
141 #endif
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 #endif
147