terminalsecurity/SCP/SCPEventHandler/inc/SCPEventHandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:37:30 +0300
branchRCL_3
changeset 19 696f5dd11939
parent 0 b497e44ab2fc
permissions -rw-r--r--
Revision: 201021 Kit: 2010123

/*
* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  SCPEventHandler.h - This header file is used by swhandler.
*               This checks for uninstallation (presently only for sisx uninstallation) or 
*								removal of memory card. Whenever there is uninstallation the database has 
*								to be updated for the parameters changes.
*								This depends on Application installer (For Java: Java registry) & the SCPDatabase.
*
*/

#ifndef SCPEVENTHANDLER_H
#define SCPEVENTHANDLER_H

//For Swi (Sis registry)
#include <e32base.h>
#include <swi/launcher.h>
#include <swi/sisregistrysession.h>
#include <swi/sisregistrypackage.h>
#include <swi/sisregistryentry.h>
// Sw handler for ENUM
#include "DmEventNotifierCommon.h"
/* Java registry
#include <javadomainpskeys.h>
#include <javaregistryincludes.h>
*/

const TUint32 KNSmlDMHostServer1ID = 270506498;  // 0x101F9A02
const TUint32 KNSmlDMHostServer2ID = 270506499;  // 0x101F9A03
const TUint32 KNSmlDMHostServer3ID = 270506500;  // 0x101F9A04
const TUint32 KNSmlDMHostServer4ID = 270506501;  // 0x101F9A05

/**
 * This checks for uninstallation (presently only for sisx uninstallation) or 
 * removal of memory card. Whenever there is uninstallation the database has 
 * to be updated for the parameters changes.
 * This depends Application installer & the SCPDatabase.
 *
 * @lib SCPEventHandler.lib
 */

// Clean Comments

class CSCPEventHandler : public CBase
    {
    public: 
        
       /**
        * Two-phased constructor.
        */
        IMPORT_C static CSCPEventHandler* NewL();

       /**
        * Two-phased constructor.
        */
        IMPORT_C static CSCPEventHandler* NewLC();

       /**
        * Destructor.
        */
        ~CSCPEventHandler();
    
        /** 
         * Get the event from SWHandler. 
         * Query the db by calling the 'db api'.
         * For each of the db entry make a call to Application Installer/ Java registry & 
         * check for the state, collect all the uid's that has to change.
         * If there is need to update the database, then call SCPServer!
         * 
         * @param  Event - An event that has occured, has to be passed from the Sw-handler
         *                  May be, Memory card removal or manual uninstall etc.
         * @return None
         */
         
         IMPORT_C void NotifyChangesL(THandlerServiceId aEvent, THandlerOperation aOperation);
                
      private:
        /**
         * C++ default constructor.
         */
          CSCPEventHandler();

        /** 
         *By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
        
         /* Since the applications is of Symbian, => only sis files needs uid check. The Java related are commented
         inline void GetInstalledJavaUidsL(RArray<TUid>& aUids);
         inline TBool isInstalledJava(const TUid& aUid, const RArray<TUid>& aUids ) const;         
          */

				inline void NotifyCleanupL(RArray<TUid>& aUids);
    };
#endif SCPEVENTHANDLER_H