avrora.sim.util
Class MulticastIORWatch

java.lang.Object
  extended byavrora.sim.util.TransactionalList
      extended byavrora.sim.util.MulticastIORWatch
All Implemented Interfaces:
Simulator.IORWatch, Simulator.Watch

public class MulticastIORWatch
extends TransactionalList
implements Simulator.IORWatch

The MulticastIORWatch is a wrapper around multiple watches that allows them to act as a single watch. It is useful for composing multiple watches into one and is used internally in the simulator.

See Also:
Simulator

Nested Class Summary
 
Nested classes inherited from class avrora.sim.util.TransactionalList
TransactionalList.Link
 
Nested classes inherited from class avrora.sim.Simulator.IORWatch
Simulator.IORWatch.Empty
 
Field Summary
 
Fields inherited from class avrora.sim.util.TransactionalList
head, nesting, tail, transHead, transTail
 
Constructor Summary
MulticastIORWatch()
           
 
Method Summary
 void fireAfterBitRead(State state, int ioreg_num, int bit, boolean value)
          The fireAfterBitRead() method is called after the data address is read by the program.
 void fireAfterBitWrite(State state, int ioreg_num, int bit, boolean value)
          The fireAfterBitWrite() method is called after the data address is written by the program.
 void fireAfterRead(State state, int data_addr, byte val)
          The fireAfterRead() method is called after the probed address is read by the program.
 void fireAfterWrite(State state, int data_addr, byte val)
          The fireAfterWrite() method is called after the probed address is written by the program.
 void fireBeforeBitRead(State state, int ioreg_num, int bit)
          The fireBeforeBitRead() method is called before the data address is read by the program.
 void fireBeforeBitWrite(State state, int ioreg_num, int bit, boolean value)
          The fireBeforeBitWrite() method is called before the data address is written by the program.
 void fireBeforeRead(State state, int data_addr)
          The fireBeforeRead() method is called before the probed address is read by the program.
 void fireBeforeWrite(State state, int data_addr, byte val)
          The fireBeforeWrite() method is called before the probed address is written by the program.
 
Methods inherited from class avrora.sim.util.TransactionalList
add, beginTransaction, endTransaction, isEmpty, remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MulticastIORWatch

public MulticastIORWatch()
Method Detail

fireBeforeRead

public void fireBeforeRead(State state,
                           int data_addr)
The fireBeforeRead() method is called before the probed address is read by the program. In the implementation of the multicast probe, it simply calls the fireBeforeRead() method on each of the probes in the multicast set in the order in which they were inserted.

Specified by:
fireBeforeRead in interface Simulator.Watch
Parameters:
state - the state of the simulation
data_addr - the address of the data being referenced

fireAfterRead

public void fireAfterRead(State state,
                          int data_addr,
                          byte val)
The fireAfterRead() method is called after the probed address is read by the program. In the implementation of the multicast probe, it simply calls the fireAfterRead() method on each of the probes in the multicast set in the order in which they were inserted.

Specified by:
fireAfterRead in interface Simulator.Watch
Parameters:
state - the state of the simulation
val - the value of the memory location being read
data_addr - the address of the data being referenced

fireBeforeWrite

public void fireBeforeWrite(State state,
                            int data_addr,
                            byte val)
The fireBeforeWrite() method is called before the probed address is written by the program. In the implementation of the multicast probe, it simply calls the fireBeforeWrite() method on each of the probes in the multicast set in the order in which they were inserted.

Specified by:
fireBeforeWrite in interface Simulator.Watch
Parameters:
state - the state of the simulation
val - the value being written to the memory location
data_addr - the address of the data being referenced

fireAfterWrite

public void fireAfterWrite(State state,
                           int data_addr,
                           byte val)
The fireAfterWrite() method is called after the probed address is written by the program. In the implementation of the multicast probe, it simply calls the fireAfterWrite() method on each of the probes in the multicast set in the order in which they were inserted.

Specified by:
fireAfterWrite in interface Simulator.Watch
Parameters:
state - the state of the simulation
val - the value being written to the memory location
data_addr - the address of the data being referenced

fireBeforeBitRead

public void fireBeforeBitRead(State state,
                              int ioreg_num,
                              int bit)
The fireBeforeBitRead() method is called before the data address is read by the program. In the implementation of the Empty watch, this method does nothing.

Specified by:
fireBeforeBitRead in interface Simulator.IORWatch
Parameters:
state - the state of the simulation
ioreg_num - the number of the IO register being read

fireBeforeBitWrite

public void fireBeforeBitWrite(State state,
                               int ioreg_num,
                               int bit,
                               boolean value)
The fireBeforeBitWrite() method is called before the data address is written by the program. In the implementation of the Empty watch, this method does nothing.

Specified by:
fireBeforeBitWrite in interface Simulator.IORWatch
Parameters:
state - the state of the simulation
ioreg_num - the number of the IO register being read
value - the value being written to the memory location

fireAfterBitRead

public void fireAfterBitRead(State state,
                             int ioreg_num,
                             int bit,
                             boolean value)
The fireAfterBitRead() method is called after the data address is read by the program. In the implementation of the Empty watch, this method does nothing.

Specified by:
fireAfterBitRead in interface Simulator.IORWatch
Parameters:
state - the state of the simulation
ioreg_num - the number of the IO register being read
value - the value of the memory location being read

fireAfterBitWrite

public void fireAfterBitWrite(State state,
                              int ioreg_num,
                              int bit,
                              boolean value)
The fireAfterBitWrite() method is called after the data address is written by the program. In the implementation of the Empty watch, this method does nothing.

Specified by:
fireAfterBitWrite in interface Simulator.IORWatch
Parameters:
state - the state of the simulation
ioreg_num - the number of the IO register being read
value - the value being written to the memory location