mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 12:54:13 +00:00
Clean up objbase.h. Makes the STDMETHOD set of macros available to the winelib user.
This commit is contained in:
parent
450f96aab4
commit
c9105da048
1 changed files with 18 additions and 52 deletions
|
@ -22,9 +22,10 @@
|
|||
|
||||
HRESULT WINAPI GetClassFile(LPOLESTR filePathName,CLSID *pclsid);
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* These macros are msdev's way of defining COM objects. They are provided
|
||||
* here for use by winelib users.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
|
@ -43,7 +44,6 @@ extern "C" {
|
|||
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
|
||||
#define STDMETHODIMP_(type) type STDMETHODCALLTYPE
|
||||
|
||||
|
||||
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||
#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE
|
||||
|
||||
|
@ -53,13 +53,6 @@ extern "C" {
|
|||
#define WINOLEAPI STDAPI
|
||||
#define WINOLEAPI_(type) STDAPI_(type)
|
||||
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
|
||||
#ifdef __LIBMFC__
|
||||
/* All of these will eventually need to go once headers in win_include are wynified. */
|
||||
/* These macros are msdev's way of defining COM objects. */
|
||||
|
||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
#define interface struct
|
||||
#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
|
||||
|
@ -70,65 +63,38 @@ extern "C" {
|
|||
#define DECLARE_INTERFACE(iface) interface iface
|
||||
#define DECLARE_INTERFACE_(iface, baseiface) interface iface : public baseiface
|
||||
|
||||
|
||||
#if !defined(BEGIN_INTERFACE)
|
||||
#if defined(_MPPC_) && \
|
||||
( (defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && \
|
||||
!defined(NO_NULL_VTABLE_ENTRY) )
|
||||
#define BEGIN_INTERFACE virtual void a() {}
|
||||
#define END_INTERFACE
|
||||
#else
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
#endif
|
||||
#endif
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
|
||||
#else
|
||||
|
||||
#define interface struct
|
||||
|
||||
#define STDMETHOD(method) HRESULT (STDMETHODCALLTYPE * method)
|
||||
#define STDMETHOD_(type,method) type (STDMETHODCALLTYPE * method)
|
||||
|
||||
#if !defined(BEGIN_INTERFACE)
|
||||
#if defined(_MPPC_)
|
||||
#define BEGIN_INTERFACE void *b;
|
||||
#define END_INTERFACE
|
||||
#else
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define PURE
|
||||
#define THIS_ INTERFACE FAR* This,
|
||||
#define THIS INTERFACE FAR* This
|
||||
|
||||
#ifdef CONST_VTABLE
|
||||
#undef CONST_VTBL
|
||||
#define CONST_VTBL const
|
||||
#define DECLARE_INTERFACE(iface) typedef interface iface { \
|
||||
const struct iface##Vtbl FAR* lpVtbl; \
|
||||
} iface; \
|
||||
typedef const struct iface##Vtbl iface##Vtbl; \
|
||||
const struct iface##Vtbl
|
||||
#define DECLARE_INTERFACE(iface) \
|
||||
typedef interface iface { const struct iface##Vtbl FAR* lpVtbl; } iface; \
|
||||
typedef const struct iface##Vtbl iface##Vtbl; \
|
||||
const struct iface##Vtbl
|
||||
#else
|
||||
#undef CONST_VTBL
|
||||
#define CONST_VTBL
|
||||
#define DECLARE_INTERFACE(iface) typedef interface iface { \
|
||||
struct iface##Vtbl FAR* lpVtbl; \
|
||||
} iface; \
|
||||
typedef struct iface##Vtbl iface##Vtbl; \
|
||||
struct iface##Vtbl
|
||||
#define DECLARE_INTERFACE(iface) \
|
||||
typedef interface iface { struct iface##Vtbl FAR* lpVtbl; } iface; \
|
||||
typedef struct iface##Vtbl iface##Vtbl; \
|
||||
struct iface##Vtbl
|
||||
#endif
|
||||
#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
|
||||
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
|
||||
#endif
|
||||
/* end MsDev's style, all of that must eventually go! */
|
||||
#endif /* __LIBMFC__ */
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}; /* extern "C" { */
|
||||
#endif
|
||||
|
||||
#endif /* __WINE_OBJBASE_H */
|
||||
|
|
Loading…
Reference in a new issue