1.1 --- a/epoc32/include/remconcoreapicontroller.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/remconcoreapicontroller.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,789 @@
1.4 -remconcoreapicontroller.h
1.5 +// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +//
1.19 +
1.20 +
1.21 +
1.22 +/**
1.23 + @file
1.24 + @publishedAll
1.25 + @released
1.26 +*/
1.27 +
1.28 +#ifndef REMCONCOREAPICONTROLLER_H
1.29 +#define REMCONCOREAPICONTROLLER_H
1.30 +
1.31 +#include <e32base.h>
1.32 +#include <remcon/remconinterfacebase.h>
1.33 +#include <remconcoreapi.h>
1.34 +#include <remcon/remconinterfaceif.h>
1.35 +
1.36 +class MRemConCoreApiControllerObserver;
1.37 +class CRemConInterfaceSelector;
1.38 +
1.39 +/**
1.40 +Client-instantiable type supporting sending Core API commands.
1.41 +*/
1.42 +NONSHARABLE_CLASS(CRemConCoreApiController) : public CRemConInterfaceBase,
1.43 + public MRemConInterfaceIf
1.44 + {
1.45 +public:
1.46 + /**
1.47 + Factory function.
1.48 + @param aInterfaceSelector The interface selector. The client must have
1.49 + created one of these first.
1.50 + @param aObserver The observer of this interface.
1.51 + @return A new CRemConCoreApiController, owned by the interface selector.
1.52 + */
1.53 + IMPORT_C static CRemConCoreApiController* NewL(CRemConInterfaceSelector& aInterfaceSelector,
1.54 + MRemConCoreApiControllerObserver& aObserver);
1.55 +
1.56 + /** Destructor */
1.57 + IMPORT_C ~CRemConCoreApiController();
1.58 +
1.59 +public:
1.60 + /** Send a 'select' command.
1.61 + Only one command per controller session can be outstanding at any one time.
1.62 + @param aStatus Used by RemCon to indicate completion of the send request.
1.63 + @param aNumRemotes On success, will contain the number of remotes the
1.64 + command was sent to.
1.65 + @param aButtonAct The button action to send.
1.66 + */
1.67 + IMPORT_C void Select(TRequestStatus& aStatus,
1.68 + TUint& aNumRemotes,
1.69 + TRemConCoreApiButtonAction aButtonAct);
1.70 +
1.71 + /** Send an 'up' command.
1.72 + Only one command per controller session can be outstanding at any one time.
1.73 + @param aStatus Used by RemCon to indicate completion of the send request.
1.74 + @param aNumRemotes On success, will contain the number of remotes the
1.75 + command was sent to.
1.76 + @param aButtonAct The button action to send.
1.77 + */
1.78 + IMPORT_C void Up(TRequestStatus& aStatus,
1.79 + TUint& aNumRemotes,
1.80 + TRemConCoreApiButtonAction aButtonAct);
1.81 +
1.82 + /** Send a 'down' command.
1.83 + Only one command per controller session can be outstanding at any one time.
1.84 + @param aStatus Used by RemCon to indicate completion of the send request.
1.85 + @param aNumRemotes On success, will contain the number of remotes the
1.86 + command was sent to.
1.87 + @param aButtonAct The button action to send.
1.88 + */
1.89 + IMPORT_C void Down(TRequestStatus& aStatus,
1.90 + TUint& aNumRemotes,
1.91 + TRemConCoreApiButtonAction aButtonAct);
1.92 +
1.93 + /** Send a 'left' command.
1.94 + Only one command per controller session can be outstanding at any one time.
1.95 + @param aStatus Used by RemCon to indicate completion of the send request.
1.96 + @param aNumRemotes On success, will contain the number of remotes the
1.97 + command was sent to.
1.98 + @param aButtonAct The button action to send.
1.99 + */
1.100 + IMPORT_C void Left(TRequestStatus& aStatus,
1.101 + TUint& aNumRemotes,
1.102 + TRemConCoreApiButtonAction aButtonAct);
1.103 +
1.104 + /** Send a 'right' command.
1.105 + Only one command per controller session can be outstanding at any one time.
1.106 + @param aStatus Used by RemCon to indicate completion of the send request.
1.107 + @param aNumRemotes On success, will contain the number of remotes the
1.108 + command was sent to.
1.109 + @param aButtonAct The button action to send.
1.110 + */
1.111 + IMPORT_C void Right(TRequestStatus& aStatus,
1.112 + TUint& aNumRemotes,
1.113 + TRemConCoreApiButtonAction aButtonAct);
1.114 +
1.115 + /** Send a 'right up' command.
1.116 + Only one command per controller session can be outstanding at any one time.
1.117 + @param aStatus Used by RemCon to indicate completion of the send request.
1.118 + @param aNumRemotes On success, will contain the number of remotes the
1.119 + command was sent to.
1.120 + @param aButtonAct The button action to send.
1.121 + */
1.122 + IMPORT_C void RightUp(TRequestStatus& aStatus,
1.123 + TUint& aNumRemotes,
1.124 + TRemConCoreApiButtonAction aButtonAct);
1.125 +
1.126 + /** Send a 'right down' command.
1.127 + Only one command per controller session can be outstanding at any one time.
1.128 + @param aStatus Used by RemCon to indicate completion of the send request.
1.129 + @param aNumRemotes On success, will contain the number of remotes the
1.130 + command was sent to.
1.131 + @param aButtonAct The button action to send.
1.132 + */
1.133 + IMPORT_C void RightDown(TRequestStatus& aStatus,
1.134 + TUint& aNumRemotes,
1.135 + TRemConCoreApiButtonAction aButtonAct);
1.136 +
1.137 + /** Send a 'left up' command.
1.138 + Only one command per controller session can be outstanding at any one time.
1.139 + @param aStatus Used by RemCon to indicate completion of the send request.
1.140 + @param aNumRemotes On success, will contain the number of remotes the
1.141 + command was sent to.
1.142 + @param aButtonAct The button action to send.
1.143 + */
1.144 + IMPORT_C void LeftUp(TRequestStatus& aStatus,
1.145 + TUint& aNumRemotes,
1.146 + TRemConCoreApiButtonAction aButtonAct);
1.147 +
1.148 + /** Send a 'left down' command.
1.149 + Only one command per controller session can be outstanding at any one time.
1.150 + @param aStatus Used by RemCon to indicate completion of the send request.
1.151 + @param aNumRemotes On success, will contain the number of remotes the
1.152 + command was sent to.
1.153 + @param aButtonAct The button action to send.
1.154 + */
1.155 + IMPORT_C void LeftDown(TRequestStatus& aStatus,
1.156 + TUint& aNumRemotes,
1.157 + TRemConCoreApiButtonAction aButtonAct);
1.158 +
1.159 + /** Send a 'root menu' command.
1.160 + Only one command per controller session can be outstanding at any one time.
1.161 + @param aStatus Used by RemCon to indicate completion of the send request.
1.162 + @param aNumRemotes On success, will contain the number of remotes the
1.163 + command was sent to.
1.164 + @param aButtonAct The button action to send.
1.165 + */
1.166 + IMPORT_C void RootMenu(TRequestStatus& aStatus,
1.167 + TUint& aNumRemotes,
1.168 + TRemConCoreApiButtonAction aButtonAct);
1.169 +
1.170 + /** Send a 'setup menu' command.
1.171 + Only one command per controller session can be outstanding at any one time.
1.172 + @param aStatus Used by RemCon to indicate completion of the send request.
1.173 + @param aNumRemotes On success, will contain the number of remotes the
1.174 + command was sent to.
1.175 + @param aButtonAct The button action to send.
1.176 + */
1.177 + IMPORT_C void SetupMenu(TRequestStatus& aStatus,
1.178 + TUint& aNumRemotes,
1.179 + TRemConCoreApiButtonAction aButtonAct);
1.180 +
1.181 + /** Send a 'contents menu' command.
1.182 + Only one command per controller session can be outstanding at any one time.
1.183 + @param aStatus Used by RemCon to indicate completion of the send request.
1.184 + @param aNumRemotes On success, will contain the number of remotes the
1.185 + command was sent to.
1.186 + @param aButtonAct The button action to send.
1.187 + */
1.188 + IMPORT_C void ContentsMenu(TRequestStatus& aStatus,
1.189 + TUint& aNumRemotes,
1.190 + TRemConCoreApiButtonAction aButtonAct);
1.191 +
1.192 + /** Send a 'favorite menu' command.
1.193 + Only one command per controller session can be outstanding at any one time.
1.194 + @param aStatus Used by RemCon to indicate completion of the send request.
1.195 + @param aNumRemotes On success, will contain the number of remotes the
1.196 + command was sent to.
1.197 + @param aButtonAct The button action to send.
1.198 + */
1.199 + IMPORT_C void FavoriteMenu(TRequestStatus& aStatus,
1.200 + TUint& aNumRemotes,
1.201 + TRemConCoreApiButtonAction aButtonAct);
1.202 +
1.203 + /** Send an 'exit' command.
1.204 + Only one command per controller session can be outstanding at any one time.
1.205 + @param aStatus Used by RemCon to indicate completion of the send request.
1.206 + @param aNumRemotes On success, will contain the number of remotes the
1.207 + command was sent to.
1.208 + @param aButtonAct The button action to send.
1.209 + */
1.210 + IMPORT_C void Exit(TRequestStatus& aStatus,
1.211 + TUint& aNumRemotes,
1.212 + TRemConCoreApiButtonAction aButtonAct);
1.213 +
1.214 + /** Send a '0' command.
1.215 + Only one command per controller session can be outstanding at any one time.
1.216 + @param aStatus Used by RemCon to indicate completion of the send request.
1.217 + @param aNumRemotes On success, will contain the number of remotes the
1.218 + command was sent to.
1.219 + @param aButtonAct The button action to send.
1.220 + */
1.221 + IMPORT_C void _0(TRequestStatus& aStatus,
1.222 + TUint& aNumRemotes,
1.223 + TRemConCoreApiButtonAction aButtonAct);
1.224 +
1.225 + /** Send a '1' command.
1.226 + Only one command per controller session can be outstanding at any one time.
1.227 + @param aStatus Used by RemCon to indicate completion of the send request.
1.228 + @param aNumRemotes On success, will contain the number of remotes the
1.229 + command was sent to.
1.230 + @param aButtonAct The button action to send.
1.231 + */
1.232 + IMPORT_C void _1(TRequestStatus& aStatus,
1.233 + TUint& aNumRemotes,
1.234 + TRemConCoreApiButtonAction aButtonAct);
1.235 +
1.236 + /** Send a '2' command.
1.237 + Only one command per controller session can be outstanding at any one time.
1.238 + @param aStatus Used by RemCon to indicate completion of the send request.
1.239 + @param aNumRemotes On success, will contain the number of remotes the
1.240 + command was sent to.
1.241 + @param aButtonAct The button action to send.
1.242 + */
1.243 + IMPORT_C void _2(TRequestStatus& aStatus,
1.244 + TUint& aNumRemotes,
1.245 + TRemConCoreApiButtonAction aButtonAct);
1.246 +
1.247 + /** Send a '3' command.
1.248 + Only one command per controller session can be outstanding at any one time.
1.249 + @param aStatus Used by RemCon to indicate completion of the send request.
1.250 + @param aNumRemotes On success, will contain the number of remotes the
1.251 + command was sent to.
1.252 + @param aButtonAct The button action to send.
1.253 + */
1.254 + IMPORT_C void _3(TRequestStatus& aStatus,
1.255 + TUint& aNumRemotes,
1.256 + TRemConCoreApiButtonAction aButtonAct);
1.257 +
1.258 + /** Send a '4'command.
1.259 + Only one command per controller session can be outstanding at any one time.
1.260 + @param aStatus Used by RemCon to indicate completion of the send request.
1.261 + @param aNumRemotes On success, will contain the number of remotes the
1.262 + command was sent to.
1.263 + @param aButtonAct The button action to send.
1.264 + */
1.265 + IMPORT_C void _4(TRequestStatus& aStatus,
1.266 + TUint& aNumRemotes,
1.267 + TRemConCoreApiButtonAction aButtonAct);
1.268 +
1.269 + /** Send a '5' command.
1.270 + Only one command per controller session can be outstanding at any one time.
1.271 + @param aStatus Used by RemCon to indicate completion of the send request.
1.272 + @param aNumRemotes On success, will contain the number of remotes the
1.273 + command was sent to.
1.274 + @param aButtonAct The button action to send.
1.275 + */
1.276 + IMPORT_C void _5(TRequestStatus& aStatus,
1.277 + TUint& aNumRemotes,
1.278 + TRemConCoreApiButtonAction aButtonAct);
1.279 +
1.280 + /** Send a '6' command.
1.281 + Only one command per controller session can be outstanding at any one time.
1.282 + @param aStatus Used by RemCon to indicate completion of the send request.
1.283 + @param aNumRemotes On success, will contain the number of remotes the
1.284 + command was sent to.
1.285 + @param aButtonAct The button action to send.
1.286 + */
1.287 + IMPORT_C void _6(TRequestStatus& aStatus,
1.288 + TUint& aNumRemotes,
1.289 + TRemConCoreApiButtonAction aButtonAct);
1.290 +
1.291 + /** Send a '7' command.
1.292 + Only one command per controller session can be outstanding at any one time.
1.293 + @param aStatus Used by RemCon to indicate completion of the send request.
1.294 + @param aNumRemotes On success, will contain the number of remotes the
1.295 + command was sent to.
1.296 + @param aButtonAct The button action to send.
1.297 + */
1.298 + IMPORT_C void _7(TRequestStatus& aStatus,
1.299 + TUint& aNumRemotes,
1.300 + TRemConCoreApiButtonAction aButtonAct);
1.301 +
1.302 + /** Send a '8' command.
1.303 + Only one command per controller session can be outstanding at any one time.
1.304 + @param aStatus Used by RemCon to indicate completion of the send request.
1.305 + @param aNumRemotes On success, will contain the number of remotes the
1.306 + command was sent to.
1.307 + @param aButtonAct The button action to send.
1.308 + */
1.309 + IMPORT_C void _8(TRequestStatus& aStatus,
1.310 + TUint& aNumRemotes,
1.311 + TRemConCoreApiButtonAction aButtonAct);
1.312 +
1.313 + /** Send a '9' command.
1.314 + Only one command per controller session can be outstanding at any one time.
1.315 + @param aStatus Used by RemCon to indicate completion of the send request.
1.316 + @param aNumRemotes On success, will contain the number of remotes the
1.317 + command was sent to.
1.318 + @param aButtonAct The button action to send.
1.319 + */
1.320 + IMPORT_C void _9(TRequestStatus& aStatus,
1.321 + TUint& aNumRemotes,
1.322 + TRemConCoreApiButtonAction aButtonAct);
1.323 +
1.324 + /** Send a 'dot' command.
1.325 + Only one command per controller session can be outstanding at any one time.
1.326 + @param aStatus Used by RemCon to indicate completion of the send request.
1.327 + @param aNumRemotes On success, will contain the number of remotes the
1.328 + command was sent to.
1.329 + @param aButtonAct The button action to send.
1.330 + */
1.331 + IMPORT_C void Dot(TRequestStatus& aStatus,
1.332 + TUint& aNumRemotes,
1.333 + TRemConCoreApiButtonAction aButtonAct);
1.334 +
1.335 + /** Send an 'enter' command.
1.336 + Only one command per controller session can be outstanding at any one time.
1.337 + @param aStatus Used by RemCon to indicate completion of the send request.
1.338 + @param aNumRemotes On success, will contain the number of remotes the
1.339 + command was sent to.
1.340 + @param aButtonAct The button action to send.
1.341 + */
1.342 + IMPORT_C void Enter(TRequestStatus& aStatus,
1.343 + TUint& aNumRemotes,
1.344 + TRemConCoreApiButtonAction aButtonAct);
1.345 +
1.346 + /** Send a 'clear' command.
1.347 + Only one command per controller session can be outstanding at any one time.
1.348 + @param aStatus Used by RemCon to indicate completion of the send request.
1.349 + @param aNumRemotes On success, will contain the number of remotes the
1.350 + command was sent to.
1.351 + @param aButtonAct The button action to send.
1.352 + */
1.353 + IMPORT_C void Clear(TRequestStatus& aStatus,
1.354 + TUint& aNumRemotes,
1.355 + TRemConCoreApiButtonAction aButtonAct);
1.356 +
1.357 + /** Send a 'channel up' command.
1.358 + Only one command per controller session can be outstanding at any one time.
1.359 + @param aStatus Used by RemCon to indicate completion of the send request.
1.360 + @param aNumRemotes On success, will contain the number of remotes the
1.361 + command was sent to.
1.362 + @param aButtonAct The button action to send.
1.363 + */
1.364 + IMPORT_C void ChannelUp(TRequestStatus& aStatus,
1.365 + TUint& aNumRemotes,
1.366 + TRemConCoreApiButtonAction aButtonAct);
1.367 +
1.368 + /** Send a 'channel down' command.
1.369 + Only one command per controller session can be outstanding at any one time.
1.370 + @param aStatus Used by RemCon to indicate completion of the send request.
1.371 + @param aNumRemotes On success, will contain the number of remotes the
1.372 + command was sent to.
1.373 + @param aButtonAct The button action to send.
1.374 + */
1.375 + IMPORT_C void ChannelDown(TRequestStatus& aStatus,
1.376 + TUint& aNumRemotes,
1.377 + TRemConCoreApiButtonAction aButtonAct);
1.378 +
1.379 + /** Send a 'previous channel' command.
1.380 + Only one command per controller session can be outstanding at any one time.
1.381 + @param aStatus Used by RemCon to indicate completion of the send request.
1.382 + @param aNumRemotes On success, will contain the number of remotes the
1.383 + command was sent to.
1.384 + @param aButtonAct The button action to send.
1.385 + */
1.386 + IMPORT_C void PreviousChannel(TRequestStatus& aStatus,
1.387 + TUint& aNumRemotes,
1.388 + TRemConCoreApiButtonAction aButtonAct);
1.389 +
1.390 + /** Send a 'sound select' command.
1.391 + Only one command per controller session can be outstanding at any one time.
1.392 + @param aStatus Used by RemCon to indicate completion of the send request.
1.393 + @param aNumRemotes On success, will contain the number of remotes the
1.394 + command was sent to.
1.395 + @param aButtonAct The button action to send.
1.396 + */
1.397 + IMPORT_C void SoundSelect(TRequestStatus& aStatus,
1.398 + TUint& aNumRemotes,
1.399 + TRemConCoreApiButtonAction aButtonAct);
1.400 +
1.401 + /** Send a 'input select' command.
1.402 + Only one command per controller session can be outstanding at any one time.
1.403 + @param aStatus Used by RemCon to indicate completion of the send request.
1.404 + @param aNumRemotes On success, will contain the number of remotes the
1.405 + command was sent to.
1.406 + @param aButtonAct The button action to send.
1.407 + */
1.408 + IMPORT_C void InputSelect(TRequestStatus& aStatus,
1.409 + TUint& aNumRemotes,
1.410 + TRemConCoreApiButtonAction aButtonAct);
1.411 +
1.412 + /** Send a 'display information' command.
1.413 + Only one command per controller session can be outstanding at any one time.
1.414 + @param aStatus Used by RemCon to indicate completion of the send request.
1.415 + @param aNumRemotes On success, will contain the number of remotes the
1.416 + command was sent to.
1.417 + @param aButtonAct The button action to send.
1.418 + */
1.419 + IMPORT_C void DisplayInformation(TRequestStatus& aStatus,
1.420 + TUint& aNumRemotes,
1.421 + TRemConCoreApiButtonAction aButtonAct);
1.422 +
1.423 + /** Send a 'help' command.
1.424 + Only one command per controller session can be outstanding at any one time.
1.425 + @param aStatus Used by RemCon to indicate completion of the send request.
1.426 + @param aNumRemotes On success, will contain the number of remotes the
1.427 + command was sent to.
1.428 + @param aButtonAct The button action to send.
1.429 + */
1.430 + IMPORT_C void Help(TRequestStatus& aStatus,
1.431 + TUint& aNumRemotes,
1.432 + TRemConCoreApiButtonAction aButtonAct);
1.433 +
1.434 + /** Send a 'page up' command.
1.435 + Only one command per controller session can be outstanding at any one time.
1.436 + @param aStatus Used by RemCon to indicate completion of the send request.
1.437 + @param aNumRemotes On success, will contain the number of remotes the
1.438 + command was sent to.
1.439 + @param aButtonAct The button action to send.
1.440 + */
1.441 + IMPORT_C void PageUp(TRequestStatus& aStatus,
1.442 + TUint& aNumRemotes,
1.443 + TRemConCoreApiButtonAction aButtonAct);
1.444 +
1.445 + /** Send a 'page down' command.
1.446 + Only one command per controller session can be outstanding at any one time.
1.447 + @param aStatus Used by RemCon to indicate completion of the send request.
1.448 + @param aNumRemotes On success, will contain the number of remotes the
1.449 + command was sent to.
1.450 + @param aButtonAct The button action to send.
1.451 + */
1.452 + IMPORT_C void PageDown(TRequestStatus& aStatus,
1.453 + TUint& aNumRemotes,
1.454 + TRemConCoreApiButtonAction aButtonAct);
1.455 +
1.456 + /** Send a 'power' command.
1.457 + Only one command per controller session can be outstanding at any one time.
1.458 + @param aStatus Used by RemCon to indicate completion of the send request.
1.459 + @param aNumRemotes On success, will contain the number of remotes the
1.460 + command was sent to.
1.461 + @param aButtonAct The button action to send.
1.462 + */
1.463 + IMPORT_C void Power(TRequestStatus& aStatus,
1.464 + TUint& aNumRemotes,
1.465 + TRemConCoreApiButtonAction aButtonAct);
1.466 +
1.467 + /** Send a 'volume up' command.
1.468 + Only one command per controller session can be outstanding at any one time.
1.469 + @param aStatus Used by RemCon to indicate completion of the send request.
1.470 + @param aNumRemotes On success, will contain the number of remotes the
1.471 + command was sent to.
1.472 + @param aButtonAct The button action to send.
1.473 + */
1.474 + IMPORT_C void VolumeUp(TRequestStatus& aStatus,
1.475 + TUint& aNumRemotes,
1.476 + TRemConCoreApiButtonAction aButtonAct);
1.477 +
1.478 + /** Send a 'volume down' command.
1.479 + Only one command per controller session can be outstanding at any one time.
1.480 + @param aStatus Used by RemCon to indicate completion of the send request.
1.481 + @param aNumRemotes On success, will contain the number of remotes the
1.482 + command was sent to.
1.483 + @param aButtonAct The button action to send.
1.484 + */
1.485 + IMPORT_C void VolumeDown(TRequestStatus& aStatus,
1.486 + TUint& aNumRemotes,
1.487 + TRemConCoreApiButtonAction aButtonAct);
1.488 +
1.489 + /** Send a 'mute' command.
1.490 + Only one command per controller session can be outstanding at any one time.
1.491 + @param aStatus Used by RemCon to indicate completion of the send request.
1.492 + @param aNumRemotes On success, will contain the number of remotes the
1.493 + command was sent to.
1.494 + @param aButtonAct The button action to send.
1.495 + */
1.496 + IMPORT_C void Mute(TRequestStatus& aStatus,
1.497 + TUint& aNumRemotes,
1.498 + TRemConCoreApiButtonAction aButtonAct);
1.499 +
1.500 + /** Send a 'play' command.
1.501 + Only one command per controller session can be outstanding at any one time.
1.502 + @param aStatus Used by RemCon to indicate completion of the send request.
1.503 + @param aNumRemotes On success, will contain the number of remotes the
1.504 + command was sent to.
1.505 + @param aButtonAct The button action to send.
1.506 + @param aSpeed The play speed.
1.507 + */
1.508 + IMPORT_C void Play(TRequestStatus& aStatus,
1.509 + TUint& aNumRemotes,
1.510 + TRemConCoreApiButtonAction aButtonAct,
1.511 + TRemConCoreApiPlaybackSpeed aSpeed = ERemConCoreApiPlaybackSpeedX1);
1.512 +
1.513 + /** Send a 'stop' command.
1.514 + Only one command per controller session can be outstanding at any one time.
1.515 + @param aStatus Used by RemCon to indicate completion of the send request.
1.516 + @param aNumRemotes On success, will contain the number of remotes the
1.517 + command was sent to.
1.518 + @param aButtonAct The button action to send.
1.519 + */
1.520 + IMPORT_C void Stop(TRequestStatus& aStatus,
1.521 + TUint& aNumRemotes,
1.522 + TRemConCoreApiButtonAction aButtonAct);
1.523 +
1.524 + /** Send a 'pause' command.
1.525 + Only one command per controller session can be outstanding at any one time.
1.526 + @param aStatus Used by RemCon to indicate completion of the send request.
1.527 + @param aNumRemotes On success, will contain the number of remotes the
1.528 + command was sent to.
1.529 + @param aButtonAct The button action to send.
1.530 + */
1.531 + IMPORT_C void Pause(TRequestStatus& aStatus,
1.532 + TUint& aNumRemotes,
1.533 + TRemConCoreApiButtonAction aButtonAct);
1.534 +
1.535 + /** Send a 'record' command.
1.536 + Only one command per controller session can be outstanding at any one time.
1.537 + @param aStatus Used by RemCon to indicate completion of the send request.
1.538 + @param aNumRemotes On success, will contain the number of remotes the
1.539 + command was sent to.
1.540 + @param aButtonAct The button action to send.
1.541 + */
1.542 + IMPORT_C void Record(TRequestStatus& aStatus,
1.543 + TUint& aNumRemotes,
1.544 + TRemConCoreApiButtonAction aButtonAct);
1.545 +
1.546 + /** Send a 'rewind' command.
1.547 + Only one command per controller session can be outstanding at any one time.
1.548 + @param aStatus Used by RemCon to indicate completion of the send request.
1.549 + @param aNumRemotes On success, will contain the number of remotes the
1.550 + command was sent to.
1.551 + @param aButtonAct The button action to send.
1.552 + */
1.553 + IMPORT_C void Rewind(TRequestStatus& aStatus,
1.554 + TUint& aNumRemotes,
1.555 + TRemConCoreApiButtonAction aButtonAct);
1.556 +
1.557 + /** Send a 'fast forward' command.
1.558 + Only one command per controller session can be outstanding at any one time.
1.559 + @param aStatus Used by RemCon to indicate completion of the send request.
1.560 + @param aNumRemotes On success, will contain the number of remotes the
1.561 + command was sent to.
1.562 + @param aButtonAct The button action to send.
1.563 + */
1.564 + IMPORT_C void FastForward(TRequestStatus& aStatus,
1.565 + TUint& aNumRemotes,
1.566 + TRemConCoreApiButtonAction aButtonAct);
1.567 +
1.568 + /** Send an 'eject' command.
1.569 + Only one command per controller session can be outstanding at any one time.
1.570 + @param aStatus Used by RemCon to indicate completion of the send request.
1.571 + @param aNumRemotes On success, will contain the number of remotes the
1.572 + command was sent to.
1.573 + @param aButtonAct The button action to send.
1.574 + */
1.575 + IMPORT_C void Eject(TRequestStatus& aStatus,
1.576 + TUint& aNumRemotes,
1.577 + TRemConCoreApiButtonAction aButtonAct);
1.578 +
1.579 + /** Send a 'forward' command.
1.580 + Only one command per controller session can be outstanding at any one time.
1.581 + @param aStatus Used by RemCon to indicate completion of the send request.
1.582 + @param aNumRemotes On success, will contain the number of remotes the
1.583 + command was sent to.
1.584 + @param aButtonAct The button action to send.
1.585 + */
1.586 + IMPORT_C void Forward(TRequestStatus& aStatus,
1.587 + TUint& aNumRemotes,
1.588 + TRemConCoreApiButtonAction aButtonAct);
1.589 +
1.590 + /** Send a 'backward' command.
1.591 + Only one command per controller session can be outstanding at any one time.
1.592 + @param aStatus Used by RemCon to indicate completion of the send request.
1.593 + @param aNumRemotes On success, will contain the number of remotes the
1.594 + command was sent to.
1.595 + @param aButtonAct The button action to send.
1.596 + */
1.597 + IMPORT_C void Backward(TRequestStatus& aStatus,
1.598 + TUint& aNumRemotes,
1.599 + TRemConCoreApiButtonAction aButtonAct);
1.600 +
1.601 + /** Send an 'angle' command.
1.602 + Only one command per controller session can be outstanding at any one time.
1.603 + @param aStatus Used by RemCon to indicate completion of the send request.
1.604 + @param aNumRemotes On success, will contain the number of remotes the
1.605 + command was sent to.
1.606 + @param aButtonAct The button action to send.
1.607 + */
1.608 + IMPORT_C void Angle(TRequestStatus& aStatus,
1.609 + TUint& aNumRemotes,
1.610 + TRemConCoreApiButtonAction aButtonAct);
1.611 +
1.612 + /** Send a 'subpicture' command.
1.613 + Only one command per controller session can be outstanding at any one time.
1.614 + @param aStatus Used by RemCon to indicate completion of the send request.
1.615 + @param aNumRemotes On success, will contain the number of remotes the
1.616 + command was sent to.
1.617 + @param aButtonAct The button action to send.
1.618 + */
1.619 + IMPORT_C void Subpicture(TRequestStatus& aStatus,
1.620 + TUint& aNumRemotes,
1.621 + TRemConCoreApiButtonAction aButtonAct);
1.622 +
1.623 + /** Send a 'pause play function' command.
1.624 + Only one command per controller session can be outstanding at any one time.
1.625 + @param aStatus Used by RemCon to indicate completion of the send request.
1.626 + @param aNumRemotes On success, will contain the number of remotes the
1.627 + command was sent to.
1.628 + @param aButtonAct The button action to send.
1.629 + */
1.630 + IMPORT_C void PausePlayFunction(TRequestStatus& aStatus,
1.631 + TUint& aNumRemotes,
1.632 + TRemConCoreApiButtonAction aButtonAct);
1.633 +
1.634 + /** Send a 'restore volume function' command.
1.635 + Only one command per controller session can be outstanding at any one time.
1.636 + @param aStatus Used by RemCon to indicate completion of the send request.
1.637 + @param aNumRemotes On success, will contain the number of remotes the
1.638 + command was sent to.
1.639 + @param aButtonAct The button action to send.
1.640 + */
1.641 + IMPORT_C void RestoreVolumeFunction(TRequestStatus& aStatus,
1.642 + TUint& aNumRemotes,
1.643 + TRemConCoreApiButtonAction aButtonAct);
1.644 +
1.645 + /** Send a 'tune function' command.
1.646 + Only one command per controller session can be outstanding at any one time.
1.647 + @param aTwoPart If EFalse, only aMajorChannel is being used to perform the
1.648 + tuning (aMinorChannel is ignored). Otherwise, both aMajorChannel and
1.649 + aMinorChannel are used.
1.650 + @param aMajorChannel The major channel number.
1.651 + @param aMinorChannel The minor channel number.
1.652 + @param aStatus Used by RemCon to indicate completion of the send request.
1.653 + @param aNumRemotes On success, will contain the number of remotes the
1.654 + command was sent to.
1.655 + @param aButtonAct The button action to send.
1.656 + */
1.657 + IMPORT_C void TuneFunction(TRequestStatus& aStatus,
1.658 + TUint& aNumRemotes,
1.659 + TBool aTwoPart,
1.660 + TUint aMajorChannel,
1.661 + TUint aMinorChannel,
1.662 + TRemConCoreApiButtonAction aButtonAct);
1.663 +
1.664 + /** Send a 'select disk function' command.
1.665 + Only one command per controller session can be outstanding at any one time.
1.666 + @param aStatus Used by RemCon to indicate completion of the send request.
1.667 + @param aNumRemotes On success, will contain the number of remotes the
1.668 + command was sent to.
1.669 + @param aButtonAct The button action to send.
1.670 + @param aDisk The disk to select.
1.671 + */
1.672 + IMPORT_C void SelectDiskFunction(TRequestStatus& aStatus,
1.673 + TUint& aNumRemotes,
1.674 + TUint aDisk,
1.675 + TRemConCoreApiButtonAction aButtonAct);
1.676 +
1.677 + /** Send a 'select AV input function' command.
1.678 + Only one command per controller session can be outstanding at any one time.
1.679 + @param aStatus Used by RemCon to indicate completion of the send request.
1.680 + @param aNumRemotes On success, will contain the number of remotes the
1.681 + command was sent to.
1.682 + @param aButtonAct The button action to send.
1.683 + @param aAvInputSignalNumber AV input signal.
1.684 + */
1.685 + IMPORT_C void SelectAvInputFunction(TRequestStatus& aStatus,
1.686 + TUint& aNumRemotes,
1.687 + TUint8 aAvInputSignalNumber,
1.688 + TRemConCoreApiButtonAction aButtonAct);
1.689 +
1.690 + /** Send a 'select audio input function' command.
1.691 + Only one command per controller session can be outstanding at any one time.
1.692 + @param aStatus Used by RemCon to indicate completion of the send request.
1.693 + @param aNumRemotes On success, will contain the number of remotes the
1.694 + command was sent to.
1.695 + @param aButtonAct The button action to send.
1.696 + @param aAudioInputSignalNumber Audio input signal.
1.697 + */
1.698 + IMPORT_C void SelectAudioInputFunction(TRequestStatus& aStatus,
1.699 + TUint& aNumRemotes,
1.700 + TUint8 aAudioInputSignalNumber,
1.701 + TRemConCoreApiButtonAction aButtonAct);
1.702 +
1.703 + /** Send an 'F1' command.
1.704 + Only one command per controller session can be outstanding at any one time.
1.705 + @param aStatus Used by RemCon to indicate completion of the send request.
1.706 + @param aNumRemotes On success, will contain the number of remotes the
1.707 + command was sent to.
1.708 + @param aButtonAct The button action to send.
1.709 + */
1.710 + IMPORT_C void F1(TRequestStatus& aStatus,
1.711 + TUint& aNumRemotes,
1.712 + TRemConCoreApiButtonAction aButtonAct);
1.713 +
1.714 + /** Send an 'F2' command.
1.715 + Only one command per controller session can be outstanding at any one time.
1.716 + @param aStatus Used by RemCon to indicate completion of the send request.
1.717 + @param aNumRemotes On success, will contain the number of remotes the
1.718 + command was sent to.
1.719 + @param aButtonAct The button action to send.
1.720 + */
1.721 + IMPORT_C void F2(TRequestStatus& aStatus,
1.722 + TUint& aNumRemotes,
1.723 + TRemConCoreApiButtonAction aButtonAct);
1.724 +
1.725 + /** Send an 'F3' command.
1.726 + Only one command per controller session can be outstanding at any one time.
1.727 + @param aStatus Used by RemCon to indicate completion of the send request.
1.728 + @param aNumRemotes On success, will contain the number of remotes the
1.729 + command was sent to.
1.730 + @param aButtonAct The button action to send.
1.731 + */
1.732 + IMPORT_C void F3(TRequestStatus& aStatus,
1.733 + TUint& aNumRemotes,
1.734 + TRemConCoreApiButtonAction aButtonAct);
1.735 +
1.736 + /** Send an 'F4' command.
1.737 + Only one command per controller session can be outstanding at any one time.
1.738 + @param aStatus Used by RemCon to indicate completion of the send request.
1.739 + @param aNumRemotes On success, will contain the number of remotes the
1.740 + command was sent to.
1.741 + @param aButtonAct The button action to send.
1.742 + */
1.743 + IMPORT_C void F4(TRequestStatus& aStatus,
1.744 + TUint& aNumRemotes,
1.745 + TRemConCoreApiButtonAction aButtonAct);
1.746 +
1.747 + /** Send an 'F5' command.
1.748 + Only one command per controller session can be outstanding at any one time.
1.749 + @param aStatus Used by RemCon to indicate completion of the send request.
1.750 + @param aNumRemotes On success, will contain the number of remotes the
1.751 + command was sent to.
1.752 + @param aButtonAct The button action to send.
1.753 + */
1.754 + IMPORT_C void F5(TRequestStatus& aStatus,
1.755 + TUint& aNumRemotes,
1.756 + TRemConCoreApiButtonAction aButtonAct);
1.757 +
1.758 +private:
1.759 + /**
1.760 + Constructor.
1.761 + @param aInterfaceSelector The interface selector.
1.762 + @param aObserver The observer of this interface.
1.763 + */
1.764 + CRemConCoreApiController(CRemConInterfaceSelector& aInterfaceSelector,
1.765 + MRemConCoreApiControllerObserver& aObserver);
1.766 +
1.767 +private: // utility
1.768 + /**
1.769 + Utility to send a command with only the button action as operation-specific data.
1.770 + @param aStatus TRequestStatus for the send operation.
1.771 + @param aNumRemotes The number of remotes the command was sent to.
1.772 + @param aButtonAct The button action.
1.773 + @param aOperationId The operation ID.
1.774 + */
1.775 + void SendGenericCommand(TRequestStatus& aStatus,
1.776 + TUint& aNumRemotes,
1.777 + TRemConCoreApiButtonAction aButtonAct,
1.778 + TRemConCoreApiOperationId aOperationId);
1.779 +
1.780 +private: // from CRemConInterfaceBase
1.781 + TAny* GetInterfaceIf(TUid aUid);
1.782 +
1.783 +private: // from MRemConInterfaceIf
1.784 + void MrcibNewMessage(TUint aOperationId, const TDesC8& aData);
1.785 +
1.786 +private: // unowned
1.787 + MRemConCoreApiControllerObserver& iObserver;
1.788 +
1.789 +private: // owned
1.790 + TBuf8<KRemConCoreApiMaxOperationSpecificDataSize> iCmdData;
1.791 + };
1.792 +
1.793 +#endif // REMCONCOREAPICONTROLLER_H