diff -r 02103bf20ee5 -r 90dbfc0435e3 bluetoothengine/headsetsimulator/profiles/hfpprofile/inc/hfpprofileplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/headsetsimulator/profiles/hfpprofile/inc/hfpprofileplugin.h Wed Sep 15 15:59:44 2010 +0200 @@ -0,0 +1,92 @@ +/* + * + * Copyright (c) <2010> Comarch S.A. and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Original Contributors: + * Comarch S.A. - original contribution. + * + * Contributors: + * + * Description: + * + */ + +#ifndef HFPPROFILEPLUGIN_H +#define HFPPROFILEPLUGIN_H + +#include +#include +#include + +class CHsHFPSettings; +class CHsHFPDataHandler; + +// Constants +/** HFP Ecom implementation Uid */ +const TUid KHsHFPProfileImplementationUid = + { + 0xE0009DD3 + }; + +/** + * @brief Implementation of Hands-Free Profile + */ +class CHsHFPProfile : public CHsProfileBase + { +public: + /** + * Two-phase constructor + * @return instance of class + */ + static CHsHFPProfile* NewL(); + + /** + * Two-phase constructor + * @return instance of class + */ + static CHsHFPProfile* NewLC(); + + /** + * Destructor + */ + ~CHsHFPProfile(); + +public: + + // Methods derived from MHsProfileBase + void HandleCommandL(const TDesC8 &aCommandsIn, TDes8 &aCommandsOut, + const TBool aFromAG = ETrue); + + void HandleClientDisconnected(TInt aErr); + + void HandleClientConnected(TDes8& aCommandOut); + + void HandleAcceptCallL(TDes8& aCommandOut); + + void HandleReleaseCallL(TDes8& aCommandOut); + +private: + /** + * Constructor for performing 1st stage construction + */ + CHsHFPProfile(); + + /** + * Constructor for performing 2nd stage construction + */ + void ContructL(); + +private: + /** AT command handler. Owned */ + CHsHFPDataHandler* iDataHandler; + + /** HFP setting. Not owned */ + CHsHFPSettings* iSettings; + }; + +#endif // HFPPROFILEPLUGIN_H