svn will drive me nuts, part 1/x
[reactos.git] / include / dxsdk / bdatif.idl
1 #ifndef DO_NO_IMPORTS
2 import "unknwn.idl";
3 import "strmif.idl";
4 import "tuner.idl";
5 import "bdaiface.idl";
6 #endif
7
8 interface IMPEG2_TIF_CONTROL;
9 interface IATSCChannelInfo;
10 interface IMPEG2PIDMap;
11
12 [
13 object,
14 uuid(DFEF4A68-EE61-415f-9CCB-CD95F2F98A3A),
15 pointer_default(unique)
16 ]
17 interface 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 ]
35 interface 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 ]
71 interface 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 ]
111 interface 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 ]
140 interface 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 ]
160 interface 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 ]
185 interface 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 ]
210 interface 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 ]
245 interface 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 ]
255 library PSISLOADLib
256 {
257 importlib("stdole32.tlb");
258 importlib("stdole2.tlb");
259
260 [
261 uuid(14EB8748-1753-4393-95AE-4F7E7A87AAD6),
262 helpstring("TIFLoad Class")
263 ]
264 coclass TIFLoad
265 {
266 interface IGuideDataLoader;
267 interface IGuideDataEvent;
268 };
269 };
270