diff -r 000000000000 -r 2e3d3ce01487 mediakeys/MMKeyBearer/inc/MMKeyBearerImplementation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mediakeys/MMKeyBearer/inc/MMKeyBearerImplementation.h Tue Feb 02 10:12:00 2010 +0200 @@ -0,0 +1,162 @@ +/* +* Copyright (c) 2005 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: +* Declaration of class CMMKeyBearer. +* +*/ + + +#ifndef __MMKEYBEARERIMPLEMENTATION_H__ +#define __MMKEYBEARERIMPLEMENTATION_H__ + +// INCLUDE +#include +#include +#include +#include +#include +#include + +#include "MMKeyBearerObserverPS.h" + +//CONSTANTS +const TInt KDataBufferSize = 10; + +/** +* CMMKeyBearer +* Implementation of the Rem Con Bearer Plugin +* @lib MMKeyBearer.dll +* @since 3.0 +*/ +class CMMKeyBearer : public CRemConBearerPlugin, + public MRemConBearerInterface, + public MCallBackReceiver + { + public: + /** + * Creates instance of the CMMKeyBearer class. + * + * @param TBearerParams: required for the CRemConBearerPlugin + * @return : Instance of the CMMKeyBearer + */ + static CMMKeyBearer* NewL(TBearerParams& aParams); + + /** + * Destructor. + */ + virtual ~CMMKeyBearer(); + + private: // constructors + /** + * default constructor. + * @param aParams: BearerPlugin Params + */ + CMMKeyBearer(TBearerParams& aParams); + + /** + * Two - phase construction. + */ + void ConstructL(); + + private: // from CRemConBearerPlugin + /** @see CRemConBearerPlugin::GetInterface() */ + TAny* GetInterface(TUid aUid); + + private: // from MRemConBearerInterface + + /** @see MRemConBearerInterface::GetResponse() */ + TInt GetResponse(TUid& aInterfaceUid, + TUint& aTransactionId, + TUint& aOperationId, + RBuf8& aData, + TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::SendCommand() */ + TInt SendCommand(TUid aInterfaceUid, + TUint aCommand, + TUint aTransactionId, + RBuf8& aData, + const TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::GetCommand() */ + TInt GetCommand(TUid& aInterfaceUid, + TUint& aTransactionId, + TUint& aCommand, + RBuf8& aData, + TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::SendResponse() */ + TInt SendResponse(TUid aInterfaceUid, + TUint aOperationId, + TUint aTransactionId, + RBuf8& aData, + const TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::ConnectRequest() */ + void ConnectRequest(const TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::DisconnectRequest() */ + void DisconnectRequest(const TRemConAddress& aAddr); + + /** @see MRemConBearerInterface::ClientStatus() */ + void ClientStatus(TBool aControllerPresent, TBool aTargetPresent); + + /** @see MRemConBearerInterface::SecurityPolicy() */ + TSecurityPolicy SecurityPolicy() const; + + private: // from MCallBackReceiver + + /** @see MCallBackReceiver::ReceivedKeyEvent() */ + void ReceivedKeyEvent(TInt aScanCode, TInt aKeyType); + + private: + /** + * SetSVKOperationIdAndData + * Assigns the Operation Id and Data field based on the aEnumValue + * for SVK keys + */ + void SetSVKOperationIdAndData(TInt aEnumValue); + + /** + * SetMediaKeyOperationIdAndData + * Assigns the Operation Id and Data field based on the aEnumValue + * for Media Keys + */ + void SetMediaKeyOperationIdAndData(TInt aEnumValue); + + private: // Data + + // Last received and corrected-decoded message. + TUid iInterfaceUid; + TUint iOperationId; + + TBuf8 iData; + + TUint iTransactionId; + + CMMKeyBearerObserver* iMMKeyBearerObserver; + CMMKeyBearerObserver* iMediaKeyObserver; + CMMKeyBearerObserver* iAccessoryVolKeyObserver; + CMMKeyBearerObserver* iUSBFileTransferObserver; + + TInt iUSBFileTransfer; + // For posting event to P&S + RProperty iProperty; + + // For keylock interaction + RAknUiServer iAknServer; + TBool iAknServerConnected; + }; + +#endif // __MMKEYBEARERIMPLEMENTATION_H__