diff -r 000000000000 -r 4e1aa6a622a0 accessoryservices/accessoryserver/inc/Common/AccClientServerMessages.h --- /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 +#include + +// 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 TProxyCommandPckgBuf; + +#endif // ACCCLIENTSERVERMESSAGES_H + +// End of File