--- a/epoc32/include/remconcoreapi.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/remconcoreapi.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,318 @@
-remconcoreapi.h
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// 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
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+
+#ifndef REMCONCOREAPI_H
+#define REMCONCOREAPI_H
+
+#include <e32base.h>
+
+/**
+The operation-specific data field for operations in the Core API has the
+following format.
+For commands, there is 1 byte containing the button action. There is optional
+further data, depending on the operation itself. For instance, Play carries an
+extra 4 bytes of 'play speed' information. Hence the operation-specific data
+for a Play command is 5 bytes long.
+For responses, there are 4 bytes of 'results' data. This is followed by
+whatever operation-specific data was attached to the originating command (so
+that the client can identify if necessary what the response is a response to).
+Hence the operation-specific data for a Play response is 9 bytes long.
+*/
+
+/** A buffer size for Core API operations' operation-specific data. */
+const TUint KRemConCoreApiMaxOperationSpecificDataSize = 16;
+
+/** Length of the results data in bytes. */
+const TUint KRemConCoreApiResultDataLength = 4;
+
+/** String of same length as result data.*/
+_LIT8(KRemConCoreApiResultPad, " ");
+
+/** Offset for operation data for commands */
+const TUint KRemConCoreApiCommandDataOffset = 0;
+
+/** Offset for operation data for responses */
+const TUint KRemConCoreApiResponseDataOffset = KRemConCoreApiResultDataLength;
+
+/** Offset of button data from beginning of data section.
+ie the offset of the data for commands is KRemConCoreApiCommandDataOffset
++KRemConCoreApiButtonDataOffset. The offset of the button data for
+responses is KRemConCoreApiResponseDataOffset+KRemConCoreApiButtonDataOffset.
+*/
+const TUint KRemConCoreApiButtonDataOffset = 0;
+
+/** Length of the button action data in bytes. */
+const TUint KRemConCoreApiButtonDataLength = 1;
+
+/** Button actions. */
+enum TRemConCoreApiButtonAction
+ {
+ /** A button has been pressed. */
+ ERemConCoreApiButtonPress = 0,
+
+ /** A button has been released. */
+ ERemConCoreApiButtonRelease = 1,
+
+ /** A button has been clicked. */
+ ERemConCoreApiButtonClick = 2,
+ };
+
+/** Button press refresh interval.
+If the client wants to emulate a button being held down, they send a press.
+The client must re-post the press within this time, and continue to re-post
+at least this frequently, otherwise the bearer may assume that the hold has
+finished. The client may finish the hold by sending a release.*/
+const TUint KRemConCoreApiPressRefreshInterval = 1000000;
+
+/**
+The UID identifying this outer-layer RemCon interface.
+*/
+const TInt KRemConCoreApiUid = 0x10205E60;
+
+/**
+Operation ids belonging to the Core API.
+These values are not numbered sequentially as a facility to AVRCP, which may
+assume that they are numbered the same as the operation IDs in the AV/C Panel
+Subunit Specification 1.21 Table 9.21.
+*/
+enum TRemConCoreApiOperationId
+ {
+ /** Select. */
+ ERemConCoreApiSelect = 0x00,
+ /** Up. */
+ ERemConCoreApiUp = 0x01,
+ /** Down. */
+ ERemConCoreApiDown = 0x02,
+ /** Left. */
+ ERemConCoreApiLeft = 0x03,
+ /** Right. */
+ ERemConCoreApiRight = 0x04,
+ /** RightUp. */
+ ERemConCoreApiRightUp = 0x05,
+ /** RightDown. */
+ ERemConCoreApiRightDown = 0x06,
+ /** LeftUp. */
+ ERemConCoreApiLeftUp = 0x07,
+ /** LeftDown. */
+ ERemConCoreApiLeftDown = 0x08,
+ /** RootMenu. */
+ ERemConCoreApiRootMenu = 0x09,
+ /** SetupMenu. */
+ ERemConCoreApiSetupMenu = 0x0a,
+ /** ContentsMenu. */
+ ERemConCoreApiContentsMenu = 0x0b,
+ /** FavoriteMenu. */
+ ERemConCoreApiFavoriteMenu = 0x0c,
+ /** Exit. */
+ ERemConCoreApiExit = 0x0d,
+ /** 0. */
+ ERemConCoreApi0 = 0x20,
+ /** 1. */
+ ERemConCoreApi1 = 0x21,
+ /** 2. */
+ ERemConCoreApi2 = 0x22,
+ /** 3. */
+ ERemConCoreApi3 = 0x23,
+ /** 4. */
+ ERemConCoreApi4 = 0x24,
+ /** 5. */
+ ERemConCoreApi5 = 0x25,
+ /** 6. */
+ ERemConCoreApi6 = 0x26,
+ /** 7. */
+ ERemConCoreApi7 = 0x27,
+ /** 8. */
+ ERemConCoreApi8 = 0x28,
+ /** 9. */
+ ERemConCoreApi9 = 0x29,
+ /** Dot. */
+ ERemConCoreApiDot = 0x2a,
+ /** Enter. */
+ ERemConCoreApiEnter = 0x2b,
+ /** Clear. */
+ ERemConCoreApiClear = 0x2c,
+ /** ChannelUp. */
+ ERemConCoreApiChannelUp = 0x30,
+ /** ChannelDown. */
+ ERemConCoreApiChannelDown = 0x31,
+ /** PreviousChannel. */
+ ERemConCoreApiPreviousChannel = 0x32,
+ /** SoundSelect. */
+ ERemConCoreApiSoundSelect = 0x33,
+ /** InputSelect. */
+ ERemConCoreApiInputSelect = 0x34,
+ /** DisplayInformation. */
+ ERemConCoreApiDisplayInformation = 0x35,
+ /** Help. */
+ ERemConCoreApiHelp = 0x36,
+ /** PageUp. */
+ ERemConCoreApiPageUp = 0x37,
+ /** PageDown. */
+ ERemConCoreApiPageDown = 0x38,
+ /** Power. */
+ ERemConCoreApiPower = 0x40,
+ /** VolumeUp. */
+ ERemConCoreApiVolumeUp = 0x41,
+ /** VolumeDown. */
+ ERemConCoreApiVolumeDown = 0x42,
+ /** Mute. */
+ ERemConCoreApiMute = 0x43,
+ /** Play. */
+ ERemConCoreApiPlay = 0x44,
+ /** Stop. */
+ ERemConCoreApiStop = 0x45,
+ /** Pause. */
+ ERemConCoreApiPause = 0x46,
+ /** Record. */
+ ERemConCoreApiRecord = 0x47,
+ /** Rewind. */
+ ERemConCoreApiRewind = 0x48,
+ /** FastForward. */
+ ERemConCoreApiFastForward = 0x49,
+ /** Eject. */
+ ERemConCoreApiEject = 0x4a,
+ /** Forward. */
+ ERemConCoreApiForward = 0x4b,
+ /** Backward. */
+ ERemConCoreApiBackward = 0x4c,
+ /** Angle. */
+ ERemConCoreApiAngle = 0x50,
+ /** Subpicture. */
+ ERemConCoreApiSubpicture = 0x51,
+ /** PausePlayFunction. */
+ ERemConCoreApiPausePlayFunction = 0x61,
+ /** RestoreVolumeFunction. */
+ ERemConCoreApiRestoreVolumeFunction = 0x66,
+ /** TuneFunction. */
+ ERemConCoreApiTuneFunction = 0x67,
+ /** SelectDiskFunction. */
+ ERemConCoreApiSelectDiskFunction = 0x68,
+ /** SelectAvInputFunction. */
+ ERemConCoreApiSelectAvInputFunction = 0x69,
+ /** SelectAudioInputFunction. */
+ ERemConCoreApiSelectAudioInputFunction = 0x6a,
+ /** F1. */
+ ERemConCoreApiF1 = 0x71,
+ /** F2. */
+ ERemConCoreApiF2 = 0x72,
+ /** F3. */
+ ERemConCoreApiF3 = 0x73,
+ /** F4. */
+ ERemConCoreApiF4 = 0x74,
+ /** F5. */
+ ERemConCoreApiF5 = 0x75,
+
+ /* No-operation */
+ ENop = 0x76,
+
+ /**
+ * This enum is created for internal purpose to have the largest value in TRemConCoreApiOperationId.
+ * If anyone needs an value for no-operation then we suggest to use 'ENop' instead.
+ * If new enums values are added in TRemConCoreApiOperationId then value of ELargestOperationId
+ * may change resulting in a BC break.
+ * */
+ ELargestOperationId = 0x76,
+ };
+
+/** Speeds associated with Play APIs.
+These values are not numbered sequentially as a facility to AVRCP, which may
+assume that they are numbered the same as the playback speeds in the AV/C
+Panel Subunit Specification 1.21 Table 9.26.
+*/
+enum TRemConCoreApiPlaybackSpeed
+ {
+ /** NextFrame. */
+ ERemConCoreApiPlaybackSpeedNextFrame = 0x30,
+ /** SlowestForward. */
+ ERemConCoreApiPlaybackSpeedSlowestForward = 0x31,
+ /** SlowForward6. */
+ ERemConCoreApiPlaybackSpeedSlowForward6 = 0x32,
+ /** SlowForward5. */
+ ERemConCoreApiPlaybackSpeedSlowForward5 = 0x33,
+ /** SlowForward4. */
+ ERemConCoreApiPlaybackSpeedSlowForward4 = 0x34,
+ /** SlowForward3. */
+ ERemConCoreApiPlaybackSpeedSlowForward3 = 0x35,
+ /** SlowForward2. */
+ ERemConCoreApiPlaybackSpeedSlowForward2 = 0x36,
+ /** SlowForward1. */
+ ERemConCoreApiPlaybackSpeedSlowForward1 = 0x37,
+ /** X1. */
+ ERemConCoreApiPlaybackSpeedX1 = 0x38,
+ /** FastForward1. */
+ ERemConCoreApiPlaybackSpeedFastForward1 = 0x39,
+ /** FastForward2. */
+ ERemConCoreApiPlaybackSpeedFastForward2 = 0x3a,
+ /** FastForward3. */
+ ERemConCoreApiPlaybackSpeedFastForward3 = 0x3b,
+ /** FastForward4. */
+ ERemConCoreApiPlaybackSpeedFastForward4 = 0x3c,
+ /** FastForward5. */
+ ERemConCoreApiPlaybackSpeedFastForward5 = 0x3d,
+ /** FastForward6. */
+ ERemConCoreApiPlaybackSpeedFastForward6 = 0x3e,
+ /** FastestForward. */
+ ERemConCoreApiPlaybackSpeedFastestForward = 0x3f,
+ /** PreviousFrame. */
+ ERemConCoreApiPlaybackSpeedPreviousFrame = 0x40,
+ /** SlowestReverse. */
+ ERemConCoreApiPlaybackSpeedSlowestReverse = 0x41,
+ /** SlowReverse6. */
+ ERemConCoreApiPlaybackSpeedSlowReverse6 = 0x42,
+ /** SlowReverse5. */
+ ERemConCoreApiPlaybackSpeedSlowReverse5 = 0x43,
+ /** SlowReverse4. */
+ ERemConCoreApiPlaybackSpeedSlowReverse4 = 0x44,
+ /** SlowReverse3. */
+ ERemConCoreApiPlaybackSpeedSlowReverse3 = 0x45,
+ /** SlowReverse2. */
+ ERemConCoreApiPlaybackSpeedSlowReverse2 = 0x46,
+ /** SlowReverse1. */
+ ERemConCoreApiPlaybackSpeedSlowReverse1 = 0x47,
+ /** X1Reverse. */
+ ERemConCoreApiPlaybackSpeedX1Reverse = 0x48,
+ /** FastReverse1. */
+ ERemConCoreApiPlaybackSpeedFastReverse1 = 0x49,
+ /** FastReverse2. */
+ ERemConCoreApiPlaybackSpeedFastReverse2 = 0x4a,
+ /** FastReverse3. */
+ ERemConCoreApiPlaybackSpeedFastReverse3 = 0x4b,
+ /** FastReverse4. */
+ ERemConCoreApiPlaybackSpeedFastReverse4 = 0x4c,
+ /** FastReverse5. */
+ ERemConCoreApiPlaybackSpeedFastReverse5 = 0x4d,
+ /** FastReverse6. */
+ ERemConCoreApiPlaybackSpeedFastReverse6 = 0x4e,
+ /** FastestReverse. */
+ ERemConCoreApiPlaybackSpeedFastestReverse = 0x4f,
+ /** Reverse. */
+ ERemConCoreApiPlaybackSpeedReverse = 0x65,
+ /** ReversePause. */
+ ERemConCoreApiPlaybackSpeedReversePause = 0x6d,
+ /** Forward. */
+ ERemConCoreApiPlaybackSpeedForward = 0x75,
+ /** ForwardPause. */
+ ERemConCoreApiPlaybackSpeedForwardPause = 0x7d,
+ };
+
+#endif // REMCONCOREAPI_H