diff -r 516a867811c3 -r d3981f4fe6a4 omadmadapters/connmoadapter/inc/NapBranch.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadmadapters/connmoadapter/inc/NapBranch.h Fri Jun 11 13:29:40 2010 +0300 @@ -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 +#include +#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& 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& aPreviousURISegmentList, + TInt aResultsRef, + TInt aStatusRef, + CBufBase& aCurrentURISegmentList ); + + void GetAllDynamicNapNodesL( const TDesC8& aURI, + const TDesC8& aLUID, + const CArrayFix& 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_ */