1 29 38 39 package org.planetamessenger.mos.engine; 40 41 import org.planetamessenger.db.*; 42 import org.planetamessenger.io.*; 43 import org.planetamessenger.ui.*; 44 import org.planetamessenger.mos.forms.*; 45 46 47 public class JSharedObjects { 48 49 static private JConsoleWindow console = null; 50 static private JMOSWindow parentWindow = null; 51 static private JPluginEngine plugins = null; 52 static private JProfileManager profile = null; 53 static private JContactListManager contactListManager = null; 54 static private JConfiguration config = null; 55 static private JProxySettings proxySettings = null; 56 static private JDatabase database = null; 57 static private JResources resources = null; 58 static private JLookAndFeelManager plafManager = null; 59 static private JLanguageManager languageManager = null; 60 static private JPluginPreferencesManager pluginPreferencesManager = null; 61 static private JKernelManager kernelManager = null; 62 static private JUserInterfaceManager userInterfaceManager = null; 63 64 65 69 static public boolean init( JMOSWindow parentWindow ) { 70 71 try { 73 JSharedObjects.console = new JConsoleWindow(); 74 75 System.setErr( JSharedObjects.console ); 77 System.setOut( JSharedObjects.console ); 78 79 JSharedObjects.config = new JConfiguration(); 80 JSharedObjects.database = new JDatabase( "org.hsqldb.jdbcDriver" ); 81 82 if( !database.open( "jdbc:hsqldb:file:" + config.getDatabaseName(), "sa", "" ) ) 83 return false; 84 85 } catch( java.lang.Exception e ) { 86 System.err.println( "JSharedObjects.init() - " + e ); 87 return false; 88 } 89 90 JSharedObjects.parentWindow = parentWindow; 92 JSharedObjects.resources = new JResources( config.getResourcesPath() ); 93 JSharedObjects.contactListManager = new JContactListManager(); 94 JSharedObjects.profile = new JProfileManager(); 95 JSharedObjects.proxySettings = new JProxySettings(); 96 JSharedObjects.plugins = new JPluginEngine(); 97 JSharedObjects.plafManager = new JLookAndFeelManager(); 98 JSharedObjects.languageManager = new JLanguageManager(); 99 JSharedObjects.kernelManager = new JKernelManager(); 100 JSharedObjects.userInterfaceManager = new JUserInterfaceManager(); 101 JSharedObjects.pluginPreferencesManager = new JPluginPreferencesManager(); 102 103 return true; 104 } 105 106 110 static public void destroy() { 111 112 config.setMainWindowProperties( parentWindow.getLocation(), parentWindow.getSize(), parentWindow.isVisible() ); 113 114 database.execute( "SHUTDOWN" ); 116 database.close(); 117 console.destroy(); 118 plugins.destroy(); 119 plafManager.destroy(); 120 languageManager.destroy(); 121 pluginPreferencesManager.destroy(); 122 123 console = null; 124 contactListManager = null; 125 profile = null; 126 parentWindow = null; 127 config = null; 128 database = null; 129 resources = null; 130 plugins = null; 131 plafManager = null; 132 languageManager = null; 133 pluginPreferencesManager = null; 134 userInterfaceManager = null; 135 } 136 137 141 static public JContactListManager getContactListManager() { 142 143 return contactListManager; 144 } 145 146 150 static public JDatabase getDatabase() { 151 152 return database; 153 } 154 155 159 static public JProfileManager getProfileManager() { 160 161 return profile; 162 } 163 164 168 static public JPluginEngine getPluginEngine() { 169 170 return plugins; 171 } 172 173 176 static public JConfiguration getConfiguration() { 177 178 return config; 179 } 180 181 184 static public JProxySettings getProxySettings() { 185 186 return proxySettings; 187 } 188 189 192 static public JResources getResources() { 193 194 return resources; 195 } 196 197 201 static public JMOSWindow getMainWindow() { 202 203 return parentWindow; 204 } 205 206 210 static public JConsoleWindow getConsoleWindow() { 211 212 return console; 213 } 214 215 218 static public org.planetamessenger.plugin.JPluginEngineListener getPluginEngineListener() { 219 220 return ( org.planetamessenger.plugin.JPluginEngineListener ) parentWindow; 221 } 222 223 226 static public org.planetamessenger.plugin.JKernelAPIListener getKernelManager() { 227 228 return kernelManager; 229 } 230 231 234 235 static public JLookAndFeelManager getLookAndFeelManager() { 236 237 return plafManager; 238 } 239 240 243 static public JLanguageManager getLanguageManager() { 244 245 return languageManager; 246 } 247 248 251 static public JPluginPreferencesManager getPluginPreferencesManager() { 252 253 return pluginPreferencesManager; 254 } 255 256 259 static public JUserInterfaceManager getUserInterfaceManager() { 260 261 return userInterfaceManager; 262 } 263 } 264 265 | Popular Tags |