--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accessoryservices/accessoryserver/inc/Common/AccClientServerMessages.h Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,272 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Consts and message definitions
+*
+*/
+
+
+#ifndef ACCCLIENTSERVERMESSAGES_H
+#define ACCCLIENTSERVERMESSAGES_H
+
+// INCLUDES
+#include <e32base.h>
+#include <AsyCmdTypes.h>
+
+// CONSTANTS
+// Server version. A version must be specified when
+// creating a session with the server
+const TUint KAccServMajorVersionNumber = 1;
+const TUint KAccServMinorVersionNumber = 0;
+const TUint KAccServBuildVersionNumber = 0;
+
+// The number of message slots available.
+// This determines the maximum number of outstanding requests.
+const TUint KDefaultMessageSlots = 8;
+
+// Message parameter psoitions
+const TUint8 KAccServParamPosFirst = 0;
+const TUint8 KAccServParamPosSecond = 1;
+const TUint8 KAccServParamPosThird = 2;
+const TUint8 KAccServHandlePos = 3;
+
+// The third uid which ASYProxy has
+const TInt32 KAsyProxyTInt32 = 0x10205038;
+
+//iFlags bits definitions for sub-sessions
+const TInt KAccSrvNotifyNewAccessoryConnectedBit = 1; //RAccessorySingleConnection::NotifyNewAccessoryConnected
+const TInt KAccSrvNotifyAccessoryDisconnectedBit = 2; //RAccessorySingleConnection::NotifyAccessoryDisconnected
+const TInt KAccSrvNotifyAccessoryValueChangedTBoolBit = 4; //RAccessorySingleConnection::NotifyAccessoryValueChanged TBool
+const TInt KAccSrvNotifyAccessoryValueChangedTIntBit = 8; //RAccessorySingleConnection::NotifyAccessoryValueChanged TInt
+const TInt KAccSrvNotifyAccessoryValueChangedObjectBit = 10;//RAccessorySingleConnection::NotifyAccessoryValueChanged Object
+
+const TInt KAccSrvGetAccessoryModeBit = 1;//RAccessoryMode::GetAccessoryMode
+const TInt KAccSrvNotifyAccessoryModeChangedBit = 2;//RAccessoryMode::NotifyAccessoryModeChanged
+
+const TInt KAccSrvGetAccessoryConnectionStatusBit = 1;//RAccessoryConnection::GetAccessoryConnectionStatus
+const TInt KAccSrvNotifyAccConnStatusChangedBit = 2;//RAccessoryConnection::NotifyAccessoryConnectionStatusChanged
+
+const TInt KAccSrvAccessoryAudioLinkOpenBit = 1;//RAccessoryAudioControl::AccessoryAudioLinkOpen
+const TInt KAccSrvAccessoryAudioLinkCloseBit = 2;//RAccessoryAudioControl::AccessoryAudioLinkClose
+const TInt KAccSrvNotifyAccessoryAudioLinkOpenedBit = 4;//RAccessoryAudioControl::NotifyAccessoryAudioLinkOpened
+const TInt KAccSrvNotifyAccessoryAudioLinkClosedBit = 8;//RAccessoryAudioControl::NotifyAccessoryAudioLinkClosed
+
+const TInt KAccSrvNotifyBluetoothAudioLinkOpenReqBit = 1;//RAccessoryBTControl::NotifyBluetoothAudioLinkOpenReq
+const TInt KAccSrvNotifyBluetoothAudioLinkCloseReqBit = 2;//RAccessoryBTControl::NotifyBluetoothAudioLinkCloseReq
+const TInt KAccSrvConnectBTAccessoryBit = 4;//RAccessoryBTControl::ConnectAccessory
+const TInt KAccSrvDisconnectBTAccessoryBit = 8;//RAccessoryBTControl::DisconnectAccessory
+
+const TInt KAccSrvConnectAccessoryBit = 1;//RAccessoryControl::ConnectAccessory
+const TInt KAccSrvDisconnectAccessoryBit = 2;//RAccessoryControl::DisconnectAccessory
+
+//AccessoryServers internal codes
+const TInt KAccSrvGenerateGID = -2;//A new GID has been constructed by ConfigFileParser and
+ //AccessoryServer needs to generate unique ID for that
+
+//Buffer size for accessory objects.
+const TInt KAccSrvObjectBaseStreamBufMaxSize = 256;
+const TInt KAccSrvObjectBaseStreamBufGranularity = 50;
+
+// MACROS
+
+// Server name
+_LIT( KAccServerName,"!AccServer" );
+
+// ASYProxy dll name
+_LIT( KAsyProxyName, "AsyProxy.dll" );
+
+//Accessory Server panic category
+_LIT( KAccServerPanicCategory, "Accessory Server panic client" );
+
+// DATA TYPES
+
+enum TAccSrvMsgs
+ {
+ // Changes to TAccSrvMsgs enumeration affects also to Accessory Server's
+ // policy definitions, see accessoryServerRanges
+
+ /**
+ * Accessory API
+ */
+ // RAccessoryMode
+ EAccSrvCreateSubSessionAccessoryMode,
+ EAccSrvCloseSubSessionAccessoryMode,
+ EAccSrvGetAccessoryMode,
+ EAccSrvGetAccessoryModeAsync,
+ EAccSrvNotifyAccessoryModeChanged,
+ EAccSrvCancelNotifyAccessoryModeChanged,
+ EAccSrvCancelGetAccessoryMode,
+
+ // RAccessoryConnection
+ EAccSrvGetAccessoryConnectionStatusAsync,
+ EAccSrvCancelGetAccessoryConnectionStatus,
+
+ // RAccessorySingleConnection
+ EAccSrvCreateSubSessionAccessorySingleConnection,
+ EAccSrvCloseSubSessionAccessorySingleConnection,
+ EAccSrvNotifyNewAccessoryConnected,
+ EAccSrvNotifyAccessoryDisconnected,
+ EAccSrvNotifyAccessoryValueChangedTBool,
+ EAccSrvNotifyAccessoryValueChangedTInt,
+ EAccSrvNotifyAccessoryValueChangedObject,
+ EAccSrvCancelNotifyNewAccessoryConnected,
+ EAccSrvCancelNotifyAccessoryDisconnected,
+ EAccSrvCancelNotifyAccessoryValueChanged,
+
+ EAccSrvGetValueTBool,
+ EAccSrvGetValueTDes8,
+ EAccSrvGetValueObjectBase,
+ EAccSrvGetObjectValue,
+
+ /**
+ * Accessory & Accessory Monitoring API
+ * These calls do not require capabilities
+ */
+ // RAccessoryConnection & RAccessoryConnectionBase
+ EAccSrvCreateSubSessionAccessoryConnection,
+ EAccSrvCloseSubSessionAccessoryConnection,
+ EAccSrvGetAccessoryConnectionStatus,
+ EAccSrvNotifyAccessoryConnectionStatusChanged,
+ EAccSrvCancelNotifyAccessoryConnectionStatusChanged,
+ EAccSrvGetSubblockNameArray,
+ EAccSrvGetValueTInt,
+
+ /**
+ * Accessory Control API
+ */
+ //RAccessoryControl
+ EAccSrvCreateSubSessionAccessoryControl,
+ EAccSrvCloseSubSessionAccessoryControl,
+ EAccSrvConnectAccessory2,
+ EAccSrvDisconnectAccessory,
+ EAccSrvAccessoryValueChangedTBoolNotify,
+ EAccSrvAccessoryValueChangedTIntNotify,
+ EAccSrvAccessoryValueChangedObjectNotify,
+ EAccSrvSetValueTBool,
+ EAccSrvSetValueTInt,
+ EAccSrvSetValueObject,
+ EAccSrvCancelConnectAccessory,
+ EAccSrvCancelDisconnectAccessory,
+
+ // RAccessorySettings
+ EAccSrvCreateSubSessionAccessorySettings,
+ EAccSrvCloseSubSessionAccessorySettings,
+ EAccSrvGetSupportedHWDevices,
+ EAccSrvGetHWDeviceSettings,
+ EAccSrvSetHWDeviceSettings,
+ EAccSrvGetAccessoryModeSetting,
+ EAccSrvSetAccessoryModeSetting,
+ EAccSrvGetAccessoryModeSettings,
+ EAccSrvSetAccessoryModeSettings,
+
+ /**
+ * Accessory BT Control API
+ */
+ EAccSrvCreateSubSessionAccessoryBTControl,
+ EAccSrvCloseSubSessionAccessoryBTControl,
+ EAccSrvBluetoothConnectAccessory,
+ EAccSrvBluetoothDisconnectAccessory,
+ EAccSrvBluetoothAudioLinkOpenResp,
+ EAccSrvBluetoothAudioLinkCloseResp,
+ EAccSrvBluetoothAudioLinkOpenedNotify,
+ EAccSrvBluetoothAudioLinkClosedNotify,
+ EAccSrvNotifyBluetoothAudioLinkOpenReq,
+ EAccSrvNotifyBluetoothAudioLinkCloseReq,
+ EAccSrvBTAccessoryValueChangedTBoolNotify,
+ EAccSrvBTAccessoryValueChangedTIntNotify,
+ EAccSrvCancelNotifyBluetoothAudioLinkOpenReq,
+ EAccSrvCancelNotifyBluetoothAudioLinkCloseReq,
+
+ /**
+ * Accessory Audio Control API
+ */
+ EAccSrvCreateSubSessionAccessoryAudioControl,
+ EAccSrvCloseSubSessionAccessoryAudioControl,
+ EAccSrvAccessoryAudioLinkOpen,
+ EAccSrvAccessoryAudioLinkClose,
+ EAccSrvAudioRoutingStatusNotify,
+ EAccSrvNotifyAccessoryAudioLinkOpened,
+ EAccSrvNotifyAccessoryAudioLinkClosed,
+ EAccSrvCancelAccessoryAudioLinkOpen,
+ EAccSrvCancelAccessoryAudioLinkClose,
+ EAccSrvCancelNotifyAccessoryAudioLinkOpened,
+ EAccSrvCancelNotifyAccessoryAudioLinkClosed,
+
+ /**
+ * Accessory Asy Comms API
+ */
+ EAccSrvCreateSubSessionAccessoryAsyComms,
+ EAccSrvCloseSubSessionAccessoryAsyComms,
+ EAccSrvNotifyProcessCommand,
+ EAccSrvCancelNotifyProcessCommand,
+ EAccSrvProcessResponseTBool,
+ EAccSrvProcessResponseTInt,
+ EAccSrvProcessResponseTDes,
+ EAccSrvGetObjectBuffer,
+ EAccSrvProcessResponseObject,
+
+ // Initialisation value for error tracking
+ // Must be last one; used in security checks
+ EAccSrvUnknown
+ };
+
+// Panic codes for some Server panics cases
+enum TAccServerError
+ {
+ EAccServerErrorCreateServer = 1,
+ EAccServerErrorCreateTrapCleanup = 2,
+ EAccServerErrorBadDescriptor = 3,
+ EAccServerErrorNotSupported = 4
+ };
+
+// For CAccPolAccessoryPolicy::IsValidConnection to tell connection type
+enum TAccSrvConnection
+ {
+ EAccSrvDetect,
+ EAccSrvConnect,
+ EAccSrvDeny
+ };
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+ * Command parameters transferred between ASY Proxy and Accessory Server
+ */
+class TProxyCommand
+ {
+
+public: // data
+
+ //Transaction id
+ TInt iTrId;
+
+ // Timeout transaction id
+ TInt iTimeOutTrId;
+
+ // Process command id
+ TProcessCmdId iCmdId;
+
+ // ASY command parameters
+ TASYCmdParams iAsyCmdParams;
+
+ };
+
+typedef TPckgBuf<TProxyCommand> TProxyCommandPckgBuf;
+
+#endif // ACCCLIENTSERVERMESSAGES_H
+
+// End of File