📄 installer.h
字号:
#ifndef __INSTALLER_H
#define __INSTALLER_H
/*************************************************************************
* Include Header Files
*************************************************************************/
#include "j2me_custom.h"
/*************************************************************************
* Global Constant Definition
*************************************************************************/
typedef enum {
AMS_OP_INSTALL,
AMS_OP_INSTALL_JAR,
AMS_OP_UPDATE,
AMS_OP_REMOVE,
AMS_OP_INVALID
} ams_op_enum;
#define INSTALLER_DEBUG
#define INSTALLER_DETAILED_DEBUG (0)
#define __J2ME_SUPPORT_INDEX_STORAGE_NAME__
#ifdef __J2ME_SUPPORT_INDEX_STORAGE_NAME__
#define __SUPPORT_MIDLETSUITE_HASH_VALUE__
#endif
#define CLDC_VERSION "CLDC-1.1"
#define MIDP_VERSION "MIDP-2.0"
/* IVI Jack 20061228 */
#define Eureka_Domain_Name "EGE_DOMAIN"
/* Number of fields in native_permissions table */
#define NUMBER_OF_PERMISSIONS (29)
extern char* native_permissions[];
/*************************************************************************
* Midlet Attribute names
*************************************************************************/
#define JAR_MANIFEST "META-INF/MANIFEST.MF"
#define DATA_SIZE_PROP "MIDlet-Data-Size"
#define JAR_SIZE_PROP "MIDlet-Jar-Size"
#define JAR_URL_PROP "MIDlet-Jar-URL"
#define SUITE_NAME_PROP "MIDlet-Name"
#define VENDOR_PROP "MIDlet-Vendor"
#define VERSION_PROP "MIDlet-Version"
#define DESC_PROP "MIDlet-Description"
#define NOTIFY_PROP "MIDlet-Install-Notify"
#define DELETE_PROP "MIDlet-Delete-Notify"
#define CONFIGURATION_PROP "MicroEdition-Configuration"
#define PROFILE_PROP "MicroEdition-Profile"
#define PERMISSIONS_PROP "MIDlet-Permissions"
#define PERMISSIONS_OPT_PROP "MIDlet-Permissions-Opt"
/*************************************************************************
* Sub-filenames of install midlets
*************************************************************************/
#define CA_FILENAME "CA.utf"
#define JAD_URL_FILENAME "jadUrl.utf"
#define JAR_URL_FILENAME "jarUrl.utf"
#define JAD_ENCODING_FILENAME "jadEncoding.utf"
#define SETTINGS_FILENAME "settings.bin"
#define JAR_FILENAME "suite.jar"
#define JAD_FILENAME "suite.jad"
#define DELETE_NOTIFY_FILENAME "_delete_notify.utf"
#define TMP_FILENAME "_temp.jar"
#define MANIFEST_FILENAME "suite.mf"
#define SUITE_LIST_FILENAME "suites.utf"
#ifdef __SUPPORT_MIDLETSUITE_HASH_VALUE__
#define SUITE_HASH_FILENAME "suites.hash"
#define SUITE_HASH_BACKUP_FILENAME "suites.hashtmp"
#endif
#define SUITE_LIST_BACKUP_NAME "suites.utftmp"
/*************************************************************************
* Installing Result Code and Message
*************************************************************************/
#define SUCCESS_MSG "900 Success"
#define INSUFFICIENT_MEM_MSG "901 Insufficient Memory"
#define USER_CANCELLED_MSG "902 User Cancelled"
#define JAR_SIZE_MISMATCH_MSG "904 JAR Size Mismatch"
#define ATTRIBUTE_MISMATCH_MSG "905 Attribute Mismatch"
#define INVALID_JAD_MSG "906 Invalid Descriptor"
#define INVALID_JAR_MSG "907 Invalid JAR"
#define INCOMPATIBLE_MSG "908 Incompatible Configuration or Profile"
#define AUTHENTICATION_FAILURE_MSG "909 Application authentication failure"
#define AUTHORIZATION_FAILURE_MSG "910 Application authorization failure"
#define PUSH_REG_FAILURE_MSG "911 Push registration failure"
#define DELETE_NOTIFICATION_MSG "912 Deletion notification"
#define MAX_STORAGE_SIZE (256 - 10)
/* IVI Jack adds to distinguish error */
#define INSTALLER_INVALIDJADEXCEPTION (1)
#define INSTALLER_ILLEGALARGUMENTEXCEPTION (2)
#define INSTALLER_OTEREXCEPTION (3)
/*************************************************************************
* Main Structure to store installing information
*************************************************************************/
typedef struct state_struct
{
int nextStep;
/* jboolean stopInstallation; */
int exception;
unsigned short* exception_extra_data;
char *error_reason;
unsigned short* jadUrl;
jboolean force;
jboolean removeRMS;
unsigned char* jad;
int jad_len;
unsigned short* jadEncoding;
/* unsigned short* username; */
/* unsigned short* password; */
/* unsigned short* proxyUsername; */
/* unsigned short* proxyPassword; */
unsigned short* suiteName;
unsigned short* vendor;
unsigned short* version;
/* unsigned short* description; */
unsigned short* storageName;
unsigned short* ca;
int expectedJarSize;
unsigned short* jarUrl;
unsigned char pushInterruptSetting;
jboolean trusted;
unsigned char* manifest;
int manifest_len;
char* tempFilename;
char* storageRoot;
jboolean isPreviousVersion;
unsigned short* previousUrl;
unsigned short* previousJadUrl;
unsigned short* previousJarUrl;
int previousTrusted;
int NumberOfMIDlets;
unsigned short* previousCA;
/*IVI Jack add to reocord the total size of generated files*/
int total_file_size;
kal_bool path_need_recovery;
} install_state;
/*************************************************************************
* External Declaration
*************************************************************************/
extern int getAndCleanMSG(int *);
extern void getAndCleanMSGWithPost(int *);
extern int postInstallMsgBackToProvider(char *);
extern int install_main(game_type_enum game_type, ams_op_enum op_type, char* work_path, char *argv);
kal_bool is_EGE_game(void);
#endif /* __INSTALLER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -