Skip to content

Commit

Permalink
added names to devices
Browse files Browse the repository at this point in the history
the client, when joining, will receive the port number of the emulator.
The device name is fixed to "emulator-<port>"
  • Loading branch information
Francesco Zanitti authored and Francesco Zanitti committed Jul 29, 2010
1 parent ac44dd6 commit 0b30475
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 7 deletions.
Expand Up @@ -104,9 +104,10 @@ public String toString() {
* @param uuid * @param uuid
* @param port * @param port
*/ */
public BluetoothDevice(String btAddr, String tcpAddr) { public BluetoothDevice(String btAddr, String tcpAddr, String name) {
this.addr = btAddr; this.addr = btAddr;
this.tcpAddr = tcpAddr; this.tcpAddr = tcpAddr;
this.name = name;
this.services = new ArrayList<BTService>(); this.services = new ArrayList<BTService>();
this.btClass = new BluetoothClass( this.btClass = new BluetoothClass(
android.bluetooth.BluetoothClass.Device.PHONE_SMART, android.bluetooth.BluetoothClass.Device.PHONE_SMART,
Expand Down
Expand Up @@ -68,11 +68,11 @@ protected void readResponse(InputStream in) throws IOException {
if(line==null) break; if(line==null) break;


String[] parts = line.trim().split("--"); String[] parts = line.trim().split("--");
dk.itu.android.bluetooth.BluetoothDevice d = new BluetoothDevice(parts[0], parts[1]); dk.itu.android.bluetooth.BluetoothDevice d = new BluetoothDevice(parts[0], parts[1],parts[2]);


if(parts.length>2) { if(parts.length>3) {
if(parts[2].length()>0) { if(parts[3].length()>0) {
String[] sParts = parts[2].split("<><>"); String[] sParts = parts[3].split("<><>");
for(String p : sParts) { for(String p : sParts) {
String[] s = p.split("<>"); String[] s = p.split("<>");
d.addService(s[0], Integer.parseInt(s[1])); d.addService(s[0], Integer.parseInt(s[1]));
Expand Down
@@ -1,7 +1,9 @@
package dk.itu.android.btemu.service.cmd; package dk.itu.android.btemu.service.cmd;


import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.Socket; import java.net.Socket;


Expand All @@ -13,7 +15,12 @@ public Join( Socket socket ) {


@Override @Override
protected void readResponse(InputStream in) throws IOException { protected void readResponse(InputStream in) throws IOException {
//ok, we don't really care about the response for join //get the emulator port number
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String p = br.readLine();
String name = "emulator-" + p;
name = name.trim();
dk.itu.android.bluetooth.BluetoothAdapter.getDefaultAdapter().setName(name);
} }


@Override @Override
Expand Down
2 changes: 1 addition & 1 deletion btsim-server/src/dk/itu/btemu/cmd/Discovery.java
Expand Up @@ -30,7 +30,7 @@ protected void writeResponse(OutputStream out) throws IOException {
for( Device d : devices ) { for( Device d : devices ) {
if(d.getBtAddr().equals(btAddr)) if(d.getBtAddr().equals(btAddr))
continue; continue;
String cur = d.getBtAddr() + "--" + d.getIpAddr() + "--"; String cur = d.getBtAddr() + "--" + d.getIpAddr() + "--" + d.getName() + "--";
boolean f = true; boolean f = true;
for(Service s : d.getServices()) { for(Service s : d.getServices()) {
if(f){f=!f;}else{cur+="<><>";} if(f){f=!f;}else{cur+="<><>";}
Expand Down
5 changes: 5 additions & 0 deletions btsim-server/src/dk/itu/btemu/cmd/Join.java
Expand Up @@ -11,6 +11,7 @@
import dk.itu.btemu.state.Device; import dk.itu.btemu.state.Device;


public class Join extends BaseCommand { public class Join extends BaseCommand {
int port = -1;


public Join(Socket s, InputStreamReader in) { public Join(Socket s, InputStreamReader in) {
super(s,in); super(s,in);
Expand All @@ -30,13 +31,17 @@ protected void work( List<Param> params ) throws Exception {
BTMacForwardingsChecker checker = new BTMacForwardingsChecker(); BTMacForwardingsChecker checker = new BTMacForwardingsChecker();
System.out.println("running checker..."); System.out.println("running checker...");
checker.run(); checker.run();
port = device.getEmulatorPort();
} else { } else {
device.setAndroidEmulator(false); device.setAndroidEmulator(false);
} }
} }


@Override @Override
protected void writeResponse(OutputStream out) throws IOException { protected void writeResponse(OutputStream out) throws IOException {
if(port > 0) {
out.write( (port+"\n").getBytes("UTF-8") );
}
} }




Expand Down
5 changes: 5 additions & 0 deletions btsim-server/src/dk/itu/btemu/state/Device.java
Expand Up @@ -7,6 +7,7 @@ public class Device {


String ipAddr; String ipAddr;
String btAddr; String btAddr;
String name;


boolean isAndroidEmulator = true; boolean isAndroidEmulator = true;


Expand Down Expand Up @@ -44,10 +45,14 @@ public String getBtAddr() {
public String getIpAddr() { public String getIpAddr() {
return ipAddr; return ipAddr;
} }
public String getName() {
return name;
}
public List<Service> getServices() { public List<Service> getServices() {
return services; return services;
} }
public void setEmulatorPort(int emulatorPort) { public void setEmulatorPort(int emulatorPort) {
this.name = "emulator-"+emulatorPort;
this.emulatorPort = emulatorPort; this.emulatorPort = emulatorPort;
} }
public int getEmulatorPort() { public int getEmulatorPort() {
Expand Down

0 comments on commit 0b30475

Please sign in to comment.