javamanager/javacaptain/src/rtc.cpp
branchRCL_3
changeset 24 6c158198356e
parent 18 9ac0a0a7da70
equal deleted inserted replaced
23:e5618cc85d74 24:6c158198356e
    34 #include "booteventprovidermessages.h"
    34 #include "booteventprovidermessages.h"
    35 #include "javastorageentry.h"
    35 #include "javastorageentry.h"
    36 #include "javastorage.h"
    36 #include "javastorage.h"
    37 #include "javastoragenames.h"
    37 #include "javastoragenames.h"
    38 
    38 
       
    39 #include "settingschangeeventsprovidermessages.h"
       
    40 
    39 #include "midprtcplugin.h"
    41 #include "midprtcplugin.h"
    40 #ifdef RD_JAVA_CAPTAIN_TESTRUNTIME
    42 #ifdef RD_JAVA_CAPTAIN_TESTRUNTIME
    41 #include "testrtcplugin.h"
    43 #include "testrtcplugin.h"
    42 #endif
    44 #endif
    43 
    45 
   496 
   498 
   497     return false; // handler not found
   499     return false; // handler not found
   498 }
   500 }
   499 
   501 
   500 void Rtc::event(const std::string& eventProvider,
   502 void Rtc::event(const std::string& eventProvider,
   501                 java::comms::CommsMessage& /* aMsg */)
   503                 java::comms::CommsMessage& aMsg )
   502 {
   504 {
   503     ILOG(EJavaCaptain, "+Rtc::event()");
   505     ILOG(EJavaCaptain, "+Rtc::event()");
   504     if (BOOT_EVENT_PROVIDER == eventProvider)
   506     if (BOOT_EVENT_PROVIDER == eventProvider)
   505     {
   507     {
   506         if (mSupportPreWarming && isThereInstalledMidlets())
   508         if (mSupportPreWarming && isThereInstalledMidlets())
   507         {
   509         {
   508             ILOG(EJavaCaptain, "Rtc::event() - Boot event received, Starting prewarm VM since found Installed MIDlets");
   510             ILOG(EJavaCaptain, "Rtc::event() - Boot event received, Starting "
   509             launchPrewarm(); //New prewarm VM instance is will be created only if it did not exist already
   511                  "prewarm VM since found Installed MIDlets");
       
   512             launchPrewarm(); //New prewarm VM instance is will be created only
       
   513                                       //if it did not exist already
       
   514         }
       
   515     } else if ( SETTINGS_CHANGE_EVENT_PROVIDER == eventProvider )
       
   516     {
       
   517         int changeEventType = 0;
       
   518         getSettingsChangeEventMessageParams(aMsg, changeEventType);
       
   519         if ( MIDP_CLASS_PATH_CHANGE == changeEventType &&
       
   520              (mRuntimes.find(PREWARM_UID) != mRuntimes.end()) )
       
   521         {
       
   522             // Java libraries have been modified in the system.
       
   523             //Prewarm instance must be restarted
       
   524             ILOG(EJavaCaptain, "Rtc::event() - Restarting prewarm VM instance "
       
   525                  "since MIDP classpath has changed");
       
   526             stopPrewarm();
       
   527             launchPrewarm();
   510         }
   528         }
   511     }
   529     }
   512 }
   530 }
   513 
   531 
   514 // ApplicationManagementEventsInterface methods
   532 // ApplicationManagementEventsInterface methods