xref: /reactos/sdk/include/dxsdk/bdatif.idl (revision c2c66aff)
1#ifndef DO_NO_IMPORTS
2import "unknwn.idl";
3import "strmif.idl";
4import "tuner.idl";
5import "bdaiface.idl";
6#endif
7
8interface IMPEG2_TIF_CONTROL;
9interface IATSCChannelInfo;
10interface IMPEG2PIDMap;
11
12[
13    object,
14    uuid(DFEF4A68-EE61-415f-9CCB-CD95F2F98A3A),
15    pointer_default(unique)
16]
17interface IBDA_TIF_REGISTRATION : IUnknown
18{
19    HRESULT
20    RegisterTIFEx(
21        [in]  IPin * pTIFInputPin,
22        [in, out] ULONG * ppvRegistrationContext,
23        [in, out] IUnknown ** ppMpeg2DataControl);
24
25    HRESULT
26    UnregisterTIF(
27        [in] ULONG pvRegistrationContext);
28}
29
30[
31    object,
32    uuid(F9BAC2F9-4149-4916-B2EF-FAA202326862),
33    pointer_default(unique)
34]
35interface IMPEG2_TIF_CONTROL : IUnknown
36{
37    HRESULT
38    RegisterTIF(
39        [in]  IUnknown * pUnkTIF,
40        [in, out] ULONG * ppvRegistrationContext);
41
42    HRESULT
43    UnregisterTIF(
44        [in] ULONG pvRegistrationContext);
45
46    HRESULT
47    AddPIDs(
48        [in] ULONG ulcPIDs,
49        [in] ULONG * pulPIDs);
50
51    HRESULT
52    DeletePIDs(
53        [in] ULONG ulcPIDs,
54        [in] ULONG * pulPIDs);
55
56    HRESULT
57    GetPIDCount(
58        [out] ULONG * pulcPIDs);
59
60    HRESULT
61    GetPIDs(
62        [out] ULONG * pulcPIDs,
63        [out] ULONG * pulPIDs);
64}
65
66[
67    object,
68    uuid(A3B152DF-7A90-4218-AC54-9830BEE8C0B6),
69    pointer_default(unique)
70]
71interface ITuneRequestInfo : IUnknown
72{
73    HRESULT
74    GetLocatorData(
75        [in]  ITuneRequest *Request);
76
77    HRESULT
78    GetComponentData(
79        [in]  ITuneRequest *CurrentRequest);
80
81    HRESULT
82    CreateComponentList(
83        [in]  ITuneRequest *CurrentRequest);
84
85    HRESULT
86    GetNextProgram (
87        [in]  ITuneRequest *CurrentRequest,
88        [out, retval] ITuneRequest **TuneRequest);
89
90    HRESULT
91    GetPreviousProgram(
92        [in]  ITuneRequest *CurrentRequest,
93        [out, retval] ITuneRequest **TuneRequest);
94
95    HRESULT
96    GetNextLocator(
97        [in]  ITuneRequest *CurrentRequest,
98        [out, retval] ITuneRequest **TuneRequest);
99
100    HRESULT
101    GetPreviousLocator(
102        [in]  ITuneRequest *CurrentRequest,
103        [out, retval] ITuneRequest **TuneRequest);
104}
105
106[
107    object,
108    uuid(EFDA0C80-F395-42c3-9B3C-56B37DEC7BB7),
109    pointer_default(unique)
110]
111interface IGuideDataEvent : IUnknown
112{
113    HRESULT
114    GuideDataAcquired();
115
116    HRESULT ProgramChanged(
117        [in] VARIANT varProgramDescriptionID);
118
119    HRESULT ServiceChanged(
120        [in] VARIANT varServiceDescriptionID);
121
122    HRESULT ScheduleEntryChanged(
123        [in] VARIANT varScheduleEntryDescriptionID);
124
125    HRESULT ProgramDeleted(
126        [in] VARIANT varProgramDescriptionID);
127
128    HRESULT ServiceDeleted(
129        [in] VARIANT varServiceDescriptionID);
130
131    HRESULT ScheduleDeleted(
132        [in] VARIANT varScheduleEntryDescriptionID);
133}
134
135[
136    object,
137    uuid(88EC5E58-BB73-41d6-99CE-66C524B8B591),
138    pointer_default(unique)
139]
140interface IGuideDataProperty : IUnknown
141{
142    HRESULT
143    get_Name(
144        [out] BSTR *pbstrName);
145
146    HRESULT
147    get_Language(
148        [out] long *idLang);
149
150    HRESULT
151    get_Value(
152        [out] VARIANT *pvar);
153}
154
155[
156    object,
157    uuid(AE44423B-4571-475c-AD2C-F40A771D80EF),
158    pointer_default(unique)
159]
160interface IEnumGuideDataProperties : IUnknown
161{
162    HRESULT
163    Next(
164        [in] unsigned long celt,
165        [out] IGuideDataProperty **ppprop,
166        [out] unsigned long *pcelt);
167
168    HRESULT
169    Skip(
170        [in] unsigned long celt);
171
172    HRESULT
173    Reset();
174
175    HRESULT
176    Clone(
177        [out] IEnumGuideDataProperties **ppenum);
178}
179
180[
181    object,
182    uuid(1993299C-CED6-4788-87A3-420067DCE0C7),
183    pointer_default(unique)
184]
185interface IEnumTuneRequests : IUnknown
186{
187    HRESULT
188    Next(
189        [in] unsigned long celt,
190        [out] ITuneRequest **ppprop,
191        [out] unsigned long *pcelt);
192
193    HRESULT
194    Skip(
195        [in] unsigned long celt);
196
197    HRESULT
198    Reset();
199
200    HRESULT
201    Clone(
202        [out] IEnumTuneRequests **ppenum);
203}
204
205[
206    object,
207    uuid(61571138-5B01-43cd-AEAF-60B784A0BF93),
208    pointer_default(unique)
209]
210interface IGuideData : IUnknown
211{
212    HRESULT
213    GetServices(
214        [out, retval] IEnumTuneRequests ** ppEnumTuneRequests);
215
216    HRESULT
217    GetServiceProperties(
218        [in] ITuneRequest * pTuneRequest,
219        [out, retval] IEnumGuideDataProperties ** ppEnumProperties);
220
221    HRESULT
222    GetGuideProgramIDs(
223        [out, retval] IEnumVARIANT ** pEnumPrograms);
224
225    HRESULT
226    GetProgramProperties(
227        [in] VARIANT varProgramDescriptionID,
228        [out, retval] IEnumGuideDataProperties ** ppEnumProperties);
229
230    HRESULT
231    GetScheduleEntryIDs(
232        [out, retval] IEnumVARIANT ** pEnumScheduleEntries);
233
234    HRESULT
235    GetScheduleEntryProperties(
236        [in] VARIANT varScheduleEntryDescriptionID,
237        [out, retval] IEnumGuideDataProperties ** ppEnumProperties);
238}
239
240[
241    object,
242    uuid(4764ff7c-fa95-4525-af4d-d32236db9e38),
243    pointer_default(unique)
244]
245interface IGuideDataLoader : IUnknown
246{
247    HRESULT Init([in] IGuideData *pGuideStore);
248    HRESULT Terminate();
249};
250
251[
252    uuid(8224A083-7F8C-432D-B83E-3C5E9BDE3528),
253    version(1.0),
254]
255library PSISLOADLib
256{
257#ifndef __midl
258    importlib("stdole32.tlb");
259#endif
260    importlib("stdole2.tlb");
261
262    [
263        uuid(14EB8748-1753-4393-95AE-4F7E7A87AAD6),
264        helpstring("TIFLoad Class")
265    ]
266    coclass TIFLoad
267    {
268        interface IGuideDataLoader;
269        interface IGuideDataEvent;
270    };
271};
272
273