#ifndef _INSTALLER_DEFS_H_
#define _INSTALLER_DEFS_H_
-#define OSP_INSTALLER_VERSION "osp-installer version = 20130131.2"
+#include "InstallerUtil.h"
+
+#define OSP_INSTALLER_VERSION "version=[20130413.1]"
#define DIR_BIN L"/bin"
#define DIR_INFO L"/info"
#define DIR_SETTING L"/setting"
#define DIR_CONTENTS L"/contents"
#define DIR_SHARED_RES L"/shared/res"
+#define DIR_SHARED_DATA L"/shared/data"
+#define DIR_SHARED_TRUSTED L"/shared/trusted"
#define SLP_DIR_BIN L"/bin"
#define SLP_DIR_RES L"/res"
#define UISCALABILITY_INFO L"1 %ls %ls %ls"
+#define CONFIG_PATH L"/usr/etc/installer-config.ini"
+
#define UIAPP_LOADER_PATH "/usr/lib/osp/osp-ui-app-loader" // UiApp
#define SERVICEAPP_LOADER_PATH "/usr/lib/osp/osp-service-app-loader" // ServiceApp
-#define SYSTEMAPP_LOADER_PATH "/usr/lib/osp/osp-system-service-loader" // System Service
+#define SYSTEMSERIVCE_LOADER_PATH "/usr/lib/osp/osp-system-service-loader" // System Service
#define IME_PATH "/opt/apps/scim/lib/scim-1.0/1.4.0/Helper"
#define SUB_MODE_APPCONTROL_NAME L"_AppControl"
#define APP_OWNER_ID 5000
#define APP_GROUP_ID 5000
-#define APPID_LENGTH 10
+#define PACKAGE_ID_LENGTH 10
#define APP_DIR_LENGTH 20
#define TEST_ARG_COUNT 1
#define COMMAND_ARG_COUNT 3
+#define TERMINATE_RETRY_COUNT 300
#define DIR_OSP_APPLICATIONS_TEMP L"/opt/usr/apps/__@@osp_tmp@@__"
#define PERM_EXECUTE (S_IXUSR | S_IXGRP | S_IXOTH)
#define PERM_WRITE (S_IWUSR | S_IWGRP | S_IWOTH)
+#define PERM_OWNER_ROOT 0
+#define PERM_OWNER_APP 1
+
+#define PERM_SMACK_0 0
+#define PERM_SMACK_1 1
+#define PERM_SMACK_2 2
+#define PERM_SMACK_3 3
+
#define TIZEN_PRIVILEGE_WEB_SERVICE "http://tizen.org/privilege/web.service"
#define TIZEN_CATEGORY_IME "http://tizen.org/category/ime"
#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 DIR_APPLICATIONS_TMP "/opt/usr/apps/tmp"
+
+#define INSTALLER_RDS_FILE_NAME ".rds_delta"
+#define INSTALLER_RDS_DELETE_STR "delete"
+#define INSTALLER_RDS_ADD_STR "add"
+#define INSTALLER_RDS_MODIFY_STR "modify"
+
static const int BLOCK_SIZE = 4096;
+static const int SIGNATURE_FILE_NUMBER_DISTRIBUTOR = 1;
#define OSP_INSTALLER "osp-installer"
-#ifdef AppLogTag
-#undef AppLogTag
-#define AppLogTag(tag, ...) AppLogTagInternal(tag, " |", 0, __VA_ARGS__); \
- fprintf(stderr, " |");fprintf(stderr, __VA_ARGS__);fprintf(stderr, "\n");
+#ifdef AppLog
+#undef AppLog
+#define AppLog(...) AppLogTagInternal(OSP_INSTALLER, __PRETTY_FUNCTION__, __LINE__, __VA_ARGS__); \
+ InstallerUtil::AppendLog(__PRETTY_FUNCTION__, __LINE__, false, __VA_ARGS__);
#endif
#ifdef TryCatch
if (!(condition)) { \
AppLogExceptionTag(OSP_INSTALLER, __VA_ARGS__); \
expr; \
- fprintf(stderr, " |");fprintf(stderr, __VA_ARGS__);fprintf(stderr, "\n"); \
+ InstallerUtil::AppendLog(__PRETTY_FUNCTION__, __LINE__, true, __VA_ARGS__); \
goto CATCH; \
} \
else {;}
#define TryReturn(condition, returnValue, ...) \
if (!(condition)) { \
AppLogExceptionTag(OSP_INSTALLER, __VA_ARGS__); \
- fprintf(stderr, " |");fprintf(stderr, __VA_ARGS__);fprintf(stderr, "\n"); \
+ InstallerUtil::AppendLog(__PRETTY_FUNCTION__, __LINE__, true, __VA_ARGS__); \
return returnValue; \
} \
else {;}
{
INSTALLER_STEP_NONE = 0,
INSTALLER_STEP_INIT,
- INSTALLER_STEP_CHECK_SYSTEM,
INSTALLER_STEP_CHECK_PACKAGE,
INSTALLER_STEP_DRM,
INSTALLER_STEP_PARSE_MANIFEST,
+ INSTALLER_STEP_CHECK_SYSTEM,
INSTALLER_STEP_UNPACK,
INSTALLER_STEP_LICENSE,
INSTALLER_STEP_PARSE_SIGNATURE,
INSTALLER_STEP_UNINSTALL,
INSTALLER_STEP_END,
+ INSTALLER_STEP_RDS_INIT,
+ INSTALLER_STEP_RDS,
+
INSTALLER_STEP_MAX,
};
};
-enum RequesterType
+enum InstallerOption
{
- REQUESTER_TYPE_NORMAL,
- REQUESTER_TYPE_IDE,
- REQUESTER_TYPE_PRELOADED,
+ INSTALLER_OPTION_NONE = 0,
+ INSTALLER_OPTION_NORMAL = 1,
+ INSTALLER_OPTION_IDE = 2,
+ INSTALLER_OPTION_PRELOADED = 4,
+ INSTALLER_OPTION_HYBRID = 8,
+ INSTALLER_OPTION_NO_INPUT = 16,
+ INSTALLER_OPTION_FILELOG_ON = 32,
};
INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED = 33,
INSTALLER_ERROR_CERTIFICATE_EXPIRED = 34,
INSTALLER_ERROR_PRIVILEGE_INVALID = 41,
+ INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID = 42,
INSTALLER_ERROR_MENU_ICON_NOT_FOUND = 51,
INSTALLER_ERROR_FATAL_ERROR = 61,
INSTALLER_ERROR_OUT_OF_STORAGE = 62,
{
INSTALLER_OPERATION_INSTALL,
INSTALLER_OPERATION_UNINSTALL,
+ INSTALLER_OPERATION_REINSTALL,
};
enum RootCertificateType
{
- ROOT_CERTIFICATE_NONE,
+ ROOT_CERTIFICATE_NONE = 0,
ROOT_CERTIFICATE_DEVELOPER,
ROOT_CERTIFICATE_PUBLIC,
ROOT_CERTIFICATE_PARTNER,
ROOT_CERTIFICATE_PARTNER_OPERATOR,
ROOT_CERTIFICATE_PARTNER_MANUFACTURER,
+ ROOT_CERTIFICATE_CERT_SVC_PUBLIC = (1 << 6),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER = (1 << 7),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER_OPERATOR = (1 << 8),
+ ROOT_CERTIFICATE_CERT_SVC_PARTNER_MANUFACTURER = (1 << 9),
+ ROOT_CERTIFICATE_CERT_SVC_PLATFORM = (1 << 10),
+
};
-enum
+enum SignatureFileType
{
- INSTALLER_MODE_INSTALL = 1,
- INSTALLER_MODE_UNINSTALL = 2,
- INSTALLER_MODE_RECURSIVE_DIRECTORY_INSTALL = 3,
+ SIGNATURE_FILE_TYPE_NONE,
+ SIGNATURE_FILE_TYPE_AUTHOR,
+ SIGNATURE_FILE_TYPE_DISTRIBUTOR,
+
};
enum
{
- INSTALLER_PREFIX_TYPE_NONE,
- INSTALLER_PREFIX_TYPE_ORG,
-
+ INSTALLER_MODE_INSTALL = 1,
+ INSTALLER_MODE_UNINSTALL = 2,
+ INSTALLER_MODE_RECURSIVE_DIRECTORY_INSTALL = 3,
+ INSTALLER_MODE_REINSTALL = 4,
};
enum CategoryType
};
+enum InstallationStorage
+{
+ INSTALLATION_STORAGE_INTERNAL,
+ INSTALLATION_STORAGE_EXTERNAL,
+
+};
+
+enum InstallerRdsState
+{
+ INSTALLER_RDS_STATE_NONE,
+ INSTALLER_RDS_STATE_DELETE,
+ INSTALLER_RDS_STATE_ADD,
+ INSTALLER_RDS_STATE_MODIFY,
+
+};
+
+typedef struct
+{
+ const char* pDir;
+ int dirType;
+ int ownerIndex;
+ int modeIndex;
+ int smackIndex;
+
+} RdsPermssions;
+
+enum PermDirType
+{
+ PERM_DIR_RES = 0,
+ PERM_DIR_DATA = 1,
+ PERM_DIR_BIN = 2,
+ PERM_DIR_INFO = 3,
+ PERM_DIR_LIB = 4,
+ PERM_DIR_SETTING = 5,
+ PERM_DIR_SHARED_RES = 6,
+ PERM_DIR_SHARED_DATA = 7,
+ PERM_DIR_SHARED_TRUSTED = 8,
+ PERM_DIR_SHARED = 9,
+ PERM_DIR_ROOT = 10,
+};
+
+enum PrivilegeLevel
+{
+ PRIVILEGE_LEVEL_PUBLIC,
+ PRIVILEGE_LEVEL_PARTNER,
+ PRIVILEGE_LEVEL_PLATFORM,
+
+};
+
#endif // _INSTALLER_DEFS_H_