mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
Removes message broadcaster from Decoder abstract class -- processing
chain has a message broadcaster built in, so the decoder's broadcaster is redundant. Changes Decoder(s) to only have a single registered message listener (ie processing chain)
This commit is contained in:
@@ -4,6 +4,6 @@ import sample.Listener;
|
||||
|
||||
public interface IMessageProvider
|
||||
{
|
||||
public void addMessageListener( Listener<Message> listener );
|
||||
public void removeMessageListener( Listener<Message> listener );
|
||||
public void setMessageListener( Listener<Message> listener );
|
||||
public void removeMessageListener();
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ public class ProcessingChain implements IChannelEventListener
|
||||
|
||||
if( module instanceof IMessageProvider )
|
||||
{
|
||||
((IMessageProvider)module).addMessageListener( mMessageBroadcaster );
|
||||
((IMessageProvider)module).setMessageListener( mMessageBroadcaster );
|
||||
}
|
||||
|
||||
if( module instanceof IMetadataProvider )
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*******************************************************************************
|
||||
* SDR Trunk
|
||||
* Copyright (C) 2014,2015 Dennis Sheirer
|
||||
* Copyright (C) 2014-2016 Dennis Sheirer
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -20,13 +20,13 @@ package module.decode;
|
||||
import message.IMessageProvider;
|
||||
import message.Message;
|
||||
import module.Module;
|
||||
import sample.Broadcaster;
|
||||
import sample.Listener;
|
||||
|
||||
public abstract class Decoder extends Module implements IMessageProvider
|
||||
public abstract class Decoder extends Module
|
||||
implements IMessageProvider, Listener<Message>
|
||||
{
|
||||
/* This has to be a broadcaster in order for references to persist */
|
||||
protected Broadcaster<Message> mMessageBroadcaster = new Broadcaster<>();
|
||||
protected Listener<Message> mMessageListener;
|
||||
|
||||
/**
|
||||
* Decoder - parent class for all decoders, demodulators and components.
|
||||
@@ -38,8 +38,7 @@ public abstract class Decoder extends Module implements IMessageProvider
|
||||
@Override
|
||||
public void dispose()
|
||||
{
|
||||
mMessageBroadcaster.dispose();
|
||||
mMessageBroadcaster = null;
|
||||
mMessageListener = null;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -52,9 +51,9 @@ public abstract class Decoder extends Module implements IMessageProvider
|
||||
* Adds a listener for receiving decoded messages from this decoder
|
||||
*/
|
||||
@Override
|
||||
public void addMessageListener( Listener<Message> listener )
|
||||
public void setMessageListener( Listener<Message> listener )
|
||||
{
|
||||
mMessageBroadcaster.addListener( listener );
|
||||
mMessageListener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -62,8 +61,25 @@ public abstract class Decoder extends Module implements IMessageProvider
|
||||
* decoders
|
||||
*/
|
||||
@Override
|
||||
public void removeMessageListener( Listener<Message> listener )
|
||||
public void removeMessageListener()
|
||||
{
|
||||
mMessageBroadcaster.removeListener( listener );
|
||||
mMessageListener = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Broadcasts the message to the registered message listener
|
||||
*/
|
||||
public void broadcast( Message message )
|
||||
{
|
||||
if( mMessageListener != null )
|
||||
{
|
||||
mMessageListener.receive( message );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receive( Message message )
|
||||
{
|
||||
broadcast( message );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public class Fleetsync2Decoder extends Decoder implements IFilteredRealBufferLis
|
||||
mMessageProcessor = new Fleetsync2MessageProcessor( aliasList );
|
||||
mMessageFramer.addMessageListener( mMessageProcessor );
|
||||
|
||||
mMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
|
||||
@@ -100,7 +100,7 @@ public class LJ1200Decoder extends Decoder implements IFilteredRealBufferListene
|
||||
mMessageProcessor = new LJ1200MessageProcessor( aliasList );
|
||||
mTowerMessageFramer.addMessageListener( mMessageProcessor );
|
||||
mTransponderMessageFramer.addMessageListener( mMessageProcessor );
|
||||
mMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -74,7 +74,7 @@ public class LTRNetDecoder extends Decoder
|
||||
|
||||
mLTRMessageFramer.addMessageListener( mLTRMessageProcessor );
|
||||
|
||||
mLTRMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mLTRMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -62,7 +62,7 @@ public class LTRStandardDecoder extends Decoder implements IUnFilteredRealBuffer
|
||||
|
||||
mLTRMessageProcessor = new LTRStandardMessageProcessor( direction, aliasList );
|
||||
mLTRMessageFramer.addMessageListener( mLTRMessageProcessor );
|
||||
mLTRMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mLTRMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -102,7 +102,7 @@ public class MDCDecoder extends Decoder implements IFilteredRealBufferListener,
|
||||
/* Message Processor */
|
||||
mMessageProcessor = new MDCMessageProcessor( aliasList );
|
||||
mMessageFramer.addMessageListener( mMessageProcessor );
|
||||
mMessageProcessor.addMessageListener( mMessageBroadcaster );
|
||||
mMessageProcessor.addMessageListener( this );
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
|
||||
@@ -140,7 +140,7 @@ public class MPT1327Decoder extends Decoder
|
||||
|
||||
/* Fully decoded and framed messages processor */
|
||||
mMessageProcessor = new MPT1327MessageProcessor( aliasList );
|
||||
mMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageProcessor.setMessageListener( this );
|
||||
mControlMessageFramer.addMessageListener( mMessageProcessor );
|
||||
mTrafficMessageFramer.addMessageListener( mMessageProcessor );
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public abstract class P25Decoder extends Decoder implements Instrumentable
|
||||
public P25Decoder( AliasList aliasList )
|
||||
{
|
||||
mMessageProcessor = new P25MessageProcessor( aliasList );
|
||||
mMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
|
||||
@@ -63,7 +63,7 @@ public class PassportDecoder extends Decoder
|
||||
|
||||
mPassportMessageProcessor = new PassportMessageProcessor( aliasList );
|
||||
mPassportMessageFramer.addMessageListener( mPassportMessageProcessor );
|
||||
mPassportMessageProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mPassportMessageProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -104,8 +104,8 @@ public class Tait1200Decoder extends Decoder implements IFilteredRealBufferListe
|
||||
mMessageFramerGPS.addMessageListener( mMessageAProcessor );
|
||||
mMessageFramerANI.addMessageListener( mMessageBProcessor );
|
||||
|
||||
mMessageAProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageBProcessor.setMessageListener( mMessageBroadcaster );
|
||||
mMessageAProcessor.setMessageListener( this );
|
||||
mMessageBProcessor.setMessageListener( this );
|
||||
}
|
||||
|
||||
public void dispose()
|
||||
|
||||
Reference in New Issue
Block a user