[cooja] Memory: Added add/removeMemoryMonitor functions
Provides a cleaner interface to access memory as VarMemory already contains variable name based add/removeVarMonitor functions.
This commit is contained in:
parent
77ab9359dd
commit
e5653ac150
|
@ -29,6 +29,8 @@
|
||||||
*/
|
*/
|
||||||
package org.contikios.cooja.mote.memory;
|
package org.contikios.cooja.mote.memory;
|
||||||
|
|
||||||
|
import org.contikios.cooja.mote.memory.MemoryInterface.SegmentMonitor;
|
||||||
|
import org.contikios.cooja.mote.memory.MemoryInterface.SegmentMonitor.EventType;
|
||||||
import org.contikios.cooja.mote.memory.MemoryLayout.DataType;
|
import org.contikios.cooja.mote.memory.MemoryLayout.DataType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -276,4 +278,27 @@ public abstract class Memory {
|
||||||
memIntf.setMemorySegment(addr, data);
|
memIntf.setMemorySegment(addr, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds monitor to specified memory region.
|
||||||
|
*
|
||||||
|
* @param flag Select memory operation(s) to listen for (read, write, read/write)
|
||||||
|
* @param addr Start address of monitored region
|
||||||
|
* @param size Size of monitored region
|
||||||
|
* @param mm Monitor to add
|
||||||
|
* @return if monitor could be added, false if not
|
||||||
|
*/
|
||||||
|
public boolean addMemoryMonitor(EventType flag, long addr, int size, SegmentMonitor mm) {
|
||||||
|
return memIntf.addSegmentMonitor(flag, addr, size, mm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes monitor assigned to the specified region.
|
||||||
|
*
|
||||||
|
* @param addr Start address of monitored region
|
||||||
|
* @param size Size of monitored region
|
||||||
|
* @param mm Monitor to remove
|
||||||
|
*/
|
||||||
|
public void removeMemoryMonitor(long addr, int size, SegmentMonitor mm) {
|
||||||
|
memIntf.removeSegmentMonitor(addr, size, mm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -360,13 +360,12 @@ public class VarMemory extends Memory {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a MemoryMonitor for the specified address region.
|
* Adds a monitor for the specified address region.
|
||||||
*
|
*
|
||||||
* @param flag Select memory operation(s) to listen for (read, write,
|
* @param flag Select memory operation(s) to listen for (read, write, read/write)
|
||||||
* read/write)
|
* @param varName Name of variable to monitor
|
||||||
* @param varName
|
* @param mm Monitor to add
|
||||||
* @param mm
|
* @return if monitor could be added, false if not
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public boolean addVarMonitor(EventType flag, final String varName, final SegmentMonitor mm) {
|
public boolean addVarMonitor(EventType flag, final String varName, final SegmentMonitor mm) {
|
||||||
return memIntf.addSegmentMonitor(
|
return memIntf.addSegmentMonitor(
|
||||||
|
@ -377,10 +376,10 @@ public class VarMemory extends Memory {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes MemoryMonitor assigned to the specified region.
|
* Removes monitor assigned to the specified region.
|
||||||
*
|
*
|
||||||
* @param varName
|
* @param varName Name of monitored variable
|
||||||
* @param mm MemoryMonitor to remove
|
* @param mm Monitor to remove
|
||||||
*/
|
*/
|
||||||
public void removeVarMonitor(String varName, SegmentMonitor mm) {
|
public void removeVarMonitor(String varName, SegmentMonitor mm) {
|
||||||
memIntf.removeSegmentMonitor(getVariable(varName).addr, getVariable(varName).size, mm);
|
memIntf.removeSegmentMonitor(getVariable(varName).addr, getVariable(varName).size, mm);
|
||||||
|
|
Loading…
Reference in a new issue