bluetoothengine/headsetsimulator/profiles/hfpprofile/inc/dataprocessing/hfpcommand.h
author michal.sulewski
Wed, 15 Sep 2010 15:59:44 +0200
branchheadsetsimulator
changeset 60 90dbfc0435e3
permissions -rw-r--r--
source code commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
60
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     1
/* 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     2
 *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     3
 * Copyright (c) <2010> Comarch S.A. and/or its subsidiary(-ies).
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     4
 * All rights reserved.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     5
 * This component and the accompanying materials are made available
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     6
 * under the terms of the License "Eclipse Public License v1.0"
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     7
 * which accompanies this distribution, and is available
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     8
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
     9
 *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    10
 * Original Contributors:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    11
 * Comarch S.A. - original contribution.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    12
 *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    13
 * Contributors:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    14
 *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    15
 * Description:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    16
 *
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    17
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    18
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    19
#ifndef HFPCOMMAND_H_
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    20
#define HFPCOMMAND_H_
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    21
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    22
#include <e32base.h>
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    23
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    24
/** Profile helpful constants */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    25
_LIT8(KHsHFPCommandPrefix,"AT");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    26
_LIT8(KHsHFPCommandSuffix,"\r\n");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    27
_LIT8(KHsHFPBRSFCommand,"+BRSF");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    28
_LIT8(KHsHFPCIEVCommand,"+CIEV");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    29
_LIT8(KHsHFPCHUPCommand,"+CHUP");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    30
_LIT8(KHsHFPCINDCommand,"+CIND");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    31
_LIT8(KHsHFPCMERCommand,"+CMER");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    32
_LIT8(KHsHFPCOPSCommand,"+COPS");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    33
_LIT8(KHsHFPVGSCommand,"+VGS");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    34
_LIT8(KHsHFPVGMCommand,"+VGM");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    35
_LIT8(KHsHFPBLDNCommand,"+BLDN");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    36
_LIT8(KHsHFPCLIPCommand,"+CLIP");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    37
_LIT8(KHsHFPOKCommand,"\r\nOK\r\n");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    38
_LIT8(KHsHFPERRORCommand,"\r\nERROR\r\n");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    39
_LIT8(KHsHFPRINGCommand,"\r\nRING\r\n");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    40
_LIT8(KHsHFPATACommand,"ATA");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    41
_LIT8(KHsHFPATACommandWithoutPrefix,"A");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    42
_LIT8(KHsHFPATDCommand,"ATD");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    43
_LIT8(KHsHFPATDCommandWithoutPrefix,"D");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    44
_LIT8(KHsHFPParamsSeparator,",");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    45
_LIT8(KHsHFPCommandSeparator,"\r\n\r\n");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    46
_LIT8(KHsHFPIndicatorParamsSeparator,"),");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    47
_LIT8(KHsHFPATTestModeDes,"=?");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    48
_LIT8(KHsHFPATWriteModeDes,"=");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    49
_LIT8(KHsHFPATReadModeDes,"?");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    50
_LIT8(KHsHFPATTestModeDesAG,"=?");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    51
_LIT8(KHsHFPATWriteModeDesAG,": ");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    52
_LIT8(KHsHFPATReadModeDesAG,"?");
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    53
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    54
/** Max size of HFP AT param */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    55
const TInt KHsHFPMaxATParamSize = 256;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    56
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    57
/** Max size of VGS or VGM param*/
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    58
const TInt KHsHFPMaxVolumeLevelParamSize = 2;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    59
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    60
/**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    61
 *  @brief Represents singular AT command parameter.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    62
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    63
class TATParam
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    64
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    65
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    66
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    67
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    68
     * Constructor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    69
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    70
     * @param aValue param descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    71
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    72
    TATParam(const TDesC8& aValue);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    73
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    74
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    75
     * Returns the parameter as text.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    76
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    77
     * @return the non-modifiable pointer descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    78
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    79
    const TDesC8& Des() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    80
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    81
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    82
     * Returns the paramater as integer value (if conversion is possible)
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    83
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    84
     * @return integer value
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    85
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    86
    TInt IntL() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    87
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    88
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    89
    /** Buffer for AT param */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    90
    TBuf8<KHsHFPMaxATParamSize> iValue;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    91
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    92
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    93
/** Array of AT params */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    94
typedef RArray<TATParam> RATParamArray;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    95
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    96
/** HFP AT commands types enum */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    97
enum THsHFPCommandType
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    98
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
    99
    EHFPCmdBRSF,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   100
    EHFPCmdCIEV,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   101
    EHFPCmdCHUP,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   102
    EHFPCmdOK,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   103
    EHFPCmdERROR,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   104
    EHFPCmdCIND,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   105
    EHFPCmdCMER,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   106
    EHFPCmdCOPS,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   107
    EHFPCmdRING,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   108
    EHFPCmdATA,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   109
    EHFPCmdVGS,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   110
    EHFPCmdVGM,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   111
    EHFPCmdBLDN,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   112
    EHFPCmdATD,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   113
    EHFPCmdCLIP,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   114
    EHFPCmdUnknown
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   115
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   116
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   117
/** HFP AT commands modes enum */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   118
enum THsHFPCommandMode
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   119
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   120
    /** = */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   121
    ECmdModeWrite,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   122
    /** ? */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   123
    ECmdModeRead,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   124
    /** =? */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   125
    ECmdModeTest,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   126
    /** empty without params */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   127
    ECmdModeNormal,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   128
    /** empty with params */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   129
    ECmdModeOther,
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   130
    /** unknown mode - default */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   131
    ECmdUnknownMode
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   132
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   133
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   134
/**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   135
 *  @brief AT command representation 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   136
 */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   137
class CHsHFPCommand : public CBase
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   138
    {
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   139
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   140
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   141
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   142
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   143
     * Two-phased constructor.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   144
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   145
     * @return class instance
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   146
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   147
    static CHsHFPCommand* NewL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   148
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   149
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   150
     * Two-phased constructor.
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   151
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   152
     * @return class instance
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   153
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   154
    static CHsHFPCommand* NewLC();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   155
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   156
    /** 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   157
     * Destructor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   158
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   159
    ~CHsHFPCommand();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   160
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   161
public:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   162
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   163
     * Sets type of AT command
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   164
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   165
     * @param aType type
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   166
     * @return KErrNone if successful, otherwise one of the system-wide error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   167
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   168
    TInt SetType(const THsHFPCommandType aType);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   169
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   170
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   171
     * Sets mode of AT command
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   172
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   173
     * @param aMode mode
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   174
     * @return KErrNone if successful, otherwise one of the system-wide error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   175
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   176
    TInt SetMode(const THsHFPCommandMode aMode);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   177
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   178
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   179
     * Sets params of AT command
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   180
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   181
     * @param aParams array of params
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   182
     * @return KErrNone if successful, otherwise one of the system-wide error codes
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   183
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   184
    TInt SetParams(const RATParamArray& aParams);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   185
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   186
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   187
     * Sets flag which denotes if AT command was sent from AG or HF
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   188
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   189
     * @param aFromAG AT command source
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   190
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   191
    void SetSource(const TBool aFromAG);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   192
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   193
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   194
     * Returns the AT command as text
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   195
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   196
     * @param aBuf on exit contains command as descriptor
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   197
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   198
    void ToDes8(TDes8& aBuf) const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   199
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   200
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   201
     * Returns the AT command type
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   202
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   203
     * @return type of command
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   204
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   205
    THsHFPCommandType Type() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   206
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   207
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   208
     * Returns the AT command mode
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   209
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   210
     * @return mode of command
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   211
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   212
    THsHFPCommandMode Mode() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   213
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   214
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   215
     * Returns the AT command source
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   216
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   217
     * @return flag that denotes if AT command was sent from AG or HF
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   218
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   219
    TBool FromAG() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   220
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   221
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   222
     * Returns the AT command params
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   223
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   224
     * @return array of params
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   225
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   226
    const RATParamArray& Params() const;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   227
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   228
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   229
     * Clones CHsHFPCommand object
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   230
     * 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   231
     * @param aCmdFrom source
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   232
     * @param aCmdTo destination 
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   233
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   234
    static void CopyL(const CHsHFPCommand& aCmdFrom, CHsHFPCommand& aCmdTo);
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   235
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   236
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   237
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   238
     * Constructor for performing 1st stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   239
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   240
    CHsHFPCommand();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   241
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   242
    /**
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   243
     * Constructor for performing 2nd stage construction
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   244
     */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   245
    void ConstructL();
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   246
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   247
private:
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   248
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   249
    /** Granulity of AT params array */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   250
    const TInt KParamArrayGranularity = 3;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   251
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   252
    /** Max length of AT type descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   253
    const TInt KTypeDesMaxLength = 9;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   254
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   255
    /** Max length of AT mode descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   256
    const TInt KModeDesMaxLength = 3;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   257
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   258
    /** Max length of AT param descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   259
    const TInt KParamsDesMaxLength = 200;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   260
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   261
    /** Command type */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   262
    THsHFPCommandType iType;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   263
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   264
    /** Command mode */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   265
    THsHFPCommandMode iMode;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   266
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   267
    /** Denotes if AT command was sent from AG or HF */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   268
    TBool iFromAG;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   269
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   270
    /** Array of params */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   271
    RATParamArray iParams;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   272
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   273
    /** Command type as descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   274
    RBuf8 iTypeDes;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   275
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   276
    /** Command mode as descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   277
    RBuf8 iModeDes;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   278
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   279
    /** Command params as descriptor */
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   280
    RBuf8 iParamsDes;
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   281
    };
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   282
90dbfc0435e3 source code commit
michal.sulewski
parents:
diff changeset
   283
#endif /* HFPCOMMAND_H_ */