Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1450 lines
67 KiB

  1. // Copyright (c) 1999,2000,2001 Microsoft Corporation. All Rights Reserved.
  2. // MSTvE.idl : IDL source for MSTvE.dll
  3. //
  4. // This file will be processed by the MIDL tool to
  5. // produce the type library (TveContr.tlb) and marshalling code.
  6. //
  7. // Need to put MIDL attributes of:
  8. // 'noncreatable' on
  9. // 'hidden' on
  10. // 'nonbrowsable' on
  11. //
  12. // -- _Helper interfaces need to be in the library section or else
  13. // can't seen them in the client
  14. //
  15. // -- None of the _Helper interfaces are marked dual. Hence they
  16. // won't work up on the client... (???)
  17. //
  18. // ---------------------------------------------------
  19. // CAUTION - if Change methods below, need to regen the proxy-stub file
  20. // nmake -f MSTvEps.mk
  21. // regsvr32 /s MSTvEps.dll
  22. //
  23. //
  24. // Also - if change any of the IID's, need to rebuild ..\uuid\[]\strmiids.lib
  25. cpp_quote("//+-------------------------------------------------------------------------")
  26. cpp_quote("//")
  27. cpp_quote("// Microsoft Windows")
  28. cpp_quote("// Copyright (C) Microsoft Corporation, 1999, 2000.")
  29. cpp_quote("//")
  30. cpp_quote("//--------------------------------------------------------------------------")
  31. cpp_quote("#pragma once")
  32. import "oaidl.idl";
  33. import "ocidl.idl";
  34. // forward declarations
  35. interface ITVETrigger;
  36. interface ITVETrack;
  37. interface ITVEVariation;
  38. interface ITVEEnhancement;
  39. interface ITVEService;
  40. interface ITVEActiveService;
  41. interface ITVESupervisor;
  42. interface ITVEAttrMap;
  43. interface ITVEAttrTimeQ;
  44. interface ITVETracks;
  45. interface ITVEVariations;
  46. interface ITVEEnhancements;
  47. interface ITVEServices;
  48. interface ITVEFile;
  49. interface ITVESupervisor_Helper;
  50. // Listener..
  51. interface ITVEMCast;
  52. interface ITVEMCasts;
  53. interface ITVEMCastManager;
  54. interface ITVEMCastCallback;
  55. // interfaces to configure the filter and get events from,
  56. interface ITVEFilter ;
  57. interface ITVEFilter_Helper;
  58. // glue stuff
  59. interface ITVENavAid;
  60. interface ITVENavAid_Helper;
  61. interface ITVENavAid_NoVidCtl;
  62. interface ITVETriggerCtrl;
  63. interface ITVETriggerCtrl_Helper;
  64. interface ITVEFeature;
  65. interface ITVESupervisorGITProxy;
  66. // ----------------------------------------------------------------------------------
  67. #define COLLECTID_Item DISPID_VALUE // (0)
  68. #define COLLECTID_Count 1 // standard set of collection interfaces
  69. #define COLLECTID_Add 2
  70. #define COLLECTID_Remove 3
  71. #define COLLECTID_RemoveAll 4 // extra for maps
  72. #define COLLECTID_Key 5
  73. #define COLLECTID_Replace 6
  74. #define COLLECTID_Insert 7
  75. #define COLLECTID_Update 8
  76. typedef enum NENH_Mode
  77. {
  78. NENH_New,
  79. NENH_Duplicate,
  80. NENH_Updated,
  81. NENH_Starting,
  82. NENH_Expired
  83. } NENH_Mode;
  84. typedef enum NPKG_Mode
  85. {
  86. NPKG_Starting, // brand new packet (never seen this UUID before)
  87. NPKG_Received, // correctly received and decoded a package
  88. NPKG_Duplicate, // duplicate send of a one already successfully received (packet 0 only)
  89. NPKG_Resend, // resend of one that wasn't received correctly before (packet 0 only)
  90. NPKG_Expired
  91. } NPKG_Mode;
  92. typedef enum NTRK_Mode
  93. {
  94. NTRK_New,
  95. NTRK_Duplicate, // exact duplicate of existing one
  96. NTRK_Updated, // updated version of existing one
  97. NTRK_Starting, // (not used???)
  98. NTRK_Expired
  99. } NTRK_Mode;
  100. typedef enum NFLE_Mode
  101. {
  102. NFLE_Received, // correctly received and decoded a package
  103. NFLE_Expired
  104. } NFLE_Mode;
  105. typedef enum NTUN_Mode
  106. {
  107. NTUN_New, // new station (service) never seen before
  108. NTUN_Retune, // tuning back to an existing station
  109. NTUN_Reactivate, // retuning to the current station
  110. NTUN_Turnoff, // turning atvef off
  111. NTUN_Fail // failed to tune for some reason
  112. } NTUN_Mode;
  113. typedef enum NWHAT_Mode // used in NotifyAuxInfo
  114. {
  115. NWHAT_Announcement,
  116. NWHAT_Trigger,
  117. NWHAT_Data,
  118. NWHAT_Other,
  119. NWHAT_Extra
  120. } NWHAT_Mode;
  121. // ---------------------------------------------------------------------
  122. [
  123. object,
  124. uuid(05500101-FAA5-4df9-8246-BFC23AC5CEA8),
  125. dual,
  126. helpstring("ITVETrigger Interface"),
  127. pointer_default(unique)
  128. ]
  129. interface ITVETrigger : IDispatch
  130. {
  131. [propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
  132. [propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
  133. [propget, id(3), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
  134. [propget, id(4), helpstring("property URL")] HRESULT URL([out, retval] BSTR *pVal);
  135. [propget, id(5), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  136. [propget, id(6), helpstring("property Expires")] HRESULT Expires([out, retval] DATE *pVal);
  137. [propget, id(7), helpstring("property Executes")] HRESULT Executes([out, retval] DATE *pVal);
  138. [propget, id(8), helpstring("property Script")] HRESULT Script([out, retval] BSTR *pVal);
  139. [propget, id(9), helpstring("property TVELevel")] HRESULT TVELevel([out, retval] float *pVal);
  140. [propget, id(10), helpstring("property Rest")] HRESULT Rest([out, retval] BSTR *pVal);
  141. [ id(11), helpstring("method ParseTrigger")] HRESULT ParseTrigger([in] const BSTR rVal);
  142. };
  143. [
  144. object,
  145. uuid(05500201-FAA5-4df9-8246-BFC23AC5CEA8),
  146. // dual,
  147. hidden,
  148. helpstring("ITVETrigger_Helper Interface"),
  149. pointer_default(unique)
  150. ]
  151. interface ITVETrigger_Helper : IUnknown
  152. {
  153. [ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVETrack *pTrack);
  154. [propget, id(2), helpstring("property CRC")] HRESULT CRC([in] const BSTR rVal, [out, retval] BSTR *pbstrCRC);
  155. [ id(3), helpstring("method UpdateFrom")] HRESULT UpdateFrom([in] ITVETrigger *pTrigger, [out] long *plgrfTRKChanged);
  156. [ id(4), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  157. [ id(5), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
  158. };
  159. // ---------------------------------------------------
  160. [
  161. object,
  162. uuid(05500102-FAA5-4df9-8246-BFC23AC5CEA8),
  163. dual,
  164. helpstring("ITVETrack Interface"),
  165. pointer_default(unique)
  166. ]
  167. interface ITVETrack : IDispatch
  168. {
  169. [propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
  170. [propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
  171. [propget, id(3), helpstring("property Trigger")] HRESULT Trigger([out, retval] ITVETrigger* *pVal);
  172. [propget, id(4), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  173. [propput, id(4), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  174. [ id(5), helpstring("method AttachTrigger")] HRESULT AttachTrigger([in] ITVETrigger *pTrigger);
  175. [ id(6), helpstring("method ReleaseTrigger")] HRESULT ReleaseTrigger();
  176. [ id(7), helpstring("method CreateTrigger")] HRESULT CreateTrigger([in] const BSTR bstrDescription);
  177. };
  178. [
  179. object,
  180. uuid(05500202-FAA5-4df9-8246-BFC23AC5CEA8),
  181. // dual,
  182. hidden,
  183. helpstring("ITVETrack_Helper Interface"),
  184. pointer_default(unique)
  185. ]
  186. interface ITVETrack_Helper : IUnknown
  187. {
  188. [id(1), helpstring("method ConnectParent")] HRESULT ConnectParent(ITVEVariation *pVariation);
  189. [id(2), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  190. [id(3), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
  191. };
  192. [
  193. object,
  194. uuid(05500112-FAA5-4df9-8246-BFC23AC5CEA8),
  195. dual,
  196. helpstring("ITVETracks Interface"),
  197. pointer_default(unique)
  198. ]
  199. interface ITVETracks : IDispatch
  200. {
  201. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  202. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  203. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVETrack * *pVal);
  204. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVETrack *pTrack);
  205. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  206. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  207. [ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVETrack *pTrack);
  208. };
  209. // ---------------------------------------------------
  210. [
  211. object,
  212. uuid(05500103-FAA5-4df9-8246-BFC23AC5CEA8),
  213. dual,
  214. helpstring("ITVEVariation Interface"),
  215. pointer_default(unique)
  216. ]
  217. interface ITVEVariation : IDispatch
  218. {
  219. [propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
  220. [propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
  221. [propget, id(3), helpstring("property Tracks")] HRESULT Tracks([out, retval] ITVETracks* *pVal);
  222. [propget, id(4), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  223. [propput, id(4), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  224. [propget, id(5), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
  225. [propget, id(6), helpstring("property MediaName")] HRESULT MediaName([out, retval] BSTR *newVal);
  226. [propget, id(7), helpstring("property MediaTitle")] HRESULT MediaTitle([out, retval] BSTR *newVal);
  227. [propget, id(8), helpstring("property FileIPAdapter")] HRESULT FileIPAdapter([out, retval] BSTR *newVal);
  228. [propget, id(9), helpstring("property FileIPAddress")] HRESULT FileIPAddress([out, retval] BSTR *newVal);
  229. [propget, id(10), helpstring("property FilePort")] HRESULT FilePort([out, retval] LONG *lPort);
  230. [propget, id(11), helpstring("property TriggerIPAdapter")] HRESULT TriggerIPAdapter([out, retval] BSTR *newVal);
  231. [propget, id(12), helpstring("property TriggerIPAddress")] HRESULT TriggerIPAddress([out, retval] BSTR *newVal);
  232. [propget, id(13), helpstring("property TriggerPort")] HRESULT TriggerPort([out, retval] LONG *lPort);
  233. [propget, id(14),helpstring("property Languages")] HRESULT Languages([out, retval] ITVEAttrMap* *ppVal);
  234. [propget, id(15),helpstring("property SDPLanguages")] HRESULT SDPLanguages([out, retval] ITVEAttrMap* *ppVal);
  235. [propget, id(16),helpstring("property Bandwidth")] HRESULT Bandwidth([out, retval] LONG *lVal);
  236. [propget, id(17),helpstring("property BandwidthInfo")] HRESULT BandwidthInfo([out, retval] BSTR *newVal);
  237. [propget, id(18),helpstring("property Attributes")] HRESULT Attributes([out, retval] ITVEAttrMap* *ppVal);
  238. [propget, id(19),helpstring("property Rest")] HRESULT Rest([out, retval] ITVEAttrMap* *ppVal);
  239. [ id(20),helpstring("method Initialize")] HRESULT Initialize([in] BSTR newVal);
  240. };
  241. [
  242. object,
  243. uuid(05500203-FAA5-4df9-8246-BFC23AC5CEA8),
  244. // dual,
  245. hidden,
  246. helpstring("ITVEVariation_Helper Interface"),
  247. pointer_default(unique)
  248. ]
  249. interface ITVEVariation_Helper : IUnknown
  250. {
  251. [ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVEEnhancement *pEnhancement);
  252. [ id(2), helpstring("method DefaultTo")] HRESULT DefaultTo([in] ITVEVariation *pVariationBase);
  253. [ id(3), helpstring("method SetTriggerIPAdapter")] HRESULT SetTriggerIPAdapter([in] BSTR bstrBuff);
  254. [ id(4), helpstring("method SetFileIPAdapter")] HRESULT SetFileIPAdapter([in] BSTR bstrBuff);
  255. [ id(5), helpstring("method SubParseSDP")] HRESULT SubParseSDP(const BSTR *pbstrSDP, BOOL *pfMissingMedia);
  256. [ id(6), helpstring("method ParseCBTrigger")] HRESULT ParseCBTrigger(BSTR bstrTrig);
  257. [ id(7), helpstring("method FinalParseSDP")] HRESULT FinalParseSDP();
  258. [ id(8), helpstring("method UpdateVariation")] HRESULT UpdateVariation(ITVEVariation *pVarNew, long *plNVAR_grfChanged);
  259. [ id(9), helpstring("method InitAsXOver")] HRESULT InitAsXOver();
  260. [ id(11), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
  261. [ id(12), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  262. [propput, id(13), helpstring("property MediaTitle")] HRESULT MediaTitle([in] BSTR bstrBuff);
  263. [propput, id(14), helpstring("property IsValid")] HRESULT IsValid([in] VARIANT_BOOL fValid);
  264. [ id(15), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *bstrBuff);
  265. };
  266. [
  267. object,
  268. uuid(05500113-FAA5-4df9-8246-BFC23AC5CEA8),
  269. dual,
  270. helpstring("ITVEVariations Interface"),
  271. pointer_default(unique)
  272. ]
  273. interface ITVEVariations : IDispatch
  274. {
  275. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  276. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  277. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEVariation * *pVal);
  278. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEVariation *pEnh);
  279. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  280. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  281. [ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEVariation *pEnh);
  282. };
  283. // ---------------------------------------------------
  284. [
  285. object,
  286. uuid(05500104-FAA5-4df9-8246-BFC23AC5CEA8),
  287. dual,
  288. helpstring("ITVEEnhancement Interface"),
  289. pointer_default(unique)
  290. ]
  291. interface ITVEEnhancement : IDispatch
  292. {
  293. [propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
  294. [propget, id(2), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
  295. [propget, id(3), helpstring("property Variations")] HRESULT Variations([out, retval] ITVEVariations* *pVal);
  296. [propget, id(4), helpstring("property IsValid")] HRESULT IsValid([out, retval] VARIANT_BOOL *pVal);
  297. [propget, id(5), helpstring("property ProtocolVersion")] HRESULT ProtocolVersion([out, retval] BSTR *pVal);
  298. [propget, id(6), helpstring("property SessionUserName")] HRESULT SessionUserName([out, retval] BSTR *pVal);
  299. [propget, id(7), helpstring("property SessionId")] HRESULT SessionId([out, retval] LONG *plVal);
  300. [propget, id(8), helpstring("property SessionVersion")] HRESULT SessionVersion([out, retval] LONG *plVal);
  301. [propget, id(9), helpstring("property SessionIPAddress")] HRESULT SessionIPAddress([out, retval] BSTR *pVal);
  302. [propget, id(10), helpstring("property SessionName")] HRESULT SessionName([out, retval] BSTR *pVal);
  303. [propget, id(11), helpstring("property EmailAddresses")] HRESULT EmailAddresses([out, retval] ITVEAttrMap* *pVal);
  304. [propget, id(12), helpstring("property PhoneNumbers")] HRESULT PhoneNumbers([out, retval] ITVEAttrMap* *pVal);
  305. [propget, id(13), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  306. [propput, id(13), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  307. [propget, id(14), helpstring("property DescriptionURI")] HRESULT DescriptionURI([out, retval] BSTR *pVal);
  308. [propget, id(15), helpstring("property UUID")] HRESULT UUID([out, retval] BSTR *pVal);
  309. [propget, id(16), helpstring("property StartTime")] HRESULT StartTime([out, retval] DATE *pVal);
  310. [propget, id(17), helpstring("property StopTime")] HRESULT StopTime([out, retval] DATE *pVal);
  311. [propget, id(18), helpstring("property IsPrimary")] HRESULT IsPrimary([out, retval] VARIANT_BOOL *pVal);
  312. [propget, id(19), helpstring("property Type")] HRESULT Type([out, retval] BSTR *pVal);
  313. [propget, id(20), helpstring("property TveType")] HRESULT TveType([out, retval] BSTR *pVal);
  314. [propget, id(21), helpstring("property TveSize")] HRESULT TveSize([out, retval] LONG *plVal);
  315. [propget, id(23), helpstring("property TveLevel")] HRESULT TveLevel([out, retval] double *pVal);
  316. [propget, id(24), helpstring("property Attributes")] HRESULT Attributes([out, retval] ITVEAttrMap* *pVal);
  317. [propget, id(25), helpstring("property Rest")] HRESULT Rest([out, retval] ITVEAttrMap* *pVal);
  318. [propget, id(26), helpstring("property SAPHeaderBits")] HRESULT SAPHeaderBits([out, retval] short *pVal);
  319. [propget, id(27), helpstring("property SAPAuthLength")] HRESULT SAPAuthLength([out, retval] short *pVal);
  320. [propget, id(28), helpstring("property SAPMsgIDHash")] HRESULT SAPMsgIDHash([out, retval] LONG *pVal);
  321. [propget, id(29), helpstring("property SAPSendingIP")] HRESULT SAPSendingIP([out, retval] BSTR *pVal);
  322. [propget, id(30), helpstring("property SAPAuthData")] HRESULT SAPAuthData([out, retval] BSTR *pVal);
  323. [ id(31), helpstring("method ParseAnnouncement")] HRESULT ParseAnnouncement([in] BSTR bstrAdapter, [in] const BSTR *pbstVal, [out] long *plgrfParseError, [out] long *plLineError);
  324. };
  325. [
  326. object,
  327. uuid(05500204-FAA5-4df9-8246-BFC23AC5CEA8),
  328. // dual,
  329. hidden,
  330. helpstring("ITVEEnhancement_Helper Interface"),
  331. pointer_default(unique)
  332. ]
  333. interface ITVEEnhancement_Helper : IUnknown
  334. {
  335. [id(0), helpstring("method ConnectParent")] HRESULT ConnectParent(ITVEService *pService);
  336. [id(1), helpstring("method Activate")] HRESULT Activate();
  337. [id(2), helpstring("method Deactivate")] HRESULT Deactivate();
  338. [id(3), helpstring("method UpdateEnhancement")] HRESULT UpdateEnhancement([in] ITVEEnhancement *pEnhNew,[out] long *plNENH_grfChanged);
  339. [id(4), helpstring("method InitAsXOver")] HRESULT InitAsXOver();
  340. [id(5), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
  341. [id(6), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  342. [id(7), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
  343. };
  344. [
  345. object,
  346. uuid(05500114-FAA5-4df9-8246-BFC23AC5CEA8),
  347. dual,
  348. helpstring("ITVEEnhancements Interface"),
  349. pointer_default(unique)
  350. ]
  351. interface ITVEEnhancements : IDispatch
  352. {
  353. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  354. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  355. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEEnhancement * *pVal);
  356. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEEnhancement *pEnh);
  357. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  358. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  359. [ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEEnhancement *pEnh);
  360. };
  361. // ---------------------------------------------------
  362. [
  363. object,
  364. uuid(05500105-FAA5-4df9-8246-BFC23AC5CEA8),
  365. dual,
  366. helpstring("ITVEService Interface"),
  367. pointer_default(unique)
  368. ]
  369. interface ITVEService : IDispatch
  370. {
  371. [propget, id(1), helpstring("property Parent")] HRESULT Parent([out, retval] IUnknown* *pVal);
  372. [propget, id(2), helpstring("property Enhancements")] HRESULT Enhancements([out, retval] ITVEEnhancements* *pVal);
  373. [propget, id(3), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  374. [propput, id(3), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  375. [ id(4), helpstring("method Activate")] HRESULT Activate(); // used in tuning, turns on announcement
  376. [ id(5), helpstring("method Deactivate")] HRESULT Deactivate(); // used in tuning, turns off announcement
  377. [propget, id(6), helpstring("property XOverLinks")] HRESULT XOverLinks([out, retval] ITVETracks* *pVal); // returns ITVETracks (Collection)
  378. [propget, id(7),helpstring("property XOverEnhancement")] HRESULT XOverEnhancement([out, retval] ITVEEnhancement* *pVal); // special for tree view...
  379. [ id(8), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
  380. // Set date offset used added to dates before expiring.
  381. // Used when doing playback recorded shows, offseting expire dates by this amount
  382. [propget, id(9), helpstring("property ExpireOffset")] HRESULT ExpireOffset([out, retval] DATE *pVal);
  383. [propput, id(9), helpstring("property ExpireOffset")] HRESULT ExpireOffset([in] DATE newVal);
  384. // return the ITVEAttrTimeQ list giving dates of IUnknowns in this service are due to expire
  385. [propget, id(10), helpstring("property ExpireQueue")] HRESULT ExpireQueue([out, retval] ITVEAttrTimeQ* *pVal);
  386. // Expires any items earlier than the specified date + ExpireOffset
  387. // If ezactly zero, Date defaults to <NOW>.
  388. [ id(11),helpstring("method ExpireForDate")] HRESULT ExpireForDate([in] DATE dateExpireTime);
  389. // Mark Service active, only one Active service currently allowed .. turns off all others.
  390. [propget, id(12), helpstring("IsActive")] HRESULT IsActive([out, retval] VARIANT_BOOL *fIsActive);
  391. // save and restore an arbitrary property on this service... (Useful with ITVENavAid::CacheState())
  392. [propput, id(13), helpstring("Property")] HRESULT Property([in] BSTR bstrPropName, BSTR bstrPropVal);
  393. [propget, id(13), helpstring("Property")] HRESULT Property([in] BSTR bstrPropName, [out, retval] BSTR *pbstrPropVal);
  394. };
  395. [
  396. object,
  397. uuid(05500205-FAA5-4df9-8246-BFC23AC5CEA8),
  398. // dual,
  399. hidden,
  400. helpstring("ITVEService_Helper Interface"),
  401. pointer_default(unique)
  402. ]
  403. interface ITVEService_Helper : IUnknown
  404. {
  405. [ id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVESupervisor *pSupervisor);
  406. [ id(2), helpstring("method ParseCBAnnouncement")] HRESULT ParseCBAnnouncement([in] BSTR bstrFileTrigAdapter,[in] BSTR *pbstrBuff);
  407. [ id(3), helpstring("method SetAnncIPValues")] HRESULT SetAnncIPValues([in] BSTR bstrAnncIPAdapter,[in] BSTR bstrAnncIPAddress,[in] LONG lAnncPort);
  408. [ id(4), helpstring("method GetAnncIPValues")] HRESULT GetAnncIPValues([in] BSTR *pbstrAnncIPAdapter,[in] BSTR *pbstrAnncIPAddress,[in] LONG *plAnncPort);
  409. [ id(5), helpstring("method InitXOverEnhancement")] HRESULT InitXOverEnhancement();
  410. [ id(6), helpstring("method AddToExpireQueue")] HRESULT AddToExpireQueue([in] DATE dateExpires, [in] IUnknown *punkItem);
  411. [ id(7), helpstring("method ChangeInExpireQueue")] HRESULT ChangeInExpireQueue([in] DATE dateExpires, [in] IUnknown *punkItem);
  412. [ id(8), helpstring("method RemoveFromExpireQueue")] HRESULT RemoveFromExpireQueue([in] IUnknown *punkItem);
  413. [ id(9), helpstring("method RemoveEnhFilesFromExpireQueue")] HRESULT RemoveEnhFilesFromExpireQueue([in] ITVEEnhancement *pEnhancement);
  414. [propget, id(10), helpstring("method ExpireQueueChangeCount")] HRESULT ExpireQueueChangeCount([out, retval] long *pChangeCount);
  415. [ id(11), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  416. [ id(12), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
  417. };
  418. [
  419. object,
  420. uuid(05500305-FAA5-4df9-8246-BFC23AC5CEA8),
  421. dual,
  422. helpstring("ITVEFeature Interface (Inherits ITVEService)"),
  423. pointer_default(unique)
  424. ]
  425. interface ITVEFeature : ITVEService
  426. {
  427. // New methods just for the Feature
  428. [id(101), helpstring("method TuneTo")] HRESULT TuneTo([in] BSTR bstrStation, [in] BSTR bstrIPAdapter);
  429. [id(102), helpstring("method ReTune")] HRESULT ReTune([in] ITVEService *pService);
  430. [id(103), helpstring("method BindToSupervisor")] HRESULT BindToSupervisor([in] ITVESupervisor *pTVESupervisor);
  431. // these are incoming events called by Supervisor ((_ITVEvents).. Must match
  432. [id(2101), helpstring("method NotifyTVETune")] HRESULT NotifyTVETune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  433. [id(2102), helpstring("method NotifyTVEEnhancementNew")] HRESULT NotifyTVEEnhancementNew([in] ITVEEnhancement *pEnh);
  434. [id(2103), helpstring("method NotifyTVEEnhancementUpdated")] HRESULT NotifyTVEEnhancementUpdated([in] ITVEEnhancement *pEnh, [in] long lChangedFlags); // changedFlags : NENH_grfDiff
  435. [id(2104), helpstring("method NotifyTVEEnhancementStarting")] HRESULT NotifyTVEEnhancementStarting([in] ITVEEnhancement *pEnh);
  436. [id(2105), helpstring("method NotifyTVEEnhancementExpired")] HRESULT NotifyTVEEnhancementExpired([in] ITVEEnhancement *pEnh);
  437. [id(2106), helpstring("method NotifyTVETriggerNew")] HRESULT NotifyTVETriggerNew([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  438. [id(2107), helpstring("method NotifyTVETriggerUpdated")] HRESULT NotifyTVETriggerUpdated([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
  439. [id(2108), helpstring("method NotifyTVETriggerExpired")] HRESULT NotifyTVETriggerExpired([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  440. [id(2109), helpstring("method NotifyTVEPackage")] HRESULT NotifyTVEPackage([in] NPKG_Mode engPkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUUID, [in] long cBytesTotal, [in] long cBytesReceived);
  441. [id(2110), helpstring("method NotifyTVEFile")] HRESULT NotifyTVEFile([in] NFLE_Mode engFileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUrlName, [in] BSTR bstrFileName);
  442. [id(2111), helpstring("method NotifyTVEAuxInfo")] HRESULT NotifyTVEAuxInfo([in] NWHAT_Mode engAuxInfoMode, [in] BSTR bstrAuxInfoString, [in] long lChangedFlags, [in] long lErrorLine); // WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
  443. };
  444. [
  445. object,
  446. uuid(05500115-FAA5-4df9-8246-BFC23AC5CEA8),
  447. dual,
  448. helpstring("ITVEServices Interface"),
  449. pointer_default(unique)
  450. ]
  451. interface ITVEServices : IDispatch
  452. {
  453. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  454. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  455. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEService * *pVal);
  456. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEService *pService);
  457. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  458. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  459. [ id(COLLECTID_Insert), helpstring("method Insert")] HRESULT Insert([in] int iLoc, [in] ITVEService *pService);
  460. };
  461. // ---------------------------------------------------
  462. [
  463. object,
  464. uuid(05500106-FAA5-4df9-8246-BFC23AC5CEA8),
  465. dual,
  466. helpstring("ITVESupervisor Interface"),
  467. pointer_default(unique)
  468. ]
  469. interface ITVESupervisor : IDispatch
  470. {
  471. [propget, id(1), helpstring("property Services")] HRESULT Services([out, retval] ITVEServices* *pVal);
  472. [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal);
  473. [propput, id(2), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  474. [ id(3), helpstring("method TuneTo")] HRESULT TuneTo([in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  475. [ id(4), helpstring("method ReTune")] HRESULT ReTune([in] ITVEService *pService);
  476. [ id(5), helpstring("method NewXOverLink")] HRESULT NewXOverLink([in] BSTR bstrLine21Trigger);
  477. // Expires any items earlier than the specified date + service.ExpireOffset
  478. // If ezactly zero, Date defaults to <NOW>.
  479. [ id(6), helpstring("method ExpireForDate")] HRESULT ExpireForDate([in] DATE dateExpireTime);
  480. // need to be here rather than Helper, since called from Filter, and Supervisor_Helper
  481. // not in the proxy-stub DLL
  482. [ id(7), restricted, helpstring("method InitStats")] HRESULT InitStats();
  483. [ id(8), restricted, helpstring("method GetStats")] HRESULT GetStats([out] BSTR *pbstrBuff); // CTVEStats
  484. };
  485. [
  486. object,
  487. uuid(05500206-FAA5-4df9-8246-BFC23AC5CEA8),
  488. dual,
  489. hidden,
  490. helpstring("ITVESupervisor_Helper Interface"),
  491. pointer_default(unique)
  492. ]
  493. interface ITVESupervisor_Helper : IUnknown
  494. {
  495. [id(1), helpstring("method ConnectParent")] HRESULT ConnectParent([in] IUnknown *pUnk);
  496. [id(2), helpstring("method GetActiveService")] HRESULT GetActiveService([out] ITVEService **ppActiveService);
  497. [id(3), helpstring("method GetMCastManager")] HRESULT GetMCastManager([out] ITVEMCastManager **pMCastManager);
  498. [id(4), helpstring("method UnpackBuffer")] HRESULT UnpackBuffer([in] IUnknown *pTVEVariation, [in] unsigned char *m_rgbData, [in] int cBytes);
  499. [id(5), helpstring("method NotifyEnhancement")] HRESULT NotifyEnhancement([in] NENH_Mode enhMode,[in] ITVEEnhancement *pEnhancement,[in] long lChangedFlags); // changedFlags NENH_grfDiff
  500. [id(6), helpstring("method NotifyTrigger")] HRESULT NotifyTrigger([in] NTRK_Mode trgMode,[in] ITVETrack *pTrack,[in] long lChangedFlags); // changedFlags NTRK_grfDiff
  501. [id(7), helpstring("method NotifyPackage")] HRESULT NotifyPackage([in] NPKG_Mode pkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrPackageUUID, [in] long cBytesTotal, [in] long cBytesReceived);
  502. [id(8), helpstring("method NotifyFile")] HRESULT NotifyFile([in] NFLE_Mode fileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrURLName, [in] BSTR bstrFileName);
  503. [id(9), helpstring("method NotifyTune")] HRESULT NotifyTune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  504. // WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
  505. [id(10), helpstring("method NotifyAuxInfo")] HRESULT NotifyAuxInfo([in] NWHAT_Mode whatMode, [in] BSTR bstrAuxInfoString, [in] long lgrfWhatDiff, [in] long lLineError);
  506. [id(11), helpstring("method NotifyEnhancement_XProxy")] HRESULT NotifyEnhancement_XProxy([in] NENH_Mode enhMode,[in] ITVEEnhancement *pEnhancement,[in] long lChangedFlags); // changedFlags NENH_grfDiff
  507. [id(12), helpstring("method NotifyTrigger_XProxy")] HRESULT NotifyTrigger_XProxy([in] NTRK_Mode trgMode,[in] ITVETrack *pTrack,[in] long lChangedFlags); // changedFlags NTRK_grfDiff
  508. [id(13), helpstring("method NotifyPackage_XProxy")] HRESULT NotifyPackage_XProxy( NPKG_Mode pkgMode, ITVEVariation *pVariation,BSTR bstrPackageUUID, long cBytesTotal,long cBytesReceived);
  509. [id(14), helpstring("method NotifyFile_XProxy")] HRESULT NotifyFile_XProxy([in] NFLE_Mode fileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrURLName, [in] BSTR bstrFileName);
  510. [id(15), helpstring("method NotifyTune_XProxy")] HRESULT NotifyTune_XProxy([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  511. [id(16), helpstring("method NotifyAuxInfo_XProxy")] HRESULT NotifyAuxInfo_XProxy([in] NWHAT_Mode whatMode, [in] BSTR bstrAuxInfoString, [in] long lgrfWhatDiff,[in] long lLineError);
  512. [propget, id(17), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
  513. [propput, id(17), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
  514. [ id(18), helpstring("method RemoveAllListenersOnAdapter")] HRESULT RemoveAllListenersOnAdapter([in] BSTR bstrAdapter);
  515. [propget, id(19), helpstring("method PossibleIPAdapterAddress")] HRESULT PossibleIPAdapterAddress([in] int iAdapter, [out,retval] BSTR *pbstrIPAdapterAddr);
  516. [ id(20), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pbstrBuff);
  517. [propget, id(21), helpstring("property SupervisorGITProxy")] HRESULT SupervisorGITProxy([out] ITVESupervisorGITProxy **ppSupervisorGITProxy); // internal GIT refcounted pointer to supervisor
  518. };
  519. [
  520. hidden,
  521. object,
  522. uuid(05500306-FAA5-4df9-8246-BFC23AC5CEA8),
  523. dual,
  524. helpstring("ITVESupervisorGITProxy Interface"),
  525. pointer_default(unique)
  526. ]
  527. interface ITVESupervisorGITProxy: IUnknown
  528. {
  529. [propget, id(1), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] ITVESupervisor **ppVal);
  530. [propput, id(1), helpstring("property Supervisor")] HRESULT Supervisor([in] ITVESupervisor *pVal);
  531. };
  532. // ---------------------------------------------------
  533. // ---------------------------------
  534. [
  535. object,
  536. uuid(05500121-FAA5-4df9-8246-BFC23AC5CEA8),
  537. dual,
  538. helpstring("ITVEAttrMap Interface"),
  539. pointer_default(unique)
  540. ]
  541. interface ITVEAttrMap : IDispatch
  542. {
  543. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  544. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  545. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] BSTR *pVal);
  546. [propget, id(COLLECTID_Key), helpstring("property Key")] HRESULT Key([in] VARIANT var, [out, retval] BSTR *pKey);
  547. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] BSTR bstrKey, [in] BSTR bstrValue);
  548. [ id(COLLECTID_Replace), helpstring("method Replace")] HRESULT Replace([in] BSTR bstrKey, [in] BSTR bstrValue);
  549. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  550. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  551. [ id(7), helpstring("method Add1")] HRESULT Add1(BSTR bstrValue);
  552. [ id(8), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pDump);
  553. };
  554. // ---------------------------------------------------
  555. // ---------------------------------
  556. [
  557. object,
  558. uuid(05500122-FAA5-4df9-8246-BFC23AC5CEA8),
  559. dual,
  560. helpstring("ITVEAttrTimeQ Interface"),
  561. pointer_default(unique)
  562. ]
  563. interface ITVEAttrTimeQ : IDispatch
  564. {
  565. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  566. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  567. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] IUnknown **ppVal);
  568. [propget, id(COLLECTID_Key), helpstring("property Key")] HRESULT Key([in] VARIANT var, [out, retval] DATE *pKey);
  569. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] DATE dateKey, [in] IUnknown *pUnk);
  570. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  571. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  572. [ id(COLLECTID_Update), helpstring("method Update")] HRESULT Update([in] DATE dateKey, [in] IUnknown *pUnk);
  573. [ id(9), helpstring("method LockRead")] HRESULT LockRead();
  574. [ id(10), helpstring("method LockWrite")] HRESULT LockWrite();
  575. [ id(11), helpstring("method Unlock")] HRESULT Unlock();
  576. [ id(12), helpstring("method RemoveSimple")] HRESULT RemoveSimple([in] VARIANT var); // remove without calling var->RemoveYourself()
  577. [ id(13), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pDump);
  578. };
  579. // ---------------------------------------------------
  580. [
  581. object,
  582. uuid(05500130-FAA5-4df9-8246-BFC23AC5CEA8),
  583. dual,
  584. helpstring("ITVEMCast Interface"),
  585. pointer_default(unique)
  586. ]
  587. interface ITVEMCast : IDispatch
  588. {
  589. [propget, id(1), helpstring("property IPAdapter")] HRESULT IPAdapter([out, retval] BSTR *pVal);
  590. [propput, id(1), helpstring("property IPAdapter")] HRESULT IPAdapter([in] BSTR newVal);
  591. [propget, id(2), helpstring("property IPAddress")] HRESULT IPAddress([out, retval] BSTR *pVal);
  592. [propput, id(2), helpstring("property IPAddress")] HRESULT IPAddress([in] BSTR newVal);
  593. [propget, id(3), helpstring("property IPPort")] HRESULT IPPort([out, retval] long *pVal);
  594. [propput, id(3), helpstring("property IPPort")] HRESULT IPPort([in] long newVal);
  595. [ id(4), helpstring("method Join")] HRESULT Join();
  596. [ id(5), helpstring("method Leave")] HRESULT Leave();
  597. [propget, id(6), helpstring("property IsJoined")] HRESULT IsJoined([out, retval] VARIANT_BOOL *pVal);
  598. [propget, id(7), helpstring("property IsSuspended")] HRESULT IsSuspended([out, retval] VARIANT_BOOL *pVal);
  599. [ id(8), helpstring("method Suspend")] HRESULT Suspend(VARIANT_BOOL fSuspend);
  600. [propget, id(9), helpstring("property PacketCount")] HRESULT PacketCount([out, retval] long *pVal);
  601. [propget, id(10), helpstring("property ByteCount")] HRESULT ByteCount([out, retval] long *pVal);
  602. [ id(11), helpstring("method KeepStats")] HRESULT KeepStats(VARIANT_BOOL fKeepStats);
  603. [ id(12), helpstring("method ResetStats")] HRESULT ResetStats();
  604. [ id(13), helpstring("method SetReadCallback")] HRESULT SetReadCallback([in] int nBuffers, [in] int iPrioritySetback, [in] IUnknown *pVal);
  605. [ id(14), helpstring("method ConnectManager")] HRESULT ConnectManager([in] ITVEMCastManager* pVal);
  606. [propget, id(15), helpstring("property Manager")] HRESULT Manager([out, retval] IUnknown* *ppVal);
  607. [propget, id(16), helpstring("property QueueThreadId")] HRESULT QueueThreadId([out, retval] long* pVal);
  608. [propput, id(16), helpstring("property QueueThreadId")] HRESULT QueueThreadId([in] long pVal);
  609. [propget, id(17), helpstring("property WhatType")] HRESULT WhatType([out, retval] NWHAT_Mode *pWhatType);
  610. [propput, id(17), helpstring("property WhatType")] HRESULT WhatType([in] NWHAT_Mode whatType);
  611. };
  612. [
  613. object,
  614. uuid(05500131-FAA5-4df9-8246-BFC23AC5CEA8),
  615. dual,
  616. helpstring("ITVEMCasts Interface"),
  617. pointer_default(unique)
  618. ]
  619. interface ITVEMCasts : IDispatch
  620. {
  621. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown **pCollection);
  622. [propget, id(COLLECTID_Count), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  623. [propget, id(COLLECTID_Item), helpstring("property Item")] HRESULT Item([in] VARIANT var, [out, retval] ITVEMCast * *pVal);
  624. [ id(COLLECTID_Add), helpstring("method Add")] HRESULT Add([in] ITVEMCast *punk);
  625. [ id(COLLECTID_Remove), helpstring("method Remove")] HRESULT Remove([in] VARIANT var);
  626. [ id(COLLECTID_RemoveAll), helpstring("method RemoveAll")] HRESULT RemoveAll();
  627. };
  628. [
  629. object,
  630. uuid(05500132-FAA5-4df9-8246-BFC23AC5CEA8),
  631. dual,
  632. helpstring("ITVEMCastManager Interface"),
  633. pointer_default(unique)
  634. ]
  635. interface ITVEMCastManager : IDispatch
  636. {
  637. [propget, id(1), helpstring("property MCasts")] HRESULT MCasts([out, retval] ITVEMCasts* *pVal);
  638. [propget, id(2), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] ITVESupervisor* *ppSupervisor);
  639. [propput, id(2), helpstring("property Supervisor")] HRESULT Supervisor([in] ITVESupervisor *pSupervisor);
  640. [ id(3), helpstring("method AddMulticast")] HRESULT AddMulticast([in] NWHAT_Mode whatType, [in] BSTR bsAdapter, [in] BSTR bsIPAddress, [in] LONG ulIPPort, [in] LONG cBuffers, [in] IUnknown *pICallback, [out] ITVEMCast **ppMCastAdded);
  641. [ id(4), helpstring("method FindMulticast")] HRESULT FindMulticast([in] BSTR bstrIPAdapter, [in] BSTR bstrIPAddress, [in] LONG sPort, [out] ITVEMCast **ppMCast, [out] LONG *pcMatches);
  642. [ id(5), helpstring("method RemoveMulticast")] HRESULT RemoveMulticast(ITVEMCast *pMCast);
  643. [ id(6), helpstring("method JoinAll")] HRESULT JoinAll();
  644. [ id(7), helpstring("method LeaveAll")] HRESULT LeaveAll();
  645. [ id(8), helpstring("method SuspendAll")] HRESULT SuspendAll([in] VARIANT_BOOL fSuspend);
  646. [ id(9), helpstring("method Lock_")] HRESULT Lock_();
  647. [ id(10), helpstring("method Unlock_")] HRESULT Unlock_();
  648. [ id(11), helpstring("method DumpStatsToBSTR")] HRESULT DumpStatsToBSTR(int iType, BSTR *pBSTR);
  649. [propget, id(13), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
  650. [propput, id(13), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
  651. };
  652. [
  653. object,
  654. uuid(05500232-FAA5-4df9-8246-BFC23AC5CEA8),
  655. // dual,
  656. hidden,
  657. helpstring("ITVEMCastManager_Helper Interface"),
  658. pointer_default(unique)
  659. ]
  660. interface ITVEMCastManager_Helper : IUnknown
  661. {
  662. [ id(1), helpstring("method DumpString")] HRESULT DumpString(BSTR bstrDump); // writes string to a Dump.txt
  663. [ id(2), helpstring("method CreateQueueThread")] HRESULT CreateQueueThread();
  664. [ id(3), helpstring("method KillQueueThread")] HRESULT KillQueueThread();
  665. [ id(4), helpstring("method PostToQueueThread")] HRESULT PostToQueueThread(UINT uiMsg, WPARAM wParam, LPARAM lParam);
  666. [ id(5), helpstring("method GetPacketCounts")] HRESULT GetPacketCounts([out] LONG *pCPackets, [out] LONG *pCPacketsDropped, [out] LONG *pCPacketsDroppedTotal);
  667. };
  668. [
  669. object,
  670. uuid(05500133-FAA5-4df9-8246-BFC23AC5CEA8),
  671. dual,
  672. helpstring("ITVEMCastCallback Interface"),
  673. pointer_default(unique)
  674. ]
  675. interface ITVEMCastCallback : IDispatch
  676. {
  677. [id(1), helpstring("method SetMCast")] HRESULT SetMCast(ITVEMCast *pMCast);
  678. [id(2), helpstring("method ProcessPacket")] HRESULT ProcessPacket(unsigned char *pchBuffer, long cBytes, long lPacketId);
  679. [id(3), helpstring("method PostPacket")] HRESULT PostPacket(unsigned char *pchBuffer, long cBytes, long wPacketId);
  680. };
  681. // ................ specific callbacks ..............
  682. [
  683. object,
  684. uuid(05500141-FAA5-4df9-8246-BFC23AC5CEA8),
  685. dual,
  686. helpstring("ITVECBAnnc Interface"),
  687. pointer_default(unique)
  688. ]
  689. interface ITVECBAnnc : IDispatch
  690. {
  691. [id(1), helpstring("method Init")] HRESULT Init(BSTR bstrFileTrigAdapter, ITVEService *pService); // want ITVEService here
  692. };
  693. [
  694. object,
  695. uuid(05500142-FAA5-4df9-8246-BFC23AC5CEA8),
  696. dual,
  697. helpstring("ITVECBTrig Interface"),
  698. pointer_default(unique)
  699. ]
  700. interface ITVECBTrig : IDispatch
  701. {
  702. [id(1), helpstring("method Init")] HRESULT Init(ITVEVariation *pIVariation);
  703. };
  704. [
  705. object,
  706. uuid(05500143-FAA5-4df9-8246-BFC23AC5CEA8),
  707. dual,
  708. helpstring("ITVECBFile Interface"),
  709. pointer_default(unique)
  710. ]
  711. interface ITVECBFile : IDispatch
  712. {
  713. [id(1), helpstring("method Init")] HRESULT Init(ITVEVariation *pIVariation, ITVEService *pIService);
  714. };
  715. [
  716. object,
  717. uuid(05500144-FAA5-4df9-8246-BFC23AC5CEA8),
  718. dual,
  719. helpstring("ITVECBDummy Interface"),
  720. pointer_default(unique)
  721. ]
  722. interface ITVECBDummy : IDispatch
  723. {
  724. [id(1), helpstring("method Init")] HRESULT Init(int i);
  725. };
  726. // ----------------------------------------------------
  727. [
  728. object,
  729. uuid(05500151-FAA5-4df9-8246-BFC23AC5CEA8),
  730. dual,
  731. helpstring("ITVEFile Interface"),
  732. pointer_default(unique)
  733. ]
  734. interface ITVEFile : IDispatch
  735. {
  736. [ id(1), helpstring("method InitializeFile")] HRESULT InitializeFile([in] ITVEVariation *pVaria, [in] BSTR bsName, [in] BSTR bsLoc, [in] DATE dateExpires);
  737. [ id(2), helpstring("method InitializePackage")] HRESULT InitializePackage([in] ITVEVariation *pVaria, [in] BSTR bsName, [in] BSTR bsLoc, [in] DATE dateExpires);
  738. [propget, id(3), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pBstrDesc);
  739. [propget, id(4), helpstring("property Location")] HRESULT Location([out, retval] BSTR* pBstrLoc);
  740. [propget, id(5), helpstring("property ExpireTime")] HRESULT ExpireTime([out, retval] DATE* pDateExpires);
  741. [propget, id(6), helpstring("property IsPackage")] HRESULT IsPackage([out, retval] BOOL* pfVal);
  742. [propget, id(7), helpstring("property Variation")] HRESULT Variation([out, retval] ITVEVariation* *pVal);
  743. [propget, id(8), helpstring("property Service")] HRESULT Service([out, retval] ITVEService* *pVal);
  744. [ id(9), helpstring("method RemoveYourself")] HRESULT RemoveYourself();
  745. [ id(10), helpstring("method DumpToBSTR")] HRESULT DumpToBSTR([out] BSTR *pBstrDump);
  746. };
  747. // ----------------------------------------------------
  748. // ITVENavAid
  749. // ----------------------------------------------------
  750. [
  751. object,
  752. uuid (05500160-FAA5-4df9-8246-BFC23AC5CEA8),
  753. dual,
  754. helpstring("ITVENavAid Interface"),
  755. pointer_default(unique)
  756. ]
  757. interface ITVENavAid : IDispatch
  758. {
  759. [propput, id(1), helpstring("property WebBrowserApp")] HRESULT WebBrowserApp([in] IDispatch *pWebBrowser);
  760. [propget, id(1), helpstring("property WebBrowserApp")] HRESULT WebBrowserApp([out, retval] IDispatch **ppWebBrowser);
  761. [propget, id(2), helpstring("property TVETriggerCtrl")] HRESULT TVETriggerCtrl([out, retval] ITVETriggerCtrl **ppTriggerCtrl);
  762. [propput, id(3), helpstring("property EnableAutoTriggering")] HRESULT EnableAutoTriggering([in] long lAutoTriggers);
  763. [propget, id(3), helpstring("property EnableAutoTriggering")] HRESULT EnableAutoTriggering([out, retval] long *plAutoTriggers);
  764. [propget, id(4), helpstring("property ActiveVariation")] HRESULT ActiveVariation([out, retval] ITVEVariation **ppActiveVariation);
  765. [propput, id(4), helpstring("property ActiveVariation")] HRESULT ActiveVariation([in] ITVEVariation *pActiveVariation);
  766. [propget, id(5), helpstring("property TVEFeature")] HRESULT TVEFeature([out, retval] ITVEFeature **ppTVEFeature);
  767. [propget, id(6), helpstring("property CacheState")] HRESULT CacheState([out, retval] BSTR *pbstrBuff);
  768. [propput, id(6), helpstring("property CacheState")] HRESULT CacheState([in] BSTR bstrBuff);
  769. [ , id(7), helpstring("method NavUsingTVETrigger")] HRESULT NavUsingTVETrigger([in] ITVETrigger *pTrigger, [in] long lForceNav, [in] long lForceExec);
  770. [ , id(8), helpstring("method ExecScript")] HRESULT ExecScript([in] BSTR bstrScript, [in] BSTR bstrLanguage);
  771. [ , id(9), helpstring("method Navigate")] HRESULT Navigate([in] VARIANT *URL,[in] VARIANT *Flags,[in] VARIANT *TargetFrameName, [in] VARIANT *PostData, [in] VARIANT *Headers);
  772. [propget, id(10), helpstring("property CurrTVEName")] HRESULT CurrTVEName([out, retval] BSTR *pbstrName);
  773. [propget, id(11), helpstring("property CurrTVEURL")] HRESULT CurrTVEURL([out, retval] BSTR *pbstrURL);
  774. // these are incoming sinkn events called by Supervisor ((_ITVEvents).. ID's Must match (I think)
  775. // &DIID__ITVEEvents
  776. [id(2101), helpstring("method NotifyTVETune")] HRESULT NotifyTVETune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  777. [id(2102), helpstring("method NotifyTVEEnhancementNew")] HRESULT NotifyTVEEnhancementNew([in] ITVEEnhancement *pEnh);
  778. [id(2103), helpstring("method NotifyTVEEnhancementUpdated")] HRESULT NotifyTVEEnhancementUpdated([in] ITVEEnhancement *pEnh, [in] long lChangedFlags); // changedFlags : NENH_grfDiff
  779. [id(2104), helpstring("method NotifyTVEEnhancementStarting")] HRESULT NotifyTVEEnhancementStarting([in] ITVEEnhancement *pEnh);
  780. [id(2105), helpstring("method NotifyTVEEnhancementExpired")] HRESULT NotifyTVEEnhancementExpired([in] ITVEEnhancement *pEnh);
  781. [id(2106), helpstring("method NotifyTVETriggerNew")] HRESULT NotifyTVETriggerNew([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  782. [id(2107), helpstring("method NotifyTVETriggerUpdated")] HRESULT NotifyTVETriggerUpdated([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
  783. [id(2108), helpstring("method NotifyTVETriggerExpired")] HRESULT NotifyTVETriggerExpired([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  784. [id(2109), helpstring("method NotifyTVEPackage")] HRESULT NotifyTVEPackage([in] NPKG_Mode engPkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUUID, [in] long cBytesTotal, [in] long cBytesReceived);
  785. [id(2110), helpstring("method NotifyTVEFile")] HRESULT NotifyTVEFile([in] NFLE_Mode engFileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUrlName, [in] BSTR bstrFileName);
  786. [id(2111), helpstring("method NotifyTVEAuxInfo")] HRESULT NotifyTVEAuxInfo([in] NWHAT_Mode engAuxInfoMode, [in] BSTR bstrAuxInfoString, [in] long lChangedFlags, [in] long lErrorLine); // WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
  787. // &DIID_DWebBrowserEvents2,
  788. [id(0x66), helpstring("method NotifyStatusTextChange")] HRESULT NotifyStatusTextChange(BSTR Text);
  789. [id(0x6c), helpstring("method NotifyProgressChange")] HRESULT NotifyProgressChange(LONG Progress, LONG ProgressMax);
  790. [id(0x69), helpstring("method NotifyCommandStateChange")] HRESULT NotifyCommandStateChange(LONG Command, VARIANT_BOOL Enable);
  791. [id(0x6a), helpstring("method NotifyDownloadBegin")] HRESULT NotifyDownloadBegin();
  792. [id(0x68), helpstring("method NotifyDownloadComplete")] HRESULT NotifyDownloadComplete();
  793. [id(0x71), helpstring("method NotifyTitleChange")] HRESULT NotifyTitleChange(BSTR Text);
  794. [id(0x70), helpstring("method NotifyPropertyChange")] HRESULT NotifyPropertyChange(BSTR szProperty);
  795. [id(0xfa), helpstring("method NotifyBeforeNavigate2")] HRESULT NotifyBeforeNavigate2(IDispatch * pDisp, VARIANT * URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers, VARIANT_BOOL * Cancel);
  796. [id(0xfb), helpstring("method NotifyNewWindow2")] HRESULT NotifyNewWindow2(IDispatch * * ppDisp, VARIANT_BOOL * Cancel);
  797. [id(0xfc), helpstring("method NotifyNavigateComplete2")] HRESULT NotifyNavigateComplete2(IDispatch * pDisp, VARIANT * URL);
  798. [id(0x103), helpstring("method NotifyDocumentComplete")] HRESULT NotifyDocumentComplete(IDispatch * pDisp, VARIANT * URL);
  799. [id(0xfd), helpstring("method NotifyOnQuit")] HRESULT NotifyOnQuit();
  800. [id(0xfe), helpstring("method NotifyOnVisible")] HRESULT NotifyOnVisible(VARIANT_BOOL Visible);
  801. [id(0xff), helpstring("method NotifyOnToolBar")] HRESULT NotifyOnToolBar(VARIANT_BOOL ToolBar);
  802. [id(0x100), helpstring("method NotifyOnMenuBar")] HRESULT NotifyOnMenuBar(VARIANT_BOOL MenuBar);
  803. [id(0x101), helpstring("method NotifyOnStatusBar")] HRESULT NotifyOnStatusBar(VARIANT_BOOL StatusBar);
  804. [id(0x102), helpstring("method NotifyOnFullScreen")] HRESULT NotifyOnFullScreen(VARIANT_BOOL FullScreen);
  805. [id(0x104), helpstring("method NotifyOnTheaterMode")] HRESULT NotifyOnTheaterMode(VARIANT_BOOL TheaterMode);
  806. } ;
  807. // ------
  808. // these interfaces for running without the VidControl
  809. // - idea is to create CoCreate supervisor, and 'put' it here.
  810. [
  811. object,
  812. uuid (05500360-FAA5-4df9-8246-BFC23AC5CEA8),
  813. hidden,
  814. // dual,
  815. helpstring("ITVENavAid_NoVidCtl Interface"),
  816. pointer_default(unique)
  817. ]
  818. interface ITVENavAid_NoVidCtl : IUnknown
  819. {
  820. [propput ,id(1), helpstring("property NoVidCtl_Supervisor")] HRESULT NoVidCtl_Supervisor([in] ITVESupervisor *pSuper);
  821. [propget ,id(1), helpstring("property NoVidCtl_Supervisor")] HRESULT NoVidCtl_Supervisor([out,retval] ITVESupervisor **ppSuper);
  822. } ;
  823. // ------
  824. [
  825. object,
  826. uuid (05500260-FAA5-4df9-8246-BFC23AC5CEA8),
  827. hidden,
  828. dual, // - used in proxying, must be marked Dual regardless of what .net says
  829. helpstring("ITVENavAid_Helper Interface"),
  830. pointer_default(unique)
  831. ]
  832. interface ITVENavAid_Helper : IUnknown
  833. {
  834. [ id(1), helpstring("method LocateVidAndTriggerCtrls")] HRESULT LocateVidAndTriggerCtrls([out] IDispatch **pVidCtrl, [out] IDispatch **pTrigCtrl);
  835. [ id(2), helpstring("method NotifyTVETriggerUpdated_XProxy")] HRESULT NotifyTVETriggerUpdated_XProxy([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
  836. [ id(3), helpstring("method ReInitCurrNavState")] HRESULT ReInitCurrNavState([in] long lReserved);
  837. } ;
  838. // ----------------------------------------------------
  839. // Filter interfaces
  840. // -----------------------------------------------------
  841. [
  842. object,
  843. uuid (05500180-FAA5-4df9-8246-BFC23AC5CEA8),
  844. // dual,
  845. helpstring("TVEFilter Interface"),
  846. pointer_default(unique)
  847. ]
  848. interface ITVEFilter : IUnknown
  849. {
  850. // [propget, id(2), helpstring("property Supervisor")] HRESULT Supervisor([out, retval] IDispatch **ppSuperDsp);
  851. [propget, id(3), helpstring("property SupervisorPunk")] HRESULT SupervisorPunk([out, retval] IUnknown **ppSuperPunk);
  852. [propget, id(4), helpstring("property IPAdapterAddress")] HRESULT IPAdapterAddress([out, retval] BSTR *pbstrIPAddr);
  853. [propput, id(4), helpstring("property IPAdapterAddress")] HRESULT IPAdapterAddress([in] BSTR bstrIPAddr);
  854. [propget, id(5), helpstring("property StationID")] HRESULT StationID([out, retval] BSTR *pbstrStationID);
  855. [propput, id(5), helpstring("property StationID")] HRESULT StationID([in] BSTR bstrStationID);
  856. [propget, id(6), helpstring("property MulticastList")] HRESULT MulticastList([out, retval] BSTR *pbstrMulticastList);
  857. [propget, id(7), helpstring("property AdapterDescription")] HRESULT AdapterDescription([out, retval] BSTR *pbstrAdapterDescription);
  858. [ id(8), helpstring("method ReTune")] HRESULT ReTune();
  859. // should move to FilterHelper
  860. [propget, id(9), helpstring("property HaltFlags")] HRESULT HaltFlags([out, retval] LONG *plGrfHaltFlags);
  861. [propput, id(9), helpstring("property HaltFlags")] HRESULT HaltFlags([in] LONG lGrfHaltFlags);
  862. [ id(10), helpstring("method ParseCCBytePair")] HRESULT ParseCCBytePair([in] LONG lByteType, [in] BYTE byte1, [in] BYTE byte2);
  863. [propget, id(11), helpstring("property IPSinkAdapterAddress")] HRESULT IPSinkAdapterAddress([out, retval] BSTR *pbstrIPAddr);
  864. // [propput, id(12), helpstring("property SupervisorHelperPunk")] HRESULT get_SupervisorHelperPunk([out] IUnknown **ppSuperHelper);
  865. };
  866. // ------------------------------------------------------
  867. [
  868. object,
  869. uuid (05500280-FAA5-4df9-8246-BFC23AC5CEA8),
  870. hidden,
  871. helpstring("ITVEFilter_Helper Interface"),
  872. pointer_default(unique)
  873. ]
  874. interface ITVEFilter_Helper : IUnknown
  875. {
  876. // [id(1),helpstring("method ConnectParent")] HRESULT ConnectParent([in] ITVEEnhancement *pEnhancement);
  877. } ;
  878. [
  879. object,
  880. uuid (05500190-FAA5-4df9-8246-BFC23AC5CEA8),
  881. dual,
  882. helpstring("ITVETriggerCtrl Interface"),
  883. pointer_default(unique)
  884. ]
  885. interface ITVETriggerCtrl : IDispatch
  886. {
  887. [propput, id(1)] HRESULT enabled([in] VARIANT_BOOL newVal);
  888. [propget, id(1)] HRESULT enabled([out, retval] VARIANT_BOOL* pVal);
  889. [propget, id(2)] HRESULT sourceID([out, retval] BSTR* pbstrID);
  890. [propput, id(3)] HRESULT releasable([in] VARIANT_BOOL newVal);
  891. [propget, id(3)] HRESULT releasable([out, retval] VARIANT_BOOL* pVal);
  892. [propget, id(4)] HRESULT backChannel([out, retval] BSTR* pVal);
  893. [propget, id(5)] HRESULT contentLevel([out, retval] double* pVal);
  894. } ;
  895. [
  896. object,
  897. uuid (05500191-FAA5-4df9-8246-BFC23AC5CEA8),
  898. hidden,
  899. helpstring("ITVETriggerCtrl_Helper Interface"),
  900. pointer_default(unique)
  901. ]
  902. interface ITVETriggerCtrl_Helper : IUnknown
  903. {
  904. [propput, id(1)] HRESULT sourceID([in] BSTR pSourceUUID); // cache the SourceID
  905. [propget, id(2)] HRESULT TopLevelPage([out, retval] BSTR *pURL); // return the cached URL (???) of the top web page
  906. } ;
  907. // ---------------------------------------------------------------------------------------
  908. // ***************************************************************************************
  909. // ----------------------------------------------------------------------------------------
  910. [
  911. uuid(1700C001-6666-4f66-B1E2-BF3C9FBB9BA6), // new
  912. version(1.0),
  913. helpstring("Microsoft TVE Library and DShow Filter")
  914. ]
  915. library MSTvELib
  916. {
  917. importlib("stdole32.tlb");
  918. importlib("stdole2.tlb");
  919. // -------------------------------------------------------
  920. typedef enum NENH_grfDiff // need to fill out..
  921. {
  922. NENH_grfNone = 0x0000, // no flags
  923. NENH_grfDescription = 0x00000001,
  924. NENH_grfIsPrimary = 0x00000002,
  925. NENH_grfProtocolVersion = 0x00000004,
  926. NENH_grfSessionUserName = 0x00000008,
  927. NENH_grfSessionId = 0x00000010,
  928. NENH_grfSessionVersion = 0x00000020,
  929. NENH_grfSessionIPAddress = 0x00000040,
  930. NENH_grfSessionName = 0x00000080,
  931. NENH_grfEmailAddresses = 0x00000100,
  932. NENH_grfPhoneNumbers = 0x00000200,
  933. NENH_grfUUID = 0x00000400,
  934. NENH_grfStartTime = 0x00000800,
  935. NENH_grfStopTime = 0x00001000,
  936. NENH_grfType = 0x00002000,
  937. NENH_grfTveType = 0x00004000,
  938. NENH_grfTveSize = 0x00008000,
  939. NENH_grfTveLevel = 0x00010000,
  940. NENH_grfAttributes = 0x00020000,
  941. NENH_grfRest = 0x00040000,
  942. NENH_grfVariationAdded = 0x00080000,
  943. NENH_grfVariationRemoved = 0x00100000,
  944. NENH_grfDescriptionURI = 0x00200000,
  945. NENH_grfSomeVarIP = 0x00400000,
  946. NENH_grfSomeVarText = 0x00800000,
  947. NENH_grfSomeVarBandwidth = 0x01000000,
  948. NENH_grfSomeVarLanguages = 0x02000000,
  949. NENH_grfSomeVarAttribute = 0x04000000,
  950. NENH_grfUnused = 0x08000000,
  951. NENH_grfSAPVersion = 0x10000000,
  952. NENH_grfSAPAddressType = 0x20000000,
  953. NENH_grfSAPOther = 0x40000000,
  954. NENH_grfSAPEncryptComp = 0x80000000,
  955. NENH_grfAnyIP = (NENH_grfSomeVarIP | NENH_grfVariationAdded | NENH_grfVariationRemoved),
  956. NENH_grfAll = (NENH_grfSomeVarAttribute<<1) - 1 // all flags
  957. } NENH_grfDiff;
  958. typedef enum NVAR_grfDiff
  959. {
  960. NVAR_grfNone = 0x0000,
  961. NVAR_grfDescription = 0x0001,
  962. NVAR_grfMediaName = 0x0002,
  963. NVAR_grfMediaTitle = 0x0004,
  964. NVAR_grfFilePort = 0x0008,
  965. NVAR_grfFileIPAddress = 0x0010,
  966. NVAR_grfFileIPAdapter = 0x0020,
  967. NVAR_grfTriggerPort = 0x0040,
  968. NVAR_grfTriggerIPAddress = 0x0080,
  969. NVAR_grfTriggerIPAdapter = 0x0100,
  970. NVAR_grfAttributes = 0x0200,
  971. NVAR_grfLanguages = 0x0400,
  972. NVAR_grfBandwidth = 0x0800,
  973. NVAR_grfBandwidthInfo = 0x1000,
  974. NVAR_grfRest = 0x2000,
  975. NVAR_grfAnyIP = (NVAR_grfFilePort | NVAR_grfFileIPAddress | NVAR_grfFileIPAdapter |
  976. NVAR_grfTriggerPort | NVAR_grfTriggerIPAddress | NVAR_grfTriggerIPAdapter),
  977. NVAR_grfAnyText = (NVAR_grfDescription | NVAR_grfMediaName | NVAR_grfMediaTitle),
  978. NVAR_grfAnyBandwidth = (NVAR_grfBandwidth | NVAR_grfBandwidthInfo),
  979. NVAR_grfAnyAttribute = (NVAR_grfAttributes | NVAR_grfRest),
  980. NVAR_grfAll = (NVAR_grfRest<<1) - 1 // all flags
  981. } NVAR_grfDiff;
  982. typedef enum NTRK_grfDiff // attempt at a bit-field flag
  983. {
  984. NTRK_grfNone = 0x00,
  985. NTRK_grfURL = 0x01,
  986. NTRK_grfName = 0x02,
  987. NTRK_grfScript = 0x04,
  988. NTRK_grfDate = 0x08,
  989. NTRK_grfTVELevel= 0x10,
  990. NTRK_grfExpired = 0x20, // trigger arrived out of date
  991. NTRK_grfRest = 0x40,
  992. NTRK_grfAll = (NTRK_grfRest<<1) - 1 // all flags
  993. } NTRK_grfDiff;
  994. typedef enum NFLT_grfHaltFlags // flags to turn various processing bits off
  995. {
  996. NFLT_grfNone = 0x00,
  997. NFLT_grfTA_Listen = 0x01, // don't listen for CC (XOverLink) triggers
  998. NFLT_grfTA_Decode = 0x02, // don't accumulate byte data for XOverLink triggers into strings
  999. NFLT_grfTA_Parse = 0x04, // don't parse any XOverLink data
  1000. NFLT_grfTB_AnncListen = 0x10, // suspend listening for announcement packets if set
  1001. NFLT_grfTB_AnncDecode = 0x20, // suspend decoding and processing of announcement packets if set
  1002. NFLT_grfTB_AnncParse = 0x40, // don't parse any announcements
  1003. NFLT_grfTB_TrigListen = 0x100, // suspend listening for transport B triggers
  1004. NFLT_grfTB_TrigDecode = 0x200, // suspend listening for transport B triggers
  1005. NFLT_grfTB_TrigParse = 0x400, // don't parse any transport B triggers
  1006. NFLT_grfTB_DataListen = 0x1000, // suspend listening for transport B data (files)
  1007. NFLT_grfTB_DataDecode = 0x2000, // suspend listening for transport B data (files)
  1008. NFLT_grfTB_DataParse = 0x4000, // don't parse any transport B data (files)
  1009. NFLT_grf_ExpireQueue = 0x10000, // turn expire queue processing on and off
  1010. NFLT_grf_Extra1 = 0x100000, // extra flag
  1011. NFLT_grf_Extra2 = 0x200000, // extra flag
  1012. NFLT_grf_Extra3 = 0x400000, // extra flag
  1013. NFLT_grf_Extra4 = 0x800000 //extra flag
  1014. } NFLT_grfHaltFlags;
  1015. // -------------------------------------------------
  1016. // ---------------------------------------------------
  1017. // CAUTION - if Change events below, need to perform (after MIDL compiling this file):
  1018. // CTVESupervisor->Implement Connection Point (_ITVEEvents)
  1019. // AND
  1020. // CTVEFeature->Implement Connection Point (_ITVEEvents)
  1021. // to regenerate the CProxy_ITVEEvents<> code.
  1022. //
  1023. // Select Browse... button, goto filters\tve\mstve\objd\i386 directory, use mstve.tlb
  1024. //
  1025. // Note thefile MSTvECP.h must be checked out.
  1026. //
  1027. [
  1028. uuid(05500000-FAA5-4df9-8246-BFC23AC5CEA8),
  1029. helpstring("_ITVEEvents Interface")
  1030. ]
  1031. dispinterface _ITVEEvents
  1032. {
  1033. properties:
  1034. methods:
  1035. [id(2101), helpstring("method NotifyTVETune")] HRESULT NotifyTVETune([in] NTUN_Mode tuneMode, [in] ITVEService *pService, [in] BSTR bstrDescription, [in] BSTR bstrIPAdapter);
  1036. [id(2102), helpstring("method NotifyTVEEnhancementNew")] HRESULT NotifyTVEEnhancementNew([in] ITVEEnhancement *pEnh);
  1037. [id(2103), helpstring("method NotifyTVEEnhancementUpdated")] HRESULT NotifyTVEEnhancementUpdated([in] ITVEEnhancement *pEnh, [in] long lChangedFlags); // changedFlags : NENH_grfDiff
  1038. [id(2104), helpstring("method NotifyTVEEnhancementStarting")] HRESULT NotifyTVEEnhancementStarting([in] ITVEEnhancement *pEnh);
  1039. [id(2105), helpstring("method NotifyTVEEnhancementExpired")] HRESULT NotifyTVEEnhancementExpired([in] ITVEEnhancement *pEnh);
  1040. [id(2106), helpstring("method NotifyTVETriggerNew")] HRESULT NotifyTVETriggerNew([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  1041. [id(2107), helpstring("method NotifyTVETriggerUpdated")] HRESULT NotifyTVETriggerUpdated([in] ITVETrigger *pTrigger,[in] BOOL fActive, [in] long lChangedFlags); // changedFlags : NTRK_grfDiff
  1042. [id(2108), helpstring("method NotifyTVETriggerExpired")] HRESULT NotifyTVETriggerExpired([in] ITVETrigger *pTrigger,[in] BOOL fActive);
  1043. [id(2109), helpstring("method NotifyTVEPackage")] HRESULT NotifyTVEPackage([in] NPKG_Mode engPkgMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUUID, [in] long cBytesTotal, [in] long cBytesReceived);
  1044. [id(2110), helpstring("method NotifyTVEFile")] HRESULT NotifyTVEFile([in] NFLE_Mode engFileMode, [in] ITVEVariation *pVariation, [in] BSTR bstrUrlName, [in] BSTR bstrFileName);
  1045. [id(2111), helpstring("method NotifyTVEAuxInfo")] HRESULT NotifyTVEAuxInfo([in] NWHAT_Mode engAuxInfoMode, [in] BSTR bstrAuxInfoString, [in] long lChangedFlags, [in] long lErrorLine); // WhatIsIt is NWHAT_Mode - lChangedFlags is NENH_grfDiff or NTRK_grfDiff treated as error bits
  1046. };
  1047. [
  1048. uuid(05500001-FAA5-4df9-8246-BFC23AC5CEA8),
  1049. helpstring("TVETrigger Class")
  1050. ]
  1051. coclass TVETrigger
  1052. {
  1053. [default] interface ITVETrigger;
  1054. interface ITVETrigger_Helper;
  1055. };
  1056. // ----------------------------------------------------
  1057. [
  1058. uuid(05500002-FAA5-4df9-8246-BFC23AC5CEA8),
  1059. helpstring("TVETrack Class")
  1060. ]
  1061. coclass TVETrack
  1062. {
  1063. [default] interface ITVETrack;
  1064. interface ITVETrack_Helper;
  1065. };
  1066. // ---------------------------------
  1067. // [
  1068. // uuid(05500012-FAA5-4df9-8246-BFC23AC5CEA8),
  1069. // helpstring("TVETracks Class")
  1070. // ]
  1071. // coclass TVETracks
  1072. // {
  1073. // [default] interface ITVETracks;
  1074. // };
  1075. // ----------------------------------------------------
  1076. [
  1077. uuid(05500003-FAA5-4df9-8246-BFC23AC5CEA8),
  1078. helpstring("TVEVariation Class")
  1079. ]
  1080. coclass TVEVariation
  1081. {
  1082. [default] interface ITVEVariation;
  1083. interface ITVEVariation_Helper;
  1084. };
  1085. // [
  1086. // uuid(05500013-FAA5-4df9-8246-BFC23AC5CEA8),
  1087. // helpstring("TVEVariations Class")
  1088. // ]
  1089. // coclass TVEVariations
  1090. // {
  1091. // [default] interface ITVEVariations;
  1092. // };
  1093. // ---------------------------------------------------
  1094. [
  1095. uuid(05500004-FAA5-4df9-8246-BFC23AC5CEA8),
  1096. helpstring("TVEEnhancement Class")
  1097. ]
  1098. coclass TVEEnhancement
  1099. {
  1100. [default] interface ITVEEnhancement;
  1101. interface ITVEEnhancement_Helper;
  1102. };
  1103. // --------------------------------
  1104. [
  1105. uuid(05500014-FAA5-4df9-8246-BFC23AC5CEA8),
  1106. helpstring("TVEEnhancements Class")
  1107. ]
  1108. coclass TVEEnhancements
  1109. {
  1110. [default] interface ITVEEnhancements;
  1111. };
  1112. // ---------------------------------------------------
  1113. [
  1114. uuid(05500005-FAA5-4df9-8246-BFC23AC5CEA8),
  1115. helpstring("TVEService Class")
  1116. ]
  1117. coclass TVEService
  1118. {
  1119. [default] interface ITVEService;
  1120. interface ITVEService_Helper;
  1121. };
  1122. [
  1123. uuid(05500025-FAA5-4df9-8246-BFC23AC5CEA8),
  1124. helpstring("TVEFeature Class")
  1125. ]
  1126. coclass TVEFeature
  1127. {
  1128. [default] interface ITVEFeature;
  1129. [default, source] dispinterface _ITVEEvents; // out going event handler
  1130. interface _ITVEEvents; // incoming event interface
  1131. // interface ITVEService_Helper;
  1132. };
  1133. // -------------------------------
  1134. [
  1135. uuid(05500015-FAA5-4df9-8246-BFC23AC5CEA8),
  1136. helpstring("TVEServices Class")
  1137. ]
  1138. coclass TVEServices
  1139. {
  1140. [default] interface ITVEServices;
  1141. };
  1142. // ---------------------------------------------------
  1143. [
  1144. uuid(05500006-FAA5-4df9-8246-BFC23AC5CEA8),
  1145. helpstring("TVESupervisor Class")
  1146. ]
  1147. coclass TVESupervisor
  1148. {
  1149. [default] interface ITVESupervisor;
  1150. [default, source] dispinterface _ITVEEvents;
  1151. interface ITVESupervisor_Helper;
  1152. };
  1153. /*
  1154. [
  1155. hidden,
  1156. uuid(05500406-FAA5-4df9-8246-BFC23AC5CEA8),
  1157. helpstring("ITVESupervisorGITProxy Class")
  1158. ]
  1159. coclass TVESupervisorGITProxy
  1160. {
  1161. [default] interface ITVESupervisorGITProxy;
  1162. };
  1163. */
  1164. // ---------------------------------------------------
  1165. [
  1166. uuid(05500021-FAA5-4df9-8246-BFC23AC5CEA8),
  1167. helpstring("TVEAttrMap Class")
  1168. ]
  1169. coclass TVEAttrMap
  1170. {
  1171. [default] interface ITVEAttrMap;
  1172. };
  1173. [
  1174. uuid(05500022-FAA5-4df9-8246-BFC23AC5CEA8),
  1175. helpstring("TVEAttrTimeQ Class")
  1176. ]
  1177. coclass TVEAttrTimeQ
  1178. {
  1179. [default] interface ITVEAttrTimeQ;
  1180. };
  1181. [
  1182. uuid(05500030-FAA5-4df9-8246-BFC23AC5CEA8),
  1183. helpstring("TVEMCast Class")
  1184. ]
  1185. coclass TVEMCast
  1186. {
  1187. [default] interface ITVEMCast;
  1188. };
  1189. [
  1190. uuid(05500031-FAA5-4df9-8246-BFC23AC5CEA8),
  1191. helpstring("TVEMCasts Class")
  1192. ]
  1193. coclass TVEMCasts
  1194. {
  1195. [default] interface ITVEMCasts;
  1196. };
  1197. [
  1198. uuid(05500032-FAA5-4df9-8246-BFC23AC5CEA8),
  1199. helpstring("TVEMCastManager Class")
  1200. ]
  1201. coclass TVEMCastManager
  1202. {
  1203. [default] interface ITVEMCastManager;
  1204. interface ITVEMCastManager_Helper;
  1205. };
  1206. [
  1207. uuid(05500040-FAA5-4df9-8246-BFC23AC5CEA8),
  1208. helpstring("TVEMCastCallback Class")
  1209. ]
  1210. coclass TVEMCastCallback
  1211. {
  1212. [default] interface ITVEMCastCallback;
  1213. };
  1214. [
  1215. uuid(05500041-FAA5-4df9-8246-BFC23AC5CEA8),
  1216. helpstring("TVECBAnnc Class")
  1217. ]
  1218. // specific Multicast Callbacks
  1219. coclass TVECBAnnc
  1220. {
  1221. [default] interface ITVECBAnnc;
  1222. };
  1223. [
  1224. uuid(05500042-FAA5-4df9-8246-BFC23AC5CEA8),
  1225. helpstring("TVECBTrig Class")
  1226. ]
  1227. coclass TVECBTrig
  1228. {
  1229. [default] interface ITVECBTrig;
  1230. };
  1231. [
  1232. uuid(05500043-FAA5-4df9-8246-BFC23AC5CEA8),
  1233. helpstring("TVECBFile Class")
  1234. ]
  1235. coclass TVECBFile
  1236. {
  1237. [default] interface ITVECBFile;
  1238. };
  1239. [
  1240. uuid(05500049-FAA5-4df9-8246-BFC23AC5CEA8),
  1241. helpstring("TVECBDummy Class")
  1242. ]
  1243. coclass TVECBDummy
  1244. {
  1245. [default] interface ITVECBDummy;
  1246. };
  1247. [
  1248. uuid(05500050-FAA5-4df9-8246-BFC23AC5CEA8),
  1249. helpstring("TVEFile Class")
  1250. ]
  1251. coclass TVEFile
  1252. {
  1253. [default] interface ITVEFile;
  1254. }
  1255. // This control gets CoCreate'ed by an app to handle hooking things together
  1256. [
  1257. uuid(05500070-FAA5-4df9-8246-BFC23AC5CEA8),
  1258. helpstring("TVENavAid Class")
  1259. ]
  1260. coclass TVENavAid
  1261. {
  1262. [default] interface ITVENavAid; // controllable from HTML
  1263. interface ITVENavAid_Helper; // internal control methods
  1264. interface ITVENavAid_NoVidCtl; // to work without the VidControl
  1265. };
  1266. // this is the DShow TVE Receiver Filter that encapsulates a TVESupervisor
  1267. // object in a in a DShow graph
  1268. [
  1269. uuid(05500080-FAA5-4df9-8246-BFC23AC5CEA8),
  1270. helpstring("TVEFilter Class")
  1271. ]
  1272. coclass TVEFilter
  1273. {
  1274. // [default, source] dispinterface _ITVEEvents;
  1275. [default] interface ITVEFilter;
  1276. interface ITVEFilter_Helper;
  1277. };
  1278. // This control gets CoCreated by HTML in <OBJECT TYPE="application\tve-trigger">
  1279. // Implements the tve-trigger receiver object properties as per Atvef Spec
  1280. [
  1281. uuid(05500091-FAA5-4df9-8246-BFC23AC5CEA8),
  1282. helpstring("_ITVETriggerCtrlEvents Interface")
  1283. ]
  1284. dispinterface _ITVETriggerCtrlEvents
  1285. {
  1286. properties:
  1287. methods:
  1288. };
  1289. [
  1290. uuid(05500090-FAA5-4df9-8246-BFC23AC5CEA8),
  1291. helpstring("TVETriggerCtrl Class")
  1292. ]
  1293. coclass TVETriggerCtrl
  1294. {
  1295. [default] interface ITVETriggerCtrl; // controllable from HTML
  1296. interface ITVETriggerCtrl_Helper; // internal control methods
  1297. [default, source] dispinterface _ITveTriggerCtrlEvents; // fire control events to HTML
  1298. // interface _ITVEvents; // respond to slew of TVE events
  1299. };
  1300. };