Android Open Source - LibGeppa Abs Connection Adapter From Project Back to project page LibGeppa .
License The source code is released under:
Apache License
If you think the Android project LibGeppa listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package net.cattaka.libgeppa.adapter;
/ / w w w . j a v a 2 s . c o m
import net.cattaka.libgeppa.data.ConnectionCode;
import net.cattaka.libgeppa.data.ConnectionState;
import net.cattaka.libgeppa.data.DeviceEventCode;
import net.cattaka.libgeppa.data.DeviceInfo;
import net.cattaka.libgeppa.data.DeviceState;
import net.cattaka.libgeppa.data.IPacket;
import net.cattaka.libgeppa.data.IPacketFactory;
import net.cattaka.libgeppa.thread.ConnectionThread;
import net.cattaka.libgeppa.thread.ConnectionThread.IRawSocketPrepareTask;
import net.cattaka.libgeppa.thread.IConnectionThreadListener;
import net.cattaka.libgeppa.util.DeviceUtil;
public abstract class AbsConnectionAdapter<T extends IPacket> implements IDeviceAdapter<T> {
private ConnectionThread<T> mConnectionThread;
private IDeviceAdapterListener<T> mListener;
protected IPacketFactory<T> mPacketFactory;
private IConnectionThreadListener<T> mConnectionThreadListener = new IConnectionThreadListener<T>() {
@Override
public void onReceive(T packet) {
mListener.onReceivePacket(packet);
}
@Override
public void onConnectionStateChanged(ConnectionState state, ConnectionCode code) {
DeviceState dState = DeviceUtil.toDeviceState(state);
DeviceEventCode deCode = DeviceUtil.toDeviceEventCode(code);
DeviceInfo deviceInfo = getDeviceInfo();
mListener.onDeviceStateChanged(dState, deCode, deviceInfo);
}
};
public AbsConnectionAdapter(IDeviceAdapterListener<T> listener,
IPacketFactory<T> packetFactory, boolean useMainLooperForListener) {
super ();
mListener = listener;
mPacketFactory = packetFactory;
}
abstract protected IRawSocketPrepareTask createRawSocketPrepareTask();
@Override
public void startAdapter() throws InterruptedException {
if (mConnectionThread != null) {
throw new IllegalStateException("Already running." );
}
mConnectionThread = new ConnectionThread<T>(createRawSocketPrepareTask(), mPacketFactory,
mConnectionThreadListener, true);
mConnectionThread.startThread();
}
@Override
public void stopAdapter() throws InterruptedException {
mConnectionThread.stopThread();
}
@Override
public boolean sendPacket(T packet) {
return mConnectionThread.sendPacket(packet);
}
@Override
public DeviceState getDeviceState() {
if (mConnectionThread == null) {
return DeviceState.UNKNOWN;
}
return DeviceUtil.toDeviceState(mConnectionThread.getLastConnectionState());
}
}
Java Source Code List net.cattaka.libgeppa.ActiveGeppaService.java net.cattaka.libgeppa.AdkPassiveGeppaService.java net.cattaka.libgeppa.BluetoothPassiveGeppaService.java net.cattaka.libgeppa.Constants.java net.cattaka.libgeppa.GeppaService.java net.cattaka.libgeppa.IRawSocket.java net.cattaka.libgeppa.PassiveGeppaService.java net.cattaka.libgeppa.adapter.AbsConnectionAdapter.java net.cattaka.libgeppa.adapter.DummyDeviceAdapter.java net.cattaka.libgeppa.adapter.IDeviceAdapterListener.java net.cattaka.libgeppa.adapter.IDeviceAdapter.java net.cattaka.libgeppa.adapter.IDeviceCommandAdapter.java net.cattaka.libgeppa.adapter.LocalDeviceAdapter.java net.cattaka.libgeppa.adapter.RemoteDeviceAdapter.java net.cattaka.libgeppa.binder.ActiveGeppaServiceFuncs.java net.cattaka.libgeppa.binder.PassiveGeppaServiceFuncs.java net.cattaka.libgeppa.binder.async.ActiveGeppaServiceFuncsAsync.java net.cattaka.libgeppa.binder.async.AsyncInterfaceException.java net.cattaka.libgeppa.binder.async.PassiveGeppaServiceFuncsAsync.java net.cattaka.libgeppa.bluetooth.BluetoothAdapterFactory.java net.cattaka.libgeppa.bluetooth.BluetoothAdapterWrapper.java net.cattaka.libgeppa.bluetooth.BluetoothDeviceWrapper.java net.cattaka.libgeppa.bluetooth.BluetoothSocketWrapper.java net.cattaka.libgeppa.bluetooth.IBluetoothAdapter.java net.cattaka.libgeppa.bluetooth.IBluetoothDevice.java net.cattaka.libgeppa.bluetooth.IBluetoothSocket.java net.cattaka.libgeppa.data.BaudRate.java net.cattaka.libgeppa.data.ConnectionCode.java net.cattaka.libgeppa.data.ConnectionState.java net.cattaka.libgeppa.data.DeviceEventCode.java net.cattaka.libgeppa.data.DeviceInfo.java net.cattaka.libgeppa.data.DeviceState.java net.cattaka.libgeppa.data.IPacketFactory.java net.cattaka.libgeppa.data.IPacket.java net.cattaka.libgeppa.data.PacketWrapper.java net.cattaka.libgeppa.data.SocketState.java net.cattaka.libgeppa.exception.NotImplementedException.java net.cattaka.libgeppa.net.DummySocketPrepareTask.java net.cattaka.libgeppa.net.DummySocket.java net.cattaka.libgeppa.net.PhysicaloidSocketPrepareTask.java net.cattaka.libgeppa.net.PhysicaloidSocket.java net.cattaka.libgeppa.net.RemoteSocketPrepareTask.java net.cattaka.libgeppa.net.RemoteSocket.java net.cattaka.libgeppa.net.UsbClass.java net.cattaka.libgeppa.passive.AdkPassiveReceiver.java net.cattaka.libgeppa.passive.BluetoothPassiveReceiver.java net.cattaka.libgeppa.passive.IPassiveReceiverListener.java net.cattaka.libgeppa.passive.IPassiveReceiver.java net.cattaka.libgeppa.socket.AdkRawSocket.java net.cattaka.libgeppa.socket.BtRawSocket.java net.cattaka.libgeppa.thread.ClientThread.java net.cattaka.libgeppa.thread.ConnectionThread.java net.cattaka.libgeppa.thread.IConnectionThreadListener.java net.cattaka.libgeppa.thread.ReceiveThread.java net.cattaka.libgeppa.thread.ServerThread.java net.cattaka.libgeppa.util.AidlUtil.java net.cattaka.libgeppa.util.DeviceUtil.java