deviceupdatesui/omadmadapters/connmoadapter/inc/ConnMoAdapter.h
author hgs
Tue, 13 Jul 2010 03:44:34 +0530
changeset 44 137912d1a556
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
44
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* ==============================================================================
hgs
parents:
diff changeset
     3
*  Name        : ConnMoAdapter.h
hgs
parents:
diff changeset
     4
*  Part of     : ConnMoAdapter
hgs
parents:
diff changeset
     5
*  Interface   : ecom / ConnMOAdapter
hgs
parents:
diff changeset
     6
*  Description : Connection Management Object
hgs
parents:
diff changeset
     7
*  Version     : $Revision: 61 $ $Modtime: 29.09.05 8:17 $
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
    10
* All rights reserved.
hgs
parents:
diff changeset
    11
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
    12
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
    13
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
    14
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
* Initial Contributors:
hgs
parents:
diff changeset
    17
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    18
*
hgs
parents:
diff changeset
    19
* Contributors:
hgs
parents:
diff changeset
    20
* 
hgs
parents:
diff changeset
    21
* Description:
hgs
parents:
diff changeset
    22
*
hgs
parents:
diff changeset
    23
* ==============================================================================
hgs
parents:
diff changeset
    24
*/
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
#ifndef CONNMOADAPTER_H_
hgs
parents:
diff changeset
    27
#define CONNMOADAPTER_H_
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// ------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    30
// Includes
hgs
parents:
diff changeset
    31
// ------------------------------------------------------------------------------------------------
hgs
parents:
diff changeset
    32
#include <smldmadapter.h>
hgs
parents:
diff changeset
    33
#include <cmmanagerext.h>
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
class CNapBranch;
hgs
parents:
diff changeset
    36
class CProxyBranch;
hgs
parents:
diff changeset
    37
class CAddBuffer;
hgs
parents:
diff changeset
    38
class CBranchBase;
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
_LIT8( KCMDdfNAP,                   "NAP" );
hgs
parents:
diff changeset
    41
_LIT8( KCMDdfProxy,                 "Proxy" );
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
/**
hgs
parents:
diff changeset
    44
 * Implements ConnMO partition of the DM tree
hgs
parents:
diff changeset
    45
 */
hgs
parents:
diff changeset
    46
class CConnMoAdapter : public CSmlDmAdapter
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
public:
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
    static CConnMoAdapter* NewL(MSmlDmCallback* aDmCallback );
hgs
parents:
diff changeset
    51
    static CConnMoAdapter* NewLC(MSmlDmCallback* aDmCallback );
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
    virtual ~CConnMoAdapter(); 
hgs
parents:
diff changeset
    54
    
hgs
parents:
diff changeset
    55
    // Adapter Interface inherited from CSmlDmAdapter
hgs
parents:
diff changeset
    56
    void DDFVersionL( CBufBase& aVersion );
hgs
parents:
diff changeset
    57
    void DDFStructureL( MSmlDmDDFObject& aDDF );
hgs
parents:
diff changeset
    58
    
hgs
parents:
diff changeset
    59
    void UpdateLeafObjectL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    60
                            const TDesC8& aLUID,
hgs
parents:
diff changeset
    61
                            const TDesC8& aObject, 
hgs
parents:
diff changeset
    62
                            const TDesC8& aType,
hgs
parents:
diff changeset
    63
                            TInt aStatusRef );
hgs
parents:
diff changeset
    64
    
hgs
parents:
diff changeset
    65
    void UpdateLeafObjectL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    66
                            const TDesC8& aLUID,
hgs
parents:
diff changeset
    67
                            RWriteStream*& aStream, 
hgs
parents:
diff changeset
    68
                            const TDesC8& aType,
hgs
parents:
diff changeset
    69
                            TInt aStatusRef );
hgs
parents:
diff changeset
    70
    
hgs
parents:
diff changeset
    71
    void DeleteObjectL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    72
                        const TDesC8& aLUID,
hgs
parents:
diff changeset
    73
                        TInt aStatusRef );
hgs
parents:
diff changeset
    74
    
hgs
parents:
diff changeset
    75
    void FetchLeafObjectL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    76
                           const TDesC8& aLUID,
hgs
parents:
diff changeset
    77
                           const TDesC8& aType, 
hgs
parents:
diff changeset
    78
                           TInt aResultsRef,
hgs
parents:
diff changeset
    79
                           TInt aStatusRef );
hgs
parents:
diff changeset
    80
    
hgs
parents:
diff changeset
    81
    void FetchLeafObjectSizeL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    82
                               const TDesC8& aLUID,
hgs
parents:
diff changeset
    83
                               const TDesC8& aType, 
hgs
parents:
diff changeset
    84
                               TInt aResultsRef,
hgs
parents:
diff changeset
    85
                               TInt aStatusRef );
hgs
parents:
diff changeset
    86
    
hgs
parents:
diff changeset
    87
    void ChildURIListL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    88
                        const TDesC8& aLUID,
hgs
parents:
diff changeset
    89
                        const CArrayFix<TSmlDmMappingInfo>& aPreviousURISegmentList,
hgs
parents:
diff changeset
    90
                        TInt aResultsRef, TInt aStatusRef );
hgs
parents:
diff changeset
    91
    
hgs
parents:
diff changeset
    92
    void AddNodeObjectL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    93
                         const TDesC8& aParentLUID,
hgs
parents:
diff changeset
    94
                         TInt aStatusRef );
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
    void ExecuteCommandL( const TDesC8& aURI, 
hgs
parents:
diff changeset
    97
                          const TDesC8& aLUID,
hgs
parents:
diff changeset
    98
                          const TDesC8& aArgument, 
hgs
parents:
diff changeset
    99
                          const TDesC8& aType,
hgs
parents:
diff changeset
   100
                          TInt aStatusRef );
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
    void ExecuteCommandL( const TDesC8& aURI, 
hgs
parents:
diff changeset
   103
                          const TDesC8& aLUID,
hgs
parents:
diff changeset
   104
                          RWriteStream*& aStream, 
hgs
parents:
diff changeset
   105
                          const TDesC8& aType,
hgs
parents:
diff changeset
   106
                          TInt aStatusRef );
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
    void CopyCommandL( const TDesC8& aTargetURI, 
hgs
parents:
diff changeset
   109
                       const TDesC8& aTargetLUID,
hgs
parents:
diff changeset
   110
                       const TDesC8& aSourceURI, 
hgs
parents:
diff changeset
   111
                       const TDesC8& aSourceLUID,
hgs
parents:
diff changeset
   112
                       const TDesC8& aType, 
hgs
parents:
diff changeset
   113
                       TInt aStatusRef );
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
    void StartAtomicL(); 
hgs
parents:
diff changeset
   116
    void CommitAtomicL();
hgs
parents:
diff changeset
   117
    void RollbackAtomicL();
hgs
parents:
diff changeset
   118
    TBool StreamingSupport( TInt& aItemSize );
hgs
parents:
diff changeset
   119
    void StreamCommittedL();
hgs
parents:
diff changeset
   120
    void CompleteOutstandingCmdsL();
hgs
parents:
diff changeset
   121
    
hgs
parents:
diff changeset
   122
private:
hgs
parents:
diff changeset
   123
    
hgs
parents:
diff changeset
   124
    //-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   125
    // Private functions
hgs
parents:
diff changeset
   126
    //-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   127
    void ConstructL();
hgs
parents:
diff changeset
   128
    CConnMoAdapter( TAny* aEcomArguments );
hgs
parents:
diff changeset
   129
    
hgs
parents:
diff changeset
   130
    CBranchBase* GetBranch( const TDesC8& aUri );
hgs
parents:
diff changeset
   131
    
hgs
parents:
diff changeset
   132
    MSmlDmDDFObject& AddBaseUriL( MSmlDmDDFObject& aRootDDF);
hgs
parents:
diff changeset
   133
    
hgs
parents:
diff changeset
   134
    MSmlDmDDFObject& AddBranchL( MSmlDmDDFObject& aRootDDF, 
hgs
parents:
diff changeset
   135
                                const TDesC8& aNodeName);
hgs
parents:
diff changeset
   136
    
hgs
parents:
diff changeset
   137
    //-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   138
    // Private member variables
hgs
parents:
diff changeset
   139
    //-----------------------------------------------------------------------------
hgs
parents:
diff changeset
   140
    /** Callback to framework */
hgs
parents:
diff changeset
   141
    MSmlDmCallback*     iCallBack;
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    /** branches of ConnMo structure */
hgs
parents:
diff changeset
   144
    CNapBranch*         iNapBranch;
hgs
parents:
diff changeset
   145
    CProxyBranch*       iProxyBranch;
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    /** Buffer for node addition */
hgs
parents:
diff changeset
   148
    CAddBuffer*         iBuffer;
hgs
parents:
diff changeset
   149
    
hgs
parents:
diff changeset
   150
    /** CmMager for manipulating CM settings */
hgs
parents:
diff changeset
   151
    RCmManagerExt       iCmManager;
hgs
parents:
diff changeset
   152
    };
hgs
parents:
diff changeset
   153
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
#endif /* CONNMOADAPTER_H_ */