harvesterplugins/applications/src/applicationsplugin.cpp
author hgs
Fri, 15 Oct 2010 11:45:38 +0530
changeset 27 7a8855317cbd
parent 26 367228f82b66
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
ccd0fd43f247 Revision: 201011
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".
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:  
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include "applicationsplugin.h"
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include "harvesterserverlogger.h"
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <common.h>
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <ccpixindexer.h>
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <csearchdocument.h>
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <e32base.h>
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
//#include <menu2internalcrkeys.h> //for KCRUidMenu
16
hgs
parents: 15
diff changeset
    26
//#include <WidgetPropertyValue.h> // EBundleDisplayName 
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <centralrepository.h>
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    28
#include <opensystemtrace.h> 
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    29
#include "OstTraceDefinitions.h"
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    30
#ifdef OST_TRACE_COMPILER_IN_USE
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    31
#include "applicationspluginTraces.h"
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    32
#endif
26
hgs
parents: 18
diff changeset
    33
#include<usif/scr/appreginfo.h>
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
//Hidden applications
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
//#define KHiddenAppRepositoryUid KCRUidMenu
26
hgs
parents: 18
diff changeset
    36
#define KNumberOfAppInfoToBeRead 1
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
_LIT( KMimeTypeField, CPIX_MIMETYPE_FIELD );
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
_LIT( KMimeTypeApplication, APPLICATION_MIMETYPE);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
/** Field names */
26
hgs
parents: 18
diff changeset
    41
_LIT(KApplicationFieldShortCaption, "Name");
hgs
parents: 18
diff changeset
    42
_LIT(KApplicationFieldCaption, "CaptionName");
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
_LIT(KApplicationFieldUid, "Uid");
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
_LIT(KApplicationFieldAbsolutePath, "Path");
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
// TAppInfo.Name() returns [121345678]. The below constants are used to extract '[' & ']'
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
const TInt KUidStartIndex = 1;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
const TInt KUidEndIndex = 8;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
/** The delay between harvesting chunks. */
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
const TInt KHarvestingDelay = 1000;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
CApplicationsPlugin* CApplicationsPlugin::NewL()
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
	{
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    56
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_NEWL_ENTRY );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
    CPIXLOGSTRING("CApplicationsPlugin::NewL()");
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
	CApplicationsPlugin* instance = CApplicationsPlugin::NewLC();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    CleanupStack::Pop(instance);
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
    60
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_NEWL_EXIT );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    return instance;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
	}
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
CApplicationsPlugin* CApplicationsPlugin::NewLC()
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
	{
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
	CApplicationsPlugin* instance = new (ELeave) CApplicationsPlugin();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
    CleanupStack::PushL(instance);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
    instance->ConstructL();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
    return instance;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
	}
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
CApplicationsPlugin::CApplicationsPlugin()
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
	{
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
	}
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
CApplicationsPlugin::~CApplicationsPlugin()
26
hgs
parents: 18
diff changeset
    80
    {
hgs
parents: 18
diff changeset
    81
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_CAPPLICATIONSPLUGIN_ENTRY );
hgs
parents: 18
diff changeset
    82
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    if (iAsynchronizer)
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
        iAsynchronizer->CancelCallback();
26
hgs
parents: 18
diff changeset
    85
    //iApplicationServerSession.Close();
hgs
parents: 18
diff changeset
    86
    iScrView.Close();
hgs
parents: 18
diff changeset
    87
    iScrSession.Close();
16
hgs
parents: 15
diff changeset
    88
    //iWidgetRegistry.Close();
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
    //delete iHiddenApplicationsRepository;
26
hgs
parents: 18
diff changeset
    90
    delete iAsynchronizer;
hgs
parents: 18
diff changeset
    91
    delete iNotifier;
hgs
parents: 18
diff changeset
    92
    delete iIndexer;
hgs
parents: 18
diff changeset
    93
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_CAPPLICATIONSPLUGIN_EXIT );
hgs
parents: 18
diff changeset
    94
    }
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
void CApplicationsPlugin::ConstructL()
26
hgs
parents: 18
diff changeset
    98
    {
hgs
parents: 18
diff changeset
    99
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_CONSTRUCTL_ENTRY );
hgs
parents: 18
diff changeset
   100
	iIndexState = ETrue;
hgs
parents: 18
diff changeset
   101
    iAsynchronizer = CDelayedCallback::NewL(CActive::EPriorityIdle);
hgs
parents: 18
diff changeset
   102
    iNotifier = CApaAppListNotifier::NewL(this, CActive::EPriorityHigh);
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    //iHiddenApplicationsRepository = CRepository::NewL( KHiddenAppRepositoryUid );
16
hgs
parents: 15
diff changeset
   104
    //User::LeaveIfError( iWidgetRegistry.Connect() );
26
hgs
parents: 18
diff changeset
   105
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_CONSTRUCTL_EXIT );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
void CApplicationsPlugin::StartPluginL()
26
hgs
parents: 18
diff changeset
   110
    {
hgs
parents: 18
diff changeset
   111
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_STARTPLUGINL_ENTRY );
hgs
parents: 18
diff changeset
   112
    TRAPD(error,iScrSession.Connect());
hgs
parents: 18
diff changeset
   113
    if (error != KErrNone)
hgs
parents: 18
diff changeset
   114
        return;
hgs
parents: 18
diff changeset
   115
hgs
parents: 18
diff changeset
   116
    User::LeaveIfError(iSearchSession.DefineVolume(
hgs
parents: 18
diff changeset
   117
            _L(APPLICATIONS_QBASEAPPCLASS), KNullDesC));
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
26
hgs
parents: 18
diff changeset
   119
    // Open database
hgs
parents: 18
diff changeset
   120
    iIndexer = CCPixIndexer::NewL(iSearchSession);
hgs
parents: 18
diff changeset
   121
    iIndexer->OpenDatabaseL(_L(APPLICATIONS_QBASEAPPCLASS));
hgs
parents: 18
diff changeset
   122
hgs
parents: 18
diff changeset
   123
    // Start harvester for this plugin
hgs
parents: 18
diff changeset
   124
    iObserver->AddHarvestingQueue(this, iIndexer->GetBaseAppClass());
hgs
parents: 18
diff changeset
   125
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_STARTPLUGINL_EXIT );
hgs
parents: 18
diff changeset
   126
    }
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
void CApplicationsPlugin::StartHarvestingL(const TDesC& /* aQualifiedBaseAppClass */)
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    {
26
hgs
parents: 18
diff changeset
   131
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_STARTHARVESTINGL_ENTRY );
hgs
parents: 18
diff changeset
   132
hgs
parents: 18
diff changeset
   133
    // Harvest items on each call   
hgs
parents: 18
diff changeset
   134
    iScrView.OpenViewL(iScrSession);
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
    iIndexer->ResetL();
26
hgs
parents: 18
diff changeset
   136
    iHarvestState = EHarvesterStartHarvest;
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
    //No need to check IsStatred() since this is the first start. 
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
#ifdef __PERFORMANCE_DATA
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
    iStartTime.UniversalTime();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
#endif
26
hgs
parents: 18
diff changeset
   141
    iAsynchronizer->Start(0, this, KHarvestingDelay);
hgs
parents: 18
diff changeset
   142
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_STARTHARVESTINGL_EXIT );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
//This need not be a member function.
26
hgs
parents: 18
diff changeset
   147
void AddApplicationInfoL(CSearchDocument* aDocument,
hgs
parents: 18
diff changeset
   148
                         Usif::TAppRegInfo& aAppInfo)
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    {
26
hgs
parents: 18
diff changeset
   150
    OstTraceFunctionEntry0( _ADDAPPLICATIONINFOL_ENTRY );
hgs
parents: 18
diff changeset
   151
hgs
parents: 18
diff changeset
   152
    TBuf<KMaxFileName> docidString = aAppInfo.Uid().Name(); //This returns stuff in the form "[UID]". So remove the brackets.
hgs
parents: 18
diff changeset
   153
    docidString = docidString.Mid(KUidStartIndex, KUidEndIndex);
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
    
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   155
    //We index the exe name (without extension), only if the title is not present.
26
hgs
parents: 18
diff changeset
   156
    if (aAppInfo.ShortCaption().Compare(KNullDesC))
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   157
        {
26
hgs
parents: 18
diff changeset
   158
        aDocument->AddFieldL(KApplicationFieldShortCaption,
hgs
parents: 18
diff changeset
   159
                aAppInfo.ShortCaption(), CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   160
                        | CDocumentField::EIndexTokenized
hgs
parents: 18
diff changeset
   161
                        | CDocumentField::EIndexFreeText);
hgs
parents: 18
diff changeset
   162
        
hgs
parents: 18
diff changeset
   163
        if (aAppInfo.Caption().Compare(KNullDesC))
hgs
parents: 18
diff changeset
   164
                {
hgs
parents: 18
diff changeset
   165
                aDocument->AddFieldL(KApplicationFieldCaption,
hgs
parents: 18
diff changeset
   166
                        aAppInfo.Caption(), CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   167
                                | CDocumentField::EIndexTokenized
hgs
parents: 18
diff changeset
   168
                                | CDocumentField::EIndexFreeText);
hgs
parents: 18
diff changeset
   169
                }
hgs
parents: 18
diff changeset
   170
hgs
parents: 18
diff changeset
   171
        aDocument->AddHLDisplayFieldL(aAppInfo.ShortCaption());
hgs
parents: 18
diff changeset
   172
        }
hgs
parents: 18
diff changeset
   173
    else if (aAppInfo.Caption().Compare(KNullDesC))
hgs
parents: 18
diff changeset
   174
        {
hgs
parents: 18
diff changeset
   175
        aDocument->AddFieldL(KApplicationFieldShortCaption,
hgs
parents: 18
diff changeset
   176
                aAppInfo.Caption(), CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   177
                        | CDocumentField::EIndexTokenized
hgs
parents: 18
diff changeset
   178
                        | CDocumentField::EIndexFreeText);
hgs
parents: 18
diff changeset
   179
hgs
parents: 18
diff changeset
   180
        aDocument->AddFieldL(KApplicationFieldCaption, aAppInfo.Caption(),
hgs
parents: 18
diff changeset
   181
                CDocumentField::EStoreYes | CDocumentField::EIndexTokenized);
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   182
        }
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   183
    else
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   184
        {
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   185
        //Find the *last* location of '\' and remove the .exe to get just the filename.
26
hgs
parents: 18
diff changeset
   186
        TInt location = aAppInfo.FullName().LocateReverse('\\');
hgs
parents: 18
diff changeset
   187
        if (location > 0)
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   188
            {
26
hgs
parents: 18
diff changeset
   189
            TInt lengthOfNameWithoutExtention = aAppInfo.FullName().Length()
hgs
parents: 18
diff changeset
   190
                    - location - 1; //-1 to increment one past '\'.
hgs
parents: 18
diff changeset
   191
            TPtrC appName = aAppInfo.FullName().Right(
hgs
parents: 18
diff changeset
   192
                    lengthOfNameWithoutExtention);
hgs
parents: 18
diff changeset
   193
            aDocument->AddFieldL(KApplicationFieldShortCaption, appName.Left(
hgs
parents: 18
diff changeset
   194
                    appName.Length() - 4 /*remove ".exe"*/),
hgs
parents: 18
diff changeset
   195
                    CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   196
                            | CDocumentField::EIndexTokenized);
hgs
parents: 18
diff changeset
   197
hgs
parents: 18
diff changeset
   198
            aDocument->AddFieldL(KApplicationFieldCaption, KNullDesC,
hgs
parents: 18
diff changeset
   199
                    CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   200
                            | CDocumentField::EIndexTokenized);
hgs
parents: 18
diff changeset
   201
hgs
parents: 18
diff changeset
   202
            aDocument->AddHLDisplayFieldL(
hgs
parents: 18
diff changeset
   203
                    appName.Left(appName.Length() - 4 /*remove ".exe"*/));
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   204
            }
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   205
        }
26
hgs
parents: 18
diff changeset
   206
hgs
parents: 18
diff changeset
   207
    if (aAppInfo.FullName().Compare(KNullDesC))
hgs
parents: 18
diff changeset
   208
        {
hgs
parents: 18
diff changeset
   209
        aDocument->AddFieldL(KApplicationFieldAbsolutePath,
hgs
parents: 18
diff changeset
   210
                aAppInfo.FullName(), CDocumentField::EStoreYes
hgs
parents: 18
diff changeset
   211
                        | CDocumentField::EIndexTokenized
hgs
parents: 18
diff changeset
   212
                        | CDocumentField::EAggregateNo);
hgs
parents: 18
diff changeset
   213
hgs
parents: 18
diff changeset
   214
        }
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   215
    //For applications, no content to go into exceprt field, for more info, check the appclass-hierarchy.txt
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   216
    //aDocument->AddExcerptL( aAppInfo.iCaption );
26
hgs
parents: 18
diff changeset
   217
    aDocument->AddExcerptL(KNullDesC);
hgs
parents: 18
diff changeset
   218
hgs
parents: 18
diff changeset
   219
    OstTraceExt2( TRACE_NORMAL, _ADDAPPLICATIONINFOL, "::AddApplicationInfoL;UID=%S;PATH=%S", &docidString, &aAppInfo.FullName() );
hgs
parents: 18
diff changeset
   220
	OstTraceExt2( TRACE_NORMAL, DUP1__ADDAPPLICATIONINFOL, "::AddApplicationInfoL;Excerpt=%S;Caption=%S", &aAppInfo.Caption(), &aAppInfo.ShortCaption() );
hgs
parents: 18
diff changeset
   221
    OstTraceFunctionExit0( _ADDAPPLICATIONINFOL_EXIT );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
TBool CApplicationsPlugin::IsAppHiddenL(TUid aUid)
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
    {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
    //Application should not have 'hidden' capability.
26
hgs
parents: 18
diff changeset
   228
    TBool ret( EFalse );    
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   229
    OstTrace1( TRACE_NORMAL, CAPPLICATIONSPLUGIN_ISAPPHIDDENL, "CApplicationsPlugin::IsAppHiddenL;UID=%d", aUid );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    CPIXLOGSTRING2("CApplicationsPlugin::IsAppHidden(): UID = %d", aUid );
5
3bc31ad99ee7 Revision: 201019
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 3
diff changeset
   231
    
26
hgs
parents: 18
diff changeset
   232
    Usif::RRegistrationInfoForApplication appRegInfo;
hgs
parents: 18
diff changeset
   233
    appRegInfo.OpenL(iScrSession, aUid);
hgs
parents: 18
diff changeset
   234
    Usif::TApplicationCharacteristics appCharacteristics;
hgs
parents: 18
diff changeset
   235
    appRegInfo.GetAppCharacteristicsL(appCharacteristics);
hgs
parents: 18
diff changeset
   236
    ret = appCharacteristics.iAppIsHidden;
hgs
parents: 18
diff changeset
   237
    appRegInfo.Close();
hgs
parents: 18
diff changeset
   238
    
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   239
    OstTrace1( TRACE_NORMAL, DUP1_CAPPLICATIONSPLUGIN_ISAPPHIDDENL, "CApplicationsPlugin::IsAppHiddenL;Return Value=%d", &ret );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    CPIXLOGSTRING2("CApplicationsPlugin::IsAppHidden(): %d", &ret);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    return ret;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
// -----------------------------------------------------------------------------
26
hgs
parents: 18
diff changeset
   246
void CApplicationsPlugin::CreateApplicationsIndexItemL(RPointerArray<
hgs
parents: 18
diff changeset
   247
        Usif::TAppRegInfo>& aAppInfo, TCPixActionType /*aActionType*/)
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
    {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
    //If application has 'hidden' capability, don't index.
26
hgs
parents: 18
diff changeset
   250
    for (TInt i = 0; i < aAppInfo.Count(); i++)
hgs
parents: 18
diff changeset
   251
        {
hgs
parents: 18
diff changeset
   252
        if (!IsAppHiddenL(aAppInfo[i]->Uid()))
hgs
parents: 18
diff changeset
   253
            {
hgs
parents: 18
diff changeset
   254
            OstTrace0( TRACE_NORMAL, DUP2_CAPPLICATIONSPLUGIN_CREATEAPPLICATIONSINDEXITEML, "CApplicationsPlugin::Indexing Application" );
hgs
parents: 18
diff changeset
   255
            
hgs
parents: 18
diff changeset
   256
            TBuf<KMaxFileName> docidString;
hgs
parents: 18
diff changeset
   257
            docidString.Append(aAppInfo[i]->Uid().Name()); //This returns descriptor in the form "[UID]". So remove the brackets.
hgs
parents: 18
diff changeset
   258
            docidString = docidString.Mid(KUidStartIndex, KUidEndIndex);
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
26
hgs
parents: 18
diff changeset
   260
            CSearchDocument* document = CSearchDocument::NewLC(docidString,
hgs
parents: 18
diff changeset
   261
                                                _L(APPLICATIONS_APPCLASS));
hgs
parents: 18
diff changeset
   262
            //The UID field should not be aggregated for now as we dont want it to be searchable by default.
hgs
parents: 18
diff changeset
   263
            //By default, all tokenized fields are aggregated and therefore searchable.
hgs
parents: 18
diff changeset
   264
            //If we dont tokenize, then the field will not be searchable at all.
hgs
parents: 18
diff changeset
   265
            //As a middle path, we tokenize this field, but explicitly chose NOT to aggregate it.
hgs
parents: 18
diff changeset
   266
            //That way, if a client is interested in the UID field, he can choose to query it explicitly.
hgs
parents: 18
diff changeset
   267
            document->AddFieldL(KMimeTypeField, KMimeTypeApplication,
hgs
parents: 18
diff changeset
   268
                    CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
hgs
parents: 18
diff changeset
   269
            document->AddFieldL(KApplicationFieldUid, docidString,
hgs
parents: 18
diff changeset
   270
                    CDocumentField::EStoreYes | CDocumentField::EIndexTokenized
hgs
parents: 18
diff changeset
   271
                            | CDocumentField::EAggregateNo);
hgs
parents: 18
diff changeset
   272
            
hgs
parents: 18
diff changeset
   273
            TInt excerptLength = docidString.Length();
hgs
parents: 18
diff changeset
   274
            HBufC* excerpt = HBufC::NewL(excerptLength);
hgs
parents: 18
diff changeset
   275
            TPtr excerptPtr = excerpt->Des();
hgs
parents: 18
diff changeset
   276
            CleanupStack::PushL(excerpt);
hgs
parents: 18
diff changeset
   277
            document->AddExcerptL(excerptPtr);
hgs
parents: 18
diff changeset
   278
            CleanupStack::PopAndDestroy(excerpt);
hgs
parents: 18
diff changeset
   279
            
hgs
parents: 18
diff changeset
   280
            /*if( iWidgetRegistry.IsWidget( aAppInfo.iUid  ) ) //Widget support
hgs
parents: 18
diff changeset
   281
             AddWidgetInfoL( document, aAppInfo.iUid );
hgs
parents: 18
diff changeset
   282
             else*/
hgs
parents: 18
diff changeset
   283
            AddApplicationInfoL(document, *aAppInfo[i]);
hgs
parents: 18
diff changeset
   284
            TRAPD( error, iIndexer->AddL( *document ) );
hgs
parents: 18
diff changeset
   285
            if (KErrNone == error)
hgs
parents: 18
diff changeset
   286
                {
hgs
parents: 18
diff changeset
   287
                OstTrace0( TRACE_NORMAL, CAPPLICATIONSPLUGIN_CREATEAPPLICATIONSINDEXITEML, "CApplicationsPlugin::CreateApplicationsIndexItemL : No Error" );
hgs
parents: 18
diff changeset
   288
                CPIXLOGSTRING("CApplicationsPlugin::CreateApplicationsIndexItemL(): No Error" );
hgs
parents: 18
diff changeset
   289
                }
hgs
parents: 18
diff changeset
   290
            else
hgs
parents: 18
diff changeset
   291
                {
hgs
parents: 18
diff changeset
   292
                OstTrace1( TRACE_NORMAL, DUP1_CAPPLICATIONSPLUGIN_CREATEAPPLICATIONSINDEXITEML, "CApplicationsPlugin::CreateApplicationsIndexItemL;Error=%d", error );
hgs
parents: 18
diff changeset
   293
                CPIXLOGSTRING2("CApplicationsPlugin::CreateApplicationsIndexItemL(): Error = %d", error );
hgs
parents: 18
diff changeset
   294
                }
hgs
parents: 18
diff changeset
   295
            CleanupStack::PopAndDestroy(document);
hgs
parents: 18
diff changeset
   296
            }        
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
        }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
void CApplicationsPlugin::DelayedCallbackL( TInt /*aCode*/ )
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    {
26
hgs
parents: 18
diff changeset
   303
    if( !iIndexState )
hgs
parents: 18
diff changeset
   304
        return;
hgs
parents: 18
diff changeset
   305
    
hgs
parents: 18
diff changeset
   306
    RPointerArray<Usif::TAppRegInfo> appInfo;
hgs
parents: 18
diff changeset
   307
    //const TInt error = iApplicationServerSession.GetNextApp(appInfo);
hgs
parents: 18
diff changeset
   308
    iScrView.GetNextAppInfoL(KNumberOfAppInfoToBeRead, appInfo);
hgs
parents: 18
diff changeset
   309
    if (appInfo.Count() > 0)
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
        {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
        CreateApplicationsIndexItemL( appInfo, ECPixAddAction );
26
hgs
parents: 18
diff changeset
   312
		iAsynchronizer->Start( 0, this, KHarvestingDelay );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
        }
26
hgs
parents: 18
diff changeset
   314
		else
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
        {
26
hgs
parents: 18
diff changeset
   316
        OstTrace0( TRACE_NORMAL, CAPPLICATIONSPLUGIN_DELAYEDCALLBACKL, "CApplicationsPlugin::DelayedCallbackL:Flushing" );
hgs
parents: 18
diff changeset
   317
        
hgs
parents: 18
diff changeset
   318
        Flush(*iIndexer);
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
#ifdef __PERFORMANCE_DATA
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
    UpdatePerformaceDataL();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
#endif
26
hgs
parents: 18
diff changeset
   322
        iHarvestState = EHarvesterIdleState;
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   323
        iObserver->HarvestingCompleted( this, iIndexer->GetBaseAppClass(), KErrNone );
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   324
        }
26
hgs
parents: 18
diff changeset
   325
    appInfo.ResetAndDestroy();
hgs
parents: 18
diff changeset
   326
    }
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   327
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
void CApplicationsPlugin::DelayedError( TInt aCode )
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
    {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
    Flush(*iIndexer);
26
hgs
parents: 18
diff changeset
   332
    iHarvestState = EHarvesterIdleState;
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
    iObserver->HarvestingCompleted(this, iIndexer->GetBaseAppClass(), aCode);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
   
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
// -----------------------------------------------------------------------------
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
void CApplicationsPlugin::HandleAppListEvent( TInt aEvent )
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
    {
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   339
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_HANDLEAPPLISTEVENT_ENTRY );
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   340
    OstTrace1( TRACE_NORMAL, CAPPLICATIONSPLUGIN_HANDLEAPPLISTEVENT, "CApplicationsPlugin::HandleAppListEvent;Event=%d", aEvent );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
    CPIXLOGSTRING2("CApplicationsPlugin::HandleAppListEvent: Start with Event = %d", aEvent );
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
    if( aEvent == EAppListChanged )
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
        {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
        if( iAsynchronizer->CallbackPending() )
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
            {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
            iAsynchronizer->CancelCallback(); //first cancel any ongoing harvesting.
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
            }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
        TRAP_IGNORE( StartHarvestingL( KNullDesC ) ); //simply reharvest
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
        }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
    CPIXLOGSTRING("CApplicationsPlugin::HandleAppListEvent: Exit" );
2
208a4ba3894c Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   351
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_HANDLEAPPLISTEVENT_EXIT );
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
26
hgs
parents: 18
diff changeset
   354
void CApplicationsPlugin::PausePluginL()
hgs
parents: 18
diff changeset
   355
    {
hgs
parents: 18
diff changeset
   356
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_PAUSEPLUGINL_ENTRY );
hgs
parents: 18
diff changeset
   357
    iIndexState = EFalse;
hgs
parents: 18
diff changeset
   358
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_PAUSEPLUGINL_EXIT );
hgs
parents: 18
diff changeset
   359
    }
hgs
parents: 18
diff changeset
   360
hgs
parents: 18
diff changeset
   361
void CApplicationsPlugin::ResumePluginL()
hgs
parents: 18
diff changeset
   362
    {
hgs
parents: 18
diff changeset
   363
    OstTraceFunctionEntry0( CAPPLICATIONSPLUGIN_RESUMEPLUGINL_ENTRY );
hgs
parents: 18
diff changeset
   364
    iIndexState = ETrue;
hgs
parents: 18
diff changeset
   365
    if(iHarvestState == EHarvesterStartHarvest)
hgs
parents: 18
diff changeset
   366
        {
hgs
parents: 18
diff changeset
   367
        if(iAsynchronizer->CallbackPending())
hgs
parents: 18
diff changeset
   368
            iAsynchronizer->CancelCallback();
hgs
parents: 18
diff changeset
   369
        iAsynchronizer->Start( 0, this, KHarvestingDelay );
hgs
parents: 18
diff changeset
   370
        }
hgs
parents: 18
diff changeset
   371
    OstTraceFunctionExit0( CAPPLICATIONSPLUGIN_RESUMEPLUGINL_EXIT );
hgs
parents: 18
diff changeset
   372
    }
hgs
parents: 18
diff changeset
   373
27
hgs
parents: 26
diff changeset
   374
void CApplicationsPlugin::SaveL()
hgs
parents: 26
diff changeset
   375
    {
hgs
parents: 26
diff changeset
   376
    
hgs
parents: 26
diff changeset
   377
    }
hgs
parents: 26
diff changeset
   378
0
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
#ifdef __PERFORMANCE_DATA
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
void CApplicationsPlugin::UpdatePerformaceDataL()
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
    {
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
    TTime now;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
   
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
    iCompleteTime.UniversalTime();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
    TTimeIntervalMicroSeconds timeDiff = iCompleteTime.MicroSecondsFrom(iStartTime);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
    RFs fileSession;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    RFile perfFile;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
    User::LeaveIfError( fileSession.Connect () );
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
    /* Open file if it exists, otherwise create it and write content in it */
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
        if(perfFile.Open(fileSession, _L("c:\\data\\ApplicationsPerf.txt"), EFileWrite))
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
                   User::LeaveIfError(perfFile.Create (fileSession, _L("c:\\data\\ApplicationsPerf.txt"), EFileWrite));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    HBufC8 *heap = HBufC8::NewL(100);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    TPtr8 ptr = heap->Des();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
    now.HomeTime();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    TBuf<50> timeString;             
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
                
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
    _LIT(KOwnTimeFormat,"%:0%H%:1%T%:2%S");
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
    now.FormatL(timeString,KOwnTimeFormat);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
    ptr.AppendNum(now.DateTime().Day());
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
    ptr.Append(_L("/"));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
    ptr.AppendNum(now.DateTime().Month());
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
    ptr.Append(_L("/"));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
    ptr.AppendNum(now.DateTime().Year());
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
    ptr.Append(_L(":"));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
    ptr.Append(timeString);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    ptr.Append( _L(": Ani: Time took for Harvesting Applications is : "));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
    ptr.AppendNum(timeDiff.Int64()/1000) ;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
    ptr.Append(_L(" MilliSeonds \n"));
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
    TInt myInt = 0;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
    perfFile.Seek(ESeekEnd,myInt);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
    perfFile.Write (ptr);
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
    perfFile.Close ();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
    fileSession.Close ();
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
    delete heap;
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
    }
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
#endif
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
ccd0fd43f247 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
// End of file