windows.foundation.collections.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. /*** Autogenerated by WIDL 7.7 from include/windows.foundation.collections.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __windows_foundation_collections_h__
  14. #define __windows_foundation_collections_h__
  15. /* Forward declarations */
  16. #if defined(__cplusplus) && !defined(CINTERFACE)
  17. namespace ABI {
  18. namespace Windows {
  19. namespace Foundation {
  20. template <class T>
  21. struct IEventHandler_impl;
  22. template <class T>
  23. struct IEventHandler : IEventHandler_impl<T> {};
  24. }
  25. }
  26. }
  27. #endif
  28. #if defined(__cplusplus) && !defined(CINTERFACE)
  29. namespace ABI {
  30. namespace Windows {
  31. namespace Foundation {
  32. template <class TResult>
  33. struct IAsyncOperationCompletedHandler_impl;
  34. template <class TResult>
  35. struct IAsyncOperationCompletedHandler : IAsyncOperationCompletedHandler_impl<TResult> {};
  36. }
  37. }
  38. }
  39. #endif
  40. #if defined(__cplusplus) && !defined(CINTERFACE)
  41. namespace ABI {
  42. namespace Windows {
  43. namespace Foundation {
  44. template <class TResult>
  45. struct IAsyncOperation_impl;
  46. template <class TResult>
  47. struct IAsyncOperation : IAsyncOperation_impl<TResult> {};
  48. }
  49. }
  50. }
  51. #endif
  52. #if defined(__cplusplus) && !defined(CINTERFACE)
  53. namespace ABI {
  54. namespace Windows {
  55. namespace Foundation {
  56. template <class TSender, class TArgs>
  57. struct ITypedEventHandler_impl;
  58. template <class TSender, class TArgs>
  59. struct ITypedEventHandler : ITypedEventHandler_impl<TSender, TArgs> {};
  60. }
  61. }
  62. }
  63. #endif
  64. #if defined(__cplusplus) && !defined(CINTERFACE)
  65. namespace ABI {
  66. namespace Windows {
  67. namespace Foundation {
  68. template <class T>
  69. struct IReference_impl;
  70. template <class T>
  71. struct IReference : IReference_impl<T> {};
  72. }
  73. }
  74. }
  75. #endif
  76. #if defined(__cplusplus) && !defined(CINTERFACE)
  77. namespace ABI {
  78. namespace Windows {
  79. namespace Foundation {
  80. namespace Collections {
  81. template <class T>
  82. struct IIterator_impl;
  83. template <class T>
  84. struct IIterator : IIterator_impl<T> {};
  85. }
  86. }
  87. }
  88. }
  89. #endif
  90. #if defined(__cplusplus) && !defined(CINTERFACE)
  91. namespace ABI {
  92. namespace Windows {
  93. namespace Foundation {
  94. namespace Collections {
  95. template <class T>
  96. struct IIterable_impl;
  97. template <class T>
  98. struct IIterable : IIterable_impl<T> {};
  99. }
  100. }
  101. }
  102. }
  103. #endif
  104. #if defined(__cplusplus) && !defined(CINTERFACE)
  105. namespace ABI {
  106. namespace Windows {
  107. namespace Foundation {
  108. namespace Collections {
  109. template <class K, class V>
  110. struct IKeyValuePair_impl;
  111. template <class K, class V>
  112. struct IKeyValuePair : IKeyValuePair_impl<K, V> {};
  113. }
  114. }
  115. }
  116. }
  117. #endif
  118. #if defined(__cplusplus) && !defined(CINTERFACE)
  119. namespace ABI {
  120. namespace Windows {
  121. namespace Foundation {
  122. namespace Collections {
  123. template <class K, class V>
  124. struct IMapView_impl;
  125. template <class K, class V>
  126. struct IMapView : IMapView_impl<K, V> {};
  127. }
  128. }
  129. }
  130. }
  131. #endif
  132. #if defined(__cplusplus) && !defined(CINTERFACE)
  133. namespace ABI {
  134. namespace Windows {
  135. namespace Foundation {
  136. namespace Collections {
  137. template <class T>
  138. struct IVectorView_impl;
  139. template <class T>
  140. struct IVectorView : IVectorView_impl<T> {};
  141. }
  142. }
  143. }
  144. }
  145. #endif
  146. #if defined(__cplusplus) && !defined(CINTERFACE)
  147. namespace ABI {
  148. namespace Windows {
  149. namespace Foundation {
  150. namespace Collections {
  151. template <class T>
  152. struct IVector_impl;
  153. template <class T>
  154. struct IVector : IVector_impl<T> {};
  155. }
  156. }
  157. }
  158. }
  159. #endif
  160. /* Headers for imported files */
  161. #include <inspectable.h>
  162. #include <asyncinfo.h>
  163. #include <windowscontracts.h>
  164. #ifdef __cplusplus
  165. extern "C" {
  166. #endif
  167. #ifdef __cplusplus
  168. } /* extern "C" */
  169. namespace ABI { namespace Windows { namespace Foundation { namespace Internal {
  170. template <class T> struct GetAbiType { typedef T type; };
  171. template <class T> struct GetLogicalType { typedef T type; };
  172. template <class L, class A> struct AggregateType {};
  173. template <class L, class A> struct GetAbiType<AggregateType<L, A> > { typedef A type; };
  174. template <class L, class A> struct GetLogicalType<AggregateType<L, A> > { typedef L type; };
  175. }}}}
  176. extern "C" {
  177. #endif
  178. #if defined(__cplusplus) && !defined(CINTERFACE)
  179. } /* extern "C" */
  180. namespace ABI {
  181. namespace Windows {
  182. namespace Foundation {
  183. template <class T>
  184. struct IEventHandler_impl : IUnknown
  185. {
  186. private:
  187. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  188. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  189. public:
  190. typedef T T_complex;
  191. virtual HRESULT STDMETHODCALLTYPE Invoke(IInspectable *sender,T_abi args) = 0;
  192. };
  193. }
  194. }
  195. }
  196. extern "C" {
  197. #endif
  198. #if defined(__cplusplus) && !defined(CINTERFACE)
  199. } /* extern "C" */
  200. namespace ABI {
  201. namespace Windows {
  202. namespace Foundation {
  203. template <class TResult>
  204. struct IAsyncOperationCompletedHandler_impl : IUnknown
  205. {
  206. private:
  207. typedef typename Windows::Foundation::Internal::GetAbiType<TResult>::type TResult_abi;
  208. typedef typename Windows::Foundation::Internal::GetLogicalType<TResult>::type TResult_logical;
  209. public:
  210. typedef TResult TResult_complex;
  211. virtual HRESULT STDMETHODCALLTYPE Invoke(IAsyncOperation<TResult_logical> *info,AsyncStatus status) = 0;
  212. };
  213. }
  214. }
  215. }
  216. extern "C" {
  217. #endif
  218. #if defined(__cplusplus) && !defined(CINTERFACE)
  219. } /* extern "C" */
  220. namespace ABI {
  221. namespace Windows {
  222. namespace Foundation {
  223. template <class TResult>
  224. struct IAsyncOperation_impl : IInspectable
  225. {
  226. private:
  227. typedef typename Windows::Foundation::Internal::GetAbiType<TResult>::type TResult_abi;
  228. typedef typename Windows::Foundation::Internal::GetLogicalType<TResult>::type TResult_logical;
  229. public:
  230. typedef TResult TResult_complex;
  231. virtual HRESULT STDMETHODCALLTYPE put_Completed(IAsyncOperationCompletedHandler<TResult_logical> *handler) = 0;
  232. virtual HRESULT STDMETHODCALLTYPE get_Completed(IAsyncOperationCompletedHandler<TResult_logical> **handler) = 0;
  233. virtual HRESULT STDMETHODCALLTYPE GetResults(TResult_abi *results) = 0;
  234. };
  235. }
  236. }
  237. }
  238. extern "C" {
  239. #endif
  240. #if defined(__cplusplus) && !defined(CINTERFACE)
  241. } /* extern "C" */
  242. namespace ABI {
  243. namespace Windows {
  244. namespace Foundation {
  245. template <class TSender, class TArgs>
  246. struct ITypedEventHandler_impl : IUnknown
  247. {
  248. private:
  249. typedef typename Windows::Foundation::Internal::GetAbiType<TSender>::type TSender_abi;
  250. typedef typename Windows::Foundation::Internal::GetLogicalType<TSender>::type TSender_logical;
  251. typedef typename Windows::Foundation::Internal::GetAbiType<TArgs>::type TArgs_abi;
  252. typedef typename Windows::Foundation::Internal::GetLogicalType<TArgs>::type TArgs_logical;
  253. public:
  254. typedef TSender TSender_complex;
  255. typedef TArgs TArgs_complex;
  256. virtual HRESULT STDMETHODCALLTYPE Invoke(TSender_abi sender,TArgs_abi args) = 0;
  257. };
  258. }
  259. }
  260. }
  261. extern "C" {
  262. #endif
  263. #if defined(__cplusplus) && !defined(CINTERFACE)
  264. } /* extern "C" */
  265. namespace ABI {
  266. namespace Windows {
  267. namespace Foundation {
  268. template <class T>
  269. struct IReference_impl : IInspectable
  270. {
  271. private:
  272. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  273. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  274. public:
  275. typedef T T_complex;
  276. virtual HRESULT STDMETHODCALLTYPE get_Value(T_abi *value) = 0;
  277. };
  278. }
  279. }
  280. }
  281. extern "C" {
  282. #endif
  283. #if defined(__cplusplus) && !defined(CINTERFACE)
  284. } /* extern "C" */
  285. namespace ABI {
  286. namespace Windows {
  287. namespace Foundation {
  288. namespace Collections {
  289. template <class T>
  290. struct IIterator_impl : IInspectable
  291. {
  292. private:
  293. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  294. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  295. public:
  296. typedef T T_complex;
  297. virtual HRESULT STDMETHODCALLTYPE get_Current(T_abi *value) = 0;
  298. virtual HRESULT STDMETHODCALLTYPE get_HasCurrent(WINBOOL *value) = 0;
  299. virtual HRESULT STDMETHODCALLTYPE MoveNext(WINBOOL *value) = 0;
  300. virtual HRESULT STDMETHODCALLTYPE GetMany(UINT32 items_size,T_abi *items,UINT32 *value) = 0;
  301. };
  302. }
  303. }
  304. }
  305. }
  306. extern "C" {
  307. #endif
  308. #if defined(__cplusplus) && !defined(CINTERFACE)
  309. } /* extern "C" */
  310. namespace ABI {
  311. namespace Windows {
  312. namespace Foundation {
  313. namespace Collections {
  314. template <class T>
  315. struct IIterable_impl : IInspectable
  316. {
  317. private:
  318. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  319. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  320. public:
  321. typedef T T_complex;
  322. virtual HRESULT STDMETHODCALLTYPE First(IIterator<T_logical> **value) = 0;
  323. };
  324. }
  325. }
  326. }
  327. }
  328. extern "C" {
  329. #endif
  330. #if defined(__cplusplus) && !defined(CINTERFACE)
  331. } /* extern "C" */
  332. namespace ABI {
  333. namespace Windows {
  334. namespace Foundation {
  335. namespace Collections {
  336. template <class K, class V>
  337. struct IKeyValuePair_impl : IInspectable
  338. {
  339. private:
  340. typedef typename Windows::Foundation::Internal::GetAbiType<K>::type K_abi;
  341. typedef typename Windows::Foundation::Internal::GetLogicalType<K>::type K_logical;
  342. typedef typename Windows::Foundation::Internal::GetAbiType<V>::type V_abi;
  343. typedef typename Windows::Foundation::Internal::GetLogicalType<V>::type V_logical;
  344. public:
  345. typedef K K_complex;
  346. typedef V V_complex;
  347. virtual HRESULT STDMETHODCALLTYPE get_Key(K_abi *key) = 0;
  348. virtual HRESULT STDMETHODCALLTYPE get_Value(V_abi *value) = 0;
  349. };
  350. }
  351. }
  352. }
  353. }
  354. extern "C" {
  355. #endif
  356. #if defined(__cplusplus) && !defined(CINTERFACE)
  357. } /* extern "C" */
  358. namespace ABI {
  359. namespace Windows {
  360. namespace Foundation {
  361. namespace Collections {
  362. template <class K, class V>
  363. struct IMapView_impl : IInspectable
  364. {
  365. private:
  366. typedef typename Windows::Foundation::Internal::GetAbiType<K>::type K_abi;
  367. typedef typename Windows::Foundation::Internal::GetLogicalType<K>::type K_logical;
  368. typedef typename Windows::Foundation::Internal::GetAbiType<V>::type V_abi;
  369. typedef typename Windows::Foundation::Internal::GetLogicalType<V>::type V_logical;
  370. public:
  371. typedef K K_complex;
  372. typedef V V_complex;
  373. virtual HRESULT STDMETHODCALLTYPE Lookup(K_abi key,V_abi *value) = 0;
  374. virtual HRESULT STDMETHODCALLTYPE get_Size(unsigned int *size) = 0;
  375. virtual HRESULT STDMETHODCALLTYPE HasKey(K_abi key,boolean *found) = 0;
  376. virtual HRESULT STDMETHODCALLTYPE Split(IMapView<K_logical, V_logical> **first,IMapView<K_logical, V_logical> **second) = 0;
  377. };
  378. }
  379. }
  380. }
  381. }
  382. extern "C" {
  383. #endif
  384. #if defined(__cplusplus) && !defined(CINTERFACE)
  385. } /* extern "C" */
  386. namespace ABI {
  387. namespace Windows {
  388. namespace Foundation {
  389. namespace Collections {
  390. template <class T>
  391. struct IVectorView_impl : IInspectable
  392. {
  393. private:
  394. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  395. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  396. public:
  397. typedef T T_complex;
  398. virtual HRESULT STDMETHODCALLTYPE GetAt(UINT32 index,T_abi *value) = 0;
  399. virtual HRESULT STDMETHODCALLTYPE get_Size(UINT32 *value) = 0;
  400. virtual HRESULT STDMETHODCALLTYPE IndexOf(T_abi element,UINT32 *index,BOOLEAN *value) = 0;
  401. virtual HRESULT STDMETHODCALLTYPE GetMany(UINT32 start_index,UINT32 items_size,T_abi *items,UINT32 *value) = 0;
  402. };
  403. }
  404. }
  405. }
  406. }
  407. extern "C" {
  408. #endif
  409. #if defined(__cplusplus) && !defined(CINTERFACE)
  410. } /* extern "C" */
  411. namespace ABI {
  412. namespace Windows {
  413. namespace Foundation {
  414. namespace Collections {
  415. template <class T>
  416. struct IVector_impl : IInspectable
  417. {
  418. private:
  419. typedef typename Windows::Foundation::Internal::GetAbiType<T>::type T_abi;
  420. typedef typename Windows::Foundation::Internal::GetLogicalType<T>::type T_logical;
  421. public:
  422. typedef T T_complex;
  423. virtual HRESULT STDMETHODCALLTYPE GetAt(UINT32 index,T_abi *value) = 0;
  424. virtual HRESULT STDMETHODCALLTYPE get_Size(UINT32 *value) = 0;
  425. virtual HRESULT STDMETHODCALLTYPE GetView(IVectorView<T_logical> **value) = 0;
  426. virtual HRESULT STDMETHODCALLTYPE IndexOf(T_abi element,UINT32 *index,BOOLEAN *value) = 0;
  427. virtual HRESULT STDMETHODCALLTYPE SetAt(UINT32 index,T_abi value) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE InsertAt(UINT32 index,T_abi value) = 0;
  429. virtual HRESULT STDMETHODCALLTYPE RemoveAt(UINT32 index) = 0;
  430. virtual HRESULT STDMETHODCALLTYPE Append(T_abi value) = 0;
  431. virtual HRESULT STDMETHODCALLTYPE RemoveAtEnd() = 0;
  432. virtual HRESULT STDMETHODCALLTYPE Clear() = 0;
  433. virtual HRESULT STDMETHODCALLTYPE GetMany(UINT32 start_index,UINT32 items_size,T_abi *items,UINT32 *value) = 0;
  434. virtual HRESULT STDMETHODCALLTYPE ReplaceAll(UINT32 count,T_abi *items) = 0;
  435. };
  436. }
  437. }
  438. }
  439. }
  440. extern "C" {
  441. #endif
  442. /* Begin additional prototypes for all interfaces */
  443. /* End additional prototypes */
  444. #ifdef __cplusplus
  445. }
  446. #endif
  447. #endif /* __windows_foundation_collections_h__ */