#ifndef INSTALL_OS_H | |
#define INSTALL_OS_H | |
#include "installUnicode.h" | |
#ifndef _WIN32 | |
#define MAX_PATH (2000) | |
#endif | |
#ifdef UNICODE | |
#define shippedVMDir shippedVMDirW | |
#define defaultVM defaultVMW | |
#define consoleVM consoleVMW | |
#define pathSeparator pathSeparatorW | |
#define dirSeparator dirSeparatorW | |
#define displayMessage displayMessageW | |
#define initWindowSystem initWindowSystemW | |
#define showSplash showSplashW | |
#define getArgVM getArgVMW | |
#define startJavaVM startJavaVMW | |
#define findCommand findCommandW | |
#define getProgramDir getProgramDirW | |
#define officialName officialNameW | |
#define getTempPath getTempPathW | |
#define isEndSplash isEndSplashW | |
#endif | |
/* Operating System Dependent Information */ | |
/*** See install.c for information on the launcher runtime architecture ***/ | |
/* Global Variables */ | |
extern _TCHAR dirSeparator; /* '/' or '\\' */ | |
extern _TCHAR pathSeparator; /* separator used in PATH variable */ | |
extern _TCHAR* consoleVM; /* name of VM to use for debugging */ | |
extern _TCHAR* defaultVM; /* name of VM to use normally */ | |
extern _TCHAR* shippedVMDir; /* VM bin directory with separator */ | |
extern _TCHAR* officialName; /* Program official name */ | |
/* OS Specific Functions */ | |
/** Display a Message | |
* | |
* This method is called to display a message to the user. | |
* The method should not return until the user has acknowledged | |
* the message. This method will only be called after the window | |
* system has been initialized. | |
*/ | |
extern void displayMessage( _TCHAR* message ); | |
/** Initialize the Window System | |
* | |
* This method is called after the command line arguments have been | |
* parsed. Its purpose is to initialize the corresponding window system. | |
* | |
* The showSplash flag indicates the splash window will be displayed by | |
* this process (e.g., value will be zero for the main launcher). | |
*/ | |
extern void initWindowSystem( int* argc, _TCHAR* argv[], int showSplash ); | |
/** Show the Splash Window | |
* | |
* This method is called to display the actual splash window. It will only | |
* be called by the splash window process and not the main launcher process. | |
* The splash ID passed corresponds to the string returned from initWindowSystem(). | |
* If possible, this ID should be used to communicate some piece of data back | |
* to the main launcher program for two reasons: | |
* 1) to detect when the splash window process terminates | |
* 2) to terminate the splash window process should the JVM terminate before it | |
* completes its initialization. | |
* | |
* Two parameters are passed: the install home directory and a specific bitmap image | |
* file for a feature. The feature's image file is tried first and if it cannot be | |
* displayed, the images from the install directory are used. | |
* | |
* Return (exit code): | |
* 0 - success | |
* non-zero - could not find a splash image to display | |
*/ | |
extern int showSplash( _TCHAR* splashId, _TCHAR* featureImage ); | |
/** Get List of Java VM Arguments | |
* | |
* A given Java VM might require a special set of arguments in order to | |
* optimize its performance. This method returns a NULL terminated array | |
* of strings, where each string is a separate VM argument. | |
*/ | |
extern _TCHAR** getArgVM( _TCHAR *vm ); | |
/* Start the Java VM and Wait For It to Terminate | |
* | |
* This method is responsible for starting the Java VM and for | |
* detecting its termination. The resulting JVM exit code should | |
* be returned to the main launcher, which will display a message if | |
* the termination was not normal. | |
*/ | |
extern int startJavaVM( _TCHAR* args[] ); | |
extern _TCHAR* getTempPath(); | |
extern int isEndSplash(); | |
#endif /* INSTALL_OS_H */ | |