#include "InstallerUtil.h"
-#define OSP_INSTALLER_VERSION "version=[20130426.1]"
+#define OSP_INSTALLER_VERSION "version=[20130426.2]"
#define DIR_BIN L"/bin"
#define DIR_INFO L"/info"
#define TIZEN_CATEGORY_HOMESCREEN "http://tizen.org/category/homescreen"
#define TIZEN_CATEGORY_LOCKSCREEN "http://tizen.org/category/lockscreen"
#define TIZEN_CATEGORY_MENUSCREEN "http://tizen.org/category/menuscreen"
+#define TIZEN_CATEGORY_ANTIVIRUS "http://tizen.org/category/antivirus"
#define DIR_APPLICATIONS_TMP "/opt/usr/apps/tmp"
,__isVerificationMode(false)
,__isUpdated(false)
,__isAppSetting(false)
+,__isAntiVirus(false)
,__operation(INSTALLER_OPERATION_INSTALL)
,__storage(INSTALLATION_STORAGE_INTERNAL)
,__rootCertType(ROOT_CERTIFICATE_NONE)
bool __isVerificationMode;
bool __isUpdated;
bool __isAppSetting;
+ bool __isAntiVirus;
InstallerOperation __operation;
InstallationStorage __storage;
return true;
}
+ TryReturn(__pContext, false, "__pContext is null");
+
int res = 0;
std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(packageId));
res = Install(pPackageId.get());
+ if (__pContext->__isAntiVirus == true)
+ {
+ RegisterAv(pPackageId.get());
+ }
+
return true;
}
return 0;
}
+int
+SmackManager::RegisterAv(const char* pPackageId)
+{
+ int ret = 0;
+ void* pHandle = null;
+ char* pErrorMsg = null;
+ int (*app_register_av)(const char*) = null;
+
+ pHandle = dlopen("libprivilege-control.so.0", RTLD_LAZY | RTLD_GLOBAL);
+ if (!pHandle)
+ {
+ AppLog("RegisterAv(): dlopen() failed. [%s]", dlerror());
+ return -1;
+ }
+
+ app_register_av = reinterpret_cast <int (*)(const char*)>(dlsym(pHandle, "app_register_av"));
+ pErrorMsg = dlerror();
+ if ((pErrorMsg != null) || (app_register_av == null))
+ {
+ AppLog("RegisterAv(): dlsym() failed. [%s]", pErrorMsg);
+ dlclose(pHandle);
+ return -1;
+ }
+
+ AppLog("[smack] app_register_av(%s)", pPackageId);
+ ret = app_register_av(pPackageId);
+ AppLog("[smack] app_register_av(%s), result = [%d]", pPackageId, ret);
+
+ dlclose(pHandle);
+
+ return ret;
+
+}
+
#if 0
int
SmackManager::AddPermissions(const char* pPackageId, const char** ppPermissions)
int EnablePermissions(const char* pPackageId, int appType, const char** ppPermissions, bool persistent);
int RevokePermissions(const char* pPackageId);
+ int RegisterAv(const char* pPackageId);
+
// deprecated
//int AddPermissions(const char* pPackageId, const char** ppPermissions);
{
__pAppData->__feature = CATEGORY_TYPE_IME;
}
+ else if (strcasecmp(pCharacters, TIZEN_CATEGORY_ANTIVIRUS) == 0)
+ {
+ AppLog("ANTIVIRUS Package is detected.");
+ __pContext->__isAntiVirus = true;
+ }
return true;
}