applicationmanagement/server/inc/AMPreInstallApp.h
author hgs
Tue, 13 Jul 2010 04:01:20 +0530
changeset 47 d316aecb87fd
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
 * Description: Implementation of applicationmanagement components
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
 *
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
 */
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
#ifndef AMPREINSTALLAPP_H_
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
#define AMPREINSTALLAPP_H_
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
#include <e32base.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
#include <badesca.h> 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
#include <f32file.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
#include "ApplicationManagementCommon.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
#include "amstorage.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
_LIT(KPreInstallPath, "\\private\\10202dce\\");
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
namespace NApplicationManagement
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
    {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
    class TPreInstalledAppParams
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
public:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
        TUid iPreInstalledAppUid;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
#if 1
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
       TPreInstalledAppName iPreInstalledAppame;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
       TPreInstalledAppVendorName iPreInstalledAppVendorName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
       TPreInstalledVersion iVersion;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
       TMimeType iMimeType;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
#endif
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
        //TPreInstalledVersion bufVersion;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
#if 0
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
        HBufC* iPreInstalledAppame;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
        HBufC* iPreInstalledAppVendorName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
#endif
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
        };
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
    class CAMPreInstallApp : public CBase
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
public:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
        ~CAMPreInstallApp();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
        static CAMPreInstallApp* NewL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
        static CAMPreInstallApp* NewLC();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
        void ListPreInstalledAppL(const TDesC& installDocPath);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
        void ListPreInstalledAppL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
        TBool RecognizeL(TDesC& aPathAndName, HBufC* aMimeType);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
        void MakeAllInstallPathsL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
        void GetPreInstalledAppsL(RPointerArray<TPreInstalledAppParams> &aPreInstalledAppParams);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
        void Listallapps();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
private:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
        CAMPreInstallApp();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
        void ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
private:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
        TFileName iPreInstallPath; // Path where to scan for pre-install files
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
#ifdef RD_MULTIPLE_DRIVE        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
        CDesCArray* iInstallDocPathArray;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
#else        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
        TFileName iPreInstallDocumentPath; // Path where to scan for pre-install files  
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
#endif // RD_MULTIPLE_DRIVE
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
        RFs iFs;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
        CDeliveryComponentStorage *iStorage;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
        RPointerArray<TPreInstalledAppParams> iPreInstalledAppParams;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
        };
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
#endif /*AMPREINSTALLAPP_H_*/