accessoryservices/accessoryserver/inc/Common/AccClientServerMessages.h
changeset 0 4e1aa6a622a0
child 70 653a8b91b95e
equal deleted inserted replaced
-1:000000000000 0:4e1aa6a622a0
       
     1 /*
       
     2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Consts and message definitions
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef ACCCLIENTSERVERMESSAGES_H
       
    20 #define ACCCLIENTSERVERMESSAGES_H
       
    21 
       
    22 // INCLUDES
       
    23 #include <e32base.h>
       
    24 #include <AsyCmdTypes.h>
       
    25 
       
    26 // CONSTANTS
       
    27 // Server version. A version must be specified when 
       
    28 // creating a session with the server
       
    29 const TUint KAccServMajorVersionNumber = 1;
       
    30 const TUint KAccServMinorVersionNumber = 0;
       
    31 const TUint KAccServBuildVersionNumber = 0;
       
    32 
       
    33 // The number of message slots available.
       
    34 // This determines the maximum number of outstanding requests.
       
    35 const TUint KDefaultMessageSlots       = 8;
       
    36 
       
    37 // Message parameter psoitions
       
    38 const TUint8 KAccServParamPosFirst     = 0;
       
    39 const TUint8 KAccServParamPosSecond    = 1;
       
    40 const TUint8 KAccServParamPosThird     = 2;
       
    41 const TUint8 KAccServHandlePos         = 3;
       
    42 
       
    43 // The third uid which ASYProxy has
       
    44 const TInt32 KAsyProxyTInt32           = 0x10205038;
       
    45 
       
    46 //iFlags bits definitions for sub-sessions
       
    47 const TInt KAccSrvNotifyNewAccessoryConnectedBit       = 1; //RAccessorySingleConnection::NotifyNewAccessoryConnected
       
    48 const TInt KAccSrvNotifyAccessoryDisconnectedBit       = 2; //RAccessorySingleConnection::NotifyAccessoryDisconnected
       
    49 const TInt KAccSrvNotifyAccessoryValueChangedTBoolBit  = 4; //RAccessorySingleConnection::NotifyAccessoryValueChanged TBool
       
    50 const TInt KAccSrvNotifyAccessoryValueChangedTIntBit   = 8; //RAccessorySingleConnection::NotifyAccessoryValueChanged TInt
       
    51 const TInt KAccSrvNotifyAccessoryValueChangedObjectBit = 10;//RAccessorySingleConnection::NotifyAccessoryValueChanged Object
       
    52 
       
    53 const TInt KAccSrvGetAccessoryModeBit           = 1;//RAccessoryMode::GetAccessoryMode
       
    54 const TInt KAccSrvNotifyAccessoryModeChangedBit = 2;//RAccessoryMode::NotifyAccessoryModeChanged
       
    55 
       
    56 const TInt KAccSrvGetAccessoryConnectionStatusBit = 1;//RAccessoryConnection::GetAccessoryConnectionStatus
       
    57 const TInt KAccSrvNotifyAccConnStatusChangedBit   = 2;//RAccessoryConnection::NotifyAccessoryConnectionStatusChanged
       
    58 
       
    59 const TInt KAccSrvAccessoryAudioLinkOpenBit         = 1;//RAccessoryAudioControl::AccessoryAudioLinkOpen
       
    60 const TInt KAccSrvAccessoryAudioLinkCloseBit        = 2;//RAccessoryAudioControl::AccessoryAudioLinkClose
       
    61 const TInt KAccSrvNotifyAccessoryAudioLinkOpenedBit = 4;//RAccessoryAudioControl::NotifyAccessoryAudioLinkOpened
       
    62 const TInt KAccSrvNotifyAccessoryAudioLinkClosedBit = 8;//RAccessoryAudioControl::NotifyAccessoryAudioLinkClosed
       
    63 
       
    64 const TInt KAccSrvNotifyBluetoothAudioLinkOpenReqBit  = 1;//RAccessoryBTControl::NotifyBluetoothAudioLinkOpenReq
       
    65 const TInt KAccSrvNotifyBluetoothAudioLinkCloseReqBit = 2;//RAccessoryBTControl::NotifyBluetoothAudioLinkCloseReq
       
    66 const TInt KAccSrvConnectBTAccessoryBit               = 4;//RAccessoryBTControl::ConnectAccessory
       
    67 const TInt KAccSrvDisconnectBTAccessoryBit            = 8;//RAccessoryBTControl::DisconnectAccessory
       
    68 
       
    69 const TInt KAccSrvConnectAccessoryBit    = 1;//RAccessoryControl::ConnectAccessory
       
    70 const TInt KAccSrvDisconnectAccessoryBit = 2;//RAccessoryControl::DisconnectAccessory
       
    71 
       
    72 //AccessoryServers internal codes
       
    73 const TInt KAccSrvGenerateGID = -2;//A new GID has been constructed by ConfigFileParser and 
       
    74                                    //AccessoryServer needs to generate unique ID for that
       
    75 
       
    76 //Buffer size for accessory objects.
       
    77 const TInt KAccSrvObjectBaseStreamBufMaxSize = 256;
       
    78 const TInt KAccSrvObjectBaseStreamBufGranularity = 50;
       
    79 
       
    80 // MACROS
       
    81 
       
    82 // Server name
       
    83 _LIT( KAccServerName,"!AccServer" );
       
    84 
       
    85 // ASYProxy dll name
       
    86 _LIT( KAsyProxyName, "AsyProxy.dll" );
       
    87 
       
    88 //Accessory Server panic category
       
    89 _LIT( KAccServerPanicCategory, "Accessory Server panic client" );
       
    90 
       
    91 // DATA TYPES
       
    92 
       
    93 enum TAccSrvMsgs
       
    94     {
       
    95     // Changes to TAccSrvMsgs enumeration affects also to Accessory Server's
       
    96     // policy definitions, see accessoryServerRanges
       
    97 
       
    98     /**
       
    99     * Accessory API
       
   100     */    
       
   101     // RAccessoryMode
       
   102     EAccSrvCreateSubSessionAccessoryMode,
       
   103     EAccSrvCloseSubSessionAccessoryMode,
       
   104     EAccSrvGetAccessoryMode,
       
   105     EAccSrvGetAccessoryModeAsync,
       
   106     EAccSrvNotifyAccessoryModeChanged,
       
   107     EAccSrvCancelNotifyAccessoryModeChanged,
       
   108     EAccSrvCancelGetAccessoryMode,  
       
   109     
       
   110     // RAccessoryConnection
       
   111     EAccSrvGetAccessoryConnectionStatusAsync,
       
   112     EAccSrvCancelGetAccessoryConnectionStatus,
       
   113 
       
   114     // RAccessorySingleConnection
       
   115     EAccSrvCreateSubSessionAccessorySingleConnection,
       
   116     EAccSrvCloseSubSessionAccessorySingleConnection,
       
   117     EAccSrvNotifyNewAccessoryConnected,
       
   118     EAccSrvNotifyAccessoryDisconnected,
       
   119     EAccSrvNotifyAccessoryValueChangedTBool,
       
   120     EAccSrvNotifyAccessoryValueChangedTInt,
       
   121     EAccSrvNotifyAccessoryValueChangedObject,
       
   122     EAccSrvCancelNotifyNewAccessoryConnected,
       
   123     EAccSrvCancelNotifyAccessoryDisconnected,
       
   124     EAccSrvCancelNotifyAccessoryValueChanged,
       
   125 
       
   126     EAccSrvGetValueTBool,
       
   127     EAccSrvGetValueTDes8,
       
   128     EAccSrvGetValueObjectBase,
       
   129     EAccSrvGetObjectValue,
       
   130 
       
   131     /**
       
   132     * Accessory & Accessory Monitoring API
       
   133     * These calls do not require capabilities
       
   134     */    
       
   135     // RAccessoryConnection & RAccessoryConnectionBase
       
   136     EAccSrvCreateSubSessionAccessoryConnection,
       
   137     EAccSrvCloseSubSessionAccessoryConnection,
       
   138     EAccSrvGetAccessoryConnectionStatus,
       
   139     EAccSrvNotifyAccessoryConnectionStatusChanged,
       
   140     EAccSrvCancelNotifyAccessoryConnectionStatusChanged,
       
   141     EAccSrvGetSubblockNameArray,
       
   142     EAccSrvGetValueTInt,
       
   143     
       
   144     /**
       
   145     * Accessory Control API
       
   146     */
       
   147     //RAccessoryControl
       
   148     EAccSrvCreateSubSessionAccessoryControl,
       
   149     EAccSrvCloseSubSessionAccessoryControl,
       
   150     EAccSrvConnectAccessory2,
       
   151     EAccSrvDisconnectAccessory,
       
   152     EAccSrvAccessoryValueChangedTBoolNotify,
       
   153     EAccSrvAccessoryValueChangedTIntNotify,
       
   154     EAccSrvAccessoryValueChangedObjectNotify,
       
   155     EAccSrvSetValueTBool,
       
   156     EAccSrvSetValueTInt,    
       
   157     EAccSrvSetValueObject,  
       
   158     EAccSrvCancelConnectAccessory,
       
   159     EAccSrvCancelDisconnectAccessory,
       
   160 
       
   161     // RAccessorySettings
       
   162     EAccSrvCreateSubSessionAccessorySettings,
       
   163     EAccSrvCloseSubSessionAccessorySettings,
       
   164     EAccSrvGetSupportedHWDevices,
       
   165     EAccSrvGetHWDeviceSettings,
       
   166     EAccSrvSetHWDeviceSettings,
       
   167     EAccSrvGetAccessoryModeSetting,
       
   168     EAccSrvSetAccessoryModeSetting,
       
   169     EAccSrvGetAccessoryModeSettings,
       
   170     EAccSrvSetAccessoryModeSettings,
       
   171     
       
   172     /**
       
   173     * Accessory BT Control API
       
   174     */
       
   175     EAccSrvCreateSubSessionAccessoryBTControl,
       
   176     EAccSrvCloseSubSessionAccessoryBTControl,
       
   177     EAccSrvBluetoothConnectAccessory,
       
   178     EAccSrvBluetoothDisconnectAccessory,
       
   179     EAccSrvBluetoothAudioLinkOpenResp,
       
   180     EAccSrvBluetoothAudioLinkCloseResp,
       
   181     EAccSrvBluetoothAudioLinkOpenedNotify,
       
   182     EAccSrvBluetoothAudioLinkClosedNotify,
       
   183     EAccSrvNotifyBluetoothAudioLinkOpenReq,
       
   184     EAccSrvNotifyBluetoothAudioLinkCloseReq,
       
   185     EAccSrvBTAccessoryValueChangedTBoolNotify,
       
   186     EAccSrvBTAccessoryValueChangedTIntNotify,
       
   187     EAccSrvCancelNotifyBluetoothAudioLinkOpenReq,
       
   188     EAccSrvCancelNotifyBluetoothAudioLinkCloseReq,
       
   189 
       
   190     /**
       
   191     * Accessory Audio Control API
       
   192     */
       
   193     EAccSrvCreateSubSessionAccessoryAudioControl,
       
   194     EAccSrvCloseSubSessionAccessoryAudioControl,
       
   195     EAccSrvAccessoryAudioLinkOpen,
       
   196     EAccSrvAccessoryAudioLinkClose,
       
   197     EAccSrvAudioRoutingStatusNotify,
       
   198     EAccSrvNotifyAccessoryAudioLinkOpened,
       
   199     EAccSrvNotifyAccessoryAudioLinkClosed,
       
   200     EAccSrvCancelAccessoryAudioLinkOpen,
       
   201     EAccSrvCancelAccessoryAudioLinkClose,
       
   202     EAccSrvCancelNotifyAccessoryAudioLinkOpened,
       
   203     EAccSrvCancelNotifyAccessoryAudioLinkClosed,
       
   204 
       
   205     /**
       
   206     * Accessory Asy Comms API
       
   207     */
       
   208     EAccSrvCreateSubSessionAccessoryAsyComms,
       
   209     EAccSrvCloseSubSessionAccessoryAsyComms,
       
   210     EAccSrvNotifyProcessCommand,
       
   211     EAccSrvCancelNotifyProcessCommand,
       
   212     EAccSrvProcessResponseTBool,
       
   213     EAccSrvProcessResponseTInt,
       
   214     EAccSrvProcessResponseTDes,
       
   215     EAccSrvGetObjectBuffer,
       
   216     EAccSrvProcessResponseObject,
       
   217         
       
   218     // Initialisation value for error tracking
       
   219     // Must be last one; used in security checks
       
   220     EAccSrvUnknown
       
   221     };
       
   222 
       
   223 // Panic codes for some Server panics cases
       
   224 enum TAccServerError
       
   225     {
       
   226     EAccServerErrorCreateServer         = 1,
       
   227     EAccServerErrorCreateTrapCleanup    = 2,
       
   228     EAccServerErrorBadDescriptor        = 3,
       
   229     EAccServerErrorNotSupported         = 4
       
   230     };
       
   231 
       
   232 // For CAccPolAccessoryPolicy::IsValidConnection to tell connection type
       
   233 enum TAccSrvConnection
       
   234     {
       
   235     EAccSrvDetect,
       
   236     EAccSrvConnect,
       
   237     EAccSrvDeny
       
   238     };
       
   239 
       
   240 // FUNCTION PROTOTYPES
       
   241 
       
   242 // FORWARD DECLARATIONS
       
   243 
       
   244 // CLASS DECLARATION
       
   245 
       
   246 /**
       
   247  * Command parameters transferred between ASY Proxy and Accessory Server
       
   248  */
       
   249 class TProxyCommand 
       
   250     {
       
   251 
       
   252 public: // data
       
   253 
       
   254     //Transaction id
       
   255     TInt iTrId;
       
   256 
       
   257     // Timeout transaction id
       
   258     TInt iTimeOutTrId;
       
   259     
       
   260     // Process command id
       
   261     TProcessCmdId iCmdId;
       
   262 
       
   263     // ASY command parameters
       
   264     TASYCmdParams iAsyCmdParams;
       
   265     
       
   266     };
       
   267     
       
   268 typedef TPckgBuf<TProxyCommand> TProxyCommandPckgBuf;
       
   269 
       
   270 #endif // ACCCLIENTSERVERMESSAGES_H
       
   271 
       
   272 // End of File