omacpadapters/StreamingAdapter/Inc/StreamingAdapter.h
author hgs
Tue, 13 Jul 2010 04:01:20 +0530
changeset 47 d316aecb87fd
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
* All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
* Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
* Description:  Handles streaming app settings in OMA provisioning.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
#ifndef STREAMINGADAPTER_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
#define STREAMINGADAPTER_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
// INCLUDES
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
#include    <CWPAdapter.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
#include    <MWPContextExtension.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
// FORWARD DECLARATIONS
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
class CMPSettingsModel;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
struct TStreamingAdapterData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
// CLASS DECLARATION
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
 * CStreamingAdapter handles accesspoint settings.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
 */ 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
class CStreamingAdapter : public CWPAdapter,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
                          public MWPContextExtension
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
    public:  // Constructors and destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
        * Two-phased constructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
        * @return a instance of class.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
        static CStreamingAdapter* NewL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
        * Destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
        virtual ~CStreamingAdapter();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
    public: // Functions from base classes
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
        TInt ItemCount() const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
        const TDesC16& SummaryTitle(TInt aIndex) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
        const TDesC16& SummaryText(TInt aIndex) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
        TInt DetailsL( TInt aItem, MWPPairVisitor& aVisitor );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
        void SaveL(TInt aItem);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
        TBool CanSetAsDefault(TInt aItem) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
        void SetAsDefaultL(TInt aItem);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
        void VisitL(CWPCharacteristic& aElement);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
        void VisitL(CWPParameter& aElement);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
        void VisitLinkL(CWPCharacteristic& aCharacteristic);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
        * From CWPAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
        TInt ContextExtension(MWPContextExtension*& aExtension);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
        * From MWPContextExtension
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
		const TDesC8& SaveDataL(TInt aIndex) const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
        * From MWPContextExtension
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
		void DeleteL(const TDesC8& aSaveData);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
        * From MWPContextExtension
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
        TUint32 Uid() const;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125
    private:  // Default constructors
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   126
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   127
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   128
        * C++ default constructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   129
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   130
        CStreamingAdapter();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   131
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   132
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   133
        * By default Symbian 2nd phase constructor is private.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   134
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   135
        void ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   136
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   137
    private: // New functions
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   138
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   139
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   140
        * Validates the data in iTempData.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   141
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   142
        TBool IsValid();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   143
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   144
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   145
        * Parses an integer from a descriptor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   146
        * Returns error code.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   147
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   148
        TInt ParseIntegerL(const TDesC& aPtr, TInt& aInt);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   149
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   150
		/**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   151
        * ResetAndDestroy() cleanup for ecom implementation array.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   152
        * @param aAny the implementation array
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   153
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   154
        static void Cleanup( TAny* aAny );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   155
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   156
        /**
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   157
        * Initialise CMPSettingsModel
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   158
        * @param None
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   159
        * @return None
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   160
        */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   161
        void InitSettingsModelL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   162
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   163
    private: // Data
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   164
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   165
        HBufC* iTitle;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   166
        CMPSettingsModel* iModel;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   167
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   168
        TPtrC iAppId;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   169
        TStreamingAdapterData* iCurrentData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   170
        TStreamingAdapterData* iTempData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   171
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   172
        TPckgBuf<TUint32> iSavedID;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   173
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   174
	private:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   175
		friend class TM_CWPStreamingAdapterTestCase;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   176
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   177
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   178
    };
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   179
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   180
#endif  // STREAMINGADAPTER_H
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   181
            
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   182
// End of File