package com.adamnickle.deck.Interfaces;
import android.app.Activity;
import android.support.v4.app.Fragment;
public abstract class ConnectionFragment<T> extends Fragment
{
public static final String EXTRA_CONNECTION_TYPE = "EXTRA_CONNECTION_TYPE";
public static final String EXTRA_CONNECTION_CLASS_NAME = "EXTRA_CONNECTION_CLASS_NAME";
public static final String EXTRA_DEVICE_ADDRESS = "device_address";
public static final String EXTRA_RETRYING_FIND = "retrying_find";
public static final int RESULT_BLUETOOTH_NOT_SUPPORTED = Activity.RESULT_FIRST_USER;
public static final int RESULT_BLUETOOTH_NOT_ENABLED = RESULT_BLUETOOTH_NOT_SUPPORTED + 1;
public static final int RESULT_BLUETOOTH_DISABLED = RESULT_BLUETOOTH_NOT_ENABLED + 1;
public static final int RESULT_NOT_CONNECTED_TO_DEVICE = RESULT_BLUETOOTH_DISABLED + 1;
public static final int RESULT_SERVER_CLOSED = RESULT_NOT_CONNECTED_TO_DEVICE + 1;
public static final int RESULT_COULD_NOT_CONNECT_TO_SERVER = RESULT_SERVER_CLOSED + 1;
public static enum ConnectionType
{
NONE,
SERVER,
CLIENT,
}
public static enum State
{
NONE,
LISTENING,
CONNECTING,
CONNECTED,
CONNECTED_LISTENING,
}
public abstract void setConnectionListener( ConnectionListener connectionListener );
public abstract void sendDataToDevice( String deviceID, byte[] data );
public abstract boolean isConnected();
public abstract String getLocalDeviceID();
public abstract String getLocalDeviceName();
public abstract void setConnectionType( ConnectionType connectionType );
public abstract ConnectionType getConnectionType();
public abstract State getState();
public abstract void findServer();
public abstract void connect( T device );
public abstract void startConnection();
public abstract void restartConnection();
public abstract void finishConnecting();
public abstract void stopConnection();
public abstract boolean isPlayerID( String ID );
}