omadmadapters/connmoadapter/inc/NapBranch.h
changeset 45 0f9fc722d255
parent 44 137912d1a556
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omadmadapters/connmoadapter/inc/NapBranch.h	Tue Jul 13 03:48:30 2010 +0530
@@ -0,0 +1,151 @@
+/*
+* ==============================================================================
+* 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:
+*
+* ==============================================================================
+*/
+
+
+#ifndef NAPBRANCH_H_
+#define NAPBRANCH_H_
+
+// ------------------------------------------------------------------------------------------------
+// Includes
+// ------------------------------------------------------------------------------------------------
+#include <cmmanagerext.h> 
+#include <smldmadapter.h>
+#include "BranchBase.h"
+#include "AddBuffer.h"
+
+/**
+ * Class for handling Network Access Point (NAP) settings in ConnMo DM tree
+ */
+class CNapBranch : public CBranchBase
+    {
+public:
+
+    static CNapBranch* NewL(MSmlDmCallback* aDmCallback, 
+                            CAddBuffer* aBuffer,
+                            RCmManagerExt* aCmManagerExt );
+    
+    void DDFStructureL( MSmlDmDDFObject& aDDF );
+    
+    void UpdateLeafObjectL( const TDesC8& aURI, 
+                            const TDesC8& aLUID,
+                            const TDesC8& aObject, 
+                            const TDesC8& aType,
+                            TInt aStatusRef );
+    
+    void DeleteObjectL( const TDesC8& aURI, 
+                        const TDesC8& aLUID,
+                        TInt aStatusRef );
+    
+    void FetchLeafObjectL( const TDesC8& aURI, 
+                           const TDesC8& aLUID,
+                           const TDesC8& aType, 
+                           TInt aResultsRef,
+                           TInt aStatusRef );
+    
+
+    void FetchLeafObjectSizeL( const TDesC8& aURI, 
+                               const TDesC8& aLUID,
+                               const TDesC8& aType, 
+                               TInt aResultsRef,
+                               TInt aStatusRef );
+
+    void ChildURIListL( const TDesC8& aURI, 
+                        const TDesC8& aLUID,
+                        const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
+                        TInt aResultsRef, 
+                        TInt aStatusRef );
+    
+    void AddNodeObjectL( const TDesC8& aURI, 
+                         const TDesC8& aParentLUID,
+                         TInt aStatusRef);
+    
+    /**
+     * Processes all Proxy related nodes from buffer
+     */
+    void ProcessBufferL();
+
+    virtual ~CNapBranch(); 
+    
+private:
+    
+    //-----------------------------------------------------------------------------
+    // Private functions
+    //-----------------------------------------------------------------------------
+    void ConstructL( CAddBuffer* aBuffer, RCmManagerExt* aCmManagerExt );
+    CNapBranch( MSmlDmCallback* aDmCallback );
+    
+    CSmlDmAdapter::TError GetUnmodifiableFieldValueL(const TDesC8& aUri,
+                                                    CBufBase* aResult );
+    
+    CSmlDmAdapter::TError GetLeafDataL(const TDesC8& aURI,
+                                       RCmConnectionMethodExt& aCm,
+                                       CBufBase* aResult );
+    
+    CSmlDmAdapter::TError GetUnmodifiableFieldAddResult( const TDesC8& aUri, 
+                                                         const TDesC8& aObject );
+    
+    TUint32 MapUriToCmAttribute( const TDesC8& aUri );
+    
+    void SetLeafDataL( const TDesC8& aURI, 
+                       const TDesC8& aObject, 
+                       TInt aStatusRef, 
+                       RCmConnectionMethodExt& aCm);
+    
+    void SetNodeDataL( CConnMoNodeElement* aNode, 
+                       RCmConnectionMethodExt& aCm );
+    
+    TBool FindNewCmType( TUint32& aBearerType );
+    
+    TBool AllMandatoryNapFieldsFound();
+    
+    void NapChildURIListL( const TDesC8& aURI,
+                           const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
+                           TInt aResultsRef, 
+                           TInt aStatusRef,
+                           CBufBase& aCurrentURISegmentList );
+   
+    void GetAllDynamicNapNodesL( const TDesC8& aURI, 
+                                 const TDesC8& aLUID,
+                                 const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
+                                 TInt aResultsRef,
+                                 TInt aStatusRef,
+                                 CBufBase& aCurrentURISegmentList,
+                                 const TDesC8& aField );
+								 
+    void IpBranchDDFStructureL( MSmlDmDDFObject& aIPDDF );
+    
+    CSmlDmAdapter::TError DeleteObjectL( const TDesC8& aURI, 
+                                         const TDesC8& aLUID );
+    
+    TPtrC8 GetDynamicNAPNodeUri( const TDesC8& aURI );
+    
+    TBool IsNAPUriFormatMatchPredefined(const TDesC8 & aURI);
+    
+    TInt GetCmIdFromURIL(const TDesC8& aURI);
+    //-----------------------------------------------------------------------------
+    // Private member variables
+    //-----------------------------------------------------------------------------
+    CAddBuffer* iBuffer;
+    MSmlDmCallback* iCallback;
+    RCmManagerExt* iCmManager;
+    };
+    
+    
+    
+#endif /* NAPBRANCH_H_ */