Package ch.fusun.baron.serverapp

Source Code of ch.fusun.baron.serverapp.Activator

package ch.fusun.baron.serverapp;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;

import ch.fusun.baron.core.injection.ReInjector;
import ch.fusun.baron.server.rmi.GameServer;
import ch.fusun.baron.server.rmi.GameServerImpl;

/**
* The activator class controls the plug-in life cycle
*/
public class Activator extends AbstractUIPlugin {

  /** The plug-in ID */
  public static final String PLUGIN_ID = "ch.fusun.baron.serverapp"; //$NON-NLS-1$

  /**
   * Icon for online users
   */
  public static final String USER_ONLINE = "icons/user_online.png"; //$NON-NLS-1$
  /**
   * Icon for offline users
   */
  public static final String USER_OFFLINE = "icons/user_offline.png"; //$NON-NLS-1$

  // The shared instance
  private static Activator plugin;

  private GameServer server;

  /**
   * The constructor
   */
  public Activator() {
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
   * )
   */
  @Override
  public void start(BundleContext context) throws Exception {
    super.start(context);
    plugin = this;

    setServer(new GameServerImpl());
    ReInjector.getInstance().reInject(getServer());
    getServer().startup();
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
   * )
   */
  @Override
  public void stop(BundleContext context) throws Exception {
    plugin = null;
    super.stop(context);
  }

  /**
   * Returns the shared instance
   *
   * @return the shared instance
   */
  public static Activator getDefault() {
    return plugin;
  }

  /**
   * Returns an image descriptor for the image file at the given plug-in
   * relative path
   *
   * @param path
   *            the path
   * @return the image descriptor
   */
  public static ImageDescriptor getImageDescriptor(String path) {
    return imageDescriptorFromPlugin(PLUGIN_ID, path);
  }

  /**
   * @param server
   *            the server to set
   */
  private void setServer(GameServer server) {
    this.server = server;
  }

  /**
   * @return the server
   */
  public GameServer getServer() {
    return server;
  }

}
TOP

Related Classes of ch.fusun.baron.serverapp.Activator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.