phonesrv_plat/converged_call_engine_api/inc/cccecallparameters.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:15:03 +0100
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2009 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 CCCECallParameters class.
*
*/

#ifndef CCCECALLPARAMETERS_H
#define CCCECALLPARAMETERS_H


#include <cccpcallparameters.h>
#include <ccpdefs.h>



const TUint KCCESubAddressMaxSize       = 21;
const TUint KCCEBearerMaxSize           = 15;

/**
* Call parameters struct.
*/
class CCCECallParameters: public CCCPCallParameters
    {
    public:

    /**
    * The type of line.
    */
    enum TCCELineType
        {
        /** This is the primary voice line. */
        ECCELineTypePrimary,    
        /** This is the secondary voice line. */
        ECCELineTypeAux  
        };

    /**
    * Call type enumeration.
    */
        
    enum TCCECallOrigin {
        ECCECallOriginPhone = 0,
        ECCECallOriginSAT,
        };     



    
       IMPORT_C static CCCECallParameters* NewL();
       ~CCCECallParameters();
       virtual CCCPCallParameters* CloneL() const;

        // New functions
        /** Sets the line type of call. */
        virtual void SetLineType(TCCELineType aLineType);
        /** Gets the line type of the call. */
        virtual TCCELineType LineType() const;

        /** Sets the service id identifying the service provider of the call. */
        virtual void SetUUSId(TBuf<KCCPUUSIdSize> aUUSId);
        /** Gets the UUS id of the call. */
        virtual TBuf<KCCPUUSIdSize> UUSId() const;

        /** Sets the bearer of the call. */
        virtual void SetBearer(TBuf8<KCCEBearerMaxSize> aBearer);
        /** Gets the bearer of the call. */
        virtual TBuf8<KCCEBearerMaxSize> Bearer() const;

        /** Sets the sub address of the dialled phone number. */
        virtual void SetSubAddress(TBuf<KCCESubAddressMaxSize> aSubAddress);
        /** Gets the sub address of the dialled phone number. */
        virtual TBuf<KCCESubAddressMaxSize> SubAddress() const;

        /** Sets the origin of the call. */
        virtual void SetOrigin(TCCECallOrigin aCallOrigin);
        /** Gets the origin of the call. */
        virtual TCCECallOrigin Origin() const;


    
    protected:
       CCCECallParameters();
       void ConstructL();
       
       
       
    private:
        /** Line type, used only in CS plugin in CCP API. */
        TCCELineType iLineType; 
        /** UUS-Id. Used in CS. */
        TBuf<KCCPUUSIdSize> iUUSId;
        /** Capability configuration parameters for the first bearer. */
        TBuf8<KCCEBearerMaxSize> iBearer;
    	/** A buffer to hold the sub-address of a telephone number.  */
    	TBuf<KCCESubAddressMaxSize> iSubAddress;
    	/** Call origin.  */
    	TCCECallOrigin iOrigin;
	
    };

#endif