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