Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

xmog_jvm_options.h

00001 /*
00002  * Copyright 1999-2006 by Codemesh, Inc.  ALL RIGHTS RESERVED.
00003  */
00004 
00005 #ifndef xmog_jvm_options_inc
00006 #define xmog_jvm_options_inc
00007 
00008 
00009 #include "xmog.h"
00010 
00011 extern "C" {
00012 typedef void (JNICALL *XMOG_ABORT)();
00013 typedef void (JNICALL *XMOG_EXIT)(jint);
00014 typedef jint (JNICALL *XMOG_VFPRINTF)(FILE*,const char*,va_list);
00015 };
00016 
00025 enum xmog_jvm_verbosity
00026 {
00027     VerbosityUndefined = -1, 
00028     VerbosityNone = 0, 
00029     VerbosityClass=1, 
00030     VerbosityGC=2, 
00031     VerbosityJNI=4, 
00032     VerbosityAll=7 
00033 };
00034 
00035 
00036 #ifdef XMOG_SUPPORTS_JNI_11
00037 
00043     enum xmog_bytecode_verification
00044     {
00045         VerifyUndefined = -1,
00046         VerifyNone = 0,
00047         VerifyRemote = 1,
00048         VerifyAll = 2
00049     };
00050 
00051 #endif //XMOG_SUPPORTS_JNI_11
00052 
00173 class XMOG_DECLSPEC xmog_jvm_options
00174 {
00175 protected:
00176 
00177     xmog_jvm_options( bool bEnvOverrides = true );
00178 
00179     xmog_jvm_options( const char * filename, bool bEnvOverrides = true );
00180 
00181 public:
00182 
00192     xmog_jvm_options( const char * filename, XMOGVERSION vers, XMOGCONFIG conf, XMOGVERSION reserved0, bool bEnvOverrides = true );
00193 
00194 protected:
00195 
00196     xmog_jvm_options( XMOGVERSION vers, XMOGCONFIG conf, XMOGVERSION reserved0, bool bEnvOverrides = true );
00197 
00198     xmog_jvm_options( int argc, char * argv[], bool bEnvOverrides = true );
00199 
00200 public:
00201 
00202     virtual ~xmog_jvm_options();
00203 
00220     virtual void *              getInitArgs( jint jniVersion );
00221 
00244     virtual int                 readJvmOptions( const char * file, XMOGVERSION vers = NULL, XMOGCONFIG conf = NULL, XMOGVERSION reserved0 = NULL );
00245 
00252     virtual void                reset();
00253 
00259     virtual void                setJniVersion( jint version );
00260 
00266     virtual void                setJniVersion( const char * version );
00267 
00273     virtual jint                getJniVersion();
00274 
00282     virtual void                setIgnoreUnrecognized( bool ignore );
00283 
00292     virtual void                setIgnoreUnrecognized( const char * ignore );
00293 
00298     virtual bool                getIgnoreUnrecognized();
00299 
00308     virtual void                setStackSizeInKB( jint ss );
00309 
00318     virtual void                setStackSize( const char * ss );
00319 
00323     virtual jint                getStackSizeInKB();
00324 
00333     virtual void                setInitialHeapSizeInMB( jint ihs );
00334 
00348     virtual void                setInitialHeapSize( const char * ihs );
00349 
00353     virtual jint                getInitialHeapSizeInMB();
00354 
00363     virtual void                setMaximumHeapSizeInMB( jint mhs );
00364 
00380     virtual void                setMaximumHeapSize( const char * mhs );
00381 
00385     virtual jint                getMaximumHeapSizeInMB();
00386 
00395     virtual void                setDashDOption( const char * name, const char * value = 0 );
00396 
00403     virtual char *              getDashDOption( const char * name );
00404 
00410     virtual void                removeDashDOption( const char * name );
00411 
00424     virtual void                setDashXOption( const char * name, const char * value = 0 );
00425 
00432     virtual char *              getDashXOption( const char * name );
00433 
00439     virtual void                removeDashXOption( const char * name );
00440 
00447     virtual void                setOtherOption( const char * namevalue, void * ptr = 0 );
00448 
00454     virtual void *              getOtherOption( const char * name );
00455 
00464     virtual void                removeOtherOption( const char * name );
00465 
00477     virtual void                setClassPath( const char * cp );
00478 
00484     virtual void                appendToClassPath( const char * cp );
00485 
00495     virtual void                prependToClassPath( const char * cp );
00496 
00500     virtual char *              getClassPath();
00501 
00513     virtual void                setLibraryPath( const char * lp );
00514 
00520     virtual void                appendToLibraryPath( const char * lp );
00521 
00525     virtual char *              getLibraryPath();
00526 
00539     virtual void                setExtensionsDirectories( const char * ed );
00540 
00546     virtual void                appendToExtensionsDirectories( const char * ed );
00547 
00551     virtual char *              getExtensionsDirectories();
00552 
00563     virtual void                setSecurityManager( const char * sm );
00564 
00568     virtual char *              getSecurityManager();
00569 
00579     virtual void                setSecurityPolicy( const char * policyFile );
00580 
00584     virtual char *              getSecurityPolicy();
00585 
00592     virtual void                setVfprintf( XMOG_VFPRINTF vfp );
00593 
00600     virtual void                setVfprintf( const char * vfp );
00601 
00606     virtual XMOG_VFPRINTF       getVfprintf();
00607 
00614     virtual void                setExit( XMOG_EXIT ex );
00615 
00622     virtual void                setExit( const char * ex );
00623 
00627     virtual XMOG_EXIT           getExit();
00628 
00635     virtual void                setAbort( XMOG_ABORT ab );
00636 
00643     virtual void                setAbort( const char * ab );
00644 
00648     virtual XMOG_ABORT          getAbort();
00649 
00655     virtual void                setDisableClassGC( bool dcgc );
00656 
00662     virtual void                setDisableClassGC( const char * dcgc );
00663 
00669     virtual bool                getDisableClassGC();
00670 
00676     virtual void                setEnableClassGC( bool ecgc );
00677 
00683     virtual void                setEnableClassGC( const char * ecgc );
00684 
00690     virtual bool                getEnableClassGC();
00691 
00692     virtual void                setEnableVerboseGC( bool evgc );
00693 
00694     virtual void                setEnableVerboseGC( const char * evgc );
00695 
00696     virtual bool                getEnableVerboseGC();
00697 
00698     virtual void                setEnabledAssertions( const char * ea );
00699 
00700     virtual void                appendToEnabledAssertions( const char * ea );
00701 
00702     virtual char *              getEnabledAssertions();
00703 
00704     virtual void                setDisabledAssertions( const char * da );
00705 
00706     virtual void                appendToDisabledAssertions( const char * da );
00707 
00708     virtual char *              getDisabledAssertions();
00709 
00710     virtual void                setEnableSystemAssertions( bool esa );
00711 
00712     virtual void                setEnableSystemAssertions( const char * esa );
00713 
00714     virtual bool                getEnableSystemAssertions();
00715 
00716     virtual void                setDisableSystemAssertions( bool dsa );
00717 
00718     virtual void                setDisableSystemAssertions( const char * dsa );
00719 
00720     virtual bool                getDisableSystemAssertions();
00721 
00722     virtual void                setVerbosity( int v );
00723 
00724     virtual void                setVerbosity( const char * v );
00725 
00726     virtual void                setVerbosity( xmog_jvm_verbosity v );
00727 
00733     virtual xmog_jvm_verbosity  getVerbosity();
00734 
00740     virtual void                setMixedMode( bool m );
00741 
00747     virtual void                setMixedMode( const char * m );
00748 
00754     virtual bool                getMixedMode();
00755 
00761     virtual void                setInterpretedMode( bool i );
00762 
00768     virtual void                setInterpretedMode( const char * i );
00769 
00775     virtual bool                getInterpretedMode();
00776 
00782     virtual void                setAppendBootClassPath( const char * cp );
00783 
00789     virtual void                appendToAppendBootClassPath( const char * cp );
00790 
00796     virtual char *              getAppendBootClassPath();
00797 
00803     virtual void                setPrependBootClassPath( const char * cp );
00804 
00810     virtual void                appendToPrependBootClassPath( const char * cp );
00811 
00817     virtual char *              getPrependBootClassPath();
00818 
00824     virtual void                setBootClassPath( const char * cp );
00825 
00831     virtual void                appendToBootClassPath( const char * cp );
00832 
00838     virtual char *              getBootClassPath();
00839 
00847     virtual void                setIncrementalGC( bool i );
00848 
00856     virtual void                setIncrementalGC( const char * i );
00857 
00865     virtual bool                getIncrementalGC();
00866 
00876     virtual void                setLogGCFile( const char * file );
00877 
00886     virtual char *              getLogGCFile();
00887 
00893     virtual void                setBatchMode( bool b );
00894 
00900     virtual void                setBatchMode( const char * b );
00901 
00905     virtual bool                getBatchMode();
00906 
00912     virtual void                setProf( bool p );
00913 
00919     virtual void                setProf( const char * p );
00920 
00924     virtual bool                getProf();
00925 
00931     virtual void                setRun( const char * runopts );
00932 
00936     virtual char *              getRun();
00937 
00943     virtual void                setDebug( bool d );
00944 
00950     virtual void                setDebug( const char * d );
00951 
00955     virtual bool                getDebug();
00956 
00962     virtual void                setNoagent( bool na );
00963 
00969     virtual void                setNoagent( const char * na );
00970 
00974     virtual bool                getNoagent();
00975 
00984     virtual void                setReduceSignals( bool rs );
00985 
00994     virtual void                setReduceSignals( const char * rs );
00995 
00999     virtual bool                getReduceSignals();
01000 
01010     virtual void                setCheckJni( bool cjni );
01011 
01021     virtual void                setCheckJni( const char * cjni );
01022 
01026     virtual bool                getCheckJni();
01027 
01033     virtual void                setFuture( bool future );
01034 
01040     virtual void                setFuture( const char * future );
01041 
01045     virtual bool                getFuture();
01046 
01047 #if (XMOG_SUPPORTS_JNI_11==1)
01048 
01049     virtual void                mergeWithDefaults( JDK1_1InitArgs & iargs11 );
01050 
01051     virtual void                setCheckSource( bool cs );
01052 
01053     virtual bool                getCheckSource();
01054 
01055     virtual void                setNativeStackSizeInKB( jint nss );
01056 
01057     virtual jint                getNativeStackSizeInKB();
01058 
01059     virtual void                setVerifyMode( xmog_bytecode_verification ver );
01060 
01061     virtual xmog_bytecode_verification getVerifyMode();
01062 
01063     virtual void                setDisableAsyncGC( bool dagc );
01064 
01065     virtual bool                getDisableAsyncGC();
01066 
01067 #endif //XMOG_SUPPORTS_JNI_11
01068 
01069 protected:
01070         
01071     void                env_override();
01072 
01073 private:
01074 
01075     // the JVM options
01076 
01077     JavaVMInitArgs      iargs_12;
01078 
01079     int                 iargs_12_alloc;
01080 
01081     void                init();
01082 
01083     bool                envOverrides;
01084 
01085     int                 readJvmOptionsFromRegistry( XMOGVERSION vers, XMOGCONFIG conf, XMOGVERSION reserved0 );
01086 
01087     int                 readJvmOptionsInJunction20Format( const char * file, XMOGVERSION vers, XMOGCONFIG conf, XMOGVERSION reserved0 );
01088 
01089     int                 readJvmOptionsInXmlFormat( const char * file );
01090 
01091     JavaVMOption *      find12Option( const char * prefix, const char * name, size_t combined_length = 0 );
01092 
01093     void                add12Option( const char * prefix, const char * name, char sep, const char * value = 0, void * extra = 0 );
01094 
01095     void                remove12Option( const char * prefix, const char * name );
01096 
01097     void                append12Option( const char * prefix, const char * name, char sep, const char * value );
01098 
01099     void                setVerbosity_( const char * verbosity );
01100 
01101 #   ifdef XMOG_SUPPORTS_JNI_11
01102 
01103     int                 iargs_11_alloc;
01104 
01105     int                 iargs_11_used;
01106 
01107     JDK1_1InitArgs      iargs_11;
01108 
01109     unsigned            iargs_11_modified;
01110 
01111     void                appendString( char ** ptr, char sep, const char * str );
01112 
01113     char **             find11Option( const char * name, size_t length = 0 );
01114 
01115     void                add11Option( const char * name, const char * value = 0 );
01116 
01117     void                remove11Option( const char * name );
01118 
01119 #   endif //XMOG_SUPPORTS_JNI_11
01120 
01121 };
01122 
01123 
01124 
01125 #endif /* xmog_jvm_options_inc */

Generated on Wed May 31 14:01:19 2006 for Shared Codemesh Runtime Library API Reference by  doxygen 1.4.1