public class QueryResponder extends java.lang.Object implements AprsMessageListener
Modifier and Type | Class and Description |
---|---|
static class |
QueryResponder.OnePortFrameWrapper
Wrap a AX25Frame so it will be sent to exactly one outgoing PortConnector.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
TACTICAL_AUTHORIZATION
Key string for StationState attachment indicating the future authorization for incoming TACTICAL messages.
|
static java.lang.String |
TACTICAL_SOURCE
Key string for StationState attachment indicating the remote source of a tactical callsign or symbol code.
|
Modifier and Type | Method and Description |
---|---|
void |
aprsMessageReceived(Message msg)
DO NOT CALL.
|
static BeaconData |
findAppropriateBeacon(Message msg)
Find the beacon appropriate to the requesting message being sent (such as by
which incoming port the message arrived).
|
float |
getDefaultRangeLimit()
Get the maximum range in kilometers for responding to QRU queries.
|
static QueryResponder |
getInstance()
Get a handle to the QueryResponder singleton object.
|
java.util.Map<java.lang.String,AbstractQueryHandler> |
getRegisteredHandlerMap()
Get a read-only reference to the map of registered handlers.
|
boolean |
isEnableQruServer()
Test if QRU server should be enabled.
|
static void |
processSentTactical(java.lang.String originatingCallsign,
java.lang.String body) |
static void |
processTactical(java.lang.String originatingCallsign,
java.lang.String body)
Process a message known to contain a tactical callsign directive (alias definitions) and
approved to be processed by the user.
|
void |
registerQueryHandler(java.lang.String prefix,
AbstractQueryHandler handler)
Register a query handler with the QueryResponder to handle processing a specific
incoming query string.
|
void |
reverifyMessages()
Re-run the verification of any signed messages that couldn't be done earlier because the user hadn't finished
entering the keystore password yet.
|
static void |
sendCurrentTacticalAliases(boolean sendAllAliases)
Scan the current list of stations and objects and broadcast any tactical callsigns (aliases)
currently in use.
|
void |
setDefaultRangeLimit(float defaultRangeLimit)
Specify the maximum range in kilometers for responding to QRU queries.
|
void |
setEnableQruServer(boolean enableQruServer)
Specify whether this program should function as a QRU server.
|
static void |
transmitBroadcast(java.lang.String addressee,
java.lang.String answer)
Transmit an APRS text Message to all recipients using the specified addressee and message body text, specifying
only RF transmission of the text message.
|
static void |
transmitBroadcast(java.lang.String addressee,
java.lang.String answer,
long delay)
Transmit an APRS text Message to all recipients using the specified addressee and message body text.
|
static void |
transmitPositionBeacon(Message mm)
Immediately transmit a position beacon message for this station.
|
public static final java.lang.String TACTICAL_AUTHORIZATION
public static final java.lang.String TACTICAL_SOURCE
public static QueryResponder getInstance()
public void registerQueryHandler(java.lang.String prefix, AbstractQueryHandler handler)
prefix
- the leading characters of the query that identifies which type of query it ishandler
- AbstractQuery handler to call to handle this messageAbstractQueryHandler
public java.util.Map<java.lang.String,AbstractQueryHandler> getRegisteredHandlerMap()
public boolean isEnableQruServer()
public void setEnableQruServer(boolean enableQruServer)
enableQruServer
- boolean true if this process should be a QRU serverpublic float getDefaultRangeLimit()
public void setDefaultRangeLimit(float defaultRangeLimit)
defaultRangeLimit
- maximum range in kilometerspublic void aprsMessageReceived(Message msg)
aprsMessageReceived
in interface AprsMessageListener
msg
- some subclass of Message containing the message contents; the message should have
an AX25Frame connected to itAX25Frame
,
AX25Message.ax25Frame
,
AX25Message.getAx25Frame()
public static BeaconData findAppropriateBeacon(Message msg)
msg
- APRS Message
to extract port routing information frompublic static void processTactical(java.lang.String originatingCallsign, java.lang.String body)
originatingCallsign
- String callsign of station sending the tactical callsign updatesbody
- String message textpublic static void processSentTactical(java.lang.String originatingCallsign, java.lang.String body)
public void reverifyMessages()
public static void sendCurrentTacticalAliases(boolean sendAllAliases)
sendAllAliases
- boolean true if all aliases should be sent, false if only locally defined ones should be sentpublic static void transmitPositionBeacon(Message mm)
mm
- Message of received requestpublic static void transmitBroadcast(java.lang.String addressee, java.lang.String answer)
addressee
- String addressee of text messageanswer
- text of the messagepublic static void transmitBroadcast(java.lang.String addressee, java.lang.String answer, long delay)
addressee
- String addressee of text messageanswer
- text of the messagedelay
- number of milliseconds to delay this transmission