| #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 */ | |