--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javamanager/javasettings/appmngrplugin/inc/appmngr2midletruntime.h Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 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: Java MIDlet runtime type for AppMngr2
+*
+*/
+
+
+#ifndef APPMNGR2MIDLETRUNTIME_H
+#define APPMNGR2MIDLETRUNTIME_H
+
+#include <appmngr2runtime.h> // CAppMngr2Runtime
+#include <javaregistryincludes.h>
+
+class MAppMngr2RuntimeObserver;
+class CAppMngr2MidletPckgInfoFactory;
+class CAppMngr2RecognizedFile;
+class CAppMngr2PackageInfo;
+class CAknIconArray;
+class CAppMngr2MidletResourceHandler;
+
+/**
+ * ECom interface UID for AppMngr2 MIDlet Runtime Plugin
+ */
+const TInt KAppMngr2MidletUidValue = 0x20016BF8;
+const TUid KAppMngr2MidletUid = { KAppMngr2MidletUidValue };
+
+/**
+ * MIDlet Runtime Plug-in
+ *
+ * The MIDlet Runtime Plug-in provides to AppMngr:
+ * - Array of MIDlet suite Installation Packages Info objects
+ * based on provided file name list.
+ * - Array of installed MIDlets Application Info objects.
+ * - MIDlet default icons
+ * - Data types supported for creating installation
+ * - Additional directories for installation file scanning.
+ *
+ * @lib appmngr2midletplugin.dll
+ * @since S60 v9.1
+ */
+class CAppMngr2MidletRuntime : public CAppMngr2Runtime
+{
+public: // constructor and destructor
+
+ /**
+ * Two phase constructor
+ * @param aObserver Observer implementing MAppMngr2RuntimeObserver functions
+ *
+ * @since S60 9.1
+ * @return instance
+ */
+ static CAppMngr2MidletRuntime* NewL(MAppMngr2RuntimeObserver& aObserver);
+
+ /**
+ * Destructor
+ *
+ * @since S60 9.1
+ */
+ ~CAppMngr2MidletRuntime();
+
+public: // from CAppMngr2Runtime
+
+ /**
+ * Load plug-in specific icons. Functions CAppMngr2InfoBase::IconIndex()
+ * and CAppMngr2InfoBase::IndicatorIconIndex() must return indexes to the
+ * plug-in specific icons appended to aIconArray.
+ * @param aIconArray Array where to append the loaded icons
+ */
+ void LoadIconsL(CAknIconArray& aIconArray);
+
+ /**
+ * Get data types that this Runtime plug-in supports for creating installation
+ * file (CAppMngr2PackageInfo) objects. When installation files are scanned,
+ * recognized files are provided to the plug-in via GetPackageInfosL() function.
+ * @param aDataTypeArray Array where to append supported data types
+ */
+ void GetSupportedDataTypesL(CDataTypeArray& aDataTypeArray);
+
+ /**
+ * Create package info objects to represent installation files in "Installation
+ * Files" view. Each package info object is displayed as a separate item in the
+ * "Installation Files" view. Package info objects should be based on recognized
+ * installation files, provided in aFileList array. All data types match to the
+ * ones defined in function CAppMngr2Runtime::GetSupportedDataTypesL().
+ * @param aPackageInfos Array where to append package info objects
+ * @param aFileList List of recognized files
+ * @param aFsSession File server session
+ * @param aStatus The request status. KErrNone on completion,
+ * otherwise another of the system-wide error codes.
+ */
+ void GetInstallationFilesL(RPointerArray<CAppMngr2PackageInfo>& aPackageInfos,
+ const RPointerArray<CAppMngr2RecognizedFile>& aFileList,
+ RFs& aFsSession,
+ TRequestStatus& aStatus);
+
+ /**
+ * Cancel pending asynchronous GetInstallationFilesL() request.
+ */
+ void CancelGetInstallationFiles();
+
+ /**
+ * Create application info objects to represent installed applications in
+ * "Installed" view. Each application info object is displayed as separate
+ * item in "Installed" view.
+ * @param aApps Array where to add application info objects
+ * @param aFsSession File server session
+ * @param aStatus Request status for the asynchronous request
+ */
+ void GetInstalledAppsL(RPointerArray<CAppMngr2AppInfo>& aApps,
+ RFs& aFsSession, TRequestStatus& aStatus);
+
+ /**
+ * Cancel pending asynchronous GetInstalledAppsL() request.
+ */
+ void CancelGetInstalledApps();
+
+
+private: // new functions
+
+ /**
+ * Constructor
+ * @param aObserver Observer implementing MAppMngr2RuntimeObserver functions
+ *
+ * @since S60 9.1
+ */
+ CAppMngr2MidletRuntime(MAppMngr2RuntimeObserver &aObserver);
+
+ /**
+ * Second phase constructor
+ *
+ * @since S60 9.1
+ */
+ void ConstructL();
+
+ /**
+ * Create Installed MIDlet suite application info object.
+ * @param aApps Array where to add application info object
+ * @param aFsSession File server session
+ * @param aEntry Java registry MIDlet suite entry
+ */
+ void GetInstalledAppL(RPointerArray<CAppMngr2AppInfo>& aApps,
+ RFs& aFsSession,
+ Java::CJavaRegistryPackageEntry* aEntry);
+
+private: // data
+
+ /**
+ * Java Registry for getting installed Java applications
+ * Owned
+ */
+ Java::CJavaRegistry* iJavaRegistry;
+
+ /**
+ * Package Info factory for getting installation packages
+ * Owned
+ */
+ CAppMngr2MidletPckgInfoFactory* iPckgFactory;
+
+ /**
+ * Resource handler
+ * Owned
+ */
+ CAppMngr2MidletResourceHandler* iResourceHandler;
+};
+
+#endif // APPMNGR2MIDLETRUNTIME_H
+