sdkcreationmw/sdkruntimes/MIDP/nei/src/com/symbian/tools/j2me/sei/emulator/session/Session.java
author rajpuroh
Wed, 21 Apr 2010 09:56:53 +0530
changeset 1 ac50fd48361b
parent 0 b26acd06ea60
permissions -rw-r--r--
Second Contribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
// Session.java
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
// Copyright (c) Symbian Software Ltd 2003 - 2004.  All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
//
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
package com.symbian.tools.j2me.sei.emulator.session;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
import java.util.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
import java.io.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
import java.net.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
import com.symbian.tools.j2me.sei.emulator.commands.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
import com.symbian.tools.j2me.sei.preferences.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
import com.symbian.utils.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
import com.symbian.io.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
import com.symbian.vm.*;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
 * <p>Title: </p>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
 * <p>Description: </p>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
 * <p>Copyright: Copyright (c) 2004</p>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
 * <p>Company: </p>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
 * @author not attributable
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
 * @version 1.0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
 */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
public abstract class Session {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
  // Constants
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
   * Mapping of device names to Session classes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
  private static final String SESSION_MAP_FILE = "device2session.properties";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
   * Default session class to use, if the IDE did not specify device name.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
  private static final String DEFAULT_SESSION = "default";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
  // Statics
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
   * Device 2 sessions
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
  private static final Properties sDevices2Sessions = new Properties();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
  // Members
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
   * Map of suite info -> VM Process
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
   * This member might be needed for MVM technology where a suites can run
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
   * isolated in a single VM.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
  protected Map iSuiteInfo2Process = new HashMap();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
   * Session name (mapped to device name)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
  private String iName;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
   * Session preferences
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
  protected SessionPreferences iPrefs;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
  // Life cycle
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
   * Static init
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
   * Load mapping from device names to session implementation
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
   * (done here to enable test/customized sessions)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
  static
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
    try
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
    sDevices2Sessions.load(Session.class.getResourceAsStream(SESSION_MAP_FILE));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
    catch(Exception e){
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
      Debug.printStackTrace(Session.class.getName(), e);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
   * SessionImpl factory method
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
   * @param aName Session name
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
   * @return Session concrete SessionImpl
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
  public static final Session create(String aName) throws Exception{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
    Debug.println(Session.class.getName(), "SEI device: " + aName);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
    if(aName == null){
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
      aName = sDevices2Sessions.getProperty(DEFAULT_SESSION);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   109
    final Session session = (Session)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
        Class.forName(sDevices2Sessions.getProperty(aName)).newInstance();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
    session.iName = aName;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
    return session;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
  // Operations
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
  //
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
   * Maps KVM (possibly, handset) port number to local port.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
   * @param aVmPort the port to map.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
   * @return possibly different port number than can be used within this VM
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
  public int mapVmPort(int aVmPort) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
      return aVmPort; // no mapping by default
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   131
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
   * Gets the session name (the name of the debug configuration)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
   * @return the session name.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
  public String getName() {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
      return iName;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   140
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   141
   * Initialize the session.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   142
   * The intialization code shouldnt be in the constructor to allow shutdown
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   143
   * during initialization, coming from the user.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   144
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   145
   * @param aUserPrefs user preferences used for initializing the connection
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   146
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   147
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   148
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   149
  public synchronized void initialize(UserPreferences aUserPrefs) throws Exception{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   150
    iPrefs = aUserPrefs.getKDPPreferences().getSessionPreferences(iName);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   151
    Debug.println(this, "SEI session: " + getClass());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   152
    Debug.println(this, "session prefs: " + iPrefs.toString());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   153
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   154
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   155
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   156
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   157
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   158
   * Get a free port on the device
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   159
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   160
   * @return int free port
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   161
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   162
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   163
   */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   164
  //public abstract int getFreePort() throws Exception;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   165
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   166
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   167
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   168
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   169
   * Start the MIDlet
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   170
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   171
   * @param aMIDletInfo MIDlet to start
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   172
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   173
   * @return VM process
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   174
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   175
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   176
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   177
  public abstract VMProcess startMIDlet(VMLaunchArguments aVMLaunchArguments, boolean aDefered) throws Exception;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   178
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   179
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   180
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   181
   * Start another MIDlet in the same suite VM which must be already running
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   182
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   183
   * @param aMIDletInfo MIDlet info
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   184
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   185
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   186
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   187
  public abstract void startMIDlet(MIDletInfo aMIDletInfo) throws Exception;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   188
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   189
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   190
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   191
   * Install the MIDlet suite
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   192
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   193
   * @param aJar MIDlet suite Jar file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   194
   * @param aJad MIDlet suite Jad file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   195
   * @param aTrusted trust mode indicator
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   196
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   197
   * @return MIDletSuiteInfo MIDlet suite information
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   198
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   199
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   200
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   201
  public abstract MIDletSuiteInfo installMIDletSuite
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   202
      (JARFile aJar, JADFile aJad, boolean aTrusted) throws Exception;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   203
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   204
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   205
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   206
   * Remove the MIDlet suite
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   207
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   208
   * @param aSuiteInfo removed MIDlet suite info
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   209
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   210
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   211
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   212
  public abstract void removeMIDletSuite(MIDletSuiteInfo aSuiteInfo) throws Exception;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   213
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   214
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   215
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   216
   * Remove all MIDlet suites
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   217
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   218
   * @throws IOException if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   219
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   220
  public synchronized void removeAll() throws Exception {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   221
    //un-install suites
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   222
    //for each running VM
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   223
    for (Iterator iter = iSuiteInfo2Process.keySet().iterator(); iter.hasNext(); )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   224
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   225
      removeMIDletSuite((MIDletSuiteInfo)iter.next());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   226
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   227
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   228
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   229
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   230
   * Get the list of installed MIDlet suites
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   231
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   232
   * @return list of installed MIDlet suites
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   233
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   234
   * @throws Exception if some error occured
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   235
   */
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   236
  //public abstract MIDletSuiteInfo[] getInstalledMIDletSuitesInfo() throws Exception;
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   237
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   238
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   239
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   240
   * Get the MIDlet VM process
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   241
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   242
   * @param aMIDletInfo MIDlet info
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   243
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   244
   * @return MIDlet VM process
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   245
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   246
  public synchronized VMProcess getProcess(MIDletInfo aMIDletInfo){
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   247
    return (VMProcess)iSuiteInfo2Process.get(aMIDletInfo.getMIDletSuiteInfo());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   248
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   249
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   250
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   251
   * Brute force terminate the sessions
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   252
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   253
  public abstract void terminate();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   254
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   255
  /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   256
   * Get SEI-Slave TCP Inet address
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   257
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   258
   * @return SEI-Slave TCP Inet address
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   259
   *
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   260
   * @exception UnknownHostException if failed to resolve the host name
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   261
   */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   262
  public abstract InetAddress getSlaveInetAddress() throws UnknownHostException;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   263
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   264
}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   265
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   266
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   267
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   268
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   269
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   270
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   271
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   272
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   273