cmmanager/cmmgr/Plugins/cmpluginpacketdata/inc/cmpluginpacketdata.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:51 +0100
branchRCL_3
changeset 58 83ca720e2b9a
parent 0 5a93021fdf25
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2006 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 CCmPluginPacketData.
*
*/

#ifndef PACKETDATA_PLUGIN_H
#define PACKETDATA_PLUGIN_H

#include <cmpluginbaseeng.h>
#include <cmpluginpacketdatadef.h>

/**
*  CCmPluginPacketData dialog class
*  @since S60 v3.2
*/
NONSHARABLE_CLASS( CCmPluginPacketData ) : public CCmPluginBaseEng
    {

    public: // Constructors and destructor

        static CCmPluginPacketData* NewL( TCmPluginInitParam* aInitParam );

        virtual ~CCmPluginPacketData();

        virtual CCmPluginBaseEng* CreateInstanceL( TCmPluginInitParam& aInitParam ) const;
        
    public: // From CCmPluginBaseEng
        
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        */
        virtual TUint32 GetIntAttributeL( const TUint32 aAttribute ) const;

        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        */
		virtual TBool GetBoolAttributeL( const TUint32 aAttribute ) const;

		/**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        */
		virtual HBufC* GetStringAttributeL( const TUint32 aAttribute ) const;

		/**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        * @param aValue
        */
		virtual void SetIntAttributeL( const TUint32 aAttribute, 
		                                                    TUint32 aValue );

		
		/**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        * @param aValue
        */
		virtual void SetBoolAttributeL( const TUint32 aAttribute, 
		                                                    TBool aValue );

		/**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aAttribute
        * @param aValue
        */
		virtual void SetStringAttributeL( const TUint32 aAttribute, 
		                                            const TDesC16& aValue );
        
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aIapId
        */
        virtual void PrepareToUpdateRecordsL();
        
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aIapId
        */
		virtual TBool CanHandleIapIdL( TUint32 aIapId ) const;
        
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aIapRecord
        */
		virtual TBool CanHandleIapIdL( CommsDat::CCDIAPRecord *aIapRecord ) const;
        
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        */
		virtual TInt RunSettingsL();
        
	    /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        */
		virtual void LoadServiceSettingL();

	    /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        */
		virtual TBool InitializeWithUiL( TBool aManuallyConfigure );
	    
        /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aServiceName
        * @param aRecordId
        */
		virtual void ServiceRecordIdLC( HBufC* &aServiceName, 
                                                        TUint32& aRecordId );

	    /**
        * From CCmPluginBaseEng
        * see base class
        *
        * @since S60 3.2
        * @param aBearerName
        * @param aRecordId
        */
		virtual void BearerRecordIdLC( HBufC* &aBearerName, 
                                                        TUint32& aRecordId );
                                       
    public: // New functions
    
        /**
        * @param aPdpType PDP type to be set
        */     
        void SetPDPTypeL( RPacketContext::TProtocolType aPdpType );

        /**
        * @since S60 3.2
        * @return the service record
        */
		CommsDat::CCDWCDMAPacketServiceRecord& ServiceRecord() const;
        
    protected: // From CCmPluginBaseEng
    
        /**
        * From CCmPluginBaseEng
        *
        * @since S60 3.2
		*/      
		virtual void AdditionalReset();

        /**
        * From CCmPluginBaseEng
        *
        * @since S60 5.2
		*/      
        virtual void CreateAdditionalRecordsL();

        /**
        * From CCmPluginBaseEng
        *
        * @since S60 5.2
		*/      
        virtual void DeleteAdditionalRecordsL();

        /**
        * From CCmPluginBaseEng
        *
        * @since S60 5.2
		*/      
        virtual void LoadAdditionalRecordsL();

        /**
        * From CCmPluginBaseEng
        *
        * @since S60 5.2
		*/      
        virtual void UpdateAdditionalRecordsL();

	private: // Constructors

        /**
        * Constructor
        *
        * @since S60 3.2
        * @param aInitParam
        * @param aOutgoing
        */      
		CCmPluginPacketData( TCmPluginInitParam* aInitParam, 
		                     TBool aOutgoing );

        /**
        * Second phase constructor    
        *
        * @since S60 3.2
		*/      
		void ConstructL();

    private: // from CCmPluginBaseEng
    
        /**
        * Second phase constructor    
        *
        * @since S60 3.2
		*/      
		virtual void CreateNewServiceRecordL();
		
		virtual void PrepareToCopyDataL( CCmPluginBaseEng* aDestInst ) const;
        
        /**
        * Sets the daemon name. Starts DHCP if set.
        *
        * @since S60 3.2
        */
        void SetDaemonNameL();

    private:
    
	    /**
        * @since S60 3.2
        * @return if there is network coverage
        */
		TBool CheckNetworkCoverageL() const;
        
	private: // Data
	    
        TBool   iOutgoing;  ///< EPacketDataOutGoing

        CommsDat::CCDUmtsR99QoSAndOnTableRecord* iPacketDataQoSRecord; // Owned
	};

#endif // PACKETDATA_PLUGIN_H