/*
*
* 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 <e32base.h>
#include <e32std.h>
#include <hsprofilepluginbase.h>
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