/*******************************************************************************
* Copyright (c) 2013, 2014 Wind River Systems, Inc. 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:
* Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.tcf.te.core.utils;
import org.eclipse.tcf.te.core.interfaces.IConnectable;
/**
* ConnectStateHelper
*/
public final class ConnectStateHelper {
public static final String UNKNOWN = "unknown"; //$NON-NLS-1$
public static final String DISCONNECTED = "disconnected"; //$NON-NLS-1$
public static final String DISCONNECTING = "disconnecting"; //$NON-NLS-1$
public static final String DISCONNECT_SCHEDULED = "disconnect_scheduled"; //$NON-NLS-1$
public static final String CONNECTED = "connected"; //$NON-NLS-1$
public static final String CONNECTING = "connecting"; //$NON-NLS-1$
public static final String CONNECT_SCHEDULED = "connect_scheduled"; //$NON-NLS-1$
public static final String CONNECTION_LOST = "connection_lost"; //$NON-NLS-1$
public static final String CONNECTION_RECOVERING = "connection_recovering"; //$NON-NLS-1$
public static final String DISCONNECT = "disconnect"; //$NON-NLS-1$
public static final String CONNECT = "connect"; //$NON-NLS-1$
public static final int getConnectState(String state) {
if (DISCONNECTED.equalsIgnoreCase(state))
return IConnectable.STATE_DISCONNECTED;
if (DISCONNECTING.equalsIgnoreCase(state))
return IConnectable.STATE_DISCONNECTING;
if (DISCONNECT_SCHEDULED.equalsIgnoreCase(state))
return IConnectable.STATE_DISCONNECT_SCHEDULED;
if (CONNECTED.equalsIgnoreCase(state))
return IConnectable.STATE_CONNECTED;
if (CONNECTING.equalsIgnoreCase(state))
return IConnectable.STATE_CONNECTING;
if (CONNECT_SCHEDULED.equalsIgnoreCase(state))
return IConnectable.STATE_CONNECT_SCHEDULED;
if (CONNECTION_LOST.equalsIgnoreCase(state))
return IConnectable.STATE_CONNECTION_LOST;
if (CONNECTION_RECOVERING.equalsIgnoreCase(state))
return IConnectable.STATE_CONNECTION_RECOVERING;
if (CONNECT.equalsIgnoreCase(state))
return IConnectable.ACTION_CONNECT;
if (DISCONNECT.equalsIgnoreCase(state))
return IConnectable.ACTION_DISCONNECT;
return IConnectable.STATE_UNKNOWN;
}
public static final String getConnectState(int state) {
switch (state) {
case IConnectable.STATE_DISCONNECTED:
return DISCONNECTED;
case IConnectable.STATE_DISCONNECTING:
return DISCONNECTING;
case IConnectable.STATE_DISCONNECT_SCHEDULED:
return DISCONNECT_SCHEDULED;
case IConnectable.STATE_CONNECTED:
return CONNECTED;
case IConnectable.STATE_CONNECTING:
return CONNECTING;
case IConnectable.STATE_CONNECT_SCHEDULED:
return CONNECT_SCHEDULED;
case IConnectable.STATE_CONNECTION_LOST:
return CONNECTION_LOST;
case IConnectable.STATE_CONNECTION_RECOVERING:
return CONNECTION_RECOVERING;
}
return UNKNOWN;
}
public static final int getConnectAction(String action) {
if (CONNECT.equalsIgnoreCase(action))
return IConnectable.ACTION_CONNECT;
if (DISCONNECT.equalsIgnoreCase(action))
return IConnectable.ACTION_DISCONNECT;
if (CONNECTION_LOST.equalsIgnoreCase(action))
return IConnectable.STATE_CONNECTION_LOST;
if (CONNECTION_RECOVERING.equalsIgnoreCase(action))
return IConnectable.STATE_CONNECTION_RECOVERING;
return IConnectable.ACTION_UNKNOWN;
}
public static final String getConnectAction(int action) {
switch (action) {
case IConnectable.ACTION_CONNECT:
return CONNECT;
case IConnectable.ACTION_DISCONNECT:
return DISCONNECT;
case IConnectable.STATE_CONNECTION_LOST:
return CONNECTION_LOST;
case IConnectable.STATE_CONNECTION_RECOVERING:
return CONNECTION_RECOVERING;
}
return UNKNOWN;
}
}