mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 03:15:07 +00:00
203 lines
9 KiB
C++
203 lines
9 KiB
C++
/**
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
|
* This file is part of the mingw-w64 runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
|
*/
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
|
|
#include "rpc.h"
|
|
#include "rpcndr.h"
|
|
|
|
#ifndef __RPCNDR_H_VERSION__
|
|
#error this stub requires an updated version of <rpcndr.h>
|
|
#endif
|
|
|
|
#ifndef __chanmgr_h__
|
|
#define __chanmgr_h__
|
|
|
|
#ifndef __IChannelMgr_FWD_DEFINED__
|
|
#define __IChannelMgr_FWD_DEFINED__
|
|
typedef struct IChannelMgr IChannelMgr;
|
|
#endif
|
|
|
|
#ifndef __IEnumChannels_FWD_DEFINED__
|
|
#define __IEnumChannels_FWD_DEFINED__
|
|
typedef struct IEnumChannels IEnumChannels;
|
|
#endif
|
|
|
|
#ifndef __ChannelMgr_FWD_DEFINED__
|
|
#define __ChannelMgr_FWD_DEFINED__
|
|
#ifdef __cplusplus
|
|
typedef class ChannelMgr ChannelMgr;
|
|
#else
|
|
typedef struct ChannelMgr ChannelMgr;
|
|
#endif
|
|
#endif
|
|
|
|
#include "unknwn.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
#ifndef __MIDL_user_allocate_free_DEFINED__
|
|
#define __MIDL_user_allocate_free_DEFINED__
|
|
void *__RPC_API MIDL_user_allocate(size_t);
|
|
void __RPC_API MIDL_user_free(void *);
|
|
#endif
|
|
|
|
extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
|
|
extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
|
|
|
|
#ifndef __CHANNELMGR_LIBRARY_DEFINED__
|
|
#define __CHANNELMGR_LIBRARY_DEFINED__
|
|
EXTERN_C const IID LIBID_CHANNELMGR;
|
|
#ifndef __IChannelMgr_INTERFACE_DEFINED__
|
|
#define __IChannelMgr_INTERFACE_DEFINED__
|
|
|
|
typedef struct _tagChannelShortcutInfo {
|
|
DWORD cbSize;
|
|
LPWSTR pszTitle;
|
|
LPWSTR pszURL;
|
|
LPWSTR pszLogo;
|
|
LPWSTR pszIcon;
|
|
LPWSTR pszWideLogo;
|
|
WINBOOL bIsSoftware;
|
|
} CHANNELSHORTCUTINFO;
|
|
|
|
typedef struct _tagChannelCategoryInfo {
|
|
DWORD cbSize;
|
|
LPWSTR pszTitle;
|
|
LPWSTR pszURL;
|
|
LPWSTR pszLogo;
|
|
LPWSTR pszIcon;
|
|
LPWSTR pszWideLogo;
|
|
} CHANNELCATEGORYINFO;
|
|
|
|
typedef enum _tagChannelEnumFlags {
|
|
CHANENUM_CHANNELFOLDER = 0x1,CHANENUM_SOFTUPDATEFOLDER = 0x2,CHANENUM_DESKTOPFOLDER = 0x4,CHANENUM_TITLE = 0x10000,CHANENUM_PATH = 0x20000,
|
|
CHANENUM_URL = 0x40000,CHANENUM_SUBSCRIBESTATE = 0x80000
|
|
} CHANNELENUMFLAGS;
|
|
|
|
#define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER)
|
|
#define CHANENUM_ALLDATA (CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
|
|
#define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER | CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
|
|
|
|
EXTERN_C const IID IID_IChannelMgr;
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
struct IChannelMgr : public IUnknown {
|
|
public:
|
|
virtual HRESULT WINAPI AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo) = 0;
|
|
virtual HRESULT WINAPI DeleteChannelShortcut(LPWSTR pszTitle) = 0;
|
|
virtual HRESULT WINAPI AddCategory(CHANNELCATEGORYINFO *pCategoryInfo) = 0;
|
|
virtual HRESULT WINAPI DeleteCategory(LPWSTR pszTitle) = 0;
|
|
virtual HRESULT WINAPI EnumChannels(DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels) = 0;
|
|
};
|
|
#else
|
|
typedef struct IChannelMgrVtbl {
|
|
BEGIN_INTERFACE
|
|
HRESULT (WINAPI *QueryInterface)(IChannelMgr *This,REFIID riid,void **ppvObject);
|
|
ULONG (WINAPI *AddRef)(IChannelMgr *This);
|
|
ULONG (WINAPI *Release)(IChannelMgr *This);
|
|
HRESULT (WINAPI *AddChannelShortcut)(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
|
|
HRESULT (WINAPI *DeleteChannelShortcut)(IChannelMgr *This,LPWSTR pszTitle);
|
|
HRESULT (WINAPI *AddCategory)(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
|
|
HRESULT (WINAPI *DeleteCategory)(IChannelMgr *This,LPWSTR pszTitle);
|
|
HRESULT (WINAPI *EnumChannels)(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
|
|
END_INTERFACE
|
|
} IChannelMgrVtbl;
|
|
struct IChannelMgr {
|
|
CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IChannelMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IChannelMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IChannelMgr_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IChannelMgr_AddChannelShortcut(This,pChannelInfo) (This)->lpVtbl->AddChannelShortcut(This,pChannelInfo)
|
|
#define IChannelMgr_DeleteChannelShortcut(This,pszTitle) (This)->lpVtbl->DeleteChannelShortcut(This,pszTitle)
|
|
#define IChannelMgr_AddCategory(This,pCategoryInfo) (This)->lpVtbl->AddCategory(This,pCategoryInfo)
|
|
#define IChannelMgr_DeleteCategory(This,pszTitle) (This)->lpVtbl->DeleteCategory(This,pszTitle)
|
|
#define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) (This)->lpVtbl->EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
|
|
#endif
|
|
#endif
|
|
HRESULT WINAPI IChannelMgr_AddChannelShortcut_Proxy(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
|
|
void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IChannelMgr_DeleteChannelShortcut_Proxy(IChannelMgr *This,LPWSTR pszTitle);
|
|
void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IChannelMgr_AddCategory_Proxy(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
|
|
void __RPC_STUB IChannelMgr_AddCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IChannelMgr_DeleteCategory_Proxy(IChannelMgr *This,LPWSTR pszTitle);
|
|
void __RPC_STUB IChannelMgr_DeleteCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IChannelMgr_EnumChannels_Proxy(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
|
|
void __RPC_STUB IChannelMgr_EnumChannels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
#endif
|
|
|
|
#ifndef __IEnumChannels_INTERFACE_DEFINED__
|
|
#define __IEnumChannels_INTERFACE_DEFINED__
|
|
typedef enum _tagSubcriptionState {
|
|
SUBSTATE_NOTSUBSCRIBED = 0,SUBSTATE_PARTIALSUBSCRIPTION,SUBSTATE_FULLSUBSCRIPTION
|
|
} SUBSCRIPTIONSTATE;
|
|
|
|
typedef struct _tagChannelInfo {
|
|
LPOLESTR pszTitle;
|
|
LPOLESTR pszPath;
|
|
LPOLESTR pszURL;
|
|
SUBSCRIPTIONSTATE stSubscriptionState;
|
|
} CHANNELENUMINFO;
|
|
|
|
EXTERN_C const IID IID_IEnumChannels;
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
struct IEnumChannels : public IUnknown {
|
|
public:
|
|
virtual HRESULT WINAPI Next(ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched) = 0;
|
|
virtual HRESULT WINAPI Skip(ULONG celt) = 0;
|
|
virtual HRESULT WINAPI Reset(void) = 0;
|
|
virtual HRESULT WINAPI Clone(IEnumChannels **ppenum) = 0;
|
|
};
|
|
#else
|
|
typedef struct IEnumChannelsVtbl {
|
|
BEGIN_INTERFACE
|
|
HRESULT (WINAPI *QueryInterface)(IEnumChannels *This,REFIID riid,void **ppvObject);
|
|
ULONG (WINAPI *AddRef)(IEnumChannels *This);
|
|
ULONG (WINAPI *Release)(IEnumChannels *This);
|
|
HRESULT (WINAPI *Next)(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
|
|
HRESULT (WINAPI *Skip)(IEnumChannels *This,ULONG celt);
|
|
HRESULT (WINAPI *Reset)(IEnumChannels *This);
|
|
HRESULT (WINAPI *Clone)(IEnumChannels *This,IEnumChannels **ppenum);
|
|
END_INTERFACE
|
|
} IEnumChannelsVtbl;
|
|
struct IEnumChannels {
|
|
CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
|
|
};
|
|
#ifdef COBJMACROS
|
|
#define IEnumChannels_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IEnumChannels_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IEnumChannels_Release(This) (This)->lpVtbl->Release(This)
|
|
#define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) (This)->lpVtbl->Next(This,celt,rgChanInf,pceltFetched)
|
|
#define IEnumChannels_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
|
|
#define IEnumChannels_Reset(This) (This)->lpVtbl->Reset(This)
|
|
#define IEnumChannels_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
|
|
#endif
|
|
#endif
|
|
HRESULT WINAPI IEnumChannels_Next_Proxy(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
|
|
void __RPC_STUB IEnumChannels_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IEnumChannels_Skip_Proxy(IEnumChannels *This,ULONG celt);
|
|
void __RPC_STUB IEnumChannels_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IEnumChannels_Reset_Proxy(IEnumChannels *This);
|
|
void __RPC_STUB IEnumChannels_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
HRESULT WINAPI IEnumChannels_Clone_Proxy(IEnumChannels *This,IEnumChannels **ppenum);
|
|
void __RPC_STUB IEnumChannels_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
|
|
#endif
|
|
|
|
EXTERN_C const CLSID CLSID_ChannelMgr;
|
|
#ifdef __cplusplus
|
|
class ChannelMgr;
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|