#include <FAppPkg_PackageManagerImpl.h>
#include "InstallerManager.h"
+#include "HybridInstaller.h"
using namespace Tizen::App;
using namespace Tizen::App::Package;
main(int argc, char **argv)
{
int ret = 0;
- const char *pkg_info = null;
- char* pkg_path = null;
+ int errorType = 0;
+ int reqType = 0;
+ int emul = 0;
+ const char* pPkgInfo = null;
+ const char* pPkgPath = null;
const char* pOptional = null;
const char* pStoreClientId = null;
String path;
String optionalData;
PackageId packageId;
- int errorType = 0;
- pkgmgr_installer *pi = null;
- int req_type = 0;
appcore_set_i18n(null, null);
-
Osp_Initialize();
String buf;
}
}
- int emul = 0;
-
#ifdef _OSP_EMUL_
emul = 1;
#endif
- fprintf(stderr, " ## osp-installer: %s[%s] cmd=[%ls]\n", OSP_INSTALLER_VERSION, emul?"Emulator":"Target", buf.GetPointer());
+ fprintf(stderr, " ## osp-installer: %s device=[%s] cmd=[%ls]\n", OSP_INSTALLER_VERSION, emul?"Emulator":"Target", buf.GetPointer());
if (argc == TEST_ARG_COUNT)
{
errorType = InstallerManager::ReqeustByTest();
goto CATCH;
}
- else if (argc == COMMAND_ARG_COUNT)
+ else if (argc <= COMMAND_ARG_COUNT && (!(argv[1][2] == 'v' || argv[1][1] == 'v')))
{
errorType = InstallerManager::RequestByCommand(argc, argv);
goto CATCH;
}
+ else if (argv[1][2] == 'v')
+ {
+ if (argv[3] && argv[3][1] == 'p')
+ {
+ if(argv[4])
+ {
+ errorType = InstallerManager::RequestHybrid(argv[1][1], argv[2], atoi(argv[4]));
+ }
+ else
+ {
+ errorType = INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
- pi = pkgmgr_installer_new();
- _pi = pi;
+ AppLog("stdout is updated by errorType [%d]", errorType);
+ fprintf(stdout, "%d", errorType);
- pkgmgr_installer_receive_request(pi, argc, argv);
+ goto CATCH;
+ }
+ }
+ else
+ {
+ errorType = InstallerManager::RequestHybrid(argv[1][1], argv[2]);
+ }
+ goto CATCH;
+ }
+ else if(argv[1][1] == 'v')
+ {
+ if (argv[3] && argv[3][1] == 'p')
+ {
+ if(argv[4])
+ {
+ errorType = InstallerManager::RequestHybrid(argv[1][1], argv[2], atoi(argv[4]));
+ }
+ else
+ {
+ errorType = INSTALLER_ERROR_SIGNATURE_NOT_FOUND;
+
+ AppLog("stdout is updated by errorType [%d]", errorType);
+ fprintf(stdout, "%d", errorType);
+
+ goto CATCH;
+ }
+ }
+ else
+ {
+ errorType = InstallerManager::RequestHybrid(argv[1][2], argv[2]);
+ }
+ goto CATCH;
+ }
+
+ _pi = pkgmgr_installer_new();
- req_type = pkgmgr_installer_get_request_type(pi);
- if (PKGMGR_REQ_INVALID >= req_type)
+ pkgmgr_installer_receive_request(_pi, argc, argv);
+
+ reqType = pkgmgr_installer_get_request_type(_pi);
+ if (PKGMGR_REQ_INVALID >= reqType)
{
goto CATCH;
}
- pkg_info = pkgmgr_installer_get_request_info(pi);
- pkg_path = (const_cast<char*>(pkg_info));
- AppLog(" # path = [%s]", pkg_path);
+ pPkgInfo = pkgmgr_installer_get_request_info(_pi);
+ pPkgPath = (const_cast<char*>(pPkgInfo));
+ AppLog(" # path = [%s]", pPkgPath);
- path = pkg_path;
+ path = pPkgPath;
- switch (req_type)
+ switch (reqType)
{
case PKGMGR_REQ_INSTALL:
{
- pOptional = pkgmgr_installer_get_optional_data(pi);
+ pOptional = pkgmgr_installer_get_optional_data(_pi);
if (pOptional)
{
optionalData = pOptional;
AppLog(" # path = [%ls] -> optionalData = [%ls]", path.GetPointer(), optionalData.GetPointer());
}
- pStoreClientId = pkgmgr_installer_get_caller_pkgid(pi);
+ pStoreClientId = pkgmgr_installer_get_caller_pkgid(_pi);
if (pStoreClientId)
{
PackageId StoreClientId = pStoreClientId;
AppLog(" # optionalData = [%ls]", optionalData.GetPointer());
}
- errorType = InstallerManager::Request(path, INSTALLER_OPERATION_INSTALL, INSTALLER_OPTION_NORMAL, pi, &optionalData);
+ errorType = InstallerManager::Request(path, INSTALLER_OPERATION_INSTALL, INSTALLER_OPTION_NORMAL, _pi, &optionalData);
// if (errorType != 0)
// {
case PKGMGR_REQ_UNINSTALL:
{
bool isCscPackage = false;
+ String originPath;
PackageId reqeustPackageId;
path.SubString(0, PACKAGE_ID_LENGTH, reqeustPackageId);
AppLog("reqeustPackage = %ls", reqeustPackageId.GetPointer());
- String originPath;
if (InstallerManager::IsUninstallUpdates(reqeustPackageId, originPath, isCscPackage) == true)
{
AppLog("originPath = [%ls], isCscPackage = [%s]", originPath.GetPointer(), isCscPackage?"true":"false");
optionalData = reqeustPackageId;
+ errorType = InstallerManager::Request(reqeustPackageId, INSTALLER_OPERATION_UNINSTALL, INSTALLER_OPTION_NORMAL, _pi);
+
if (isCscPackage == false)
{
errorType = InstallerManager::Request(originPath, INSTALLER_OPERATION_INSTALL, INSTALLER_OPTION_RESET_PRELOADED, _pi, &optionalData);
}
else
{
- ret = InstallerManager::Request(reqeustPackageId, INSTALLER_OPERATION_UNINSTALL, INSTALLER_OPTION_NORMAL, _pi);
+ errorType = InstallerManager::Request(reqeustPackageId, INSTALLER_OPERATION_UNINSTALL, INSTALLER_OPTION_NORMAL, _pi);
}
__osp_installer_report_result(reqeustPackageId, errorType);
int moveType = -1;
moveType = pkgmgr_installer_get_move_type(_pi);
- InstallerManager::RequestMove(path, moveType);
+ InstallerManager::RequestMove(path, moveType, _pi);
}
else
{