omacpadapters/StreamingAdapter/Src/Streamingadapter.cpp
author hgs
Fri, 15 Oct 2010 11:39:02 +0530
changeset 67 fdbfe0a95492
parent 47 d316aecb87fd
permissions -rw-r--r--
201041
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
// INCLUDE FILES
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
#include    <f32file.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
#include    <CWPCharacteristic.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
#include    <CWPParameter.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
#include    <mpsettingsmodel.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
#include    <cmconnectionmethoddef.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
#include    <cmmanagerext.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
#include    "WPAdapterUtil.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
#include    "StreamingAdapter.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
#include    "ProvisioningDebug.h"
67
hgs
parents: 47
diff changeset
    29
#include <hbtextresolversymbian.h>
hgs
parents: 47
diff changeset
    30
_LIT( KStreamingResourceFileName, "deviceupdates_" );	
hgs
parents: 47
diff changeset
    31
_LIT( KStreamingResourceFilePath, "z:/resource/qt/translations/" );
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
// CONSTANTS
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
#if ( defined (__WINS__) || defined (__WINSCW) ) // this different on hw
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
    _LIT( KAdapterName, "WPStreamingAdapterResource" );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
#else
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
    _LIT( KAdapterName, "WPStreamingAdapter" );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
#endif
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
_LIT(KMaxBandwidthStr,"MAX-BANDWIDTH");
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
_LIT(KMaxUdpPortStr,"MAX-UDP-PORT");
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
_LIT(KMinUdpPortStr,"MIN-UDP-PORT");
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
_LIT(KStreamingAppId, "554");
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
const TInt KInvalidValue = -1;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
const TInt KProxyEnabled = 1;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
const TInt KMinUDPPort = 1024; //6970;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
const TInt KMaxUDPPort = 65535; //32000;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
const TInt KDefaultMinUDPPort = 6970;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
const TInt KDefaultMaxUDPPort = 32000;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
const TInt KBandwidthValue1 = 9050;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
const TInt KBandwidthValue2 = 13400;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
const TInt KBandwidthValue3 = 18100;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
const TInt KBandwidthValue4 = 26800;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
const TInt KBandwidthValue5 = 27150;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
const TInt KBandwidthValue6 = 40200;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
// MODULE DATA STRUCTURES
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
struct TStreamingAdapterData
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
    TPtrC iName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
    TInt iMaxBw;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
    TInt iMinUdpPort;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
    TInt iMaxUdpPort;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
    CWPCharacteristic* iNapDef;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
    };
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
// ============================ MEMBER FUNCTIONS ===============================
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
// CStreamingAdapter::CStreamingAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
// C++ default constructor can NOT contain any code, that
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
// might leave.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
CStreamingAdapter::CStreamingAdapter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
// CStreamingAdapter::ConstructL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
// Symbian 2nd phase constructor can leave.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
void CStreamingAdapter::ConstructL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
    FLOG( _L( "[Provisioning] CStreamingAdapter::ConstructL:" ) );
67
hgs
parents: 47
diff changeset
    89
    TBool result = HbTextResolverSymbian::Init(KStreamingResourceFileName, KStreamingResourceFilePath );
hgs
parents: 47
diff changeset
    90
    _LIT(KStreamingAdapter, "txt_device_update_dblist_streaming_settings");
hgs
parents: 47
diff changeset
    91
		iTitle = HbTextResolverSymbian::LoadL(KStreamingAdapter);	                                        
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
    FLOG( _L( "[Provisioning] CStreamingAdapter::ConstructL: Done" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
// CStreamingAdapter::NewL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
// Two-phased constructor.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
CStreamingAdapter* CStreamingAdapter::NewL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
    CStreamingAdapter* self = new(ELeave) CStreamingAdapter; 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
    CleanupStack::PushL(self);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
    self->ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
    CleanupStack::Pop(self);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
    return self;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
// CStreamingAdapter::~CStreamingAdapter
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
// Destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
CStreamingAdapter::~CStreamingAdapter()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
    delete iTitle;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
    delete iCurrentData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
    delete iTempData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
	delete iModel;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
// CStreamingAdapter::ItemCount
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   126
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   127
TInt CStreamingAdapter::ItemCount() const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   128
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   129
    // If ItemCount() returns zero, the adapter is unloaded at startup. 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   130
	// SummaryTitle(), SummaryText(), SaveL(), SetAsDefaultL() and 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   131
	// CanSetAsDefault() are called ItemCount() times
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   132
    return iCurrentData ? 1 : 0;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   133
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   134
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   135
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   136
// CStreamingAdapter::SummaryTitle
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   137
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   138
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   139
const TDesC16& CStreamingAdapter::SummaryTitle(TInt /*aIndex*/) const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   140
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   141
    return *iTitle;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   142
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   143
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   144
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   145
// CStreamingAdapter::SummaryText
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   146
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   147
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   148
const TDesC16& CStreamingAdapter::SummaryText(TInt /*aIndex*/) const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   149
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   150
    return iCurrentData->iName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   151
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   152
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   153
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   154
// CStreamingAdapter::DetailsL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   155
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   156
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   157
TInt CStreamingAdapter::DetailsL(TInt /*aItem*/, MWPPairVisitor& /*aVisitor*/)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   158
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   159
    // Detail view is a feature for later release.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   160
    return KErrNotSupported;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   161
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   162
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   163
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   164
// CStreamingAdapter::SaveL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   165
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   166
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   167
void CStreamingAdapter::SaveL( TInt /*aItem*/ )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   168
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   169
    FLOG( _L( "[Provisioning] CStreamingAdapter::SaveL:" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   170
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   171
    __ASSERT_DEBUG( iCurrentData->iNapDef, User::Leave( KErrCorrupt ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   172
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   173
    InitSettingsModelL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   174
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   175
    // Load default values
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   176
    iModel->LoadSettingsL(EConfigDefault);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   177
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   178
    // Set max bandwidth value if valid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   179
    if (iCurrentData->iMaxBw != KInvalidValue)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   180
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   181
        iModel->SetMaxBandwidth(iCurrentData->iMaxBw, EBearerGPRS);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   182
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   183
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   184
    // Set udp port range if valid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   185
    if (iCurrentData->iMinUdpPort != KInvalidValue && 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   186
        iCurrentData->iMaxUdpPort != KInvalidValue)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   187
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   188
        iModel->SetMinUDPPort(iCurrentData->iMinUdpPort);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   189
        iModel->SetMaxUDPPort(iCurrentData->iMaxUdpPort);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   190
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   191
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   192
    // Get the IAP id
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   193
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   194
    RCmManagerExt  cmmanagerExt;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   195
    cmmanagerExt.OpenL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   196
    CleanupClosePushL(cmmanagerExt);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   197
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   198
    TPckgBuf<TUint32> uid;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   199
    TBool proxyDefined(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   200
    TBool apDefined(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   201
    TBool apWithoutProxyDefined(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   202
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   203
    for (TInt i(0); iCurrentData->iNapDef->Data(i).Length() == uid.MaxLength()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   204
        && !(proxyDefined && apWithoutProxyDefined); i++)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   205
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   206
        uid.Copy(iCurrentData->iNapDef->Data(i));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   207
        RCmConnectionMethodExt cm;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   208
        cm = cmmanagerExt.ConnectionMethodL( uid() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   209
        CleanupClosePushL( cm );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   210
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   211
        TBool useProxy = cm.GetBoolAttributeL( CMManager::ECmProxyUsageEnabled );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   212
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   213
        if (!apDefined || (!useProxy && !apWithoutProxyDefined))
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   214
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   215
            iModel->SetDefaultAp(uid());
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   216
            apDefined = ETrue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   217
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   218
            iSavedID.Copy(uid);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   219
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   220
            if (!useProxy)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   221
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   222
                apWithoutProxyDefined = ETrue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   223
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   224
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   225
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   226
        if (!proxyDefined && useProxy)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   227
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   228
           // Get proxy port
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   229
            TUint32 proxyPort = cm.GetIntAttributeL( CMManager::ECmProxyPortNumber );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   230
            
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   231
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   232
            // Get proxy host name
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   233
            const HBufC* proxyHost = cm.GetStringAttributeL( CMManager::ECmProxyServerName );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   234
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   235
            if(*proxyHost != KNullDesC && proxyPort <= 65535)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   236
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   237
                iModel->SetProxyHostNameL(*proxyHost);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   238
                iModel->SetProxyPort(static_cast<TInt>(proxyPort));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   239
                iModel->SetProxyMode(KProxyEnabled);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   240
                
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   241
                proxyDefined = ETrue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   242
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   243
            delete proxyHost;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   244
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   245
        CleanupStack::PopAndDestroy();//cm
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   246
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   247
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   248
    CleanupStack::PopAndDestroy(); // cmmanagerext
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   249
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   250
    iModel->StoreSettingsL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   251
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   252
    FLOG( _L( "[Provisioning] CStreamingAdapter::SaveL: Done" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   253
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   254
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   255
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   256
// CStreamingAdapter::CanSetAsDefault
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   257
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   258
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   259
TBool CStreamingAdapter::CanSetAsDefault(TInt /*aItem*/) const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   260
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   261
    return EFalse;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   262
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   263
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   264
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   265
// CStreamingAdapter::SetAsDefault
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   266
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   267
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   268
void CStreamingAdapter::SetAsDefaultL(TInt /*aItem*/)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   269
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   270
    // This shouldn't be called because CanSetAsDefault
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   271
    // always returns EFalse.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   272
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   273
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   274
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   275
// CStreamingAdapter::VisitL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   276
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   277
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   278
void CStreamingAdapter::VisitL(CWPCharacteristic& aCharacteristic)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   279
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   280
    switch(aCharacteristic.Type())
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   281
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   282
        case KWPApplication:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   283
            // Create new iTempData
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   284
            if (iTempData)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   285
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   286
                delete iTempData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   287
                iTempData = NULL;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   288
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   289
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   290
            iTempData = new (ELeave) TStreamingAdapterData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   291
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   292
            // Initialize iTempData's members
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   293
            iTempData->iName.Set(KNullDesC);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   294
            iTempData->iMaxBw = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   295
            iTempData->iMinUdpPort = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   296
            iTempData->iMaxUdpPort = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   297
            iTempData->iNapDef = NULL;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   298
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   299
            // Accept characteristic
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   300
            aCharacteristic.AcceptL(*this);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   301
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   302
            // Check iAppId and validate data
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   303
            if (iAppId == KStreamingAppId && IsValid())
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   304
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   305
                // iAppId is correct and data is valid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   306
                delete iCurrentData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   307
                iCurrentData = iTempData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   308
                iTempData = NULL;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   309
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   310
            else
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   311
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   312
                // iAppId is incorrect or data is invalid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   313
                delete iTempData;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   314
                iTempData = NULL;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   315
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   316
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   317
        default:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   318
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   319
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   320
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   321
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   322
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   323
// CStreamingAdapter::VisitL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   324
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   325
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   326
void CStreamingAdapter::VisitL(CWPParameter& aParameter)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   327
    { 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   328
    // Check the contents of whole characteristic before overwriting iMaxBw, 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   329
    // iMinUdpPort and iMaxUdpPort. Might be looking at the wrong application
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   330
	// characteristic
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   331
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   332
    __ASSERT_DEBUG(iTempData, User::Leave(KErrCorrupt));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   333
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   334
    TInt value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   335
    switch(aParameter.ID())
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   336
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   337
        case EWPParameterAppID:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   338
            iAppId.Set(aParameter.Value());
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   339
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   340
        case EWPParameterName:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   341
            if (iTempData->iName == KNullDesC)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   342
                {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   343
                iTempData->iName.Set(aParameter.Value());
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   344
                }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   345
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   346
		case EWPNamedParameter:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   347
			{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   348
			if( aParameter.Name().Compare( KMaxBandwidthStr ) == 0
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   349
				&& !ParseIntegerL( aParameter.Value(), value ) )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   350
				{							
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   351
				iTempData->iMaxBw = value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   352
				}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   353
			else if( aParameter.Name().Compare( KMaxUdpPortStr ) == 0
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   354
				&& !ParseIntegerL( aParameter.Value(), value ) )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   355
				{							
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   356
				iTempData->iMaxUdpPort = value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   357
				}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   358
			else if( aParameter.Name().Compare( KMinUdpPortStr ) == 0
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   359
				&& !ParseIntegerL( aParameter.Value(), value ) )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   360
				{							
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   361
                iTempData->iMinUdpPort = value;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   362
				}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   363
			break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   364
			}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   365
        default:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   366
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   367
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   368
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   369
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   370
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   371
// CStreamingAdapter::VisitLinkL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   372
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   373
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   374
void CStreamingAdapter::VisitLinkL(CWPCharacteristic& aCharacteristic)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   375
    { 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   376
    // Here again, do not overwrite iPXLogical before you're sure
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   377
    // you're looking at the correct APPLICATION
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   378
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   379
    __ASSERT_DEBUG(iTempData, User::Leave(KErrCorrupt));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   380
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   381
    switch(aCharacteristic.Type())
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   382
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   383
        //intentional fall-through
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   384
        case KWPNapDef:        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   385
        case KWPPxLogical:    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   386
            iTempData->iNapDef = &aCharacteristic;          
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   387
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   388
        default:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   389
            break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   390
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   391
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   392
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   393
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   394
// CStreamingAdapter::ContextExtension
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   395
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   396
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   397
TInt CStreamingAdapter::ContextExtension(MWPContextExtension*& aExtension)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   398
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   399
    aExtension = this;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   400
    return KErrNone;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   401
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   402
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   403
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   404
// CStreamingAdapter::SaveDataL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   405
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   406
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   407
const TDesC8& CStreamingAdapter::SaveDataL(TInt /*aIndex*/) const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   408
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   409
    return iSavedID;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   410
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   411
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   412
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   413
// CStreamingAdapter::DeleteL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   414
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   415
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   416
void CStreamingAdapter::DeleteL(const TDesC8& aSaveData)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   417
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   418
    TUint32 id;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   419
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   420
    InitSettingsModelL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   421
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   422
    iModel->GetDefaultAp(id);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   423
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   424
    TPckgBuf<TUint32> pckg;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   425
    pckg.Copy(aSaveData);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   426
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   427
    if (id == pckg())
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   428
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   429
        iModel->LoadSettingsL(EConfigDefault);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   430
        iModel->StoreSettingsL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   431
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   432
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   433
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   434
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   435
// CStreamingAdapter::Uid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   436
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   437
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   438
TUint32 CStreamingAdapter::Uid() const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   439
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   440
    return iDtor_ID_Key.iUid;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   441
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   442
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   443
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   444
// CStreamingAdapter::IsValid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   445
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   446
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   447
TBool CStreamingAdapter::IsValid()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   448
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   449
    TBool validity(EFalse);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   450
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   451
    if (iTempData->iNapDef)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   452
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   453
        // Validity checks for min and max UDP port values
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   454
        if (iTempData->iMinUdpPort < KMinUDPPort)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   455
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   456
            iTempData->iMinUdpPort = KDefaultMinUDPPort; 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   457
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   458
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   459
        if (iTempData->iMaxUdpPort > KMaxUDPPort)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   460
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   461
            iTempData->iMaxUdpPort = KDefaultMaxUDPPort; 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   462
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   463
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   464
        if (iTempData->iMinUdpPort > iTempData->iMaxUdpPort)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   465
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   466
            iTempData->iMinUdpPort = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   467
            iTempData->iMaxUdpPort = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   468
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   469
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   470
        // Validity check for max bandwidth value
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   471
        switch (iTempData->iMaxBw)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   472
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   473
            case KBandwidthValue1:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   474
            case KBandwidthValue2:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   475
            case KBandwidthValue3:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   476
            case KBandwidthValue4:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   477
            case KBandwidthValue5:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   478
            case KBandwidthValue6:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   479
                // iMaxBw is valid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   480
                break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   481
            default:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   482
                // iMaxBw is invalid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   483
                iTempData->iMaxBw = KInvalidValue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   484
                break;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   485
            }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   486
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   487
        validity = ETrue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   488
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   489
            
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   490
    return validity;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   491
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   492
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   493
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   494
// CStreamingAdapter::ParseIntegerL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   495
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   496
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   497
TInt CStreamingAdapter::ParseIntegerL(const TDesC& aPtr, TInt& aInt) 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   498
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   499
    TLex lex(aPtr);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   500
    return lex.Val(aInt);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   501
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   502
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   503
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   504
// CStreamingAdapter::Cleanup
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   505
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   506
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   507
void CStreamingAdapter::Cleanup( TAny* aAny )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   508
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   509
	RImplInfoPtrArray* implArray = 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   510
		reinterpret_cast< RImplInfoPtrArray*> ( aAny );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   511
	implArray->ResetAndDestroy();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   512
	implArray->Close();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   513
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   514
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   515
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   516
// CStreamingAdapter::InitSettingsModelL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   517
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   518
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   519
void CStreamingAdapter::InitSettingsModelL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   520
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   521
	FLOG( _L( "[Provisioning] CStreamingAdapter::InitSettingsModelL:" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   522
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   523
    if ( !iModel )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   524
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   525
        RImplInfoPtrArray impl; 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   526
    	CleanupStack::PushL( TCleanupItem( Cleanup, &impl ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   527
    	CMPSettingsModel::ListImplementationsL( impl );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   528
    	if( impl.Count() > 0 )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   529
            {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   530
            FLOG( _L( "[Provisioning] CStreamingAdapter::InitSettingsModelL: Creating CMPSettingsModel" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   531
    	    // using the first available implementation
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   532
            iModel= CMPSettingsModel::NewL( impl[0]->ImplementationUid() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   533
            FLOG( _L( "[Provisioning] CStreamingAdapter::InitSettingsModelL: Creating CMPSettingsModel Done" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   534
        	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   535
    	CleanupStack::PopAndDestroy(); // implArray
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   536
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   537
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   538
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   539
//  End of File