[Tinyos-beta-commits] CVS: tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain DrainConnector.java, 1.3, 1.4 Drain.java, 1.4, 1.5

Kamin Whitehouse kaminw at users.sourceforge.net
Sat Jun 25 15:41:01 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5433

Modified Files:
	DrainConnector.java Drain.java 
Log Message:
added new constructors to these tools that allow them to be used in the python toolchain.  Also added a deregisterListener method to DrainConnector

Index: DrainConnector.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain/DrainConnector.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** DrainConnector.java	27 Apr 2005 00:21:27 -0000	1.3
--- DrainConnector.java	25 Jun 2005 22:40:58 -0000	1.4
***************
*** 22,26 ****
  
    private HashMap idTable = new HashMap();
!     
    public DrainConnector() {
      spAddr = DrainLib.setSPAddr();
--- 22,26 ----
  
    private HashMap idTable = new HashMap();
! 
    public DrainConnector() {
      spAddr = DrainLib.setSPAddr();
***************
*** 29,32 ****
--- 29,38 ----
    }
  
+   public DrainConnector(int p_spAddr, MoteIF p_moteIF) {
+     spAddr = p_spAddr;
+     moteIF = p_moteIF;
+     moteIF.registerListener(new DrainMsg(), this);
+   }
+ 
    public void setDebug(int level) {
      DEBUG = level;
***************
*** 34,38 ****
      
    public void registerListener(int id, MessageListener m) {
- 
      HashSet listenerSet = (HashSet) idTable.get(new Integer(id));
      
--- 40,43 ----
***************
*** 44,47 ****
--- 49,61 ----
    }
  
+   public void deregisterListener(int id, MessageListener m) {
+     HashSet listenerSet = (HashSet) idTable.get(new Integer(id));
+     
+     if (listenerSet == null) {
+ 	throw new IllegalArgumentException("No listeners registered for message type "+id);
+     }
+     listenerSet.remove(m);
+   }
+ 
    synchronized public void messageReceived(int to, Message m) {
  

Index: Drain.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain/Drain.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Drain.java	12 Jun 2005 13:38:03 -0000	1.4
--- Drain.java	25 Jun 2005 22:40:58 -0000	1.5
***************
*** 28,31 ****
--- 28,37 ----
    }
  
+   public Drain(int p_spAddr, MoteIF p_moteIF) {
+     spAddr = p_spAddr;
+     moteIF = p_moteIF;
+     moteIF.registerListener(new DrainMsg(), new DrainListener());
+   }
+ 
    public void buildTree() {
      buildTree(BEACON_DELAY);



More information about the Tinyos-beta-commits mailing list