|
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Declares the DVB-H tuner hardware adaptation information classes. |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 @publishedPartner |
|
21 @prototype |
|
22 */ |
|
23 |
|
24 #ifndef DVBHRECEIVERINFO_H |
|
25 #define DVBHRECEIVERINFO_H |
|
26 |
|
27 #include <e32base.h> |
|
28 #include <mobiletv/hai/dvbh/dvbhtypes.h> |
|
29 |
|
30 class TIp6Addr; |
|
31 |
|
32 /** |
|
33 * @publishedPartner |
|
34 * @prototype |
|
35 * @see CDvbhReceiverInfo::SetStateObserver() |
|
36 * |
|
37 * Defines an interface for receiving notifications of RDvbhReceiver state changes. |
|
38 * Clients wishing to monitor state changes should provide a CDvbhReceiverInfo |
|
39 * instance with an implementation of this interface via CDvbhReceiverInfo::SetStateObserver(). |
|
40 */ |
|
41 class MDvbhStateObserver |
|
42 { |
|
43 public: |
|
44 /** |
|
45 * @param aNewState Identifies the state to which the RDvbhReceiver has just transitioned. |
|
46 * |
|
47 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
48 * this method will be called whenever RDvbhReceiver changes state, in order to |
|
49 * inform the client of the new state. |
|
50 */ |
|
51 virtual void DvbhStateChange( TDvbhState aNewState ) = 0; |
|
52 }; |
|
53 |
|
54 /** |
|
55 * @publishedPartner |
|
56 * @prototype |
|
57 * @see CDvbhReceiverInfo::SetSignalQualityObserver() |
|
58 * |
|
59 * Defines an interface for receiving notifications of changes to signal quality. |
|
60 * Clients wishing to monitor signal quality should provide a CDvbhReceiverInfo |
|
61 * instance with an implementation of this interface via CDvbhReceiverInfo::SetSignalQualityObserver(). |
|
62 */ |
|
63 class MDvbhSignalQualityObserver |
|
64 { |
|
65 public: |
|
66 /** |
|
67 * @param aNewSignalQuality Identifies the new signal quality value. |
|
68 * |
|
69 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
70 * this method will be called whenever the signal quality changes, in order to |
|
71 * inform the client of the new signal quality. |
|
72 */ |
|
73 virtual void DvbhSignalQualityChange( const TDvbhSignalQuality& aNewSignalQuality ) = 0; |
|
74 }; |
|
75 |
|
76 /** |
|
77 * @publishedPartner |
|
78 * @prototype |
|
79 * @see CDvbhReceiverInfo::SetPlatformObserver() |
|
80 * |
|
81 * Defines an interface for receiving notifications of changes of the current IP platform. |
|
82 * Clients wishing to monitor IP platform changes should provide a CDvbhReceiverInfo |
|
83 * instance with an implementation of this interface via CDvbhReceiverInfo::SetPlatformObserver(). |
|
84 */ |
|
85 class MDvbhPlatformObserver |
|
86 { |
|
87 public: |
|
88 /** |
|
89 * @param aNewPlatform Identifies the IP platform to which the receiver has just switched. |
|
90 * @param aESGRoot The IP address of the bootstrap ESG sevice on the new platform. |
|
91 * |
|
92 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
93 * this method will be called whenever the current IP platform changes, in order to |
|
94 * inform the client of the new IP platform and bootstrap ESG IP address. |
|
95 */ |
|
96 virtual void DvbhPlatformChange( const TDvbhPlatform& aNewPlatform, const TIp6Addr& aESGRoot ) = 0; |
|
97 }; |
|
98 |
|
99 /** |
|
100 * @publishedPartner |
|
101 * @prototype |
|
102 * @see CDvbhReceiverInfo::SetNetworkTimeObserver() |
|
103 * |
|
104 * Defines an interface for notifying of updates to the network time. |
|
105 * Clients wishing to monitor network time changes should provide a CDvbhReceiverInfo |
|
106 * instance with an implementation of this interface via CDvbhReceiverInfo::SetNetworkTimeObserver(). |
|
107 * Network time update is triggered via call to RDvbhReceiver::UpdateNetworkTime() |
|
108 */ |
|
109 class MDvbhNetworkTimeObserver |
|
110 { |
|
111 public: |
|
112 /** |
|
113 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
114 * this method will be called whenever the current network time has been updated. |
|
115 */ |
|
116 virtual void DvbhNetworkTimeUpdate() = 0; |
|
117 }; |
|
118 |
|
119 /** |
|
120 * @publishedPartner |
|
121 * @prototype |
|
122 * @see CDvbhReceiverInfo::SetFrequencyObserver() |
|
123 * |
|
124 * Defines an interface for receiving notifications of changes to the frequency to which the receiver is tuned. |
|
125 * Clients wishing to monitor frequency changes should provide a CDvbhReceiverInfo |
|
126 * instance with an implementation of this interface via CDvbhReceiverInfo::SetFrequencyObserver(). |
|
127 */ |
|
128 class MDvbhFrequencyObserver |
|
129 { |
|
130 public: |
|
131 /** |
|
132 * @param aNewFrequency Identifies the frequency to which the tuner has just tuned. |
|
133 * |
|
134 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
135 * this method will be called whenever the tuned frequency changes, in order to |
|
136 * inform the client of the new frequency. |
|
137 */ |
|
138 virtual void DvbhFrequencyChange( const TDvbhFrequency& aNewFrequency ) = 0; |
|
139 }; |
|
140 |
|
141 /** |
|
142 * @publishedPartner |
|
143 * @prototype |
|
144 * @see CDvbhReceiverInfo::SetCellIdObserver() |
|
145 * |
|
146 * Defines an interface for receiving notifications of changes to current cellId. |
|
147 * Clients wishing to monitor cellId changes should provide a CDvbhReceiverInfo |
|
148 * instance with an implementation of this interface via CDvbhReceiverInfo::SetCellIdObserver(). |
|
149 */ |
|
150 class MDvbhCellIdObserver |
|
151 { |
|
152 public: |
|
153 /** |
|
154 * @param aNewCellId The new cellId. |
|
155 * |
|
156 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
157 * this method will be called whenever the current cellId changes, in order to |
|
158 * inform the client of the new cellId. |
|
159 */ |
|
160 virtual void DvbhCellIdChange( const TDvbhCellId& aNewCellId ) = 0; |
|
161 }; |
|
162 |
|
163 /** |
|
164 * @publishedPartner |
|
165 * @prototype |
|
166 * @see CDvbhReceiverInfo::SetNetworkIdObserver() |
|
167 * |
|
168 * Defines an interface for receiving notifications of changes to current networkId. |
|
169 * Clients wishing to monitor networkId changes should provide a CDvbhReceiverInfo |
|
170 * instance with an implementation of this interface via CDvbhReceiverInfo::SetNetworkIdObserver(). |
|
171 */ |
|
172 class MDvbhNetworkIdObserver |
|
173 { |
|
174 public: |
|
175 /** |
|
176 * @param aNewNetworkId The ID of the network to which the receiver is now tuned. |
|
177 * |
|
178 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
179 * this method will be called whenever the ID of the network to which it is tuned changes, |
|
180 * in order to inform the client of the new networkId. |
|
181 */ |
|
182 virtual void DvbhNetworkIdChange( const TDvbhNetworkId& aNewNetworkId ) = 0; |
|
183 }; |
|
184 |
|
185 |
|
186 /** |
|
187 * @publishedPartner |
|
188 * @prototype |
|
189 * @see CDvbhReceiverInfo::SetBatteryStateObserver() |
|
190 * |
|
191 * Defines an interface for receiving notifications of changes in external DVB-H receiver battery state. |
|
192 * Clients wishing to monitor battery changes should provide a CDvbhReceiverInfo |
|
193 * instance with an implementation of this interface via CDvbhReceiverInfo::SetBatteryStateObserver(). |
|
194 */ |
|
195 class MDvbhExtBatteryStateObserver |
|
196 { |
|
197 public: |
|
198 /** |
|
199 * @param aNewState The new battery state of external receiver. |
|
200 * |
|
201 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
202 * this method will be called whenever the battery state of external receiver is changed, |
|
203 * in order to inform the client of the new aNewState. |
|
204 */ |
|
205 virtual void DvbhExtBatteryStateChange( TDvbhExtBatteryState aNewState ) = 0; |
|
206 }; |
|
207 |
|
208 /** |
|
209 * @publishedPartner |
|
210 * @prototype |
|
211 * @see CDvbhReceiverInfo::SetExtConnectionStateObserver() |
|
212 * |
|
213 * Defines an interface for receiving notifications of changes in external DVB-H receiver connection |
|
214 * Clients wishing to monitor connection changes should provide a CDvbhReceiverInfo |
|
215 * instance with an implementation of this interface via CDvbhReceiverInfo::SetExtConnectionStateObserver(). |
|
216 */ |
|
217 class MDvbhExtConnectionObserver |
|
218 { |
|
219 public: |
|
220 |
|
221 /** |
|
222 * @param aNewState The new external receiver connection state. |
|
223 * @param aReceiverType Type of the receiver |
|
224 * |
|
225 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
226 * this method will be called whenever the connection state of external receiver is changed, |
|
227 * in order to inform the client of the new aNewState. |
|
228 */ |
|
229 virtual void DvbhExtConnectionStateChange( |
|
230 const TDvbhExtConnectionState& aNewState, const TDvbhReceiverType& aReceiverType ) = 0; |
|
231 }; |
|
232 |
|
233 |
|
234 /** |
|
235 * @publishedPartner |
|
236 * @prototype |
|
237 * @see CDvbhReceiverInfo::SetExtAntennaConnectionStateObserver() |
|
238 * |
|
239 * Defines an interface for receiving notifications of changes in external DVB-H receiver antenna connection. |
|
240 * Clients wishing to monitor connection changes should provide a CDvbhReceiverInfo |
|
241 * instance with an implementation of this interface via CDvbhReceiverInfo::SetExtAntennaConnectionStateObserver(). |
|
242 */ |
|
243 class MDvbhExtAntennaConnectionObserver |
|
244 { |
|
245 public: |
|
246 |
|
247 /** |
|
248 * @param aNewState The new external antenna connection state. |
|
249 * @param aReceiverType Type of the receiver |
|
250 * |
|
251 * When a client has registered an implementation with a CDvbhReceiverInfo instance, |
|
252 * this method will be called whenever the connection state of external receiver antenna is changed, |
|
253 * in order to inform the client of the new aNewState. |
|
254 */ |
|
255 virtual void DvbhExtAntennaConnectionStateChange( |
|
256 const TDvbhExtAntennaConnectionState& aNewState, const TDvbhReceiverType& aReceiverType ) = 0; |
|
257 }; |
|
258 |
|
259 |
|
260 /** |
|
261 * @publishedPartner |
|
262 * @prototype |
|
263 * |
|
264 * Provides operations for reading and tracking information about the receiver, such |
|
265 * as state, signal quality, frequency, etc. Refer to the individual class methods |
|
266 * for the full list. |
|
267 * |
|
268 * Use of this class is safe in the sense that it will not interfere with the |
|
269 * receiver operation in any way. There can be multiple simultaneous instances |
|
270 * of CDvbhReceiverInfo at one time. |
|
271 */ |
|
272 class CDvbhReceiverInfo : public CBase |
|
273 { |
|
274 public: |
|
275 /** |
|
276 * @return A new instance of CDvbhReceiverInfo. |
|
277 * |
|
278 * Factory function for creating a CDvbhReceiverInfo object. |
|
279 */ |
|
280 IMPORT_C static CDvbhReceiverInfo* NewL(); |
|
281 |
|
282 /** |
|
283 * @return A new instance of CDvbhReceiverInfo. |
|
284 * |
|
285 * Factory function for creating a CDvbhReceiverInfo object, with |
|
286 * the new object left on the CleanupStack. |
|
287 */ |
|
288 IMPORT_C static CDvbhReceiverInfo* NewLC(); |
|
289 |
|
290 /** |
|
291 * C++ destructor. |
|
292 */ |
|
293 IMPORT_C ~CDvbhReceiverInfo(); |
|
294 |
|
295 /** |
|
296 * @param aState Updated with the current state of the receiver. |
|
297 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
298 * |
|
299 * Retrieves the current state of the receiver. |
|
300 */ |
|
301 IMPORT_C static TInt GetState( TDvbhState& aState ); |
|
302 |
|
303 /** |
|
304 * @param aObserver An instance of an MDvbhStateObserver implementation. |
|
305 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
306 * @see MDvbhStateObserver |
|
307 * |
|
308 * Used to register an MDvbhStateObserver implementation with the object. Once a client |
|
309 * has registered such an observer, it will be notified of any changes in receiver |
|
310 * state via that observer until either a new observer is registered or this object is |
|
311 * destroyed. |
|
312 * |
|
313 * If called more than once on an instance, the most recent observer registered |
|
314 * overrides any previously registered observers. |
|
315 */ |
|
316 IMPORT_C TInt SetStateObserver( MDvbhStateObserver& aObserver ); |
|
317 |
|
318 /** |
|
319 * @param aSignalQuality Updated with the current signal quality value. |
|
320 * @return KErrNone on success, KErrNotReady if receiver is not in the Receiving state, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
321 * |
|
322 * Retrieves the current signal quality value. |
|
323 */ |
|
324 IMPORT_C static TInt GetSignalQuality( TDvbhSignalQuality& aSignalQuality ); |
|
325 |
|
326 /** |
|
327 * @param aObserver An instance of an MDvbhSignalQualityObserver implementation. |
|
328 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
329 * @see MDvbhSignalQualityObserver |
|
330 * |
|
331 * Used to register an MDvbhSignalQualityObserver implementation with the object. Once a client |
|
332 * has registered such an observer, it will be notified of any changes to signal |
|
333 * quality via that observer until either a new observer is registered or this object is |
|
334 * destroyed. |
|
335 * |
|
336 * If called more than once on an instance, the most recent observer registered |
|
337 * overrides any previously registered observers. |
|
338 */ |
|
339 IMPORT_C TInt SetSignalQualityObserver( MDvbhSignalQualityObserver& aObserver ); |
|
340 |
|
341 /** |
|
342 * @param aPlatform Updated with the currently active IP platform. |
|
343 * @param aESGRoot Updated with the IP address of the bootstrap ESG service on the platform. |
|
344 * @return KErrNone on success, KErrNotReady if platform has not been set on the receiver, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
345 * |
|
346 * Retrieves the currently active IP platform and IP address of its bootstrap ESG service. |
|
347 */ |
|
348 IMPORT_C static TInt GetPlatform( TDvbhPlatform& aPlatform, TIp6Addr& aESGRoot ); |
|
349 |
|
350 /** |
|
351 * @param aObserver An instance of an MDvbhPlatformObserver implementation. |
|
352 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
353 * @see MDvbhPlatformObserver |
|
354 * |
|
355 * Used to register an MDvbhPlatformObserver implementation with the object. Once a client |
|
356 * has registered such an observer, it will be notified of any changes to IP platform |
|
357 * via that observer until either a new observer is registered or this object is |
|
358 * destroyed. |
|
359 * |
|
360 * If called more than once on an instance, the most recent observer registered |
|
361 * overrides any previously registered observers. |
|
362 */ |
|
363 IMPORT_C TInt SetPlatformObserver( MDvbhPlatformObserver& aObserver ); |
|
364 |
|
365 /** |
|
366 * @param aNetworkTime Upated with the current network time. |
|
367 * @param aValid Updated with ETrue if the receiver is in Ready or Receiving state; or EFalse if the time offset of a previous platform is available and has been used as a fallback to calculate the given time. |
|
368 * @return KErrNone on success, KErrNotReady if no platform has ever been set on the receiver, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
369 * @see RDvbhReceiver::UpdateNetworkTime() |
|
370 * |
|
371 * Retrieves the current network time by calculating it from the offset obtained |
|
372 * after the last call to RDvbhReceiver::UpdateNetworkTime(). |
|
373 */ |
|
374 IMPORT_C static TInt GetNetworkTime( TTime& aNetworkTime, TBool& aValid ); |
|
375 |
|
376 /** |
|
377 * @param aObserver An instance of an MDvbhNetworkTimeObserver implementation. |
|
378 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
379 * @see MDvbhNetworkTimeObserver |
|
380 * |
|
381 * Used to register an MDvbhNetworkTimeObserver implementation with the object. Once a client |
|
382 * has registered such an observer, it will be notified whenever the network time has been |
|
383 * updated via that observer until either a new observer is registered or this object is |
|
384 * destroyed. |
|
385 * |
|
386 * If called more than once on an instance, the most recent observer registered |
|
387 * overrides any previously registered observers. |
|
388 */ |
|
389 IMPORT_C TInt SetNetworkTimeObserver( MDvbhNetworkTimeObserver& aObserver ); |
|
390 |
|
391 /** |
|
392 * @param aPerformanceData Updated with the current usage and performance data of the receiver. |
|
393 * @return KErrNone on success, KErrNotReady if the receiver is not in Receiving state, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
394 * |
|
395 * Retrieves the current performance and usage data from the receiver. |
|
396 */ |
|
397 IMPORT_C static TInt GetPerformanceData( TDvbhPerformanceData& aPerformanceData ); |
|
398 |
|
399 /** |
|
400 * @param aFrequency Updated with the frequency to which the receiver is currently tuned. |
|
401 * @return KErrNone on success, KErrNotReady if platform has not been set on the receiver, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
402 * |
|
403 * Retrieves the frequency to which the receiver is currently tuned. |
|
404 */ |
|
405 IMPORT_C static TInt GetFrequency( TDvbhFrequency& aFrequency ); |
|
406 |
|
407 /** |
|
408 * @param aObserver An instance of an MDvbhFrequencyObserver implementation. |
|
409 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
410 * @see MDvbhFrequencyObserver |
|
411 * |
|
412 * Used to register an MDvbhFrequencyObserver implementation with the object. Once a client |
|
413 * has registered such an observer, it will be notified whenever the frequency to which |
|
414 * the receiver is tuned changes via that observer until either a new observer is |
|
415 * registered or this object is destroyed. |
|
416 * |
|
417 * If called more than once on an instance, the most recent observer registered |
|
418 * overrides any previously registered observers. |
|
419 */ |
|
420 IMPORT_C TInt SetFrequencyObserver( MDvbhFrequencyObserver& aObserver ); |
|
421 |
|
422 /** |
|
423 * @param aCellId Updated with the current cellId. |
|
424 * @return KErrNone on success, KErrNotReady if platform has not been set on the receiver, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
425 * |
|
426 * Retrieves the current cellId. |
|
427 */ |
|
428 IMPORT_C static TInt GetCellId( TDvbhCellId& aCellId ); |
|
429 |
|
430 /** |
|
431 * @param aObserver An instance of an MDvbhCellIdObserver implementation. |
|
432 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
433 * @see MDvbhCellIdObserver |
|
434 * |
|
435 * Used to register an MDvbhCellIdObserver implementation with the object. Once a client |
|
436 * has registered such an observer, it will be notified whenever the current cellId changes |
|
437 * via that observer until either a new observer is registered or the object is destroyed. |
|
438 * |
|
439 * If called more than once on an instance, the most recent observer registered |
|
440 * overrides any previously registered observers. |
|
441 */ |
|
442 IMPORT_C TInt SetCellIdObserver( MDvbhCellIdObserver& aObserver ); |
|
443 |
|
444 /** |
|
445 * @param aNetworkId Updated with the ID of the network to which the receiver is currently tuned. |
|
446 * @return KErrNone on success, KErrNotReady if platform has not been set on the receiver, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
447 * |
|
448 * Retrieves the networkId of the network to which the receiver is currently tuned. |
|
449 */ |
|
450 IMPORT_C static TInt GetNetworkId( TDvbhNetworkId& aNetworkId ); |
|
451 |
|
452 /** |
|
453 * @param aObserver An instance of an MDvbhNetworkIdObserver implementation. |
|
454 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
455 * @see MDvbhNetworkIdObserver |
|
456 * |
|
457 * Used to register an MDvbhNetworkIdObserver implementation with the object. Once a client |
|
458 * has registered such an observer, it will be notified whenever the ID of the network to which |
|
459 * the receiver is tuned changes via that observer until either a new observer is |
|
460 * registered or this object is destroyed. |
|
461 * |
|
462 * If called more than once on an instance, the most recent observer registered |
|
463 * overrides any previously registered observers. |
|
464 */ |
|
465 IMPORT_C TInt SetNetworkIdObserver( MDvbhNetworkIdObserver& aObserver ); |
|
466 |
|
467 /** |
|
468 * @param aState Updated with the battery state of external receiver |
|
469 * @return KErrNone on success, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
470 * |
|
471 * Retrieves the battery state of external receiver |
|
472 */ |
|
473 IMPORT_C static TInt GetBatteryState( TDvbhExtBatteryState& aState ); |
|
474 |
|
475 /** |
|
476 * @param aObserver An instance of an MDvbhExtBatteryStateObserver implementation. |
|
477 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
478 * @see MDvbhExtBatteryStateObserver |
|
479 * |
|
480 * Used to register an MDvbhExtBatteryStateObserver implementation with the object. Once a client |
|
481 * has registered such an observer, it will be notified whenever the battery state of external receiver |
|
482 * has changed via that observer until either a new observer is |
|
483 * registered or this object is destroyed. |
|
484 * |
|
485 * If called more than once on an instance, the most recent observer registered |
|
486 * overrides any previously registered observers. |
|
487 */ |
|
488 IMPORT_C TInt SetBatteryStateObserver( MDvbhExtBatteryStateObserver& aObserver ); |
|
489 |
|
490 /** |
|
491 * @param aConnectionState Updated with the connection state of external receiver |
|
492 * @param aReceiver Input for which receiver type the connection state is queried |
|
493 * @return KErrNone on success, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
494 * |
|
495 * Retrieves the connection state of external receiver |
|
496 */ |
|
497 IMPORT_C static TInt GetExtConnectionState( TDvbhExtConnectionState& aConnectionState, const TDvbhReceiverType& aReceiver ); |
|
498 |
|
499 /** |
|
500 * @param aObserver An instance of an MDvbhExtConnectionObserver implementation. |
|
501 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
502 * @see MDvbhExtConnectionObserver |
|
503 * |
|
504 * Used to register an MDvbhExtConnectionObserver implementation with the object. Once a client |
|
505 * has registered such an observer, it will be notified whenever the connection state of external |
|
506 * receiver has changed via that observer until either a new observer is |
|
507 * registered or this object is destroyed. |
|
508 * |
|
509 * If called more than once on an instance, the most recent observer registered |
|
510 * overrides any previously registered observers. |
|
511 */ |
|
512 IMPORT_C TInt SetExtConnectionStateObserver( MDvbhExtConnectionObserver& aObserver ); |
|
513 |
|
514 /** |
|
515 * @param aConnectionState Updated with the antenna connection state of external receiver |
|
516 * @param aReceiver Input for which receiver type the connection state is queried |
|
517 * @return KErrNone on success, or another system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
518 * |
|
519 * Retrieves the antenna connection state of external receiver. |
|
520 */ |
|
521 IMPORT_C static TInt GetExtAntennaConnectionState( TDvbhExtAntennaConnectionState& aConnectionState, const TDvbhReceiverType& aReceiver ); |
|
522 |
|
523 /** |
|
524 * @param aObserver An instance of an MDvbhExtAntennaConnectionObserver implementation. |
|
525 * @return KErrNone on success, otherwise a system-wide error code. Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
526 * @see MDvbhExtAntennaConnectionObserver |
|
527 * |
|
528 * Used to register an MDvbhExtAntennaConnectionObserver implementation with the object. Once a client |
|
529 * has registered such an observer, it will be notified whenever the antenna connection state of external |
|
530 * receiver has changed via that observer until either a new observer is |
|
531 * registered or this object is destroyed. |
|
532 * |
|
533 * If called more than once on an instance, the most recent observer registered |
|
534 * overrides any previously registered observers. |
|
535 */ |
|
536 IMPORT_C TInt SetExtAntennaConnectionStateObserver( MDvbhExtAntennaConnectionObserver& aObserver ); |
|
537 |
|
538 /** |
|
539 * @param aDeviceInfo Updated with the device information of external receiver |
|
540 * @param aReceiver Input for which receiver type the device information is queried |
|
541 * @return KErrNone on success, KErrNotSupported if receiver type is not supported, or another system-wide error code. |
|
542 * Clients should accept unknown error codes gracefully since new error codes may be returned in the future. |
|
543 * |
|
544 * Retrieves the device information of external receiver. Please note that the external receiver must be connected to get valid |
|
545 * device information. |
|
546 */ |
|
547 IMPORT_C static TInt GetExtDeviceInfo( TDvbhAccessoryInfo& aDeviceInfo, const TDvbhReceiverType& aReceiver ); |
|
548 |
|
549 private: |
|
550 /** |
|
551 * C++ constructor. |
|
552 */ |
|
553 CDvbhReceiverInfo(); |
|
554 |
|
555 /** |
|
556 * Symbian 2nd phase constructor. |
|
557 */ |
|
558 void ConstructL(); |
|
559 |
|
560 private: |
|
561 /* |
|
562 * Implementers of this interface should declare their own CPrivateData |
|
563 * class containing whatever private data is needed for their implementation. |
|
564 */ |
|
565 class CPrivateData; |
|
566 CPrivateData* iData; |
|
567 }; |
|
568 |
|
569 #endif // DVBHRECEIVERINFO_H |