blob: cdedb342d21e8468526cd12ad4d9d367cfa959c8 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
/*
*/
package org.eclipse.jem.internal.proxy.common;
/**
* This is the base server for the vm on the vm side (i.e. not the client side).
* <p>
* It can be passed to proxies if they need to access the vm server.
* @since 1.1.0
*/
public interface IVMServer {
/**
* Add a runnable that will be called if shutdown is requested. If already added,
* it will not be added again.
* <p>
* The body of the runnable must not do any vm server calls. That is because
* the server is shutdown at this point. The body must simply do clean up code.
* The shutdown will not continue until the call to the runnable is returned.
* <p>
* Calls to this will be ignored if shutdown has already started.
* @param runnable
*
* @since 1.1.0
*/
public void addShutdownListener(Runnable runnable);
/**
* Remove the shutdown runnable from the list. If not added, then not an error to call this.
* <p>
* Calls to this will be ignored if shutdown has already started.
* @param runnable
*
* @since 1.1.0
*/
public void removeShutdownListener(Runnable runnable);
}