vpnengine/vpnmanager/src/vpnapiservant.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:21 +0100
branchRCL_3
changeset 41 e06095241a65
parent 40 473321461bba
child 46 29c8f9bc68e1
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description: Handles API requests for VPN Manager.
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    19
#include <e32std.h>
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    20
#include <f32file.h>
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    22
#include "fileutil.h"
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include "vpnapiservant.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "policystore.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include "policyimporter.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "pwdchanger.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "vpnapidefs.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "vpnmanagerserverdefs.h"
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    29
#include "vpnextapiservantdefs.h"
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include "vpnmaninternal.h"
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include "log_r6.h"
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    32
#include "agileprovisionws.h"
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    33
#include "agileprovisiondefs.h"
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    34
#include "cmmanagerutils.h"
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
CVpnApiServant* CVpnApiServant::NewL(RFs& aFs)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
    CVpnApiServant* self = new (ELeave) CVpnApiServant(aFs);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
    CleanupStack::PushL(self);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
    self->ConstructL();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
    CleanupStack::Pop(); // self
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
    return self;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
    46
CVpnApiServant::CVpnApiServant(RFs& aFs) : iFs(aFs), iFileUtil(aFs)
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
void CVpnApiServant::ConstructL()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
    iPolicyStore = CPolicyStore::NewL(iFs);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
    INIT_EVENT_LOGGER(*iPolicyStore);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
CVpnApiServant::~CVpnApiServant()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
    delete iPolicyStore;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    RELEASE_EVENT_LOGGER;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
TBool CVpnApiServant::ServiceL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
    TBool requestHandled = ETrue;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
    switch (aMessage.Function())
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
        case EVpnImportPolicy:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
            ImportPolicyL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
        case EVpnCancelImport:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
            CancelImportPolicy(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
        case EVpnEnumeratePolicies:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
            EnumeratePoliciesL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
        case EVpnGetPolicyInfo:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
            GetPolicyInfoL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
        case EVpnGetPolicyDetails:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
            GetPolicyDetailsL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
        case EVpnDeletePolicy:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
            DeletePolicyL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
        case EVpnChangePassword:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
            ChangePasswordL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
        case EVpnCancelChange:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
            CancelChangePassword(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
        case EVpnGetPolicySize:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
            GetPolicySizeL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
        case EVpnGetPolicyData:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
            GetPolicyDataL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
        // New methods (to facilitate
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
        // OMA DM based policy management)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
        
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
        case EVpnAddPolicy:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
            AddPolicyL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
        case EVpnUpdatePolicyDetails:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
            UpdatePolicyDetailsL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
        case EVpnUpdatePolicyData:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
            UpdatePolicyDataL(aMessage);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
            
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   123
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   124
        //Policy Provision Methods
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   125
        case EExtCreateProvisionServer:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   126
            CreateProvisionServerL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   127
            break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   128
         
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   129
        case EExtVPNPolicyServerList:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   130
            ListProvisionServerL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   131
            break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   132
            
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   133
        case EExtVPNPolicyServerDetails:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   134
            GetProvisionServerDetailsL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   135
            break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   136
            
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   137
        case EExtSynchronizePolicyServer:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   138
            SynchronizeVPNPolicyServerL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   139
            break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   140
            
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   141
        case EExtDeletePolicyServer:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   142
             DeleteVPNPolicyServerL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   143
             break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   144
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   145
        case EExtCancelSynchronize:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   146
             CancelSynchronize(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   147
             break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   148
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   149
        case EExtGetPolicyName:
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   150
             GetVPNPolicyNameL(aMessage);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   151
             break;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   152
             
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
        default:
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
            requestHandled = EFalse;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
            break;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    return requestHandled;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
void CVpnApiServant::ImportPolicyL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
    if (iPolicyImporter)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
        aMessage.Complete(KVpnErrImportOngoing);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
    else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
        TInt len = aMessage.GetDesLength(0);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
        HBufC* input = HBufC::NewL(len);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
        CleanupStack::PushL(input);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
        
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
        TPtr ptrInput = input->Des();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
        aMessage.ReadL(FIRST_ARGUMENT, ptrInput);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
        
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
        if (input->Length() > 0)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
            {                    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
            iPolicyImporter = CPolicyImporter::NewL(aMessage, *this, *iPolicyStore, iFs);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
            iPolicyImporter->ImportPolicyL(*input);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
            }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
        else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
            {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
            aMessage.Complete(KVpnErrPolicyNotFound);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
            }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
        CleanupStack::PopAndDestroy(); // input
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
void CVpnApiServant::ImportSinglePolicyL(const TDesC& aDir, TVpnPolicyId& aNewPolicyId,
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
                                         TRequestStatus& aStatus)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    if (iPolicyImporter)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
        User::Leave(KVpnErrImportOngoing);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
    else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
        iPolicyImporter = CPolicyImporter::NewL(aStatus, *this, *iPolicyStore, iFs);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
        aStatus = KRequestPending;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
        iPolicyImporter->ImportSinglePolicyL(aDir, aNewPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
void CVpnApiServant::CancelImportPolicy(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    if (iPolicyImporter)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
        iPolicyImporter->Cancel();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        delete iPolicyImporter;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
        iPolicyImporter = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
void CVpnApiServant::CancelImportSinglePolicy()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
    if (iPolicyImporter)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
        iPolicyImporter->Cancel();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
        delete iPolicyImporter;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
        iPolicyImporter = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
void CVpnApiServant::PolicyImportComplete()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
    delete iPolicyImporter;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    iPolicyImporter = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
void CVpnApiServant::EnumeratePoliciesL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
    TInt policyCount = iPolicyStore->PolicyCount();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
    TPckg<TInt> pckgPolicyCount(policyCount);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
    aMessage.WriteL(FIRST_ARGUMENT, pckgPolicyCount);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
void CVpnApiServant::GetPolicyInfoL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
	TInt expectedPolicyCount = aMessage.Int0();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
    if (expectedPolicyCount != iPolicyStore->PolicyCount())
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
        aMessage.Complete(KVpnErrPolicyCountChanged);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
        return;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
    TUint8* rawPolicyData = iPolicyStore->RawPolicyData();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
	// Write the state array back to the client's address space
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
	TPtrC8 policyData(rawPolicyData, expectedPolicyCount * sizeof(TVpnPolicyInfo));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
    aMessage.WriteL(SECOND_ARGUMENT, policyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
void CVpnApiServant::GetPolicyDetailsL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
    LOG(Log::Printf(_L("CVpnApiServant::GetPolicyDetailsL")));    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
    TVpnPolicyId policyId;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
    TPckg<TVpnPolicyId> pckgPolicyId(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    TVpnPolicyDetails policyDetails;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
    TInt ret = iPolicyStore->GetPolicyDetailsL(policyId, policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
    if (ret == KErrNone)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
        TPckg<TVpnPolicyDetails> pckgPolicyDetails(policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
        aMessage.WriteL(SECOND_ARGUMENT, pckgPolicyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
        
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
            
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
    aMessage.Complete(ret);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
    
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   284
    LOG(Log::Printf(_L("CVpnApiServant::GetPolicyDetailsL: aMessage completed withd %d"), ret));    
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
void CVpnApiServant::DeletePolicyL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   288
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
    TVpnPolicyId policyId;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
    TPckg<TVpnPolicyId> pckgPolicyId(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
    TVpnPolicyDetails *policyDetails = new (ELeave) TVpnPolicyDetails;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
    CleanupStack::PushL(policyDetails);    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
    iPolicyStore->GetPolicyDetailsL(policyId, *policyDetails);    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
    iPolicyStore->DeletePolicyL(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
    HBufC8* tempBuf = HBufC8::NewLC(policyDetails->iName.Length());
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    tempBuf->Des().Copy(policyDetails->iName);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
    LOG_EVENT(R_VPN_MSG_DELETED_POLICY, tempBuf, NULL, 0, 0);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
    CleanupStack::PopAndDestroy(2); //tempBuf, policyDetails
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
void CVpnApiServant::ChangePasswordL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
    if (iPwdChanger)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
        aMessage.Complete(KVpnErrPwdChangeOngoing);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
    else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
        iPwdChanger = CPwdChanger::NewL(aMessage, *this);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
        iPwdChanger->ChangePassword();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
void CVpnApiServant::CancelChangePassword(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
    if (iPwdChanger)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
        iPwdChanger->Cancel();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
        delete iPwdChanger;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
        iPwdChanger = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
void CVpnApiServant::PasswordChangeComplete()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
    delete iPwdChanger;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
    iPwdChanger = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
void CVpnApiServant::GetPolicySizeL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
    TVpnPolicyId policyId;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
    TPckg<TVpnPolicyId> pckgPolicyId(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
    TInt policySize = PolicySizeL(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
    TPckg<TInt> pckgPolicySize(policySize);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
    aMessage.WriteL(SECOND_ARGUMENT, pckgPolicySize);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
void CVpnApiServant::GetPolicyDataL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
    TVpnPolicyId policyId;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    TPckg<TVpnPolicyId> pckgPolicyId(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
    TInt expectedPolicySize;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    TPckg<TInt> pckgExpectedPolicySize(expectedPolicySize);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
    aMessage.ReadL(SECOND_ARGUMENT, pckgExpectedPolicySize);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
    TInt currentPolicySize = PolicySizeL(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
    if (expectedPolicySize != currentPolicySize)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
        {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
        aMessage.Complete(KVpnErrPolicySizeChanged);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
        return;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
        }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
    HBufC8* policyData = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
    User::LeaveIfError(iPolicyStore->LoadPolicyDataL(policyId, policyData));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
    CleanupStack::PushL(policyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
    aMessage.WriteL(THIRD_ARGUMENT, *policyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
    CleanupStack::PopAndDestroy(); // policyData
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
CPolicyStore* CVpnApiServant::PolicyStore()
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
    return iPolicyStore;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
TInt CVpnApiServant::PolicySizeL(const TVpnPolicyId& aPolicyId)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
    HBufC8* policyData = NULL;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    User::LeaveIfError(iPolicyStore->LoadPolicyDataL(aPolicyId, policyData));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    TInt policySize = policyData->Size();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    delete policyData;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    return policySize;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
// New methods to facilitate OMA DM based VPN policy management
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
void CVpnApiServant::AddPolicyL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
    LOG(Log::Printf(_L("CVpnApiServant::AddPolicyL")));    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
    // Read policy details
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    TVpnPolicyDetails *policyDetails = new (ELeave) TVpnPolicyDetails;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
    CleanupStack::PushL(policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
    TPckg<TVpnPolicyDetails> pckgPolicyDetails(*policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
    // Read policy data
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
    TInt len = aMessage.GetDesLength(SECOND_ARGUMENT);
2
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   421
    HBufC8* policyData = HBufC8::NewLC(len);
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
    TPtr8 ptrPolicyData = policyData->Des();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
    aMessage.ReadL(SECOND_ARGUMENT, ptrPolicyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
2
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   425
    //Make a validy check to the policy data
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   426
    //by parsing it and checking certificate formats
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   427
    HBufC* policyData16 = HBufC::NewLC(policyData->Length());
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   428
    policyData16->Des().Copy(*policyData);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   429
    
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   430
    CIkeDataArray* ikeDataArray = CIkeDataArray::NewL(1);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   431
    CleanupStack::PushL(ikeDataArray);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   432
    
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   433
    TIkeParser* ikeParser = new (ELeave) TIkeParser(*policyData16);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   434
    CleanupStack::PushL(ikeParser);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   435
    ikeParser->ParseIKESectionsL(ikeDataArray);
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
2
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   437
    for (TInt i = 0; i < ikeDataArray->Count(); ++i)
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   438
        {
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   439
        const CIkeData* ikeData = ikeDataArray->At(i);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   440
        if (ikeData->iCAList != NULL)
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   441
            {
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   442
            for (TInt j = 0; j < ikeData->iCAList->Count(); j++)
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   443
                {
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   444
                if (ikeData->iCAList->At(j)->iFormat == BIN_CERT)
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   445
                    {
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   446
                    LOG(Log::Printf(_L("Policy contains BIN certificates --> Failing")));
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   447
                    //Ca cert in wrong format --> Error
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   448
                    User::Leave(KVpnErrInvalidPolicyFile);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   449
                    }
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   450
                }            
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   451
            }
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   452
        if ((ikeData->iOwnCert.iData.Length() > 0 &&
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   453
             ikeData->iOwnCert.iFormat == BIN_CERT) ||
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   454
            (ikeData->iPrivKey.iData.Length() > 0 &&
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   455
             ikeData->iPrivKey.iFormat == BIN_CERT) ||
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   456
            (ikeData->iPeerCert.iData.Length() > 0 &&
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   457
            ikeData->iPeerCert.iFormat == BIN_CERT))
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   458
            {
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   459
            LOG(Log::Printf(_L("Policy contains BIN certificates --> Failing")));    
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   460
            //Key or user cert in wrong format
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   461
            User::Leave(KVpnErrInvalidPolicyFile);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   462
            }        
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   463
        }
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   464
    
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   465
    CleanupStack::PopAndDestroy(); //ikeParser
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   466
    CleanupStack::PopAndDestroy(ikeDataArray);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   467
    CleanupStack::PopAndDestroy(policyData16);
ef893827b4d1 Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   468
    
0
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
    LOG(Log::Printf(_L("Calling: iPolicyStore->AddNewPolicyL")));    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
    TRAPD(err, iPolicyStore->AddNewPolicyL(*policyDetails, *policyData));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
    if (err == KErrNone)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
        TBuf<20> serverName(_L("VPN DM Server"));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
        TPtrC8 tempCastPtr8(reinterpret_cast<const TUint8*>(serverName.Ptr()), serverName.Length() * 2);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
        LOG_EVENT(R_VPN_MSG_INSTALLED_POLICY_SERVER, &(policyDetails->iId),
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
                &tempCastPtr8, err, EFalse);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
    else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
        LOG_EVENT(R_VPN_MSG_INSTALLED_POLICY_SERVER, &(policyDetails->iId), NULL,
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
                 err, EFalse);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
        User::Leave(err);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
    }    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
    LOG(Log::Printf(_L("Writing back policy details")));    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
    // Write back the possibly changed policy details
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
    aMessage.WriteL(FIRST_ARGUMENT, pckgPolicyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
    CleanupStack::PopAndDestroy(policyData);    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
    CleanupStack::PopAndDestroy(); //policyDetails
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
void CVpnApiServant::UpdatePolicyDetailsL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
    LOG(Log::Printf(_L("CVpnApiServant::UpdatePolicyDetailsL")));    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
    // Read policy details
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
    TVpnPolicyDetails* policyDetails = new (ELeave) TVpnPolicyDetails;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
    CleanupStack::PushL(policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
    TPckg<TVpnPolicyDetails> pckgPolicyDetails(*policyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
    // Update the policy details
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
    TRAPD(err, iPolicyStore->UpdatePolicyDetailsL(*policyDetails));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
    if (err != KErrNone)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
        LOG_EVENT(R_VPN_MSG_INSTALLED_POLICY_SERVER, &(policyDetails->iId), NULL,
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
                 err, ETrue);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
        User::Leave(err);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
    // Write back the possibly changed policy details
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
    aMessage.WriteL(FIRST_ARGUMENT, pckgPolicyDetails);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
    CleanupStack::PopAndDestroy(); //policyDetails
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
    
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
void CVpnApiServant::UpdatePolicyDataL(const RMessage2& aMessage)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
    // Read policy ID
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    TVpnPolicyId policyId;
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
    TPckg<TVpnPolicyId> pckgPolicyId(policyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
    aMessage.ReadL(FIRST_ARGUMENT, pckgPolicyId);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
    // Read policy data
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
    TInt len = aMessage.GetDesLength(SECOND_ARGUMENT);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
    HBufC8* policyData = HBufC8::NewL(len);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
    CleanupStack::PushL(policyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
    TPtr8 ptrPolicyData = policyData->Des();
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
    aMessage.ReadL(SECOND_ARGUMENT, ptrPolicyData);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
    // Update the policy data
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
    TRAPD(err, iPolicyStore->UpdatePolicyDataL(policyId, *policyData));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
    if (err == KErrNone)
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
        TBufC8<20> serverName(_L8("VPN DM Server"));
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
        LOG_EVENT(R_VPN_MSG_INSTALLED_POLICY_SERVER, &policyId,
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
                &serverName, err, ETrue);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
    else
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
    {
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
        LOG_EVENT(R_VPN_MSG_INSTALLED_POLICY_SERVER, &policyId, NULL,
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
                 err, ETrue);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
        User::Leave(err);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
    }
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
    CleanupStack::PopAndDestroy(); // policyData
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
    aMessage.Complete(KErrNone);
33413c0669b9 Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
    }
41
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   558
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   559
void CVpnApiServant::CreateProvisionServerL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   560
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   561
      TAgileProvisionApiServerSettings* serverCreate = new (ELeave) TAgileProvisionApiServerSettings();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   562
      CleanupStack::PushL(serverCreate);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   563
      TPckg<TAgileProvisionApiServerSettings> pckgServerCreate(*serverCreate);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   564
      aMessage.ReadL(0, pckgServerCreate);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   565
      TAgileProvisionServerLocals* serverAccountLocalData = new (ELeave) TAgileProvisionServerLocals();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   566
      CleanupStack::PushL(serverAccountLocalData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   567
      serverAccountLocalData->iSelection = serverCreate->iSelection;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   568
      serverAccountLocalData->iServerAddress.Copy(serverCreate->iServerUrl);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   569
      serverAccountLocalData->iServerNameLocal.Copy(serverCreate->iServerNameLocal);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   570
  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   571
      TFileName serverFilePath;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   572
      User::LeaveIfError(iFs.PrivatePath(serverFilePath));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   573
      serverFilePath.Append(KProvisionServerSettings);   
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   574
         
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   575
      /* Check if file allready exists and copy policy and vpn iap id to a new file */
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   576
      TFileName policyFileName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   577
      TUint32 agileProvisionAPId=0;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   578
            
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   579
      if ( iFileUtil.FileExists(serverFilePath) )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   580
         {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   581
          HBufC8* fileData=iFileUtil.LoadFileDataL(serverFilePath);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   582
          CleanupStack::PushL(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   583
             
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   584
          TPtrC8 restOfData = fileData->Des();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   585
                
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   586
          TInt bofInt;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   587
          TInt line=1;             
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   588
          while ( (bofInt=restOfData.Find(KCRLF)) != KErrNotFound && line < KPolicyFileLine )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   589
                {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   590
                restOfData.Set(restOfData.Mid(bofInt + KCRLF().Length()));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   591
                line++;                                  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   592
                }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   593
          TInt iapIdStart=restOfData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   594
          HBufC16* iapIdBuf;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   595
                 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   596
          if ( iapIdStart!=KErrNotFound )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   597
              {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   598
              TPtrC8 iapIdPtr=restOfData.Mid(iapIdStart + KCRLF().Length(),restOfData.Length()-KCRLF().Length()-iapIdStart);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   599
              iapIdBuf=iFileUtil.To16BitL(iapIdPtr);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   600
              CleanupStack::PushL(iapIdBuf);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   601
              TLex iapIdConverter(*iapIdBuf);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   602
              iapIdConverter.Val(agileProvisionAPId,EDecimal);     
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   603
              CleanupStack::PopAndDestroy(iapIdBuf);           
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   604
              }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   605
                 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   606
          if ( agileProvisionAPId >0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   607
              {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   608
               restOfData.Set(restOfData.Mid(0,iapIdStart));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   609
               HBufC16* policyFileNameBuf = iFileUtil.To16BitL(restOfData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   610
               policyFileName = *policyFileNameBuf;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   611
               delete policyFileNameBuf;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   612
              }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   613
          CleanupStack::PopAndDestroy(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   614
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   615
      /* end of saving old values */
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   616
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   617
      //IAP data Max value 255 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   618
      TBuf<10> iapIdStr;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   619
      TBuf<10> iapModeStr;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   620
      TBuf<10> iapAgileIdStr;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   621
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   622
      iapIdStr.Num(serverAccountLocalData->iSelection.iId);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   623
      iapModeStr.Num(serverAccountLocalData->iSelection.iResult);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   624
      HBufC* serverSettingsDataBuf;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   625
      if ( agileProvisionAPId >0 )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   626
          {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   627
          iapAgileIdStr.Num(agileProvisionAPId);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   628
                                                                                                                          
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   629
          serverSettingsDataBuf = HBufC::NewL(serverAccountLocalData->iServerNameLocal.Length() + serverAccountLocalData->iServerAddress.Length() + 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   630
                                              iapIdStr.Length() + iapModeStr.Length() + policyFileName.Length() + iapAgileIdStr.Length() + 5*(KCRLF().Length()) );
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   631
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   632
      else
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   633
          {                                                                                                         
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   634
          serverSettingsDataBuf = HBufC::NewL(serverAccountLocalData->iServerNameLocal.Length() + serverAccountLocalData->iServerAddress.Length() +
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   635
                                              iapIdStr.Length() + iapModeStr.Length() + 3*(KCRLF().Length()) );
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   636
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   637
      CleanupStack::PushL(serverSettingsDataBuf);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   638
      TPtr tPtr(serverSettingsDataBuf->Des());
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   639
      tPtr.Copy(serverAccountLocalData->iServerAddress);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   640
      _LIT(KCRLF, "\r\n"); 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   641
      tPtr.Append(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   642
      tPtr.Append(serverAccountLocalData->iServerNameLocal);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   643
      tPtr.Append(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   644
      tPtr.Append(iapIdStr);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   645
      tPtr.Append(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   646
      tPtr.Append(iapModeStr);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   647
      if ( agileProvisionAPId >0 )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   648
          {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   649
          tPtr.Append(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   650
          tPtr.Append(policyFileName);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   651
          tPtr.Append(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   652
          tPtr.Append(iapAgileIdStr);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   653
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   654
     
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   655
      iFileUtil.SaveFileDataL(serverFilePath,tPtr);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   656
      CleanupStack::PopAndDestroy(3);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   657
      aMessage.Complete(KErrNone);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   658
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   659
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   660
void CVpnApiServant::ListProvisionServerL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   661
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   662
      _LIT8(KCRLF, "\r\n");
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   663
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   664
      const TInt KEolLen = 2;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   665
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   666
      TAgileProvisionApiServerListElem* serverList = new (ELeave) TAgileProvisionApiServerListElem();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   667
      CleanupStack::PushL(serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   668
      TPckg<TAgileProvisionApiServerListElem> serverPckg(*serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   669
          
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   670
      TFileName serverFilePath;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   671
      User::LeaveIfError(iFs.PrivatePath(serverFilePath));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   672
      serverFilePath.Append(KProvisionServerSettings);   
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   673
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   674
      HBufC8* fileData(NULL);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   675
     
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   676
      if ( iFileUtil.FileExists(serverFilePath) )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   677
          {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   678
          fileData=iFileUtil.LoadFileDataL(serverFilePath);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   679
          CleanupStack::PushL(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   680
          TInt endOfLine=fileData->Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   681
          serverList->iServerUrl=fileData->Mid(0,endOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   682
          
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   683
          TInt startOfLine(endOfLine+KEolLen);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   684
          TPtrC8 nameData=fileData->Right(fileData->Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   685
          endOfLine=nameData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   686
          HBufC16* serverName=iFileUtil.To16BitL(nameData.Left(endOfLine));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   687
          serverList->iServerNameLocal=*serverName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   688
          delete serverName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   689
          serverName = NULL;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   690
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   691
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   692
      aMessage.WriteL(0, serverPckg);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   693
      if ( iFileUtil.FileExists(serverFilePath) )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   694
          CleanupStack::PopAndDestroy(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   695
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   696
      CleanupStack::PopAndDestroy(serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   697
      aMessage.Complete(KErrNone);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   698
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   699
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   700
void CVpnApiServant::GetProvisionServerDetailsL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   701
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   702
     
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   703
      TAgileProvisionApiServerSettings* serverList = new (ELeave) TAgileProvisionApiServerSettings();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   704
      CleanupStack::PushL(serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   705
      TPckg<TAgileProvisionApiServerSettings> serverPckg(*serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   706
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   707
      _LIT8(KCRLF, "\r\n");     
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   708
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   709
      TFileName serverFilePath;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   710
      User::LeaveIfError(iFs.PrivatePath(serverFilePath));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   711
      serverFilePath.Append(KProvisionServerSettings);  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   712
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   713
      HBufC8* fileData(NULL);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   714
      const TInt KEolLen = 2;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   715
      TBool serverFileExist = EFalse;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   716
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   717
      if ( iFileUtil.FileExists(serverFilePath) )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   718
         {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   719
          fileData=iFileUtil.LoadFileDataL(serverFilePath);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   720
          CleanupStack::PushL(fileData);  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   721
          TInt endOfLine=fileData->Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   722
          serverList->iServerUrl=fileData->Mid(0,endOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   723
                
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   724
          TInt startOfLine(endOfLine+2);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   725
          TPtrC8 nameData=fileData->Right(fileData->Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   726
          endOfLine=nameData.Find(KCRLF);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   727
             
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   728
          HBufC16* serverName=iFileUtil.To16BitL(nameData.Left(endOfLine));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   729
          serverList->iServerNameLocal=*serverName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   730
          delete serverName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   731
          serverName = NULL;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   732
          
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   733
          startOfLine = endOfLine + KEolLen;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   734
          TPtrC8 iapIdData=nameData.Right(nameData.Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   735
          endOfLine=iapIdData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   736
          TLex8 iapIdConverter(iapIdData.Left(endOfLine));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   737
          TUint idInt;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   738
          iapIdConverter.Val(idInt);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   739
          serverList->iSelection.iId = idInt;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   740
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   741
          startOfLine = endOfLine + KEolLen;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   742
          TPtrC8 iapModeData=iapIdData.Right(iapIdData.Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   743
          TLex8 iapModeConverter;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   744
          endOfLine=iapModeData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   745
          if ( endOfLine==KErrNotFound )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   746
              iapModeConverter = iapModeData;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   747
          else
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   748
              iapModeConverter = iapModeData.Left(endOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   749
              
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   750
          iapModeConverter.Val(idInt);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   751
          CMManager::TCmSettingSelectionMode selectionMode = (CMManager::TCmSettingSelectionMode) idInt;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   752
          serverList->iSelection.iResult = selectionMode; 
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   753
          serverFileExist = ETrue;   
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   754
          }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   755
      aMessage.WriteL(0, serverPckg);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   756
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   757
      if ( serverFileExist )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   758
          CleanupStack::PopAndDestroy(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   759
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   760
      CleanupStack::PopAndDestroy(serverList);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   761
      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   762
      aMessage.Complete(KErrNone);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   763
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   764
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   765
void CVpnApiServant::SynchronizeVPNPolicyServerL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   766
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   767
    iPolicyImporter = CPolicyImporter::NewL(aMessage, *this, *iPolicyStore, iFs);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   768
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   769
    //Asynchronous call
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   770
    iPolicyImporter->SynchronizeVpnPolicyServerL();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   771
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   772
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   773
void CVpnApiServant::DeleteVPNPolicyServerL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   774
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   775
    TFileName serverFilePath;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   776
    User::LeaveIfError(iFs.PrivatePath(serverFilePath));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   777
    serverFilePath.Append(KProvisionServerSettings);  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   778
    iFileUtil.DeleteFileL(serverFilePath);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   779
    aMessage.Complete(KErrNone);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   780
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   781
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   782
void CVpnApiServant::CancelSynchronize( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   783
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   784
    if (iPolicyImporter)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   785
        {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   786
        if ( iPolicyImporter->iAgileProvisionWs != NULL )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   787
            {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   788
            CAgileProvisionWs* ws = iPolicyImporter->iAgileProvisionWs;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   789
            ws->CancelGetPolicy();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   790
            }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   791
        iPolicyImporter->Cancel();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   792
        delete iPolicyImporter;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   793
        iPolicyImporter = NULL;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   794
        }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   795
    aMessage.Complete(KErrCancel);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   796
    }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   797
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   798
void CVpnApiServant::GetVPNPolicyNameL( const RMessage2& aMessage )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   799
    {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   800
    TAgileProvisionPolicy* policy = new (ELeave) TAgileProvisionPolicy();
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   801
    CleanupStack::PushL(policy);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   802
    TPckg<TAgileProvisionPolicy> serverPckg(*policy);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   803
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   804
    _LIT8(KCRLF, "\r\n");
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   805
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   806
    TFileName serverFilePath;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   807
    User::LeaveIfError(iFs.PrivatePath(serverFilePath));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   808
    serverFilePath.Append(KProvisionServerSettings);  
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   809
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   810
    HBufC8* fileData(NULL);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   811
         
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   812
    const TInt KEolLen = 2;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   813
    TBool serverFileExist = EFalse;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   814
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   815
    if ( iFileUtil.FileExists(serverFilePath) )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   816
       {
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   817
        fileData=iFileUtil.LoadFileDataL(serverFilePath);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   818
        CleanupStack::PushL(fileData);   
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   819
        TInt endOfLine=fileData->Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   820
        if (endOfLine<=0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   821
            User::Leave(KErrArgument);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   822
                        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   823
        TInt startOfLine(endOfLine + KEolLen);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   824
        TPtrC8 nameData=fileData->Right(fileData->Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   825
        endOfLine=nameData.Find(KCRLF);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   826
        if (endOfLine<=0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   827
            User::Leave(KErrArgument);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   828
                
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   829
        startOfLine = endOfLine + KEolLen;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   830
        TPtrC8 iapIdData=nameData.Right(nameData.Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   831
        endOfLine=iapIdData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   832
        if (endOfLine<=0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   833
            User::Leave(KErrArgument);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   834
           
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   835
        startOfLine = endOfLine + KEolLen;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   836
        TPtrC8 iapModeData=iapIdData.Right(iapIdData.Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   837
        endOfLine=iapModeData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   838
        if (endOfLine<=0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   839
            User::Leave(KErrArgument);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   840
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   841
        startOfLine = endOfLine + KEolLen;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   842
        TPtrC8 policyData=iapModeData.Right(iapModeData.Length()-startOfLine);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   843
        endOfLine=policyData.Find(KCRLF);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   844
        if (endOfLine<=0)
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   845
            User::Leave(KErrArgument);      
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   846
        
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   847
        HBufC16* policyName = iFileUtil.To16BitL(policyData.Left(endOfLine));
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   848
        policy->iPolicyName = *policyName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   849
        delete policyName;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   850
        policyName=NULL;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   851
        serverFileExist = ETrue;
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   852
        }
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   853
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   854
    aMessage.WriteL(0, serverPckg);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   855
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   856
    if ( serverFileExist )
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   857
        CleanupStack::PopAndDestroy(fileData);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   858
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   859
    CleanupStack::PopAndDestroy(policy);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   860
    
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   861
    aMessage.Complete(KErrNone);
e06095241a65 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 40
diff changeset
   862
    }