Home | History | Annotate | Download | only in include
      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__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error this stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef __chanmgr_h__
     18 #define __chanmgr_h__
     19 
     20 #ifndef __IChannelMgr_FWD_DEFINED__
     21 #define __IChannelMgr_FWD_DEFINED__
     22 typedef struct IChannelMgr IChannelMgr;
     23 #endif
     24 
     25 #ifndef __IEnumChannels_FWD_DEFINED__
     26 #define __IEnumChannels_FWD_DEFINED__
     27 typedef struct IEnumChannels IEnumChannels;
     28 #endif
     29 
     30 #ifndef __ChannelMgr_FWD_DEFINED__
     31 #define __ChannelMgr_FWD_DEFINED__
     32 #ifdef __cplusplus
     33 typedef class ChannelMgr ChannelMgr;
     34 #else
     35 typedef struct ChannelMgr ChannelMgr;
     36 #endif
     37 #endif
     38 
     39 #include "unknwn.h"
     40 
     41 #ifdef __cplusplus
     42 extern "C"{
     43 #endif
     44 
     45 #ifndef __MIDL_user_allocate_free_DEFINED__
     46 #define __MIDL_user_allocate_free_DEFINED__
     47   void *__RPC_API MIDL_user_allocate(size_t);
     48   void __RPC_API MIDL_user_free(void *);
     49 #endif
     50 
     51   extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
     52   extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
     53 
     54 #ifndef __CHANNELMGR_LIBRARY_DEFINED__
     55 #define __CHANNELMGR_LIBRARY_DEFINED__
     56   EXTERN_C const IID LIBID_CHANNELMGR;
     57 #ifndef __IChannelMgr_INTERFACE_DEFINED__
     58 #define __IChannelMgr_INTERFACE_DEFINED__
     59 
     60   typedef struct _tagChannelShortcutInfo {
     61     DWORD cbSize;
     62     LPWSTR pszTitle;
     63     LPWSTR pszURL;
     64     LPWSTR pszLogo;
     65     LPWSTR pszIcon;
     66     LPWSTR pszWideLogo;
     67     WINBOOL bIsSoftware;
     68   } CHANNELSHORTCUTINFO;
     69 
     70   typedef struct _tagChannelCategoryInfo {
     71     DWORD cbSize;
     72     LPWSTR pszTitle;
     73     LPWSTR pszURL;
     74     LPWSTR pszLogo;
     75     LPWSTR pszIcon;
     76     LPWSTR pszWideLogo;
     77   } CHANNELCATEGORYINFO;
     78 
     79   typedef enum _tagChannelEnumFlags {
     80     CHANENUM_CHANNELFOLDER = 0x1,CHANENUM_SOFTUPDATEFOLDER = 0x2,CHANENUM_DESKTOPFOLDER = 0x4,CHANENUM_TITLE = 0x10000,CHANENUM_PATH = 0x20000,
     81     CHANENUM_URL = 0x40000,CHANENUM_SUBSCRIBESTATE = 0x80000
     82   } CHANNELENUMFLAGS;
     83 
     84 #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER)
     85 #define CHANENUM_ALLDATA (CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
     86 #define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER | CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
     87 
     88   EXTERN_C const IID IID_IChannelMgr;
     89 #if defined(__cplusplus) && !defined(CINTERFACE)
     90   struct IChannelMgr : public IUnknown {
     91   public:
     92     virtual HRESULT WINAPI AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo) = 0;
     93     virtual HRESULT WINAPI DeleteChannelShortcut(LPWSTR pszTitle) = 0;
     94     virtual HRESULT WINAPI AddCategory(CHANNELCATEGORYINFO *pCategoryInfo) = 0;
     95     virtual HRESULT WINAPI DeleteCategory(LPWSTR pszTitle) = 0;
     96     virtual HRESULT WINAPI EnumChannels(DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels) = 0;
     97   };
     98 #else
     99   typedef struct IChannelMgrVtbl {
    100     BEGIN_INTERFACE
    101       HRESULT (WINAPI *QueryInterface)(IChannelMgr *This,REFIID riid,void **ppvObject);
    102       ULONG (WINAPI *AddRef)(IChannelMgr *This);
    103       ULONG (WINAPI *Release)(IChannelMgr *This);
    104       HRESULT (WINAPI *AddChannelShortcut)(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
    105       HRESULT (WINAPI *DeleteChannelShortcut)(IChannelMgr *This,LPWSTR pszTitle);
    106       HRESULT (WINAPI *AddCategory)(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
    107       HRESULT (WINAPI *DeleteCategory)(IChannelMgr *This,LPWSTR pszTitle);
    108       HRESULT (WINAPI *EnumChannels)(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
    109     END_INTERFACE
    110   } IChannelMgrVtbl;
    111   struct IChannelMgr {
    112     CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
    113   };
    114 #ifdef COBJMACROS
    115 #define IChannelMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    116 #define IChannelMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
    117 #define IChannelMgr_Release(This) (This)->lpVtbl->Release(This)
    118 #define IChannelMgr_AddChannelShortcut(This,pChannelInfo) (This)->lpVtbl->AddChannelShortcut(This,pChannelInfo)
    119 #define IChannelMgr_DeleteChannelShortcut(This,pszTitle) (This)->lpVtbl->DeleteChannelShortcut(This,pszTitle)
    120 #define IChannelMgr_AddCategory(This,pCategoryInfo) (This)->lpVtbl->AddCategory(This,pCategoryInfo)
    121 #define IChannelMgr_DeleteCategory(This,pszTitle) (This)->lpVtbl->DeleteCategory(This,pszTitle)
    122 #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) (This)->lpVtbl->EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
    123 #endif
    124 #endif
    125   HRESULT WINAPI IChannelMgr_AddChannelShortcut_Proxy(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
    126   void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    127   HRESULT WINAPI IChannelMgr_DeleteChannelShortcut_Proxy(IChannelMgr *This,LPWSTR pszTitle);
    128   void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    129   HRESULT WINAPI IChannelMgr_AddCategory_Proxy(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
    130   void __RPC_STUB IChannelMgr_AddCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    131   HRESULT WINAPI IChannelMgr_DeleteCategory_Proxy(IChannelMgr *This,LPWSTR pszTitle);
    132   void __RPC_STUB IChannelMgr_DeleteCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    133   HRESULT WINAPI IChannelMgr_EnumChannels_Proxy(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
    134   void __RPC_STUB IChannelMgr_EnumChannels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    135 #endif
    136 
    137 #ifndef __IEnumChannels_INTERFACE_DEFINED__
    138 #define __IEnumChannels_INTERFACE_DEFINED__
    139   typedef enum _tagSubcriptionState {
    140     SUBSTATE_NOTSUBSCRIBED = 0,SUBSTATE_PARTIALSUBSCRIPTION,SUBSTATE_FULLSUBSCRIPTION
    141   } SUBSCRIPTIONSTATE;
    142 
    143   typedef struct _tagChannelInfo {
    144     LPOLESTR pszTitle;
    145     LPOLESTR pszPath;
    146     LPOLESTR pszURL;
    147     SUBSCRIPTIONSTATE stSubscriptionState;
    148   } CHANNELENUMINFO;
    149 
    150   EXTERN_C const IID IID_IEnumChannels;
    151 #if defined(__cplusplus) && !defined(CINTERFACE)
    152   struct IEnumChannels : public IUnknown {
    153   public:
    154     virtual HRESULT WINAPI Next(ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched) = 0;
    155     virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    156     virtual HRESULT WINAPI Reset(void) = 0;
    157     virtual HRESULT WINAPI Clone(IEnumChannels **ppenum) = 0;
    158   };
    159 #else
    160   typedef struct IEnumChannelsVtbl {
    161     BEGIN_INTERFACE
    162       HRESULT (WINAPI *QueryInterface)(IEnumChannels *This,REFIID riid,void **ppvObject);
    163       ULONG (WINAPI *AddRef)(IEnumChannels *This);
    164       ULONG (WINAPI *Release)(IEnumChannels *This);
    165       HRESULT (WINAPI *Next)(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
    166       HRESULT (WINAPI *Skip)(IEnumChannels *This,ULONG celt);
    167       HRESULT (WINAPI *Reset)(IEnumChannels *This);
    168       HRESULT (WINAPI *Clone)(IEnumChannels *This,IEnumChannels **ppenum);
    169     END_INTERFACE
    170   } IEnumChannelsVtbl;
    171   struct IEnumChannels {
    172     CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
    173   };
    174 #ifdef COBJMACROS
    175 #define IEnumChannels_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    176 #define IEnumChannels_AddRef(This) (This)->lpVtbl->AddRef(This)
    177 #define IEnumChannels_Release(This) (This)->lpVtbl->Release(This)
    178 #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) (This)->lpVtbl->Next(This,celt,rgChanInf,pceltFetched)
    179 #define IEnumChannels_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
    180 #define IEnumChannels_Reset(This) (This)->lpVtbl->Reset(This)
    181 #define IEnumChannels_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
    182 #endif
    183 #endif
    184   HRESULT WINAPI IEnumChannels_Next_Proxy(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
    185   void __RPC_STUB IEnumChannels_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    186   HRESULT WINAPI IEnumChannels_Skip_Proxy(IEnumChannels *This,ULONG celt);
    187   void __RPC_STUB IEnumChannels_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    188   HRESULT WINAPI IEnumChannels_Reset_Proxy(IEnumChannels *This);
    189   void __RPC_STUB IEnumChannels_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    190   HRESULT WINAPI IEnumChannels_Clone_Proxy(IEnumChannels *This,IEnumChannels **ppenum);
    191   void __RPC_STUB IEnumChannels_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    192 #endif
    193 
    194   EXTERN_C const CLSID CLSID_ChannelMgr;
    195 #ifdef __cplusplus
    196   class ChannelMgr;
    197 #endif
    198 #endif
    199 
    200 #ifdef __cplusplus
    201 }
    202 #endif
    203 #endif
    204