46 // |
46 // |
47 // --------------------------------------------------------------------------- |
47 // --------------------------------------------------------------------------- |
48 // |
48 // |
49 void CRadioRemConTargetImp::ConstructL() |
49 void CRadioRemConTargetImp::ConstructL() |
50 { |
50 { |
51 LOG_METHOD_AUTO;; |
51 LOG_METHOD_AUTO; |
52 // Open chunk for test configuration/control data |
52 // Open chunk for test configuration/control data |
53 TInt err = iRadioStubManagerChunk.OpenGlobal( |
53 TInt err = iRadioStubManagerChunk.OpenGlobal( |
54 KRadioStubManagerLocalChunkName, |
54 KRadioStubManagerLocalChunkName, EFalse, // == Read | Write |
55 EFalse, // == Read | Write |
55 EOwnerThread); |
56 EOwnerThread ); |
56 User::LeaveIfError(err); |
57 User::LeaveIfError( err ); |
57 if (sizeof(SRadioStubManager) > iRadioStubManagerChunk.MaxSize()) |
58 if ( sizeof(SRadioStubManager) > iRadioStubManagerChunk.MaxSize() ) |
58 { |
59 { |
59 User::Leave(KErrTooBig); |
60 User::Leave( KErrTooBig ); |
|
61 } |
60 } |
62 TUint8* basePtr = iRadioStubManagerChunk.Base(); |
61 TUint8* basePtr = iRadioStubManagerChunk.Base(); |
63 User::LeaveIfNull( basePtr ); |
62 User::LeaveIfNull(basePtr); |
64 iRadioStubManager = (SRadioStubManager*)basePtr; |
63 iRadioStubManager = (SRadioStubManager*) basePtr; |
65 if ( STUB.iLeaveNewL.iError ) |
64 if (STUB.iLeaveNewL.iError) |
66 { |
65 { |
67 User::Leave( STUB.iLeaveNewL.iError ); |
66 User::Leave(STUB.iLeaveNewL.iError); |
68 } |
67 } |
69 if ( STUB.iLeaveConstructL.iError ) |
68 if (STUB.iLeaveConstructL.iError) |
70 { |
69 { |
71 User::Leave( STUB.iLeaveConstructL.iError ); |
70 User::Leave(STUB.iLeaveConstructL.iError); |
72 } |
71 } |
73 STUB.iRemConCoreApiTargetObserver = this; |
72 STUB.iRemConCoreApiTargetObserver = this; |
74 STUB.iRemConCallHandlingTargetObserver = this; |
73 STUB.iRemConCallHandlingTargetObserver = this; |
75 RadioEngineUtils::InitializeL(); |
74 RadioEngineUtils::InitializeL(); |
76 // Create interface selector. |
75 // Create interface selector. |
77 //iInterfaceSelector = CRemConInterfaceSelector::NewL(); |
76 //iInterfaceSelector = CRemConInterfaceSelector::NewL(); |
78 // Create a new CRemConCoreApiTarget, owned by the interface selector. |
77 // Create a new CRemConCoreApiTarget, owned by the interface selector. |
79 //iCoreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this ); |
78 //iCoreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this ); |
80 // Create a new CRemConCallHandlingTarget, owned by the interface selector. |
79 // Create a new CRemConCallHandlingTarget, owned by the interface selector. |
81 //iCallTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this ); |
80 //iCallTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this ); |
82 // Start being a target. |
81 // Start being a target. |
83 //iInterfaceSelector->OpenTargetL(); |
82 //iInterfaceSelector->OpenTargetL(); |
84 // Create repeat timer. |
83 // Create repeat timer. |
85 iRepeatTimer = CPeriodic::NewL( CActive::EPriorityStandard ); |
84 iRepeatTimer = CPeriodic::NewL(CActive::EPriorityStandard); |
86 } |
85 } |
87 |
86 |
88 // --------------------------------------------------------------------------- |
87 // --------------------------------------------------------------------------- |
89 // |
88 // |
90 // --------------------------------------------------------------------------- |
89 // --------------------------------------------------------------------------- |
91 // |
90 // |
92 CRadioRemConTargetImp* CRadioRemConTargetImp::NewL() |
91 CRadioRemConTargetImp* CRadioRemConTargetImp::NewL() |
93 { |
92 { |
94 LOG_METHOD_AUTO;; |
93 LOG_METHOD_AUTO; |
95 CRadioRemConTargetImp* self = new ( ELeave ) CRadioRemConTargetImp(); |
94 CRadioRemConTargetImp* self = new (ELeave) CRadioRemConTargetImp(); |
96 CleanupStack::PushL( self ); |
95 CleanupStack::PushL(self); |
97 self->ConstructL(); |
96 self->ConstructL(); |
98 CleanupStack::Pop(); |
97 CleanupStack::Pop(); |
99 return self; |
98 return self; |
100 } |
99 } |
101 |
100 |
120 |
119 |
121 // --------------------------------------------------------------------------- |
120 // --------------------------------------------------------------------------- |
122 // |
121 // |
123 // --------------------------------------------------------------------------- |
122 // --------------------------------------------------------------------------- |
124 // |
123 // |
125 void CRadioRemConTargetImp::SetControlEventObserver( MRadioControlEventObserver* aControlEventObserver ) |
124 void CRadioRemConTargetImp::SetControlEventObserver( |
126 { |
125 MRadioControlEventObserver* aControlEventObserver) |
127 LOG_METHOD_AUTO;; |
126 { |
|
127 LOG_METHOD_AUTO; |
128 iObserver = aControlEventObserver; |
128 iObserver = aControlEventObserver; |
129 } |
129 } |
130 |
130 |
131 // --------------------------------------------------------------------------- |
131 // --------------------------------------------------------------------------- |
132 // |
132 // |
133 // --------------------------------------------------------------------------- |
133 // --------------------------------------------------------------------------- |
134 // |
134 // |
135 void CRadioRemConTargetImp::MrccatoCommand( TRemConCoreApiOperationId aOperationId, |
135 void CRadioRemConTargetImp::MrccatoCommand( |
136 TRemConCoreApiButtonAction aButtonAct ) |
136 TRemConCoreApiOperationId aOperationId, |
|
137 TRemConCoreApiButtonAction aButtonAct) |
137 { |
138 { |
138 LOG_FORMAT( "aOperationId = %d, aButtonAct = %d", aOperationId, aButtonAct ); |
139 LOG_FORMAT( "aOperationId = %d, aButtonAct = %d", aOperationId, aButtonAct ); |
139 LOG_METHOD_AUTO; |
140 LOG_METHOD_AUTO; |
140 if ( iObserver ) |
141 if (iObserver) |
141 { |
142 { |
142 switch ( aOperationId ) |
143 switch (aOperationId) |
143 { |
144 { |
144 case ERemConCoreApiChannelUp: |
145 case ERemConCoreApiChannelUp: |
145 { |
146 { |
146 if ( aButtonAct == ERemConCoreApiButtonClick ) |
147 if (aButtonAct == ERemConCoreApiButtonClick) |
147 { |
148 { |
148 TRAP_IGNORE( iObserver->ChannelUpL( ETrue ); iObserver->ChannelUpL( EFalse )) |
149 TRAP_IGNORE( iObserver->ChannelUpL( ETrue ); iObserver->ChannelUpL( EFalse )) |
149 } |
150 } |
150 else if ( aButtonAct == ERemConCoreApiButtonPress ) |
151 else if (aButtonAct == ERemConCoreApiButtonPress) |
151 { |
152 { |
152 TRAP_IGNORE( iObserver->ChannelUpL( ETrue )) |
153 TRAP_IGNORE( iObserver->ChannelUpL( ETrue )) |
153 } |
154 } |
154 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
155 else if (aButtonAct == ERemConCoreApiButtonRelease) |
155 { |
156 { |
156 TRAP_IGNORE( iObserver->ChannelUpL( EFalse )) |
157 TRAP_IGNORE( iObserver->ChannelUpL( EFalse )) |
157 } |
158 } |
158 else {} |
159 else |
|
160 { |
|
161 } |
159 break; |
162 break; |
160 } |
163 } |
161 case ERemConCoreApiChannelDown: |
164 case ERemConCoreApiChannelDown: |
162 { |
165 { |
163 if ( aButtonAct == ERemConCoreApiButtonClick ) |
166 if (aButtonAct == ERemConCoreApiButtonClick) |
164 { |
167 { |
165 TRAP_IGNORE( iObserver->ChannelDownL( ETrue ); iObserver->ChannelDownL( EFalse )) |
168 TRAP_IGNORE( iObserver->ChannelDownL( ETrue ); iObserver->ChannelDownL( EFalse )) |
166 } |
169 } |
167 else if ( aButtonAct == ERemConCoreApiButtonPress ) |
170 else if (aButtonAct == ERemConCoreApiButtonPress) |
168 { |
171 { |
169 TRAP_IGNORE( iObserver->ChannelDownL( ETrue )) |
172 TRAP_IGNORE( iObserver->ChannelDownL( ETrue )) |
170 } |
173 } |
171 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
174 else if (aButtonAct == ERemConCoreApiButtonRelease) |
172 { |
175 { |
173 TRAP_IGNORE( iObserver->ChannelDownL( EFalse )) |
176 TRAP_IGNORE( iObserver->ChannelDownL( EFalse )) |
174 } |
177 } |
175 else {} |
178 else |
|
179 { |
|
180 } |
176 break; |
181 break; |
177 } |
182 } |
178 case ERemConCoreApiVolumeUp: |
183 case ERemConCoreApiVolumeUp: |
179 { |
184 { |
180 if ( aButtonAct == ERemConCoreApiButtonClick ) |
185 if (aButtonAct == ERemConCoreApiButtonClick) |
181 { |
186 { |
182 TRAP_IGNORE( iObserver->VolumeUpL( ETrue ); iObserver->VolumeUpL( EFalse )) |
187 TRAP_IGNORE( iObserver->VolumeUpL( ETrue ); iObserver->VolumeUpL( EFalse )) |
183 } |
188 } |
184 else if ( aButtonAct == ERemConCoreApiButtonPress ) |
189 else if (aButtonAct == ERemConCoreApiButtonPress) |
185 { |
190 { |
186 iRepeatTimer->Cancel(); |
191 iRepeatTimer->Cancel(); |
187 iRepeatId = ERemConCoreApiVolumeUp; |
192 iRepeatId = ERemConCoreApiVolumeUp; |
188 // iRepeatTimer->Start( KVRVolumeTimerInitialDelay, KAknStandardKeyboardRepeatRate, TCallBack( RepeatTimerCallback, this )); |
193 // iRepeatTimer->Start( KVRVolumeTimerInitialDelay, KAknStandardKeyboardRepeatRate, TCallBack( RepeatTimerCallback, this )); |
189 iRepeatTimer->Start( KVRVolumeTimerInitialDelay, 1000000, TCallBack( RepeatTimerCallback, this )); |
194 iRepeatTimer->Start(KVRVolumeTimerInitialDelay, 1000000, |
190 } |
195 TCallBack(RepeatTimerCallback, this)); |
191 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
196 } |
|
197 else if (aButtonAct == ERemConCoreApiButtonRelease) |
192 { |
198 { |
193 iRepeatTimer->Cancel(); |
199 iRepeatTimer->Cancel(); |
194 } |
200 } |
195 else {} |
201 else |
|
202 { |
|
203 } |
196 break; |
204 break; |
197 } |
205 } |
198 case ERemConCoreApiVolumeDown: |
206 case ERemConCoreApiVolumeDown: |
199 { |
207 { |
200 if ( aButtonAct == ERemConCoreApiButtonClick ) |
208 if (aButtonAct == ERemConCoreApiButtonClick) |
201 { |
209 { |
202 TRAP_IGNORE( iObserver->VolumeDownL( ETrue ); iObserver->VolumeDownL( EFalse )) |
210 TRAP_IGNORE( iObserver->VolumeDownL( ETrue ); iObserver->VolumeDownL( EFalse )) |
203 } |
211 } |
204 else if ( aButtonAct == ERemConCoreApiButtonPress ) |
212 else if (aButtonAct == ERemConCoreApiButtonPress) |
205 { |
213 { |
206 iRepeatTimer->Cancel(); |
214 iRepeatTimer->Cancel(); |
207 iRepeatId = ERemConCoreApiVolumeDown; |
215 iRepeatId = ERemConCoreApiVolumeDown; |
208 // iRepeatTimer->Start( KVRVolumeTimerInitialDelay, KAknStandardKeyboardRepeatRate, TCallBack( RepeatTimerCallback, this )); |
216 // iRepeatTimer->Start( KVRVolumeTimerInitialDelay, KAknStandardKeyboardRepeatRate, TCallBack( RepeatTimerCallback, this )); |
209 iRepeatTimer->Start( KVRVolumeTimerInitialDelay, 1000000, TCallBack( RepeatTimerCallback, this )); |
217 iRepeatTimer->Start(KVRVolumeTimerInitialDelay, 1000000, |
210 } |
218 TCallBack(RepeatTimerCallback, this)); |
211 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
219 } |
|
220 else if (aButtonAct == ERemConCoreApiButtonRelease) |
212 { |
221 { |
213 iRepeatTimer->Cancel(); |
222 iRepeatTimer->Cancel(); |
214 } |
223 } |
215 else {} |
224 else |
|
225 { |
|
226 } |
216 break; |
227 break; |
217 } |
228 } |
218 case ERemConCoreApiStop: |
229 case ERemConCoreApiStop: |
219 { |
230 { |
220 if ( aButtonAct == ERemConCoreApiButtonClick ) |
231 if (aButtonAct == ERemConCoreApiButtonClick) |
221 { |
232 { |
222 TRAP_IGNORE( iObserver->StopL( ETrue ); iObserver->StopL( EFalse )) |
233 TRAP_IGNORE( iObserver->StopL( ETrue ); iObserver->StopL( EFalse )) |
223 } |
234 } |
224 break; |
235 break; |
225 } |
236 } |
226 case ERemConCoreApiBackward: |
237 case ERemConCoreApiBackward: |
227 case ERemConCoreApiRewind: |
238 case ERemConCoreApiRewind: |
228 { |
239 { |
229 if ( aButtonAct == ERemConCoreApiButtonPress ) |
240 if (aButtonAct == ERemConCoreApiButtonPress) |
230 { |
241 { |
231 TRAP_IGNORE( iObserver->RewindL( ETrue )) |
242 TRAP_IGNORE( iObserver->RewindL( ETrue )) |
232 } |
243 } |
233 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
244 else if (aButtonAct == ERemConCoreApiButtonRelease) |
234 { |
245 { |
235 TRAP_IGNORE( iObserver->RewindL( EFalse )) |
246 TRAP_IGNORE( iObserver->RewindL( EFalse )) |
236 } |
247 } |
237 else if ( aButtonAct == ERemConCoreApiButtonClick ) |
248 else if (aButtonAct == ERemConCoreApiButtonClick) |
238 { |
249 { |
239 TRAP_IGNORE( iObserver->BackwardL( ETrue ); iObserver->BackwardL( EFalse )) |
250 TRAP_IGNORE( iObserver->BackwardL( ETrue ); iObserver->BackwardL( EFalse )) |
240 } |
251 } |
241 else {} |
252 else |
|
253 { |
|
254 } |
242 break; |
255 break; |
243 } |
256 } |
244 case ERemConCoreApiForward: |
257 case ERemConCoreApiForward: |
245 case ERemConCoreApiFastForward: |
258 case ERemConCoreApiFastForward: |
246 { |
259 { |
247 if ( aButtonAct == ERemConCoreApiButtonPress ) |
260 if (aButtonAct == ERemConCoreApiButtonPress) |
248 { |
261 { |
249 TRAP_IGNORE( iObserver->FastForwardL( ETrue )) |
262 TRAP_IGNORE( iObserver->FastForwardL( ETrue )) |
250 } |
263 } |
251 else if ( aButtonAct == ERemConCoreApiButtonRelease ) |
264 else if (aButtonAct == ERemConCoreApiButtonRelease) |
252 { |
265 { |
253 TRAP_IGNORE( iObserver->FastForwardL( EFalse )) |
266 TRAP_IGNORE( iObserver->FastForwardL( EFalse )) |
254 } |
267 } |
255 else if ( aButtonAct == ERemConCoreApiButtonClick ) |
268 else if (aButtonAct == ERemConCoreApiButtonClick) |
256 { |
269 { |
257 TRAP_IGNORE( iObserver->ForwardL( ETrue ); iObserver->ForwardL( EFalse )) |
270 TRAP_IGNORE( iObserver->ForwardL( ETrue ); iObserver->ForwardL( EFalse )) |
258 } |
271 } |
259 else {} |
272 else |
|
273 { |
|
274 } |
260 break; |
275 break; |
261 } |
276 } |
262 case ERemConCoreApiPlay: |
277 case ERemConCoreApiPlay: |
263 case ERemConCoreApiPause: |
278 case ERemConCoreApiPause: |
264 case ERemConCoreApiPausePlayFunction: |
279 case ERemConCoreApiPausePlayFunction: |
265 { |
280 { |
266 if ( aButtonAct == ERemConCoreApiButtonClick ) |
281 if (aButtonAct == ERemConCoreApiButtonClick) |
267 { |
282 { |
268 TRAP_IGNORE( iObserver->PausePlayL( ETrue ); iObserver->PausePlayL( EFalse )) |
283 TRAP_IGNORE( iObserver->PausePlayL( ETrue ); iObserver->PausePlayL( EFalse )) |
269 } |
284 } |
270 break; |
285 break; |
271 } |
286 } |
279 |
294 |
280 // --------------------------------------------------------------------------- |
295 // --------------------------------------------------------------------------- |
281 // |
296 // |
282 // --------------------------------------------------------------------------- |
297 // --------------------------------------------------------------------------- |
283 // |
298 // |
284 void CRadioRemConTargetImp::MrccatoPlay( TRemConCoreApiPlaybackSpeed /*aSpeed*/, |
299 void CRadioRemConTargetImp::MrccatoPlay( |
285 TRemConCoreApiButtonAction aButtonAct ) |
300 TRemConCoreApiPlaybackSpeed /*aSpeed*/, |
286 { |
301 TRemConCoreApiButtonAction aButtonAct) |
287 LOG_METHOD_AUTO; |
302 { |
288 if ( iObserver ) |
303 LOG_METHOD_AUTO; |
289 { |
304 if (iObserver) |
290 if ( aButtonAct == ERemConCoreApiButtonClick ) |
305 { |
|
306 if (aButtonAct == ERemConCoreApiButtonClick) |
291 { |
307 { |
292 TRAP_IGNORE( iObserver->PlayL( ETrue ); iObserver->PlayL( EFalse )) |
308 TRAP_IGNORE( iObserver->PlayL( ETrue ); iObserver->PlayL( EFalse )) |
293 } |
309 } |
294 } |
310 } |
295 } |
311 } |
296 |
312 |
297 // --------------------------------------------------------------------------- |
313 // --------------------------------------------------------------------------- |
298 // |
314 // |
299 // --------------------------------------------------------------------------- |
315 // --------------------------------------------------------------------------- |
300 // |
316 // |
301 void CRadioRemConTargetImp::MrccatoTuneFunction( TBool /*aTwoPart*/, |
317 void CRadioRemConTargetImp::MrccatoTuneFunction(TBool /*aTwoPart*/, |
302 TUint /*aMajorChannel*/, |
318 TUint /*aMajorChannel*/, TUint /*aMinorChannel*/, |
303 TUint /*aMinorChannel*/, |
319 TRemConCoreApiButtonAction /*aButtonAct*/) |
304 TRemConCoreApiButtonAction /*aButtonAct*/) |
320 { |
305 { |
321 LOG_METHOD_AUTO; |
306 LOG_METHOD_AUTO; |
322 } |
307 } |
323 |
308 |
324 // --------------------------------------------------------------------------- |
309 // --------------------------------------------------------------------------- |
325 // |
310 // |
326 // --------------------------------------------------------------------------- |
311 // --------------------------------------------------------------------------- |
327 // |
312 // |
328 void CRadioRemConTargetImp::MrccatoSelectDiskFunction(TUint /*aDisk*/, |
313 void CRadioRemConTargetImp::MrccatoSelectDiskFunction( TUint /*aDisk*/, |
329 TRemConCoreApiButtonAction /*aButtonAct*/) |
314 TRemConCoreApiButtonAction /*aButtonAct*/) |
330 { |
315 { |
331 LOG_METHOD_AUTO; |
316 LOG_METHOD_AUTO; |
332 } |
317 } |
333 |
318 |
334 // --------------------------------------------------------------------------- |
319 // --------------------------------------------------------------------------- |
335 // |
320 // |
336 // --------------------------------------------------------------------------- |
321 // --------------------------------------------------------------------------- |
337 // |
322 // |
338 void CRadioRemConTargetImp::MrccatoSelectAvInputFunction( |
323 void CRadioRemConTargetImp::MrccatoSelectAvInputFunction( TUint8 /*aAvInputSignalNumber*/, |
339 TUint8 /*aAvInputSignalNumber*/, TRemConCoreApiButtonAction /*aButtonAct*/) |
324 TRemConCoreApiButtonAction /*aButtonAct*/) |
340 { |
325 { |
341 LOG_METHOD_AUTO; |
326 LOG_METHOD_AUTO; |
342 } |
327 } |
343 |
328 |
344 // --------------------------------------------------------------------------- |
329 // --------------------------------------------------------------------------- |
345 // |
330 // |
346 // --------------------------------------------------------------------------- |
331 // --------------------------------------------------------------------------- |
347 // |
332 // |
348 void CRadioRemConTargetImp::MrccatoSelectAudioInputFunction( |
333 void CRadioRemConTargetImp::MrccatoSelectAudioInputFunction( TUint8 /*aAudioInputSignalNumber*/, |
349 TUint8 /*aAudioInputSignalNumber*/, TRemConCoreApiButtonAction /*aButtonAct*/) |
334 TRemConCoreApiButtonAction /*aButtonAct*/) |
350 { |
335 { |
351 LOG_METHOD_AUTO; |
336 LOG_METHOD_AUTO; |
352 } |
337 } |
353 |
338 |
354 // --------------------------------------------------------------------------- |
339 // --------------------------------------------------------------------------- |
355 // |
340 // |
356 // --------------------------------------------------------------------------- |
341 // --------------------------------------------------------------------------- |
357 // |
342 // |
358 TInt CRadioRemConTargetImp::RepeatTimerCallback(TAny* aPtr) |
343 TInt CRadioRemConTargetImp::RepeatTimerCallback( TAny* aPtr ) |
359 { |
344 { |
360 LOG_METHOD_AUTO; |
345 LOG_METHOD_AUTO; |
361 |
346 |
362 CRadioRemConTargetImp* self = |
347 CRadioRemConTargetImp* self = reinterpret_cast<CRadioRemConTargetImp*>( aPtr ); |
363 reinterpret_cast<CRadioRemConTargetImp*> (aPtr); |
348 |
364 |
349 if ( self ) |
365 if (self) |
350 { |
366 { |
351 if ( self->iObserver ) |
367 if (self->iObserver) |
352 { |
368 { |
353 switch ( self->iRepeatId ) |
369 switch (self->iRepeatId) |
354 { |
370 { |
355 case ERemConCoreApiVolumeUp: |
371 case ERemConCoreApiVolumeUp: |
356 { |
372 { |
357 TRAP_IGNORE( self->iObserver->VolumeUpL( ETrue ); self->iObserver->VolumeUpL( EFalse )) |
373 TRAP_IGNORE( self->iObserver->VolumeUpL( ETrue ); self->iObserver->VolumeUpL( EFalse )) |
358 break; |
374 break; |