diff options
Diffstat (limited to 'src/org/traccar/BasePipelineFactory.java')
-rw-r--r-- | src/org/traccar/BasePipelineFactory.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/org/traccar/BasePipelineFactory.java b/src/org/traccar/BasePipelineFactory.java index 634c6d6a4..b61d95171 100644 --- a/src/org/traccar/BasePipelineFactory.java +++ b/src/org/traccar/BasePipelineFactory.java @@ -30,6 +30,7 @@ import org.jboss.netty.channel.SimpleChannelHandler; import org.jboss.netty.handler.logging.LoggingHandler; import org.jboss.netty.handler.timeout.IdleStateHandler; import org.traccar.events.CommandResultEventHandler; +import org.traccar.events.GeofenceEventHandler; import org.traccar.events.MotionEventHandler; import org.traccar.events.OverspeedEventHandler; import org.traccar.helper.Log; @@ -50,6 +51,7 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { private CommandResultEventHandler commandResultEventHandler; private OverspeedEventHandler overspeedEventHandler; private MotionEventHandler motionEventHandler; + private GeofenceEventHandler geofenceEventHandler; private static final class OpenChannelHandler extends SimpleChannelHandler { @@ -140,6 +142,10 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { motionEventHandler = new MotionEventHandler(); } + if (Context.getConfig().getBoolean("event.geofenceHandler")) { + geofenceEventHandler = new GeofenceEventHandler(); + } + } protected abstract void addSpecificHandlers(ChannelPipeline pipeline); @@ -197,6 +203,10 @@ public abstract class BasePipelineFactory implements ChannelPipelineFactory { pipeline.addLast("MotionEventHandler", motionEventHandler); } + if (geofenceEventHandler != null) { + pipeline.addLast("GeofenceEventHandler", geofenceEventHandler); + } + pipeline.addLast("mainHandler", new MainEventHandler()); return pipeline; } |