--- a/javamanager/javainstaller/installer/src.s60/applicationregistrator/sifregistrator.cpp Thu Jul 15 18:31:06 2010 +0300
+++ b/javamanager/javainstaller/installer/src.s60/applicationregistrator/sifregistrator.cpp Thu Aug 19 09:48:13 2010 +0300
@@ -24,6 +24,7 @@
#include <w32std.h>
#include "com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator.h"
+#include "com_nokia_mj_impl_utils_InstallerErrorMessage.h"
#include "javacommonutils.h"
#include "javasymbianoslayer.h" // for CleanupResetAndDestroyPushL
#include "logger.h"
@@ -31,53 +32,39 @@
// SCR usage is enabled if this macro has been defined.
#ifdef SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
-#include <qservicemanager.h>
-#include <qurl.h>
#include <usif/scr/scr.h>
#include <usif/scr/screntries.h>
-#ifdef RD_JAVA_USIF_APP_REG
#include <usif/scr/appreginfo.h>
-#endif // RD_JAVA_USIF_APP_REG
+#include <usif/usiferror.h>
+#include <xqappmgr.h>
// Helper macro for logging a TDesC.
#define LOG_TDESC_L(compIdParam, logLevelParam, msgParam, tdescParam) \
- { \
- HBufC8* tdescBuf = HBufC8::NewLC(tdescParam.Length() + 1); \
- TPtr8 tdescPtr(tdescBuf->Des()); \
- tdescPtr.Append(tdescParam); \
- LOG1(compIdParam, logLevelParam, msgParam, tdescPtr.PtrZ());\
- CleanupStack::PopAndDestroy(tdescBuf); \
+ { \
+ std::wstring ws((wchar_t*)tdescParam.Ptr(), tdescParam.Length()); \
+ LOG1(compIdParam, logLevelParam, msgParam, ws.c_str()); \
}
// NAMESPACE DECLARATION
-QTM_USE_NAMESPACE
using namespace java;
using namespace Usif;
IMPORT_C HBufC* CreateHBufCFromJavaStringLC(JNIEnv* aEnv, jstring aString);
-// Java MIME types.
-_LIT(KMimeTypeAppDescriptor, "text/vnd.sun.j2me.app-descriptor");
-_LIT(KMimeTypeJava, "application/java");
-_LIT(KMimeTypeJavaArchive, "application/java-archive");
-_LIT(KMimeTypeXJavaArchive, "application/x-java-archive");
-
// Properties registered to SCR.
-_LIT(KMIDletName, "MIDlet-Name");
_LIT(KUid, "Uid");
_LIT(KMediaId, "Media-Id");
_LIT(KMIDletInfoURL, "MIDlet-Info-URL");
_LIT(KMIDletDescription, "MIDlet-Description");
_LIT(KDownloadURL, "Download-URL");
+_LIT(KUpdateURL, "Update-URL");
_LIT(KSettingsPlugin, "SettingsName");
_LIT(KSettingsPluginValue, "javaapplicationsettingsview");
-#ifdef RD_JAVA_USIF_APP_REG
// Symbian file path separator.
_LIT(KPathSeperator, "\\");
// Postfix for the fake application name generated for AppArc.
_LIT(KAppPostfix, ".fakeapp");
-#endif // RD_JAVA_USIF_APP_REG
/**
* Internal helper method for checking if specified application
@@ -187,7 +174,6 @@
* See JNI method __1notifyAppChange.
* This method makes calls that may leave (the actual registering).
*/
-#ifdef RD_JAVA_USIF_NOTIFY_APP_ARC
void NotifyAppChangeL(JNIEnv *aEnv, jintArray aAppUids, jint aAppChange)
{
RApaLsSession apaSession;
@@ -220,11 +206,6 @@
CleanupStack::PopAndDestroy(&apaSession);
LOG(EJavaInstaller, EInfo, "NotifyAppChangeL completed");
}
-#else
-void NotifyAppChangeL(JNIEnv *, jintArray, jint)
-{
-}
-#endif // RD_JAVA_USIF_NOTIFY_APP_ARC
/*
* Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
@@ -235,12 +216,6 @@
(JNIEnv *aEnv, jclass, jintArray aAppUids, jint aAppChange)
{
TRAPD(err, NotifyAppChangeL(aEnv, aAppUids, aAppChange));
- if (KErrNone != err)
- {
- ELOG1(EJavaInstaller,
- "notifyAppChange: notifying AppArc failed, error %d",
- err);
- }
return err;
}
@@ -254,86 +229,47 @@
{
TInt err = KErrNone;
- QServiceManager serviceManager;
- QObject* activityManager =
- serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager");
- if (!activityManager)
+ CActiveScheduler* newScheduler = 0;
+ if (0 == CActiveScheduler::Current())
{
- err = serviceManager.error();
- ELOG1(EJavaInstaller,
- "launchAppView: loading ActivityManager failed, error %d", err);
- return KErrCouldNotConnect;
- }
- // URL for launching AppLib.
- QUrl url(QString("appto://20022F35?activityname=AppLibRecentView"));
- QMetaObject::invokeMethod(activityManager, "launchActivity",
- Q_ARG(QString, url.toString()));
- err = serviceManager.error();
- delete activityManager;
- if (QServiceManager::NoError != err)
- {
- ELOG1(EJavaInstaller,
- "launchAppView: launching AppLib activity failed, error %d",
- err);
- return KErrCouldNotConnect;
+ // Create ActiveScheduler as it does not yet exist.
+ newScheduler = new CActiveScheduler;
+ CActiveScheduler::Install(newScheduler);
}
- // Start AppLib and bring it to foreground.
- const TUid KAppLibUid = { 0x20022F35 };
- TRAP(err, StartAppL(KAppLibUid));
- return err;
-}
-
-/**
- * See JNI method __1registerJavaSoftwareType.
- * This method makes calls that may leave (the actual registering).
- */
-void RegisterJavaSoftwareTypeL(RSoftwareComponentRegistry *aScr, TBool aRegister = ETrue)
-{
- RPointerArray<HBufC> javaMimeTypes;
- CleanupResetAndDestroyPushL(javaMimeTypes);
- javaMimeTypes.AppendL(KMimeTypeAppDescriptor().AllocL());
- javaMimeTypes.AppendL(KMimeTypeJava().AllocL());
- javaMimeTypes.AppendL(KMimeTypeJavaArchive().AllocL());
- javaMimeTypes.AppendL(KMimeTypeXJavaArchive().AllocL());
- if (aRegister)
- {
- TUid javaSifPluginUid = TUid::Uid(0x2002bc70);
- _LIT_SECURE_ID(KJavaInstallerSid, 0x102033E6);
- aScr->AddSoftwareTypeL(
- Usif::KSoftwareTypeJava, javaSifPluginUid,
- KJavaInstallerSid, KJavaInstallerSid, javaMimeTypes);
- }
- else
+ QUrl openRecentView("appto://20022F35?activityname=AppLibRecentView");
+ XQApplicationManager applicationManager;
+ XQAiwRequest *request = applicationManager.create(openRecentView);
+ if (request)
{
- aScr->DeleteSoftwareTypeL(Usif::KSoftwareTypeJava, javaMimeTypes);
+ LOG(EJavaInstaller, EInfo, "launchAppView: launching AppLib");
+ bool result = request->send();
+ if (!result)
+ {
+ int error = request->lastError();
+ ELOG1(EJavaInstaller,
+ "launchAppView: launching AppLib failed, error %d", error);
+ err = KErrGeneral;
+ }
+ else
+ {
+ LOG(EJavaInstaller, EInfo, "launchAppView: launching AppLib succeeded");
+ }
+ delete request;
}
- CleanupStack::PopAndDestroy(&javaMimeTypes);
-}
-/*
- * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
- * Method: _registerJavaSoftwareType
- * Signature: (Z)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerJavaSoftwareType
-(JNIEnv *, jclass, jboolean aRegister)
-{
- RSoftwareComponentRegistry *pScr = NULL;
- TRAPD(err, pScr = CreateScrL());
- if (KErrNone != err)
+ if (newScheduler)
{
- return err;
+ delete newScheduler;
+ newScheduler = 0;
}
- TRAP(err, RegisterJavaSoftwareTypeL(pScr, aRegister));
- if (KErrNone != err)
+
+ if (KErrNone == err)
{
- ELOG1(EJavaInstaller,
- "registerJavaSoftwareType: registration failed, error %d",
- err);
+ // Start AppLib and bring it to foreground.
+ const TUid KAppLibUid = { 0x20022F35 };
+ TRAP(err, StartAppL(KAppLibUid));
}
- pScr->Close();
- delete pScr;
return err;
}
@@ -408,12 +344,6 @@
TRAPD(err, pScr->RollbackTransactionL());
pScr->Close();
delete pScr;
- if (KErrNone != err)
- {
- ELOG1(EJavaInstaller,
- "rollbackSession: Rolling back transaction failed, error %d",
- err);
- }
return err;
}
@@ -443,9 +373,9 @@
HBufC *valueBuf = CreateHBufCFromJavaStringLC(aEnv, aValue);
aScr->SetComponentPropertyL(aComponentId, aName, *valueBuf);
//LOG_TDESC_L(EJavaInstaller, EInfo,
- // "SetComponentPropertyL: name %s", aName);
+ // "SetComponentPropertyL: name %S", aName);
//LOG_TDESC_L(EJavaInstaller, EInfo,
- // "SetComponentPropertyL: value %s", valueBuf->Des());
+ // "SetComponentPropertyL: value %S", valueBuf->Des());
CleanupStack::PopAndDestroy(valueBuf);
}
}
@@ -456,23 +386,14 @@
*/
TComponentId RegisterComponentL(
JNIEnv *aEnv, RSoftwareComponentRegistry *aScr, jint aUid,
- jstring aSuiteName, jstring aVendor, jstring aVersion,
- jstring aName, jstring aGlobalId,
+ jstring aSuiteName, jstring aVendor, jstring aVersion, jstring aGlobalId,
jobjectArray aComponentFiles, TInt64 aComponentSize,
TBool aIsRemovable, TBool aIsDrmProtected,
TBool aIsOriginVerified, TBool aIsUpdate, jint aMediaId,
- jstring aMidletInfoUrl, jstring aMidletDescription, jstring aDownloadUrl)
+ jstring aMidletInfoUrl, jstring aMidletDescription,
+ jstring aDownloadUrl, jstring aUpdateUrl)
{
- HBufC *name = NULL;
- if (NULL == aName)
- {
- // If name is not specified, use suite name.
- name = CreateHBufCFromJavaStringLC(aEnv, aSuiteName);
- }
- else
- {
- name = CreateHBufCFromJavaStringLC(aEnv, aName);
- }
+ HBufC *name = CreateHBufCFromJavaStringLC(aEnv, aSuiteName);
HBufC *vendor = CreateHBufCFromJavaStringLC(aEnv, aVendor);
HBufC *version = CreateHBufCFromJavaStringLC(aEnv, aVersion);
HBufC *globalId = CreateHBufCFromJavaStringLC(aEnv, aGlobalId);
@@ -499,14 +420,10 @@
aScr->SetComponentPropertyL(componentId, KSettingsPlugin(), KSettingsPluginValue());
//LOG(EJavaInstaller, EInfo, "RegisterComponentL: Settings plugin property set");
- if (NULL != aName)
- {
- // If name is specified, store suite name as property.
- SetComponentPropertyL(aEnv, aScr, componentId, KMIDletName(), aSuiteName);
- }
SetComponentPropertyL(aEnv, aScr, componentId, KMIDletInfoURL(), aMidletInfoUrl);
SetComponentPropertyL(aEnv, aScr, componentId, KMIDletDescription(), aMidletDescription);
SetComponentPropertyL(aEnv, aScr, componentId, KDownloadURL(), aDownloadUrl);
+ SetComponentPropertyL(aEnv, aScr, componentId, KUpdateURL(), aUpdateUrl);
CleanupStack::PopAndDestroy(globalId);
CleanupStack::PopAndDestroy(version);
@@ -532,22 +449,23 @@
*/
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerComponent
(JNIEnv *aEnv, jclass, jint aSessionHandle, jint aUid, jstring aSuiteName,
- jstring aVendor, jstring aVersion, jstring aName, jstring aGlobalId,
+ jstring aVendor, jstring aVersion, jstring aGlobalId,
jobjectArray aComponentFiles, jlong aComponentSize, jboolean aIsRemovable,
jboolean aIsDrmProtected, jboolean aIsOriginVerified, jboolean aIsUpdate,
jint aMediaId, jstring aMidletInfoUrl, jstring aMidletDescription,
- jstring aDownloadUrl, jobject aComponentId)
+ jstring aDownloadUrl, jstring aUpdateUrl, jobject aComponentId)
{
- //__UHEAP_MARK;
+ __UHEAP_MARK;
RSoftwareComponentRegistry *pScr =
reinterpret_cast<RSoftwareComponentRegistry*>(aSessionHandle<<2);
TComponentId componentId = -1;
TRAPD(err, componentId = RegisterComponentL(
- aEnv, pScr, aUid, aSuiteName, aVendor, aVersion, aName, aGlobalId,
+ aEnv, pScr, aUid, aSuiteName, aVendor, aVersion, aGlobalId,
aComponentFiles, aComponentSize, aIsRemovable,
aIsDrmProtected, aIsOriginVerified, aIsUpdate, aMediaId,
- aMidletInfoUrl, aMidletDescription, aDownloadUrl));
- //__UHEAP_MARKEND;
+ aMidletInfoUrl, aMidletDescription,
+ aDownloadUrl, aUpdateUrl));
+ __UHEAP_MARKEND;
if (KErrNone == err)
{
jclass clazz = aEnv->GetObjectClass(aComponentId);
@@ -565,18 +483,16 @@
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1unregisterComponent
(JNIEnv *, jclass, jint aSessionHandle, jint aComponentId)
{
- //__UHEAP_MARK;
+ __UHEAP_MARK;
RSoftwareComponentRegistry *pScr =
reinterpret_cast<RSoftwareComponentRegistry*>(aSessionHandle<<2);
TInt err = KErrNone;
-#ifdef RD_JAVA_USIF_APP_REG
TRAP(err, pScr->DeleteApplicationEntriesL(aComponentId));
-#endif // RD_JAVA_USIF_APP_REG
if (KErrNone == err)
{
TRAP(err, pScr->DeleteComponentL(aComponentId));
}
- //__UHEAP_MARKEND;
+ __UHEAP_MARKEND;
return err;
}
@@ -584,7 +500,6 @@
* See JNI method __1registerApplication.
* This method makes calls that may leave.
*/
-#ifdef RD_JAVA_USIF_APP_REG
void RegisterApplicationL(
JNIEnv *aEnv, RSoftwareComponentRegistry *aScr,
jint aComponentId, jint aAppUid,
@@ -652,47 +567,36 @@
RPointerArray<HBufC> captionsArray;
CleanupResetAndDestroyPushL(captionsArray);
TInt langCount = aEnv->GetArrayLength(aLanguages);
- TInt captionCount = aEnv->GetArrayLength(aAppNames);
- if (langCount == captionCount)
+ jint* languages = aEnv->GetIntArrayElements(aLanguages, NULL);
+ for (TInt i = 0; i < langCount; i++)
{
- jint* languages = aEnv->GetIntArrayElements(aLanguages, NULL);
- for (TInt i = 0; i < langCount; i++)
- {
- TLanguage tmpLanguage = (TLanguage)languages[i];
- HBufC *tmpCaption =
- CreateHBufCFromJavaStringLC(
- aEnv, (jstring)aEnv->GetObjectArrayElement(aAppNames, i));
- captionsArray.AppendL(tmpCaption);
- CleanupStack::Pop(tmpCaption);
- //LOG1(EJavaInstaller, EInfo,
- // "RegisterApplicationL: language %d", tmpLanguage);
- //LOG_TDESC_L(EJavaInstaller, EInfo,
- // "RegisterApplicationL: caption %s", tmpCaption->Des());
- CCaptionAndIconInfo *tmpCaptionAndIconInfo =
- CCaptionAndIconInfo::NewLC(
- /*aCaption=*/ *tmpCaption,
- /*aIconFileName=*/ KNullDesC,
- /*aNumOfAppIcons=*/ 0);
- CLocalizableAppInfo *tmpLocAppInfo =
- CLocalizableAppInfo::NewLC(
- /*aShortCaption=*/ KNullDesC,
- /*aApplicationLanguage=*/ tmpLanguage,
- /*aGroupName=*/ KNullDesC,
- /*aCaptionAndIconInfo=*/ tmpCaptionAndIconInfo,
- /*aViewDataList=*/ viewDataList);
- localizableAppInfoList.AppendL(tmpLocAppInfo);
- CleanupStack::Pop(tmpLocAppInfo);
- CleanupStack::Pop(tmpCaptionAndIconInfo);
- }
- aEnv->ReleaseIntArrayElements(aLanguages, languages, 0);
+ TLanguage tmpLanguage = (TLanguage)languages[i];
+ HBufC *tmpCaption =
+ CreateHBufCFromJavaStringLC(
+ aEnv, (jstring)aEnv->GetObjectArrayElement(aAppNames, i));
+ captionsArray.AppendL(tmpCaption);
+ CleanupStack::Pop(tmpCaption);
+ //LOG1(EJavaInstaller, EInfo,
+ // "RegisterApplicationL: language %d", tmpLanguage);
+ //LOG_TDESC_L(EJavaInstaller, EInfo,
+ // "RegisterApplicationL: caption %S", tmpCaption->Des());
+ CCaptionAndIconInfo *tmpCaptionAndIconInfo =
+ CCaptionAndIconInfo::NewLC(
+ /*aCaption=*/ *tmpCaption,
+ /*aIconFileName=*/ KNullDesC,
+ /*aNumOfAppIcons=*/ 0);
+ CLocalizableAppInfo *tmpLocAppInfo =
+ CLocalizableAppInfo::NewLC(
+ /*aShortCaption=*/ KNullDesC,
+ /*aApplicationLanguage=*/ tmpLanguage,
+ /*aGroupName=*/ KNullDesC,
+ /*aCaptionAndIconInfo=*/ tmpCaptionAndIconInfo,
+ /*aViewDataList=*/ viewDataList);
+ localizableAppInfoList.AppendL(tmpLocAppInfo);
+ CleanupStack::Pop(tmpLocAppInfo);
+ CleanupStack::Pop(tmpCaptionAndIconInfo);
}
- else
- {
- WLOG2(EJavaInstaller,
- "RegisterApplicationL: localisation not made because language " \
- "count does not match to caption count (%d != %d)",
- langCount, captionCount);
- }
+ aEnv->ReleaseIntArrayElements(aLanguages, languages, 0);
// Create application registration data objects.
TApplicationCharacteristics appCharacteristics;
@@ -728,13 +632,6 @@
CleanupStack::PopAndDestroy(caption);
__UHEAP_MARKEND;
}
-#else
-void RegisterApplicationL(
- JNIEnv *, RSoftwareComponentRegistry *, jint, jint, jstring,
- jstring, jstring, jstring, jint, jintArray, jobjectArray)
-{
-}
-#endif // RD_JAVA_USIF_APP_REG
/*
* Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
@@ -764,19 +661,13 @@
JNIEnv *aEnv, RSoftwareComponentRegistry *aScr, jint aComponentId,
jstring aName, jstring aVendor, jint aLanguage)
{
- if (NULL != aName)
- {
- HBufC *name = CreateHBufCFromJavaStringLC(aEnv, aName);
- aScr->SetComponentNameL(aComponentId, *name, (TLanguage)aLanguage);
- CleanupStack::PopAndDestroy(name);
- }
+ HBufC *name = CreateHBufCFromJavaStringLC(aEnv, aName);
+ aScr->SetComponentNameL(aComponentId, *name, (TLanguage)aLanguage);
+ CleanupStack::PopAndDestroy(name);
- if (NULL != aVendor)
- {
- HBufC *vendor = CreateHBufCFromJavaStringLC(aEnv, aVendor);
- aScr->SetVendorNameL(aComponentId, *vendor, (TLanguage)aLanguage);
- CleanupStack::PopAndDestroy(vendor);
- }
+ HBufC *vendor = CreateHBufCFromJavaStringLC(aEnv, aVendor);
+ aScr->SetVendorNameL(aComponentId, *vendor, (TLanguage)aLanguage);
+ CleanupStack::PopAndDestroy(vendor);
}
/*
@@ -881,7 +772,6 @@
* Method: _getComponentIdForApp
* Signature: (IILcom/nokia/mj/impl/installer/applicationregistrator/ComponentId;)I
*/
-#ifdef RD_JAVA_USIF_APP_REG
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1getComponentIdForApp
(JNIEnv *aEnv, jclass, jint aSessionHandle, jint aAppUid, jobject aComponentId)
{
@@ -901,13 +791,6 @@
}
return err;
}
-#else
-JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1getComponentIdForApp
-(JNIEnv *, jclass, jint, jint, jobject)
-{
- return KErrNone;
-}
-#endif // RD_JAVA_USIF_APP_REG
/**
* See JNI method __1getuid.
@@ -920,20 +803,8 @@
CleanupClosePushL(*pScr);
TInt uid = 0;
CPropertyEntry *property = pScr->GetComponentPropertyL(aCid, KUid());
- if (NULL != property)
- {
- if (property->PropertyType() == CPropertyEntry::EIntProperty)
- {
- uid = ((CIntPropertyEntry*)property)->IntValue();
- }
- else
- {
- ELOG2(EJavaInstaller,
- "GetUidL: Incorrect property type %d for cid %d",
- property->PropertyType(), aCid);
- }
- delete property;
- }
+ uid = ((CIntPropertyEntry*)property)->IntValue();
+ delete property;
// Close and delete the temporary RSoftwareComponentRegistry.
CleanupStack::PopAndDestroy(pScr);
delete pScr; // For some reason PopAndDestroy does not delete this.
@@ -970,23 +841,16 @@
HBufC *globalId = CreateHBufCFromJavaStringLC(aEnv, aGlobalId);
CComponentEntry *componentEntry =
aScr->GetComponentL(*globalId, Usif::KSoftwareTypeJava, aLanguage);
- if (NULL == componentEntry)
- {
- //LOG_TDESC_L(EJavaInstaller, EInfo,
- // "Component not found for GlobalId %s", globalId->Des());
- CleanupStack::PopAndDestroy(globalId);
- return;
- }
CleanupStack::PopAndDestroy(globalId);
// Log component entry.
TComponentId componentId = componentEntry->ComponentId();
- LOG_TDESC_L(EJavaInstaller, EInfo, "GlobalId: %s", componentEntry->GlobalId());
+ LOG_TDESC_L(EJavaInstaller, EInfo, "GlobalId: %S", componentEntry->GlobalId());
LOG1(EJavaInstaller, EInfo, "ComponentId: %d", componentId);
- LOG_TDESC_L(EJavaInstaller, EInfo, "SoftwareType: %s", componentEntry->SoftwareType());
- LOG_TDESC_L(EJavaInstaller, EInfo, "Name: %s", componentEntry->Name());
- LOG_TDESC_L(EJavaInstaller, EInfo, "Vendor: %s", componentEntry->Vendor());
- LOG_TDESC_L(EJavaInstaller, EInfo, "Version: %s", componentEntry->Version());
+ LOG_TDESC_L(EJavaInstaller, EInfo, "SoftwareType: %S", componentEntry->SoftwareType());
+ LOG_TDESC_L(EJavaInstaller, EInfo, "Name: %S", componentEntry->Name());
+ LOG_TDESC_L(EJavaInstaller, EInfo, "Vendor: %S", componentEntry->Vendor());
+ LOG_TDESC_L(EJavaInstaller, EInfo, "Version: %S", componentEntry->Version());
LOG1(EJavaInstaller, EInfo, "ComponentSize: %d", componentEntry->ComponentSize());
LOG1(EJavaInstaller, EInfo, "ScomoState: %d", componentEntry->ScomoState());
LOG1(EJavaInstaller, EInfo, "IsDrmProtected: %d", componentEntry->IsDrmProtected());
@@ -1014,42 +878,37 @@
switch (propertyEntry->PropertyType())
{
case CPropertyEntry::EBinaryProperty:
- LOG_TDESC_L(EJavaInstaller, EInfo, "BinaryProperty: %s",
+ LOG_TDESC_L(EJavaInstaller, EInfo, "BinaryProperty: %S",
propertyEntry->PropertyName());
break;
case CPropertyEntry::EIntProperty:
- LOG_TDESC_L(EJavaInstaller, EInfo, "IntProperty: %s",
+ LOG_TDESC_L(EJavaInstaller, EInfo, "IntProperty: %S",
propertyEntry->PropertyName());
LOG2(EJavaInstaller, EInfo, " = 0x%x (%d)",
((CIntPropertyEntry*)propertyEntry)->IntValue(),
((CIntPropertyEntry*)propertyEntry)->IntValue());
break;
case CPropertyEntry::ELocalizedProperty:
- LOG_TDESC_L(EJavaInstaller, EInfo, "LocalizedProperty: %s",
+ LOG_TDESC_L(EJavaInstaller, EInfo, "LocalizedProperty: %S",
propertyEntry->PropertyName());
- LOG_TDESC_L(EJavaInstaller, EInfo, " = %s",
+ LOG_TDESC_L(EJavaInstaller, EInfo, " = %S",
((CLocalizablePropertyEntry*)propertyEntry)->StrValue());
break;
}
}
CleanupStack::PopAndDestroy(&properties);
-#ifdef RD_JAVA_USIF_APP_REG
// Log uids of applications associated to component.
RArray<TUid> appUids;
CleanupClosePushL(appUids);
aScr->GetAppUidsForComponentL(componentId, appUids);
- if (appUids.Count() == 0)
- {
- LOG(EJavaInstaller, EInfo, "No component appUids found from SCR");
- }
+ LOG1(EJavaInstaller, EInfo, "Number of AppUids found: %d", appUids.Count());
for (TInt i = 0; i < appUids.Count(); i++)
{
LOG2(EJavaInstaller, EInfo, "AppUid [%x] (%d)",
appUids[i].iUid, appUids[i].iUid);
}
CleanupStack::PopAndDestroy(&appUids);
-#endif // RD_JAVA_USIF_APP_REG
}
/**
@@ -1085,11 +944,11 @@
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1logComponent
(JNIEnv *aEnv, jclass, jint aSessionHandle, jstring aGlobalId)
{
- __UHEAP_MARK;
+ //__UHEAP_MARK;
RSoftwareComponentRegistry *pScr =
reinterpret_cast<RSoftwareComponentRegistry*>(aSessionHandle<<2);
TRAPD(err, LogComponentL(aEnv, pScr, aGlobalId));
- __UHEAP_MARKEND;
+ //__UHEAP_MARKEND;
return err;
}
@@ -1101,11 +960,51 @@
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1getUsifMode
(JNIEnv *, jclass)
{
-#ifdef RD_JAVA_USIF_APP_REG
return 1;
-#else
- return 0;
-#endif // RD_JAVA_USIF_APP_REG
+}
+
+/*
+ * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
+ * Method: _getErrorCategory
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1getErrorCategory
+(JNIEnv *, jclass, jint aErrorId)
+{
+ int errorCategory = Usif::EUnexpectedError;
+ switch (aErrorId)
+ {
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_NO_MEM:
+ errorCategory = Usif::ELowDiskSpace;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_NO_NET:
+ errorCategory = Usif::ENetworkUnavailable;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_CORRUPT_PKG:
+ errorCategory = Usif::ECorruptedPackage;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_COMPAT_ERR:
+ errorCategory = Usif::EApplicationNotCompatible;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_AUTHORIZATION_ERR:
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_AUTHENTICATION_ERR:
+ errorCategory = Usif::ESecurityError;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_PUSH_REG_ERR:
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_UNEXPECTED_ERR:
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_UNINST_UNEXPECTED_ERR:
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_OTHER_UNEXPECTED_ERR:
+ errorCategory = Usif::EUnexpectedError;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_INST_CANCEL:
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_UNINST_CANCEL:
+ errorCategory = Usif::EUserCancelled;
+ break;
+ case com_nokia_mj_impl_utils_InstallerErrorMessage_UNINST_NOT_ALLOWED:
+ errorCategory = Usif::EUninstallationBlocked;
+ break;
+ }
+ return errorCategory;
}
#else // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK
@@ -1134,17 +1033,6 @@
/*
* Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
- * Method: _registerJavaSoftwareType
- * Signature: (Z)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerJavaSoftwareType
-(JNIEnv *, jclass, jboolean)
-{
- return KErrNone;
-}
-
-/*
- * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
* Method: _startSession
* Signature: ()I
*/
@@ -1192,9 +1080,9 @@
* Signature: (ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;JZZZZLcom/nokia/mj/impl/installer/applicationregistrator/ComponentId;)I
*/
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1registerComponent
-(JNIEnv *, jclass, jint, jint, jstring, jstring, jstring, jstring, jstring,
- jobjectArray, jlong, jboolean, jboolean, jboolean, jboolean, jint, jstring,
- jstring, jstring, jobject)
+(JNIEnv *, jclass, jint, jint, jstring, jstring, jstring, jstring,
+ jobjectArray, jlong, jboolean, jboolean, jboolean, jboolean, jint,
+ jstring, jstring, jstring, jstring, jobject)
{
return KErrNone;
}
@@ -1298,4 +1186,15 @@
return 0;
}
+/*
+ * Class: com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator
+ * Method: _getErrorCategory
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_installer_applicationregistrator_SifRegistrator__1getErrorCategory
+(JNIEnv *, jclass, jint)
+{
+ return 0;
+}
+
#endif // SYMBIAN_UNIVERSAL_INSTALL_FRAMEWORK