aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/chanmgr.h
blob: 2136e07c975e678024501e2d7aebf2eca5607edc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
/**
 * 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