cmmanager/cmmgr/Plugins/cmpluginembdestination/inc/cmpluginembdestination.h
branchRCL_3
changeset 58 83ca720e2b9a
parent 0 5a93021fdf25
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmmgr/Plugins/cmpluginembdestination/inc/cmpluginembdestination.h	Wed Sep 01 12:23:51 2010 +0100
@@ -0,0 +1,122 @@
+/*
+* 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 CCmPluginEmbDestination
+*
+*/
+
+#ifndef EMBEDDEDDESTINATION_PLUGIN_H
+#define EMBEDDEDDESTINATION_PLUGIN_H
+
+#include <cmpluginbaseeng.h>
+#include <cmpluginembdestinationdef.h>
+
+/**
+ *  Embedded Destination Plugin IF implementation class
+ *
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS(CCmPluginEmbDestination) : public CCmPluginBaseEng
+    {
+    public:     // Constructors and destructor
+
+        /**
+        * Two phased constructor. Leaves on failure.
+        * @param - aInitParam initialization parameters for plug-ins.
+        * @return The created object.
+        */      
+        static CCmPluginEmbDestination* NewL( TCmPluginInitParam* aInitParam );
+
+        /**
+        * Destructor.
+        */      
+        virtual ~CCmPluginEmbDestination();
+
+        virtual CCmPluginBaseEng* CreateInstanceL( 
+                                        TCmPluginInitParam& aInitParam ) const;
+
+    public: // From CCmPluginBaseEng
+
+        virtual TUint32 GetIntAttributeL( const TUint32 aAttribute ) const;
+        virtual TBool GetBoolAttributeL( const TUint32 aAttribute ) const;
+        virtual HBufC* GetStringAttributeL( const TUint32 aAttribute ) const;
+        virtual HBufC8* GetString8AttributeL( const TUint32 aAttribute ) const;
+        virtual void SetBoolAttributeL( const TUint32 aAttribute, 
+                                        TBool aValue );
+        virtual void SetStringAttributeL( const TUint32 aAttribute, 
+                                          const TDesC16& aValue );
+        virtual void UpdateL();
+        virtual CCmDestinationImpl* Destination() const;
+
+        virtual TBool CanHandleIapIdL( TUint32 aIapId ) const;
+        virtual TBool CanHandleIapIdL( CommsDat::CCDIAPRecord *aIapRecord ) const;
+
+        virtual TBool DeleteL( TBool aForced,
+                               TBool aOneRefAllowed = ETrue );
+        virtual void LoadL( TUint32 aIapId );
+        virtual void CreateNewL();
+
+        virtual TInt RunSettingsL();
+
+        /**
+        * From CCmPluginBaseEng
+        * see base class definition
+        *
+        * @since S60 3.2
+        */
+        virtual TBool InitializeWithUiL( TBool aManuallyConfigure );
+
+        virtual TBool IsMultipleReferencedL();
+
+        virtual void LoadServiceSettingL();
+        virtual void LoadBearerSettingL();
+
+        virtual void ServiceRecordIdLC( HBufC* &aServiceName, 
+                                        TUint32& aRecordId );
+
+        virtual void BearerRecordIdLC( HBufC* &aBearerName, 
+                                       TUint32& aRecordId);
+
+        virtual void AdditionalReset(){};
+
+        virtual CCmPluginBaseEng* CreateCopyL() const;
+        
+        virtual TBool IsLinkedToSnap( TUint32 aSnapId );
+
+    private: // Constructors
+
+        /**
+        * Constructor.
+        */      
+        CCmPluginEmbDestination( TCmPluginInitParam* aInitParam );
+
+        /**
+        * Second phase constructor. Leaves on failure.
+        * @param
+        */      
+        void ConstructL();
+
+    private: // From CCmPluginBaseEng
+
+        virtual void CreateNewServiceRecordL();
+        virtual void CreateNewBearerRecordL();
+        virtual void CopyAdditionalDataL( CCmPluginBaseEng* aDestInst ) const;
+
+    private: // Data
+
+        CCmDestinationImpl* iDestination;
+        TInt                iLoadResult;
+        TUint32             iCmId;
+	};
+
+#endif // EMBEDDEDDESTINATION_PLUGIN_H