package com.openxc.sources;
import com.openxc.messages.SimpleVehicleMessage;
import com.openxc.messages.VehicleMessage;
public class TestSource extends BaseVehicleDataSource {
public SourceCallback callback;
public boolean delayAfterInject = true;
public void sendTestMessage() {
inject(new SimpleVehicleMessage("message", "value"));
}
public void inject(String name, Object value) {
inject(new SimpleVehicleMessage(name, value));
}
public void inject(VehicleMessage message) {
if(callback != null) {
callback.receive(message);
if(delayAfterInject) {
// If we don't pause here the background thread that processes
// the injected measurement may not get to run before we make
// our assertions
try {
Thread.sleep(1000);
} catch(InterruptedException e) {}
}
}
}
@Override
public void setCallback(SourceCallback theCallback) {
callback = theCallback;
}
@Override
public void stop() {
callback = null;
}
@Override
public boolean isConnected() {
return false;
}
}