package org.mozilla.io; import com.nokia.mid.s40.io.LocalMessageProtocolMessage; import com.nokia.mid.s40.io.LocalMessageProtocolConnection; import com.nokia.mid.s40.io.LocalMessageProtocolServerConnection; import java.io.IOException; public class LocalMsgConnection implements LocalMessageProtocolConnection, LocalMessageProtocolServerConnection { private String name; public LocalMsgConnection(String name) { this.name = name; } public native void init(String name); public LocalMsgConnection(String name, int mode, boolean timeouts) { this(name); init(name); } public void close() throws IOException { } public native int receiveData(byte[] message) throws IOException; public int receive(byte[] message) throws IOException { receiveData(message); return 0; } public void receive(LocalMessageProtocolMessage message) throws IOException { byte[] msg = new byte[4096]; int length = receiveData(msg); byte[] data = new byte[length]; System.arraycopy(msg, 0, data, 0, length); message.setData(data); } public native void sendData(byte[] message, int offset, int length); public void send(byte[] message, int offset, int length) { sendData(message, offset, length); } public LocalMessageProtocolMessage newMessage(byte[] data) { return new LocalMsgMessage(data); } public native void waitConnection(); public LocalMessageProtocolConnection acceptAndOpen() { waitConnection(); return this; } public final String getSecurityPolicy() { return null; } public final String getClientSecurityPolicy() { return null; } public final String getDomain() { return null; } public final String getClientDomain() { return null; } public final String getRemoteName() { return null; } public final String getLocalName() { return null; } }