diff --git a/src/main/java/io/github/dsheirer/alias/AliasFactory.java b/src/main/java/io/github/dsheirer/alias/AliasFactory.java
index 2cb19ba9..707e207d 100644
--- a/src/main/java/io/github/dsheirer/alias/AliasFactory.java
+++ b/src/main/java/io/github/dsheirer/alias/AliasFactory.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.alias;
@@ -37,30 +39,34 @@ import io.github.dsheirer.alias.id.legacy.fleetsync.FleetsyncID;
import io.github.dsheirer.alias.id.legacy.fleetsync.FleetsyncIDEditor;
import io.github.dsheirer.alias.id.legacy.mdc.MDC1200ID;
import io.github.dsheirer.alias.id.legacy.mdc.MDC1200IDEditor;
+import io.github.dsheirer.alias.id.legacy.mobileID.MINEditor;
+import io.github.dsheirer.alias.id.legacy.mobileID.Min;
import io.github.dsheirer.alias.id.legacy.mpt1327.MPT1327ID;
import io.github.dsheirer.alias.id.legacy.mpt1327.MPT1327IDEditor;
import io.github.dsheirer.alias.id.legacy.nonrecordable.NonRecordable;
import io.github.dsheirer.alias.id.legacy.nonrecordable.NonRecordableEditor;
-import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupID;
-import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupIDEditor;
-import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID;
-import io.github.dsheirer.alias.id.lojack.LoJackIDEditor;
-import io.github.dsheirer.alias.id.legacy.mobileID.MINEditor;
-import io.github.dsheirer.alias.id.legacy.mobileID.Min;
-import io.github.dsheirer.alias.id.priority.Priority;
-import io.github.dsheirer.alias.id.priority.PriorityEditor;
-import io.github.dsheirer.alias.id.record.Record;
-import io.github.dsheirer.alias.id.record.RecordEditor;
import io.github.dsheirer.alias.id.legacy.siteID.SiteID;
import io.github.dsheirer.alias.id.legacy.siteID.SiteIDEditor;
+import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupID;
+import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupIDEditor;
+import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueID;
+import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueIDEditor;
+import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID;
+import io.github.dsheirer.alias.id.lojack.LoJackIDEditor;
+import io.github.dsheirer.alias.id.priority.Priority;
+import io.github.dsheirer.alias.id.priority.PriorityEditor;
+import io.github.dsheirer.alias.id.radio.Radio;
+import io.github.dsheirer.alias.id.radio.RadioEditor;
+import io.github.dsheirer.alias.id.radio.RadioRange;
+import io.github.dsheirer.alias.id.radio.RadioRangeEditor;
+import io.github.dsheirer.alias.id.record.Record;
+import io.github.dsheirer.alias.id.record.RecordEditor;
import io.github.dsheirer.alias.id.status.StatusID;
import io.github.dsheirer.alias.id.status.StatusIDEditor;
import io.github.dsheirer.alias.id.talkgroup.Talkgroup;
import io.github.dsheirer.alias.id.talkgroup.TalkgroupEditor;
import io.github.dsheirer.alias.id.talkgroup.TalkgroupRange;
import io.github.dsheirer.alias.id.talkgroup.TalkgroupRangeEditor;
-import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueID;
-import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueIDEditor;
import io.github.dsheirer.audio.broadcast.BroadcastModel;
import io.github.dsheirer.gui.editor.Editor;
import io.github.dsheirer.gui.editor.EmptyEditor;
@@ -102,6 +108,15 @@ public class AliasFactory
Priority copyPriority = new Priority();
copyPriority.setPriority(originalPriority.getPriority());
return copyPriority;
+ case RADIO_ID:
+ Radio originalRadio = (Radio)id;
+ Radio copyRadio = new Radio(originalRadio.getProtocol(), originalRadio.getValue());
+ return copyRadio;
+ case RADIO_ID_RANGE:
+ RadioRange originalRadioRange = (RadioRange)id;
+ RadioRange copyRadioRange = new RadioRange(originalRadioRange.getProtocol(), originalRadioRange.getMinRadio(),
+ originalRadioRange.getMaxRadio());
+ return copyRadioRange;
case RECORD:
return new Record();
case SITE:
@@ -213,6 +228,10 @@ public class AliasFactory
return new MINEditor(aliasID);
case PRIORITY:
return new PriorityEditor(aliasID);
+ case RADIO_ID:
+ return new RadioEditor(aliasID);
+ case RADIO_ID_RANGE:
+ return new RadioRangeEditor(aliasID);
case RECORD:
return new RecordEditor(aliasID);
case SITE:
@@ -286,6 +305,10 @@ public class AliasFactory
return new NonRecordable();
case PRIORITY:
return new Priority();
+ case RADIO_ID:
+ return new Radio();
+ case RADIO_ID_RANGE:
+ return new RadioRange();
case RECORD:
return new Record();
case TALKGROUP:
diff --git a/src/main/java/io/github/dsheirer/alias/AliasList.java b/src/main/java/io/github/dsheirer/alias/AliasList.java
index 060ff2b3..cbf3eec6 100644
--- a/src/main/java/io/github/dsheirer/alias/AliasList.java
+++ b/src/main/java/io/github/dsheirer/alias/AliasList.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.alias;
@@ -24,6 +26,8 @@ import io.github.dsheirer.alias.id.AliasID;
import io.github.dsheirer.alias.id.broadcast.BroadcastChannel;
import io.github.dsheirer.alias.id.esn.Esn;
import io.github.dsheirer.alias.id.priority.Priority;
+import io.github.dsheirer.alias.id.radio.Radio;
+import io.github.dsheirer.alias.id.radio.RadioRange;
import io.github.dsheirer.alias.id.status.StatusID;
import io.github.dsheirer.alias.id.talkgroup.Talkgroup;
import io.github.dsheirer.alias.id.talkgroup.TalkgroupRange;
@@ -32,6 +36,7 @@ import io.github.dsheirer.identifier.IdentifierCollection;
import io.github.dsheirer.identifier.esn.ESNIdentifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.patch.PatchGroupIdentifier;
+import io.github.dsheirer.identifier.radio.RadioIdentifier;
import io.github.dsheirer.identifier.status.UnitStatusIdentifier;
import io.github.dsheirer.identifier.status.UserStatusIdentifier;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
@@ -48,10 +53,15 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+/**
+ * List of aliases that share the same alias list name and provides convenient methods for looking up alias
+ * objects that match an identifier.
+ */
public class AliasList implements Listener
{
private final static Logger mLog = LoggerFactory.getLogger(AliasList.class);
private Map mTalkgroupProtocolMap = new HashMap<>();
+ private Map mRadioProtocolMap = new HashMap<>();
private Map mESNMap = new HashMap<>();
private Map mStatusMap = new HashMap<>();
private boolean mHasAliasActions = false;
@@ -124,6 +134,32 @@ public class AliasList implements Listener
talkgroupRangeAliasList.add(talkgroupRange, alias);
break;
+ case RADIO_ID:
+ Radio radio = (Radio)id;
+
+ RadioAliasList radioAliasList = mRadioProtocolMap.get(radio.getProtocol());
+
+ if(radioAliasList == null)
+ {
+ radioAliasList = new RadioAliasList();
+ mRadioProtocolMap.put(radio.getProtocol(), radioAliasList);
+ }
+
+ radioAliasList.add(radio, alias);
+ break;
+ case RADIO_ID_RANGE:
+ RadioRange radioRange = (RadioRange)id;
+
+ RadioAliasList radioRangeAliasList = mRadioProtocolMap.get(radioRange.getProtocol());
+
+ if(radioRangeAliasList == null)
+ {
+ radioRangeAliasList = new RadioAliasList();
+ mRadioProtocolMap.put(radioRange.getProtocol(), radioRangeAliasList);
+ }
+
+ radioRangeAliasList.add(radioRange, alias);
+ break;
case ESN:
String esn = ((Esn) id).getEsn();
@@ -253,14 +289,7 @@ public class AliasList implements Listener
if(talkgroupAliasList != null)
{
- Alias alias = talkgroupAliasList.getAlias(talkgroup);
-
- if(alias != null)
- {
- List aliases = new ArrayList<>();
- aliases.add(alias);
- return aliases;
- }
+ return toList(talkgroupAliasList.getAlias(talkgroup));
}
break;
case PATCH_GROUP:
@@ -293,53 +322,52 @@ public class AliasList implements Listener
return aliases;
}
break;
+ case RADIO:
+ RadioIdentifier radio = (RadioIdentifier)identifier;
+
+ RadioAliasList radioAliasList = mRadioProtocolMap.get(identifier.getProtocol());
+
+ if(radioAliasList != null)
+ {
+ return toList(radioAliasList.getAlias(radio));
+ }
+ break;
case ESN:
if(identifier instanceof ESNIdentifier)
{
- Alias alias = getESNAlias(((ESNIdentifier)identifier).getValue());
-
- if(alias != null)
- {
- List aliases = new ArrayList<>();
- aliases.add(alias);
- return aliases;
- }
+ return toList(getESNAlias(((ESNIdentifier)identifier).getValue()));
}
break;
case UNIT_STATUS:
if(identifier instanceof UnitStatusIdentifier)
{
int status = ((UnitStatusIdentifier)identifier).getValue();
-
- Alias alias = mStatusMap.get(status);
-
- if(alias != null)
- {
- List aliases = new ArrayList<>();
- aliases.add(alias);
- return aliases;
- }
+ return toList(mStatusMap.get(status));
}
break;
case USER_STATUS:
if(identifier instanceof UserStatusIdentifier)
{
int status = ((UserStatusIdentifier)identifier).getValue();
-
- Alias alias = mStatusMap.get(status);
-
- if(alias != null)
- {
- List aliases = new ArrayList<>();
- aliases.add(alias);
- return aliases;
- }
+ return toList(mStatusMap.get(status));
}
break;
}
}
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
+ }
+
+ private static List toList(Alias alias)
+ {
+ if(alias != null)
+ {
+ List aliases = new ArrayList<>();
+ aliases.add(alias);
+ return aliases;
+ }
+
+ return Collections.emptyList();
}
/**
@@ -553,4 +581,87 @@ public class AliasList implements Listener
AliasList.remove(alias, mTalkgroupRangeAliasMap);
}
}
+
+ /**
+ * Listing of radio IDs and ranges for a specific protocol
+ */
+ public class RadioAliasList
+ {
+ private Map mRadioAliasMap = new TreeMap<>();
+ private Map mRadioRangeAliasMap = new HashMap<>();
+
+ public RadioAliasList()
+ {
+ }
+
+ public Alias getAlias(RadioIdentifier identifier)
+ {
+ int value = identifier.getValue();
+
+ if(mRadioAliasMap.containsKey(value))
+ {
+ return mRadioAliasMap.get(value);
+ }
+
+ for(RadioRange radioRange: mRadioRangeAliasMap.keySet())
+ {
+ if(radioRange.contains(value))
+ {
+ return mRadioRangeAliasMap.get(radioRange);
+ }
+ }
+
+ return null;
+ }
+
+ public void add(Radio radio, Alias alias)
+ {
+ //Detect collisions
+ if(mRadioAliasMap.containsKey(radio.getValue()))
+ {
+ Alias existing = mRadioAliasMap.get(radio.getValue());
+
+ mLog.warn("Alias [" + alias.getName() + "] radio ID [" + radio.getValue() +
+ "] has the same value as alias [" + existing.getName() +
+ "] - alias [" + alias.getName() + "] will be used for alias list [" + getName() + "]");
+ }
+
+ mRadioAliasMap.put(radio.getValue(), alias);
+ }
+
+ public void add(RadioRange radioRange, Alias alias)
+ {
+ //Log warning if the new range overlaps with any existing ranges
+ for(Map.Entry entry: mRadioRangeAliasMap.entrySet())
+ {
+ if(radioRange.overlaps(entry.getKey()))
+ {
+ mLog.warn("Alias [" + alias.getName() + "] with radio ID range [" + radioRange.toString() +
+ "] overlaps with alias [" + entry.getValue().getName() +
+ "] with range [" + entry.getKey().toString() + "] for alias list [" + getName() + "]");
+ }
+ }
+
+ mRadioRangeAliasMap.put(radioRange, alias);
+ }
+
+ public void remove(Radio radio)
+ {
+ mRadioAliasMap.remove(radio.getValue());
+ }
+
+ public void remove(RadioRange radioRange)
+ {
+ mRadioRangeAliasMap.remove(radioRange);
+ }
+
+ /**
+ * Removes the alias from all internal maps
+ */
+ public void remove(Alias alias)
+ {
+ AliasList.remove(alias, mRadioAliasMap);
+ AliasList.remove(alias, mRadioRangeAliasMap);
+ }
+ }
}
diff --git a/src/main/java/io/github/dsheirer/alias/id/AliasID.java b/src/main/java/io/github/dsheirer/alias/id/AliasID.java
index 37aacdc9..86b5c93b 100644
--- a/src/main/java/io/github/dsheirer/alias/id/AliasID.java
+++ b/src/main/java/io/github/dsheirer/alias/id/AliasID.java
@@ -1,20 +1,24 @@
-/*******************************************************************************
- * SDR Trunk
- * 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- ******************************************************************************/
+ */
package io.github.dsheirer.alias.id;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -25,18 +29,20 @@ import io.github.dsheirer.alias.id.broadcast.BroadcastChannel;
import io.github.dsheirer.alias.id.esn.Esn;
import io.github.dsheirer.alias.id.legacy.fleetsync.FleetsyncID;
import io.github.dsheirer.alias.id.legacy.mdc.MDC1200ID;
+import io.github.dsheirer.alias.id.legacy.mobileID.Min;
import io.github.dsheirer.alias.id.legacy.mpt1327.MPT1327ID;
import io.github.dsheirer.alias.id.legacy.nonrecordable.NonRecordable;
-import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupID;
-import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID;
-import io.github.dsheirer.alias.id.legacy.mobileID.Min;
-import io.github.dsheirer.alias.id.priority.Priority;
-import io.github.dsheirer.alias.id.record.Record;
import io.github.dsheirer.alias.id.legacy.siteID.SiteID;
+import io.github.dsheirer.alias.id.legacy.talkgroup.LegacyTalkgroupID;
+import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueID;
+import io.github.dsheirer.alias.id.lojack.LoJackFunctionAndID;
+import io.github.dsheirer.alias.id.priority.Priority;
+import io.github.dsheirer.alias.id.radio.Radio;
+import io.github.dsheirer.alias.id.radio.RadioRange;
+import io.github.dsheirer.alias.id.record.Record;
import io.github.dsheirer.alias.id.status.StatusID;
import io.github.dsheirer.alias.id.talkgroup.Talkgroup;
import io.github.dsheirer.alias.id.talkgroup.TalkgroupRange;
-import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueID;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
@JsonSubTypes({
@@ -48,6 +54,8 @@ import io.github.dsheirer.alias.id.legacy.uniqueID.UniqueID;
@JsonSubTypes.Type(value = Min.class, name = "min"),
@JsonSubTypes.Type(value = MPT1327ID.class, name = "mpt1327ID"),
@JsonSubTypes.Type(value = NonRecordable.class, name = "nonRecordable"),
+ @JsonSubTypes.Type(value = Radio.class, name = "radio"),
+ @JsonSubTypes.Type(value = RadioRange.class, name = "radioRange"),
@JsonSubTypes.Type(value = Talkgroup.class, name = "talkgroup"),
@JsonSubTypes.Type(value = TalkgroupRange.class, name = "talkgroupRange"),
@JsonSubTypes.Type(value = Priority.class, name = "priority"),
diff --git a/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java b/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java
index 206a9e09..1ff9f356 100644
--- a/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java
+++ b/src/main/java/io/github/dsheirer/alias/id/AliasIDType.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.alias.id;
@@ -28,6 +30,8 @@ public enum AliasIDType
LTR_NET_UID("LTR-Net UID"),
MIN("Passport MIN"),
PRIORITY("Audio Priority"),
+ RADIO_ID("Radio ID"),
+ RADIO_ID_RANGE("Radio ID Range"),
RECORD("Record"),
SITE("Site"),
STATUS("Status"),
diff --git a/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java b/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java
index 16193713..e9a6a86e 100644
--- a/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java
+++ b/src/main/java/io/github/dsheirer/alias/id/AliasIdentifierEditor.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.alias.id;
@@ -124,6 +126,8 @@ public class AliasIdentifierEditor extends Editor
menu.add(new AddAliasIdentifierItem(AliasIDType.TALKGROUP));
menu.add(new AddAliasIdentifierItem(AliasIDType.TALKGROUP_RANGE));
+ menu.add(new AddAliasIdentifierItem(AliasIDType.RADIO_ID));
+ menu.add(new AddAliasIdentifierItem(AliasIDType.RADIO_ID_RANGE));
menu.add(new AddAliasIdentifierItem(AliasIDType.ESN));
// menu.add(new AddAliasIdentifierItem(AliasIDType.LOJACK));
menu.add(new AddAliasIdentifierItem(AliasIDType.STATUS));
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/Radio.java b/src/main/java/io/github/dsheirer/alias/id/radio/Radio.java
new file mode 100644
index 00000000..e3d0d8df
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/Radio.java
@@ -0,0 +1,118 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+package io.github.dsheirer.alias.id.radio;
+
+
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import io.github.dsheirer.alias.id.AliasID;
+import io.github.dsheirer.alias.id.AliasIDType;
+import io.github.dsheirer.alias.id.talkgroup.TalkgroupFormat;
+import io.github.dsheirer.alias.id.talkgroup.TalkgroupFormatter;
+import io.github.dsheirer.protocol.Protocol;
+
+/**
+ * Integer radio identifier with protocol.
+ */
+public class Radio extends AliasID
+{
+ private Protocol mProtocol = Protocol.UNKNOWN;
+ private int mValue;
+
+ public Radio()
+ {
+ //No arg JAXB constructor
+ }
+
+ public Radio(Protocol protocol, int value)
+ {
+ mProtocol = protocol;
+ mValue = value;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "value")
+ public int getValue()
+ {
+ return mValue;
+ }
+
+ public void setValue(int value)
+ {
+ mValue = value;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "protocol")
+ public Protocol getProtocol()
+ {
+ return mProtocol;
+ }
+
+ public void setProtocol(Protocol protocol)
+ {
+ mProtocol = protocol;
+ }
+
+ @Override
+ public boolean isValid()
+ {
+ if(mProtocol == null || mProtocol == Protocol.UNKNOWN)
+ {
+ return false;
+ }
+
+ TalkgroupFormat talkgroupFormat = TalkgroupFormat.get(mProtocol);
+ return talkgroupFormat.getMinimumValidValue() <= mValue && mValue <= talkgroupFormat.getMaximumValidValue();
+ }
+
+ public String toString()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append("Radio ID:").append(TalkgroupFormatter.format(mProtocol, mValue));
+ sb.append(" Protocol:").append((mProtocol));
+
+ if(!isValid())
+ {
+ sb.append(" **NOT VALID**");
+ }
+
+ return sb.toString();
+ }
+
+ @Override
+ public boolean matches(AliasID id)
+ {
+ if(id instanceof Radio)
+ {
+ Radio tgid = (Radio)id;
+ return (getProtocol() == tgid.getProtocol()) && (getValue() == tgid.getValue());
+ }
+
+ return false;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "type", namespace = "http://www.w3.org/2001/XMLSchema-instance")
+ @Override
+ public AliasIDType getType()
+ {
+ return AliasIDType.RADIO_ID;
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioEditor.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioEditor.java
new file mode 100644
index 00000000..ebf29ada
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioEditor.java
@@ -0,0 +1,235 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+package io.github.dsheirer.alias.id.radio;
+
+import io.github.dsheirer.alias.id.AliasID;
+import io.github.dsheirer.gui.editor.DocumentListenerEditor;
+import io.github.dsheirer.protocol.Protocol;
+import net.miginfocom.swing.MigLayout;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import javax.swing.JFormattedTextField;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.text.MaskFormatter;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.text.ParseException;
+
+public class RadioEditor extends DocumentListenerEditor
+{
+ private final static Logger mLog = LoggerFactory.getLogger(RadioEditor.class);
+ private static final long serialVersionUID = 1L;
+
+ private static final String VALID_CHARACTERS_FOR_ASTERISK_MASKS = "0123456789 ";
+ private MaskFormatter mMaskFormatter = new MaskFormatter();
+ private JComboBox mComboProtocol;
+ private JFormattedTextField mRadioIdField;
+
+
+ public RadioEditor(AliasID aliasID)
+ {
+ initGUI();
+ setItem(aliasID);
+ }
+
+ private void initGUI()
+ {
+ setLayout(new MigLayout("fill,wrap 2", "[right][left]", "[][]"));
+
+ add(new JLabel("Protocol:"));
+
+ mComboProtocol = new JComboBox<>();
+
+ DefaultComboBoxModel model = new DefaultComboBoxModel<>();
+
+ for(Protocol protocol : Protocol.RADIO_ID_PROTOCOLS)
+ {
+ model.addElement(protocol);
+ }
+
+ mComboProtocol.setModel(model);
+ mComboProtocol.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ Protocol protocol = (Protocol)mComboProtocol.getSelectedItem();
+ updateEditor(protocol);
+ setModified(true);
+ }
+ });
+
+ add(mComboProtocol);
+
+ add(new JLabel("Value:"));
+
+ mRadioIdField = new JFormattedTextField(mMaskFormatter);
+ mRadioIdField.getDocument().addDocumentListener(this);
+ add(mRadioIdField, "growx,push");
+
+ JLabel help = new JLabel("Help ...");
+ help.setForeground(Color.BLUE.brighter());
+ help.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ help.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ RadioFormat radioFormat = RadioFormat.get(getCurrentProtocol());
+ JOptionPane.showMessageDialog(RadioEditor.this,
+ radioFormat.getValidRangeHelpText(), "Help", JOptionPane.INFORMATION_MESSAGE);
+ }
+ });
+ add(help, "align left");
+ }
+
+ private void updateEditor(Protocol protocol)
+ {
+ RadioFormat mask = RadioFormat.get(protocol);
+ int currentValue = 0;
+ Radio radio = getRadio();
+
+ if(radio != null)
+ {
+ currentValue = radio.getValue();
+ }
+
+ try
+ {
+ mRadioIdField.setValue(null);
+ mRadioIdField.setToolTipText(mask.getValidRangeHelpText());
+ mMaskFormatter.setMask(mask.getMask());
+ if(mask.getMask().contains("*"))
+ {
+ mMaskFormatter.setValidCharacters(VALID_CHARACTERS_FOR_ASTERISK_MASKS);
+ }
+ mRadioIdField.setValue(RadioFormatter.format(protocol, currentValue));
+ }
+ catch(ParseException pe)
+ {
+ mLog.error("Error applying talkgroup editor mask to mask formatter [" + mask.getMask() + "]");
+ }
+ }
+
+ private Protocol getCurrentProtocol()
+ {
+ return mComboProtocol.getItemAt(mComboProtocol.getSelectedIndex());
+ }
+
+ /**
+ * Current talkgroup alias id
+ */
+ public Radio getRadio()
+ {
+ if(getItem() instanceof Radio)
+ {
+ return (Radio)getItem();
+ }
+
+ return null;
+ }
+
+ @Override
+ public void setItem(AliasID aliasID)
+ {
+ super.setItem(aliasID);
+
+ Radio radio = getRadio();
+
+ if(radio != null)
+ {
+ Protocol currentProtocol = getCurrentProtocol();
+ if(currentProtocol == radio.getProtocol())
+ {
+ updateEditor(radio.getProtocol());
+ }
+ mComboProtocol.getModel().setSelectedItem(radio.getProtocol());
+
+ String formatted = RadioFormatter.format(radio.getProtocol(), radio.getValue());
+ mRadioIdField.setValue(formatted);
+ }
+ else
+ {
+ mComboProtocol.getModel().setSelectedItem(Protocol.UNKNOWN);
+ mRadioIdField.setValue(RadioFormatter.format(getCurrentProtocol(), 0));
+ }
+
+ setModified(false);
+
+ repaint();
+ }
+
+ @Override
+ public void save()
+ {
+ Radio radio = getRadio();
+
+ if(radio != null)
+ {
+ Protocol protocol = mComboProtocol.getItemAt(mComboProtocol.getSelectedIndex());
+
+ if(protocol == null)
+ {
+ protocol = Protocol.UNKNOWN;
+ }
+
+ int value = -1;
+
+ try
+ {
+ value = RadioFormatter.parse(protocol, mRadioIdField.getText());
+ }
+ catch(ParseException pe)
+ {
+ //ignore ... value is still -1 and outside valid value range
+ }
+
+ RadioFormat mask = RadioFormat.get(protocol);
+
+ //Check for valid value within range ... notify user but allow value to persist
+ if(value < mask.getMinimumValidValue() || value > mask.getMaximumValidValue())
+ {
+ String message = "Invalid value [" + mRadioIdField.getText() + "]. " + protocol.name() +
+ " valid range is [" + mask.getValidRangeDescription() + "]";
+
+ JOptionPane.showMessageDialog(RadioEditor.this, message, "Invalid Radio ID Value",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ else
+ {
+ radio.setValue(value);
+ }
+
+ radio.setProtocol(protocol);
+ }
+
+ setModified(false);
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java
new file mode 100644
index 00000000..3127f895
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormat.java
@@ -0,0 +1,117 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.alias.id.radio;
+
+import io.github.dsheirer.protocol.Protocol;
+
+/**
+ * Radio ID protocol identifier entry masks and min/max valid ranges and valid range descriptions
+ *
+ * Note: the getMask() value is intended for use with a MaskFormatter attached to a JFormattedTextField. The
+ * protocol masks that have a dash (-) use the # (any digit) character and the protocol masks that do not have
+ * a formatting dash use an asterisk (*). Within the editor(s) that use this enumeration, the editor must use
+ * a setValidCharacters() on the mask formatter whenever it detects the mask containing one or more asterisks.
+ */
+public enum RadioFormat
+{
+ APCO25("********", 1, 0xFFFFFF, "1 to 16,777,215",
+ "APCO25 valid range is 1 to 16,777,215"),
+ UNKNOWN("********", 1, 0xFFFFFF, "1 to 16,777,215",
+ "Unknown protocol valid value range is 1-16,777,215");
+
+ private String mMask;
+ private int mMinimumValue;
+ private int mMaximumValue;
+ private String mValidRangeDescription;
+ private String mValidRangeHelpText;
+
+ RadioFormat(String mask, int minimumValue, int maximumValue, String validRangeDescription, String validRangeHelpText)
+ {
+ mMask = mask;
+ mMinimumValue = minimumValue;
+ mMaximumValue = maximumValue;
+ mValidRangeDescription = validRangeDescription;
+ mValidRangeHelpText = validRangeHelpText;
+ }
+
+ public String getMask()
+ {
+ return mMask;
+ }
+
+ /**
+ * Minimum valid value for the protocol
+ */
+ public int getMinimumValidValue()
+ {
+ return mMinimumValue;
+ }
+
+ /**
+ * Maximum valid value for the protocol
+ */
+ public int getMaximumValidValue()
+ {
+ return mMaximumValue;
+ }
+
+ /**
+ * Indicates if the value is valid for the protocol
+ */
+ public boolean isValid(int value)
+ {
+ return getMinimumValidValue() <= value && value <= getMaximumValidValue();
+ }
+
+ /**
+ * Short description of the valid value range
+ */
+ public String getValidRangeDescription()
+ {
+ return mValidRangeDescription;
+ }
+
+ /**
+ * Help text for valid value ranges
+ */
+ public String getValidRangeHelpText()
+ {
+ return mValidRangeHelpText;
+ }
+
+ public static RadioFormat get(Protocol protocol)
+ {
+ if(protocol == null)
+ {
+ return UNKNOWN;
+ }
+
+ switch(protocol)
+ {
+ case APCO25:
+ return APCO25;
+ default:
+ return UNKNOWN;
+ }
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormatter.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormatter.java
new file mode 100644
index 00000000..77127bfe
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioFormatter.java
@@ -0,0 +1,82 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.alias.id.radio;
+
+import io.github.dsheirer.preference.identifier.talkgroup.APCO25TalkgroupFormatter;
+import io.github.dsheirer.preference.identifier.talkgroup.IntegerFormatter;
+import io.github.dsheirer.protocol.Protocol;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.ParseException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Protocol-specific formatting of radio id values and parsing of formatted radio id values.
+ */
+public class RadioFormatter
+{
+ private final static Logger mLog = LoggerFactory.getLogger(RadioFormatter.class);
+ private static Map mFormatterMap = new HashMap<>();
+
+ static
+ {
+ mFormatterMap.put(Protocol.APCO25, new APCO25TalkgroupFormatter());
+ mFormatterMap.put(Protocol.UNKNOWN, new IntegerFormatter());
+ }
+
+ public RadioFormatter()
+ {
+ }
+
+ /**
+ * Parses the formatted value into an integer using a protocol specific formatter
+ */
+ public static int parse(Protocol protocol, String value) throws ParseException
+ {
+ IntegerFormatter formatter = mFormatterMap.get(protocol);
+
+ if(formatter == null)
+ {
+ formatter = mFormatterMap.get(Protocol.UNKNOWN);
+ }
+
+ return formatter.parse(value);
+ }
+
+ /**
+ * Formats the integer value using a protocol-specific formatter
+ */
+ public static String format(Protocol protocol, int value)
+ {
+ IntegerFormatter formatter = mFormatterMap.get(protocol);
+
+ if(formatter == null)
+ {
+ formatter = mFormatterMap.get(Protocol.UNKNOWN);
+ }
+
+ return formatter.format(value);
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioRange.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioRange.java
new file mode 100644
index 00000000..207ce665
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioRange.java
@@ -0,0 +1,166 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+package io.github.dsheirer.alias.id.radio;
+
+
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import io.github.dsheirer.alias.id.AliasID;
+import io.github.dsheirer.alias.id.AliasIDType;
+import io.github.dsheirer.protocol.Protocol;
+
+/**
+ * Integer radio identifier range of values with protocol.
+ */
+public class RadioRange extends AliasID
+{
+ private Protocol mProtocol = Protocol.UNKNOWN;
+ private int mMinRadio;
+ private int mMaxRadio;
+
+ public RadioRange()
+ {
+ //No arg JAXB constructor
+ }
+
+ /**
+ * Creates a radio range of from - to radio values (inclusive) for the specified protocol
+ * @param protocol for the radio range
+ * @param minRadio starting or minimum radio value
+ * @param maxRadio ending or maximum radio value
+ */
+ public RadioRange(Protocol protocol, int minRadio, int maxRadio)
+ {
+ mProtocol = protocol;
+ mMinRadio = minRadio;
+ mMaxRadio = maxRadio;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "min")
+ public int getMinRadio()
+ {
+ return mMinRadio;
+ }
+
+ public void setMinRadio(int minRadio)
+ {
+ mMinRadio = minRadio;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "max")
+ public int getMaxRadio()
+ {
+ return mMaxRadio;
+ }
+
+ public void setMaxRadio(int maxRadio)
+ {
+ mMaxRadio = maxRadio;
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "protocol")
+ public Protocol getProtocol()
+ {
+ return mProtocol;
+ }
+
+ public void setProtocol(Protocol protocol)
+ {
+ mProtocol = protocol;
+ }
+
+ @Override
+ public boolean isValid()
+ {
+ if(mProtocol == null || mProtocol == Protocol.UNKNOWN)
+ {
+ return false;
+ }
+
+ RadioFormat radioFormat = RadioFormat.get(mProtocol);
+ return radioFormat.getMinimumValidValue() <= mMinRadio &&
+ mMinRadio <= radioFormat.getMaximumValidValue() &&
+ radioFormat.getMinimumValidValue() <= mMaxRadio &&
+ mMaxRadio <= radioFormat.getMaximumValidValue();
+ }
+
+ public String toString()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append("Radio ID Range:").append(RadioFormatter.format(mProtocol, mMinRadio));
+ sb.append(" to ").append(RadioFormatter.format(mProtocol, mMaxRadio));
+ sb.append(" Protocol:").append(mProtocol != null ? mProtocol : "unspecified");
+
+ if(!isValid())
+ {
+ sb.append(" **NOT VALID**");
+ }
+
+ return sb.toString();
+ }
+
+ @Override
+ public boolean matches(AliasID id)
+ {
+ if(id instanceof RadioRange)
+ {
+ RadioRange tgid = (RadioRange)id;
+ return (getProtocol() == tgid.getProtocol()) &&
+ (getMinRadio() == tgid.getMinRadio()) &&
+ (getMaxRadio() == tgid.getMaxRadio());
+ }
+
+ return false;
+ }
+
+ /**
+ * Indicates if this radio range contains/includes the value
+ * @param radioValue
+ * @return
+ */
+ public boolean contains(int radioValue)
+ {
+ return getMinRadio() <= radioValue && radioValue <= getMaxRadio();
+ }
+
+ /**
+ * Indicates if this talkgroup range overlaps the talkgroup range argument.
+ * @param radioRange to check for overlap
+ * @return true if the ranges overlap
+ */
+ public boolean overlaps(RadioRange radioRange)
+ {
+ return contains(radioRange.getMinRadio()) ||
+ contains(radioRange.getMaxRadio()) ||
+ (getMinRadio() < radioRange.getMinRadio() &&
+ radioRange.getMaxRadio() < getMaxRadio()) ||
+ (radioRange.getMinRadio() < getMinRadio() &&
+ getMaxRadio() < radioRange.getMaxRadio());
+ }
+
+ @JacksonXmlProperty(isAttribute = true, localName = "type", namespace = "http://www.w3.org/2001/XMLSchema-instance")
+ @Override
+ public AliasIDType getType()
+ {
+ return AliasIDType.RADIO_ID_RANGE;
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/alias/id/radio/RadioRangeEditor.java b/src/main/java/io/github/dsheirer/alias/id/radio/RadioRangeEditor.java
new file mode 100644
index 00000000..37c2b777
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/alias/id/radio/RadioRangeEditor.java
@@ -0,0 +1,273 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+package io.github.dsheirer.alias.id.radio;
+
+import io.github.dsheirer.alias.id.AliasID;
+import io.github.dsheirer.gui.editor.DocumentListenerEditor;
+import io.github.dsheirer.protocol.Protocol;
+import net.miginfocom.swing.MigLayout;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import javax.swing.JFormattedTextField;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.text.MaskFormatter;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.text.ParseException;
+
+public class RadioRangeEditor extends DocumentListenerEditor
+{
+ private final static Logger mLog = LoggerFactory.getLogger(RadioRangeEditor.class);
+ private static final long serialVersionUID = 1L;
+
+ private static final String VALID_CHARACTERS_FOR_ASTERISK_MASKS = "0123456789 ";
+ private MaskFormatter mMaskFormatter = new MaskFormatter();
+ private JComboBox mComboProtocol;
+ private JFormattedTextField mMinRadioField;
+ private JFormattedTextField mMaxRadioField;
+
+ public RadioRangeEditor(AliasID aliasID)
+ {
+ initGUI();
+
+ setItem(aliasID);
+ }
+
+ private void initGUI()
+ {
+ setLayout(new MigLayout("fill,wrap 2", "[right][left]", "[][]"));
+
+ add(new JLabel("Protocol:"));
+
+ mComboProtocol = new JComboBox();
+
+ DefaultComboBoxModel model = new DefaultComboBoxModel<>();
+
+ for(Protocol protocol : Protocol.RADIO_ID_PROTOCOLS)
+ {
+ model.addElement(protocol);
+ }
+
+ mComboProtocol.setModel(model);
+ mComboProtocol.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ Protocol protocol = (Protocol)mComboProtocol.getSelectedItem();
+ updateEditor(protocol);
+ setModified(true);
+ }
+ });
+
+ add(mComboProtocol);
+
+ add(new JLabel("Min:"));
+
+ mMinRadioField = new JFormattedTextField(mMaskFormatter);
+ mMinRadioField.getDocument().addDocumentListener(this);
+ add(mMinRadioField, "growx,push");
+
+ add(new JLabel("Max:"));
+
+ mMaxRadioField = new JFormattedTextField(mMaskFormatter);
+ mMaxRadioField.getDocument().addDocumentListener(this);
+ add(mMaxRadioField, "growx,push");
+
+ JLabel help = new JLabel("Help ...");
+ help.setForeground(Color.BLUE.brighter());
+ help.setCursor(new Cursor(Cursor.HAND_CURSOR));
+ help.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ RadioFormat radioFormat = RadioFormat.get(getCurrentProtocol());
+ JOptionPane.showMessageDialog(RadioRangeEditor.this,
+ radioFormat.getValidRangeHelpText(), "Help", JOptionPane.INFORMATION_MESSAGE);
+ }
+ });
+ add(help, "align left");
+ }
+
+ private void updateEditor(Protocol protocol)
+ {
+ RadioFormat mask = RadioFormat.get(protocol);
+ int currentMinValue = 0;
+ int currentMaxValue = 0;
+ RadioRange radioRange = getRadioRange();
+
+ if(radioRange != null)
+ {
+ currentMinValue = radioRange.getMinRadio();
+ currentMaxValue = radioRange.getMaxRadio();
+ }
+
+ try
+ {
+ mMinRadioField.setValue(null);
+ mMaxRadioField.setValue(null);
+
+ mMinRadioField.setToolTipText(mask.getValidRangeHelpText());
+ mMaxRadioField.setToolTipText(mask.getValidRangeHelpText());
+ mMaskFormatter.setMask(mask.getMask());
+ if(mask.getMask().contains("*"))
+ {
+ mMaskFormatter.setValidCharacters(VALID_CHARACTERS_FOR_ASTERISK_MASKS);
+ }
+
+ mMinRadioField.setValue(RadioFormatter.format(protocol, currentMinValue));
+ mMaxRadioField.setValue(RadioFormatter.format(protocol, currentMaxValue));
+ }
+ catch(ParseException pe)
+ {
+ mLog.error("Error applying radio editor mask to mask formatter [" + mask.getMask() + "]");
+ }
+ }
+
+ private Protocol getCurrentProtocol()
+ {
+ return mComboProtocol.getItemAt(mComboProtocol.getSelectedIndex());
+ }
+
+
+
+ public RadioRange getRadioRange()
+ {
+ if(getItem() instanceof RadioRange)
+ {
+ return (RadioRange)getItem();
+ }
+
+ return null;
+ }
+
+ @Override
+ public void setItem(AliasID aliasID)
+ {
+ super.setItem(aliasID);
+
+ RadioRange radioRange = getRadioRange();
+
+ updateEditor(radioRange.getProtocol());
+
+ if(radioRange != null)
+ {
+ mComboProtocol.getModel().setSelectedItem(radioRange.getProtocol());
+ String minFormatted = RadioFormatter.format(radioRange.getProtocol(), radioRange.getMinRadio());
+ mMinRadioField.setValue(minFormatted);
+ String maxFormatted = RadioFormatter.format(radioRange.getProtocol(), radioRange.getMaxRadio());
+ mMaxRadioField.setValue(maxFormatted);
+ }
+ else
+ {
+ mComboProtocol.getModel().setSelectedItem(Protocol.UNKNOWN);
+ mMinRadioField.setValue(RadioFormatter.format(getCurrentProtocol(), 0));
+ mMaxRadioField.setValue(RadioFormatter.format(getCurrentProtocol(), 0));
+ }
+
+ setModified(false);
+
+ repaint();
+ }
+
+ @Override
+ public void save()
+ {
+ RadioRange radioRange = getRadioRange();
+
+ if(radioRange != null)
+ {
+ Protocol protocol = mComboProtocol.getItemAt(mComboProtocol.getSelectedIndex());
+
+ if(protocol == null)
+ {
+ protocol = Protocol.UNKNOWN;
+ }
+
+ radioRange.setProtocol(protocol);
+
+ int minValue = -1;
+ int maxValue = -1;
+
+ try
+ {
+ minValue = RadioFormatter.parse(protocol, mMinRadioField.getText());
+ }
+ catch(ParseException pe)
+ {
+ //ignore ... value is still -1 and outside valid value range
+ }
+
+ try
+ {
+ maxValue = RadioFormatter.parse(protocol, mMaxRadioField.getText());
+ }
+ catch(ParseException pe)
+ {
+ //ignore ... value is still -1 and outside valid value range
+ }
+
+ RadioFormat mask = RadioFormat.get(protocol);
+
+ //Check for valid value within range ... notify user but allow value to persist
+ if(minValue < mask.getMinimumValidValue() || minValue > mask.getMaximumValidValue())
+ {
+ String message = "Invalid minimum value [" + mMinRadioField.getText() + "]. " + protocol.name() +
+ " valid range is [" + mask.getValidRangeDescription() + "]";
+
+ JOptionPane.showMessageDialog(RadioRangeEditor.this, message,
+ "Invalid Radio Value", JOptionPane.ERROR_MESSAGE);
+ }
+ else
+ {
+ radioRange.setMinRadio(minValue);
+ }
+
+ //Check for valid value within range ... notify user but allow value to persist
+ if(maxValue < mask.getMinimumValidValue() || maxValue > mask.getMaximumValidValue())
+ {
+ String message = "Invalid maximum value [" + mMaxRadioField.getText() + "]. " + protocol.name() +
+ " valid range is [" + mask.getValidRangeDescription() + "]";
+
+ JOptionPane.showMessageDialog(RadioRangeEditor.this, message,
+ "Invalid Radio Value", JOptionPane.ERROR_MESSAGE);
+ }
+ else
+ {
+ radioRange.setMaxRadio(maxValue);
+ }
+
+ radioRange.setProtocol(protocol);
+ }
+
+ setModified(false);
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/gui/preference/PreferenceEditorType.java b/src/main/java/io/github/dsheirer/gui/preference/PreferenceEditorType.java
index 8d63a69a..fd7ecce9 100644
--- a/src/main/java/io/github/dsheirer/gui/preference/PreferenceEditorType.java
+++ b/src/main/java/io/github/dsheirer/gui/preference/PreferenceEditorType.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.gui.preference;
@@ -30,7 +32,7 @@ public enum PreferenceEditorType
DIRECTORY("Directories"),
SOURCE_CHANNEL_MULTIPLE_FREQUENCY("Channel - Multiple Frequency"),
SOURCE_TUNER_CHANNELIZER("Tuner Channelizer"),
- TALKGROUP_FORMAT("Talkgroups");
+ TALKGROUP_FORMAT("Talkgroup & Radio ID");
private String mLabel;
diff --git a/src/main/java/io/github/dsheirer/identifier/Form.java b/src/main/java/io/github/dsheirer/identifier/Form.java
index 4132aa5e..a2962a4b 100644
--- a/src/main/java/io/github/dsheirer/identifier/Form.java
+++ b/src/main/java/io/github/dsheirer/identifier/Form.java
@@ -44,6 +44,7 @@ public enum Form
NEIGHBOR_SITE,
NETWORK_ACCESS_CODE,
PATCH_GROUP,
+ RADIO,
RF_SUBSYSTEM,
SCRAMBLE_PARAMETERS,
SHORT_DATA_MESSAGE,
diff --git a/src/main/java/io/github/dsheirer/identifier/patch/PatchGroup.java b/src/main/java/io/github/dsheirer/identifier/patch/PatchGroup.java
index 0ee60788..6620be28 100644
--- a/src/main/java/io/github/dsheirer/identifier/patch/PatchGroup.java
+++ b/src/main/java/io/github/dsheirer/identifier/patch/PatchGroup.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.identifier.patch;
@@ -45,17 +47,17 @@ public class PatchGroup
public void addPatchedGroup(TalkgroupIdentifier patchedGroupIdentifier)
{
- mPatchedGroupIdentifiers.add(patchedGroupIdentifier);
+ if(!mPatchedGroupIdentifiers.contains(patchedGroupIdentifier))
+ {
+ mPatchedGroupIdentifiers.add(patchedGroupIdentifier);
+ }
}
public void addPatchedGroups(List patchedGroupIdentifiers)
{
for(TalkgroupIdentifier identifier : patchedGroupIdentifiers)
{
- if(!mPatchedGroupIdentifiers.contains(identifier))
- {
- mPatchedGroupIdentifiers.add(identifier);
- }
+ addPatchedGroup(identifier);
}
}
diff --git a/src/main/java/io/github/dsheirer/identifier/radio/FullyQualifiedRadioIdentifier.java b/src/main/java/io/github/dsheirer/identifier/radio/FullyQualifiedRadioIdentifier.java
new file mode 100644
index 00000000..bdc2b997
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/identifier/radio/FullyQualifiedRadioIdentifier.java
@@ -0,0 +1,53 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.identifier.radio;
+
+import io.github.dsheirer.identifier.Role;
+
+/**
+ * Fully qualified radio identifier
+ */
+public abstract class FullyQualifiedRadioIdentifier extends RadioIdentifier
+{
+ private int mWacn;
+ private int mSystem;
+
+ /**
+ * Constructs an instance
+ * @param wacn
+ * @param system
+ * @param id
+ */
+ public FullyQualifiedRadioIdentifier(int wacn, int system, int id, Role role)
+ {
+ super(id, role);
+ mWacn = wacn;
+ mSystem = system;
+ }
+
+ @Override
+ public String toString()
+ {
+ return mWacn + "." + mSystem + "." + super.toString();
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/identifier/radio/RadioIdentifier.java b/src/main/java/io/github/dsheirer/identifier/radio/RadioIdentifier.java
new file mode 100644
index 00000000..077e10d8
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/identifier/radio/RadioIdentifier.java
@@ -0,0 +1,42 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.identifier.radio;
+
+import io.github.dsheirer.identifier.Form;
+import io.github.dsheirer.identifier.IdentifierClass;
+import io.github.dsheirer.identifier.Role;
+import io.github.dsheirer.identifier.integer.IntegerIdentifier;
+
+public abstract class RadioIdentifier extends IntegerIdentifier
+{
+ public RadioIdentifier(Integer value, Role role)
+ {
+ super(value, IdentifierClass.USER, Form.RADIO, role);
+ }
+
+ @Override
+ public boolean isValid()
+ {
+ return getValue() > 0;
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedIdentifier.java b/src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedTalkgroupIdentifier.java
similarity index 71%
rename from src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedIdentifier.java
rename to src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedTalkgroupIdentifier.java
index 8f31cfe1..1e051f6a 100644
--- a/src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedIdentifier.java
+++ b/src/main/java/io/github/dsheirer/identifier/talkgroup/FullyQualifiedTalkgroupIdentifier.java
@@ -22,14 +22,15 @@
package io.github.dsheirer.identifier.talkgroup;
+import io.github.dsheirer.identifier.Role;
+
/**
* Fully qualified radio identifier
*/
-public class FullyQualifiedIdentifier
+public abstract class FullyQualifiedTalkgroupIdentifier extends TalkgroupIdentifier
{
private int mWacn;
private int mSystem;
- private int mId;
/**
* Constructs an instance
@@ -37,28 +38,16 @@ public class FullyQualifiedIdentifier
* @param system
* @param id
*/
- public FullyQualifiedIdentifier(int wacn, int system, int id)
+ public FullyQualifiedTalkgroupIdentifier(int wacn, int system, int id, Role role)
{
+ super(id, role);
mWacn = wacn;
mSystem = system;
- mId = id;
}
@Override
public String toString()
{
- return mWacn + "." + mSystem + "." + mId;
- }
-
- /**
- * Creates an instance with the specified values
- * @param wacn value
- * @param system value
- * @param id value
- * @return instance
- */
- public static FullyQualifiedIdentifier create(int wacn, int system, int id)
- {
- return new FullyQualifiedIdentifier(wacn, system, id);
+ return mWacn + "." + mSystem + "." + super.toString();
}
}
diff --git a/src/main/java/io/github/dsheirer/identifier/talkgroup/LTRTalkgroup.java b/src/main/java/io/github/dsheirer/identifier/talkgroup/LTRTalkgroup.java
index 7eee4f5a..71faf302 100644
--- a/src/main/java/io/github/dsheirer/identifier/talkgroup/LTRTalkgroup.java
+++ b/src/main/java/io/github/dsheirer/identifier/talkgroup/LTRTalkgroup.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.identifier.talkgroup;
@@ -30,7 +32,7 @@ public class LTRTalkgroup extends TalkgroupIdentifier implements Comparable
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.identifier.talkgroup;
@@ -27,12 +29,9 @@ import io.github.dsheirer.identifier.integer.IntegerIdentifier;
public abstract class TalkgroupIdentifier extends IntegerIdentifier
{
- private boolean mIsGroup;
-
- public TalkgroupIdentifier(Integer value, Role role, boolean isGroup)
+ public TalkgroupIdentifier(Integer value, Role role)
{
super(value, IdentifierClass.USER, Form.TALKGROUP, role);
- mIsGroup = isGroup;
}
@Override
@@ -40,12 +39,4 @@ public abstract class TalkgroupIdentifier extends IntegerIdentifier
{
return getValue() > 0;
}
-
- /**
- * Indicates if this is a group or individual identifier
- */
- public boolean isGroup()
- {
- return mIsGroup;
- }
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/fleetsync2/identifier/FleetsyncIdentifier.java b/src/main/java/io/github/dsheirer/module/decode/fleetsync2/identifier/FleetsyncIdentifier.java
index 49dedc14..2e9c6ea5 100644
--- a/src/main/java/io/github/dsheirer/module/decode/fleetsync2/identifier/FleetsyncIdentifier.java
+++ b/src/main/java/io/github/dsheirer/module/decode/fleetsync2/identifier/FleetsyncIdentifier.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.fleetsync2.identifier;
@@ -31,7 +33,7 @@ public class FleetsyncIdentifier extends TalkgroupIdentifier implements Comparab
{
public FleetsyncIdentifier(Integer talkgroup, Role role)
{
- super(talkgroup, role, false);
+ super(talkgroup, role);
}
@Override
diff --git a/src/main/java/io/github/dsheirer/module/decode/ltrnet/identifier/LtrNetRadioIdentifier.java b/src/main/java/io/github/dsheirer/module/decode/ltrnet/identifier/LtrNetRadioIdentifier.java
index e4263396..d6d00f08 100644
--- a/src/main/java/io/github/dsheirer/module/decode/ltrnet/identifier/LtrNetRadioIdentifier.java
+++ b/src/main/java/io/github/dsheirer/module/decode/ltrnet/identifier/LtrNetRadioIdentifier.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.ltrnet.identifier;
@@ -31,7 +33,7 @@ public class LtrNetRadioIdentifier extends TalkgroupIdentifier implements Compar
{
public LtrNetRadioIdentifier(int value, Role role)
{
- super(value, role, false);
+ super(value, role);
}
@Override
diff --git a/src/main/java/io/github/dsheirer/module/decode/mdc1200/identifier/MDC1200Identifier.java b/src/main/java/io/github/dsheirer/module/decode/mdc1200/identifier/MDC1200Identifier.java
index 1914bd09..bd3794e0 100644
--- a/src/main/java/io/github/dsheirer/module/decode/mdc1200/identifier/MDC1200Identifier.java
+++ b/src/main/java/io/github/dsheirer/module/decode/mdc1200/identifier/MDC1200Identifier.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.mdc1200.identifier;
@@ -35,7 +37,7 @@ public class MDC1200Identifier extends TalkgroupIdentifier
*/
public MDC1200Identifier(Integer value, Role role)
{
- super(value, role, false);
+ super(value, role);
}
@Override
diff --git a/src/main/java/io/github/dsheirer/module/decode/mpt1327/identifier/MPT1327Talkgroup.java b/src/main/java/io/github/dsheirer/module/decode/mpt1327/identifier/MPT1327Talkgroup.java
index fc1d2944..dd683742 100644
--- a/src/main/java/io/github/dsheirer/module/decode/mpt1327/identifier/MPT1327Talkgroup.java
+++ b/src/main/java/io/github/dsheirer/module/decode/mpt1327/identifier/MPT1327Talkgroup.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.mpt1327.identifier;
@@ -35,7 +37,7 @@ public class MPT1327Talkgroup extends TalkgroupIdentifier
{
public MPT1327Talkgroup(Integer value, Role role)
{
- super(value, role, false);
+ super(value, role);
}
@Override
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25FullyQualifiedRadioIdentifier.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25FullyQualifiedRadioIdentifier.java
new file mode 100644
index 00000000..db2bbb9a
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25FullyQualifiedRadioIdentifier.java
@@ -0,0 +1,54 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.module.decode.p25.identifier.radio;
+
+import io.github.dsheirer.identifier.Role;
+import io.github.dsheirer.identifier.radio.FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.protocol.Protocol;
+
+/**
+ * Fully Qualified Radio Identifier (talkgroup) that includes WACN, System, and Radio Address.
+ */
+public class APCO25FullyQualifiedRadioIdentifier extends FullyQualifiedRadioIdentifier
+{
+ public APCO25FullyQualifiedRadioIdentifier(int wacn, int system, int id, Role role)
+ {
+ super(wacn, system, id, role);
+ }
+
+ @Override
+ public Protocol getProtocol()
+ {
+ return Protocol.APCO25;
+ }
+
+ public static APCO25FullyQualifiedRadioIdentifier createFrom(int wacn, int system, int id)
+ {
+ return new APCO25FullyQualifiedRadioIdentifier(wacn, system, id, Role.FROM);
+ }
+
+ public static APCO25FullyQualifiedRadioIdentifier createTo(int wacn, int system, int id)
+ {
+ return new APCO25FullyQualifiedRadioIdentifier(wacn, system, id, Role.TO);
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java
new file mode 100644
index 00000000..9ba58c54
--- /dev/null
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/radio/APCO25Radio.java
@@ -0,0 +1,68 @@
+/*
+ *
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
+ *
+ *
+ */
+
+package io.github.dsheirer.module.decode.p25.identifier.radio;
+
+import io.github.dsheirer.identifier.Role;
+import io.github.dsheirer.identifier.radio.RadioIdentifier;
+import io.github.dsheirer.protocol.Protocol;
+
+/**
+ * APCO-25 Radio Identifier
+ */
+public class APCO25Radio extends RadioIdentifier
+{
+ public APCO25Radio(Integer value, Role role)
+ {
+ super(value, role);
+ }
+
+ @Override
+ public Protocol getProtocol()
+ {
+ return Protocol.APCO25;
+ }
+
+ /**
+ * Creates an APCO-25 TO radio identifier
+ */
+ public static RadioIdentifier createTo(int radioId)
+ {
+ return new APCO25Radio(radioId, Role.TO);
+ }
+
+ /**
+ * Creates an APCO-25 FROM radio identifier
+ */
+ public static RadioIdentifier createFrom(int radioId)
+ {
+ return new APCO25Radio(radioId, Role.FROM);
+ }
+
+ /**
+ * Creates an APCO-25 ANY radio identifier
+ */
+ public static RadioIdentifier createAny(int radioId)
+ {
+ return new APCO25Radio(radioId, Role.ANY);
+ }
+}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnnouncementTalkgroup.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnnouncementTalkgroup.java
index 9dad5d83..f1886498 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnnouncementTalkgroup.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnnouncementTalkgroup.java
@@ -1,26 +1,28 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.Role;
+import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
/**
* APCO25 Announcement Talkgroup - grouping of talkgroups within a system.
@@ -34,13 +36,13 @@ public class APCO25AnnouncementTalkgroup extends APCO25Talkgroup
*/
public APCO25AnnouncementTalkgroup(Integer value)
{
- super(value, Role.BROADCAST, true);
+ super(value, Role.BROADCAST);
}
/**
* Creates an APCO-25 announcement group talkgroup identifier
*/
- public static Identifier create(int talkgroup)
+ public static TalkgroupIdentifier create(int talkgroup)
{
return new APCO25AnnouncementTalkgroup(talkgroup);
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnyTalkgroup.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnyTalkgroup.java
deleted file mode 100644
index 60768302..00000000
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25AnyTalkgroup.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
- */
-package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-
-import io.github.dsheirer.identifier.Role;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-
-/**
- * APCO25 Talkgroup Identifier with an ANY role.
- */
-public class APCO25AnyTalkgroup extends APCO25Talkgroup
-{
- /**
- * Constructs an APCO25 Talkgroup Identifier with an ANY role.
- *
- * @param value of the talkgroup
- */
- public APCO25AnyTalkgroup(Integer value)
- {
- super(value, Role.ANY, true);
- }
-
- /**
- * Creates an ANY APCO-25 talkgroup identifier
- */
- public static TalkgroupIdentifier create(int talkgroup)
- {
- return new APCO25AnyTalkgroup(talkgroup);
- }
-}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FromTalkgroup.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FromTalkgroup.java
deleted file mode 100644
index 7de37e91..00000000
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FromTalkgroup.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
- */
-package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-
-import io.github.dsheirer.identifier.Role;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-
-/**
- * APCO25 Talkgroup Identifier with a FROM role.
- */
-public class APCO25FromTalkgroup extends APCO25Talkgroup
-{
- public APCO25FromTalkgroup(Integer value, boolean isGroup)
- {
- super(value, Role.FROM, isGroup);
- }
-
- /**
- * Creates an individual FROM APCO-25 talkgroup identifier
- */
- public static TalkgroupIdentifier createIndividual(int talkgroup)
- {
- return new APCO25FromTalkgroup(talkgroup, false);
- }
-
- /**
- * Creates a FROM APCO-25 talkgroup identifier
- */
- public static TalkgroupIdentifier createGroup(int talkgroup)
- {
- return new APCO25FromTalkgroup(talkgroup, true);
- }
-}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedIdentifier.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedTalkgroupIdentifier.java
similarity index 59%
rename from src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedIdentifier.java
rename to src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedTalkgroupIdentifier.java
index e351e079..5cdab0cb 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedIdentifier.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25FullyQualifiedTalkgroupIdentifier.java
@@ -22,21 +22,18 @@
package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-import io.github.dsheirer.identifier.Form;
-import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.IdentifierClass;
import io.github.dsheirer.identifier.Role;
-import io.github.dsheirer.identifier.talkgroup.FullyQualifiedIdentifier;
+import io.github.dsheirer.identifier.talkgroup.FullyQualifiedTalkgroupIdentifier;
import io.github.dsheirer.protocol.Protocol;
/**
* Fully Qualified Radio Identifier (talkgroup) that includes WACN, System, and Radio Address.
*/
-public class APCO25FullyQualifiedIdentifier extends Identifier
+public class APCO25FullyQualifiedTalkgroupIdentifier extends FullyQualifiedTalkgroupIdentifier
{
- public APCO25FullyQualifiedIdentifier(FullyQualifiedIdentifier value, Role role)
+ public APCO25FullyQualifiedTalkgroupIdentifier(int wacn, int system, int id, Role role)
{
- super(value, IdentifierClass.USER, Form.FULLY_QUALIFIED_IDENTIFIER, role);
+ super(wacn, system, id, role);
}
@Override
@@ -45,13 +42,18 @@ public class APCO25FullyQualifiedIdentifier extends Identifier
- * *****************************************************************************
- */
-package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-
-import io.github.dsheirer.identifier.Role;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-
-/**
- * APCO25 Talkgroup Identifier with a FROM role.
- */
-public class APCO25IdentifierTalkgroup extends APCO25Talkgroup
-{
- public APCO25IdentifierTalkgroup(Integer value, boolean isGroup)
- {
- super(value, Role.IDENTIFIER, isGroup);
- }
-
- /**
- * Creates an individual FROM APCO-25 talkgroup identifier
- */
- public static TalkgroupIdentifier createIndividual(int talkgroup)
- {
- return new APCO25IdentifierTalkgroup(talkgroup, false);
- }
-
- /**
- * Creates a FROM APCO-25 talkgroup identifier
- */
- public static TalkgroupIdentifier createGroup(int talkgroup)
- {
- return new APCO25IdentifierTalkgroup(talkgroup, true);
- }
-}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25Talkgroup.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25Talkgroup.java
index 4972d59c..058bba5f 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25Talkgroup.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25Talkgroup.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
@@ -26,9 +28,14 @@ import io.github.dsheirer.protocol.Protocol;
public class APCO25Talkgroup extends TalkgroupIdentifier
{
- public APCO25Talkgroup(Integer value, Role role, boolean isGroup)
+ public APCO25Talkgroup(Integer value)
{
- super(value, role, isGroup);
+ super(value, Role.TO);
+ }
+
+ public APCO25Talkgroup(Integer value, Role role)
+ {
+ super(value, role);
}
@Override
@@ -36,4 +43,20 @@ public class APCO25Talkgroup extends TalkgroupIdentifier
{
return Protocol.APCO25;
}
+
+ /**
+ * Creates an APCO-25 TO talkgroup identifier
+ */
+ public static TalkgroupIdentifier create(int talkgroup)
+ {
+ return new APCO25Talkgroup(talkgroup);
+ }
+
+ /**
+ * Creates an APCO-25 talkgroup identifier with ANY role
+ */
+ public static TalkgroupIdentifier createAny(int talkgroup)
+ {
+ return new APCO25Talkgroup(talkgroup, Role.ANY);
+ }
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25ToTalkgroup.java b/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25ToTalkgroup.java
deleted file mode 100644
index 93065781..00000000
--- a/src/main/java/io/github/dsheirer/module/decode/p25/identifier/talkgroup/APCO25ToTalkgroup.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
- */
-package io.github.dsheirer.module.decode.p25.identifier.talkgroup;
-
-import io.github.dsheirer.identifier.Role;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-
-/**
- * APCO25 Talkgroup Identifier with a FROM role.
- */
-public class APCO25ToTalkgroup extends APCO25Talkgroup
-{
- public APCO25ToTalkgroup(Integer value, boolean isGroup)
- {
- super(value, Role.TO, isGroup);
- }
-
- /**
- * Creates a TO APCO-25 group talkgroup identifier
- */
- public static TalkgroupIdentifier createGroup(int talkgroup)
- {
- return new APCO25ToTalkgroup(talkgroup, true);
- }
-
- /**
- * Creates a TO APCO-25 individual talkgroup identifier
- */
- public static TalkgroupIdentifier createIndividual(int talkgroup)
- {
- return new APCO25ToTalkgroup(talkgroup, false);
- }
-}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/hdu/HeaderData.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/hdu/HeaderData.java
index f34804ef..167f0c47 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/hdu/HeaderData.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/hdu/HeaderData.java
@@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.reference.Encryption;
import io.github.dsheirer.module.decode.p25.reference.Vendor;
@@ -154,7 +154,7 @@ public class HeaderData
{
if(mTalkgroup == null)
{
- mTalkgroup = APCO25ToTalkgroup.createGroup(getMessage().getInt(TALKGROUP_ID));
+ mTalkgroup = APCO25Talkgroup.create(getMessage().getInt(TALKGROUP_ID));
}
return mTalkgroup;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupAdd.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupAdd.java
index 8dfcd755..78b94214 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupAdd.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupAdd.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.motorola;
@@ -25,8 +27,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import java.util.ArrayList;
import java.util.List;
@@ -64,7 +65,7 @@ public class LCMotorolaPatchGroupAdd extends MotorolaLinkControlWord
{
if(mPatchGroup == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25AnyTalkgroup.create(getMessage().getInt(PATCH_GROUP)));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP)));
patchGroup.addPatchedGroups(getPatchedGroups());
mPatchGroup = APCO25PatchGroup.create(patchGroup);
}
@@ -96,7 +97,7 @@ public class LCMotorolaPatchGroupAdd extends MotorolaLinkControlWord
{
if(mPatchedGroup1 == null)
{
- mPatchedGroup1 = APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCHED_GROUP_1));
+ mPatchedGroup1 = APCO25Talkgroup.create(getMessage().getInt(PATCHED_GROUP_1));
}
return mPatchedGroup1;
@@ -115,7 +116,7 @@ public class LCMotorolaPatchGroupAdd extends MotorolaLinkControlWord
{
if(mPatchedGroup2 == null)
{
- mPatchedGroup2 = APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCHED_GROUP_2));
+ mPatchedGroup2 = APCO25Talkgroup.create(getMessage().getInt(PATCHED_GROUP_2));
}
return mPatchedGroup2;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupDelete.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupDelete.java
index ff6010c2..4e635808 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupDelete.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupDelete.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.motorola;
@@ -25,7 +27,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import java.util.ArrayList;
import java.util.List;
@@ -63,7 +65,7 @@ public class LCMotorolaPatchGroupDelete extends MotorolaLinkControlWord
{
if(mPatchGroup == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP)));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP)));
patchGroup.addPatchedGroups(getPatchedGroups());
mPatchGroup = APCO25PatchGroup.create(patchGroup);
}
@@ -95,7 +97,7 @@ public class LCMotorolaPatchGroupDelete extends MotorolaLinkControlWord
{
if(mPatchedGroup1 == null)
{
- mPatchedGroup1 = APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCHED_GROUP_1));
+ mPatchedGroup1 = APCO25Talkgroup.create(getMessage().getInt(PATCHED_GROUP_1));
}
return mPatchedGroup1;
@@ -114,7 +116,7 @@ public class LCMotorolaPatchGroupDelete extends MotorolaLinkControlWord
{
if(mPatchedGroup2 == null)
{
- mPatchedGroup2 = APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCHED_GROUP_2));
+ mPatchedGroup2 = APCO25Talkgroup.create(getMessage().getInt(PATCHED_GROUP_2));
}
return mPatchedGroup2;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUpdate.java
index 156b9d83..592db8a8 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.motorola;
@@ -26,7 +28,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import java.util.ArrayList;
@@ -76,7 +78,7 @@ public class LCMotorolaPatchGroupVoiceChannelUpdate extends MotorolaLinkControlW
{
if(mPatchGroup == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP)));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP)));
mPatchGroup = APCO25PatchGroup.create(patchGroup);
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java
index b1a0ecf4..e3136061 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaPatchGroupVoiceChannelUser.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.motorola;
@@ -24,8 +26,8 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
import java.util.ArrayList;
@@ -80,7 +82,7 @@ public class LCMotorolaPatchGroupVoiceChannelUser extends MotorolaLinkControlWor
{
if(mGroupAddress == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP_ADDRESS)));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP_ADDRESS)));
mGroupAddress = APCO25PatchGroup.create(patchGroup);
}
@@ -94,7 +96,7 @@ public class LCMotorolaPatchGroupVoiceChannelUser extends MotorolaLinkControlWor
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaTalkComplete.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaTalkComplete.java
index 816f08d6..b8bae181 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaTalkComplete.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/motorola/LCMotorolaTalkComplete.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.motorola;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -92,7 +94,7 @@ public class LCMotorolaTalkComplete extends LinkControlWord
{
if(mAddress == null)
{
- mAddress = APCO25AnyTalkgroup.create(getMessage().getInt(ADDRESS));
+ mAddress = APCO25Talkgroup.create(getMessage().getInt(ADDRESS));
}
return mAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java
index f239b013..e5fa4ea5 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallAlert.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -70,7 +71,7 @@ public class LCCallAlert extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -83,7 +84,7 @@ public class LCCallAlert extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallTermination.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallTermination.java
index f552d720..d4f104f6 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallTermination.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCCallTermination.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -65,7 +67,7 @@ public class LCCallTermination extends LinkControlWord
{
if(mAddress == null)
{
- mAddress = APCO25AnyTalkgroup.create(getMessage().getInt(ADDRESS));
+ mAddress = APCO25Talkgroup.create(getMessage().getInt(ADDRESS));
}
return mAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java
index 32c94f82..bac5f563 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCExtendedFunctionCommand.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction;
@@ -86,7 +88,7 @@ public class LCExtendedFunctionCommand extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java
index 368435ca..5f10adfa 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupAffiliationQuery.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -69,7 +70,7 @@ public class LCGroupAffiliationQuery extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -82,7 +83,7 @@ public class LCGroupAffiliationQuery extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdate.java
index 2377c46c..b24fa1fa 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
@@ -119,7 +121,7 @@ public class LCGroupVoiceChannelUpdate extends LinkControlWord implements IFrequ
{
if(mTalkgroupA == null)
{
- mTalkgroupA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A));
+ mTalkgroupA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A));
}
return mTalkgroupA;
@@ -129,7 +131,7 @@ public class LCGroupVoiceChannelUpdate extends LinkControlWord implements IFrequ
{
if(mTalkgroupB == null)
{
- mTalkgroupB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B));
+ mTalkgroupB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B));
}
return mTalkgroupB;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdateExplicit.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdateExplicit.java
index 1f78eac1..85bf1b42 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdateExplicit.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUpdateExplicit.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -110,7 +112,7 @@ public class LCGroupVoiceChannelUpdateExplicit extends LinkControlWord implement
{
if(mTalkgroup == null)
{
- mTalkgroup = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mTalkgroup = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mTalkgroup;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java
index 750f8e95..327148de 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCGroupVoiceChannelUser.java
@@ -1,29 +1,31 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -85,7 +87,7 @@ public class LCGroupVoiceChannelUser extends LinkControlWord
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -98,7 +100,7 @@ public class LCGroupVoiceChannelUser extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java
index acae8ea5..6fe817bb 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCMessageUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -83,7 +84,7 @@ public class LCMessageUpdate extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -96,7 +97,7 @@ public class LCMessageUpdate extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java
index eba951bf..4dbc817f 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCProtectionParameterBroadcast.java
@@ -26,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -84,7 +84,7 @@ public class LCProtectionParameterBroadcast extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java
index 3847e6d2..7e46a7aa 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusQuery.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -69,7 +70,7 @@ public class LCStatusQuery extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -82,7 +83,7 @@ public class LCStatusQuery extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java
index df282e06..035b2ec1 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCStatusUpdate.java
@@ -1,31 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -97,7 +98,7 @@ public class LCStatusUpdate extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -110,7 +111,7 @@ public class LCStatusUpdate extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java
index 7fe8652c..cd83e7b1 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectAnswerRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.Digit;
@@ -101,7 +103,7 @@ public class LCTelephoneInterconnectAnswerRequest extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectVoiceChannelUser.java
index 7505caae..af22877e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectVoiceChannelUser.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCTelephoneInterconnectVoiceChannelUser.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -95,7 +97,7 @@ public class LCTelephoneInterconnectVoiceChannelUser extends LinkControlWord
{
if(mAddress == null)
{
- mAddress = APCO25AnyTalkgroup.create(getMessage().getInt(ADDRESS));
+ mAddress = APCO25Talkgroup.create(getMessage().getInt(ADDRESS));
}
return mAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java
index ee29c5c7..7cfd70ea 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitAuthenticationCommand.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -99,7 +101,7 @@ public class LCUnitAuthenticationCommand extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java
index 51751748..65a66acf 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitRegistrationCommand.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import java.util.ArrayList;
@@ -99,7 +101,7 @@ public class LCUnitRegistrationCommand extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java
index e10504c3..807de22b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitAnswerRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -87,7 +88,7 @@ public class LCUnitToUnitAnswerRequest extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -100,7 +101,7 @@ public class LCUnitToUnitAnswerRequest extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java
index 78ffa455..1911ac88 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/lc/standard/LCUnitToUnitVoiceChannelUser.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.lc.standard;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.lc.LinkControlWord;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -86,7 +87,7 @@ public class LCUnitToUnitVoiceChannelUser extends LinkControlWord
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -99,7 +100,7 @@ public class LCUnitToUnitVoiceChannelUser extends LinkControlWord
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java
index a4506589..e0975a8a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUHeader.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu;
@@ -24,8 +26,7 @@ import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.message.IBitErrorProvider;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.reference.Direction;
import io.github.dsheirer.module.decode.p25.reference.PDUFormat;
import io.github.dsheirer.module.decode.p25.reference.Vendor;
@@ -153,11 +154,11 @@ public class PDUHeader implements IBitErrorProvider
{
if(isOutbound())
{
- mLLID = APCO25ToTalkgroup.createIndividual(getMessage().getInt(LOGICAL_LINK_ID));
+ mLLID = APCO25Radio.createTo(getMessage().getInt(LOGICAL_LINK_ID));
}
else
{
- mLLID = APCO25FromTalkgroup.createIndividual(getMessage().getInt(LOGICAL_LINK_ID));
+ mLLID = APCO25Radio.createFrom(getMessage().getInt(LOGICAL_LINK_ID));
}
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java
index 037cde24..03d0c1ba 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/PDUMessage.java
@@ -1,28 +1,29 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.P25Message;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -176,11 +177,11 @@ public class PDUMessage extends P25Message
{
if(isOutbound())
{
- mLLID = APCO25ToTalkgroup.createIndividual(getMessage().getInt(LOGICAL_LINK_ID));
+ mLLID = APCO25Radio.createTo(getMessage().getInt(LOGICAL_LINK_ID));
}
else
{
- mLLID = APCO25FromTalkgroup.createIndividual(getMessage().getInt(LOGICAL_LINK_ID));
+ mLLID = APCO25Radio.createFrom(getMessage().getInt(LOGICAL_LINK_ID));
}
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java
index 3ca40273..9abe366c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationQuery.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -75,7 +76,7 @@ public class AMBTCAuthenticationQuery extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -108,7 +109,7 @@ public class AMBTCAuthenticationQuery extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java
index 4abcaeef..f35b1931 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCAuthenticationResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -81,7 +82,7 @@ public class AMBTCAuthenticationResponse extends AMBTCMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -114,7 +115,7 @@ public class AMBTCAuthenticationResponse extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java
index f7b0a31e..896f0d13 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCCallAlertRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -73,7 +75,7 @@ public class AMBTCCallAlertRequest extends AMBTCMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
@@ -106,7 +108,7 @@ public class AMBTCCallAlertRequest extends AMBTCMessage
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java
index 31d7929e..0dceacf7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCGroupAffiliationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -75,7 +77,7 @@ public class AMBTCGroupAffiliationRequest extends AMBTCMessage
{
if(mGroupId == null)
{
- mGroupId = APCO25ToTalkgroup.createGroup(getHeader().getMessage().getInt(BLOCK_0_GROUP_ID));
+ mGroupId = APCO25Talkgroup.create(getHeader().getMessage().getInt(BLOCK_0_GROUP_ID));
}
return mGroupId;
@@ -108,7 +110,7 @@ public class AMBTCGroupAffiliationRequest extends AMBTCMessage
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java
index 3a10a919..f1616638 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCIndividualDataServiceRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -78,7 +79,7 @@ public class AMBTCIndividualDataServiceRequest extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -118,7 +119,7 @@ public class AMBTCIndividualDataServiceRequest extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java
index f5e2147d..400b0fd3 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCLocationRegistrationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -24,9 +26,8 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Lra;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25IdentifierTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -89,7 +90,7 @@ public class AMBTCLocationRegistrationRequest extends AMBTCMessage
{
if(mGroupAddress == null && hasDataBlock(0))
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
}
return mGroupAddress;
@@ -109,7 +110,7 @@ public class AMBTCLocationRegistrationRequest extends AMBTCMessage
{
if(mSourceId == null)
{
- mSourceId = APCO25IdentifierTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
@@ -142,7 +143,7 @@ public class AMBTCLocationRegistrationRequest extends AMBTCMessage
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java
index e74ff014..cfbfb898 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCMessageUpdateRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -77,7 +78,7 @@ public class AMBTCMessageUpdateRequest extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -117,7 +118,7 @@ public class AMBTCMessageUpdateRequest extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java
index acacadd3..e2617379 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCRoamingAddressRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -73,7 +75,7 @@ public class AMBTCRoamingAddressRequest extends AMBTCMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
@@ -106,7 +108,7 @@ public class AMBTCRoamingAddressRequest extends AMBTCMessage
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java
index 4a2e8100..5ac8d1e3 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -76,7 +77,7 @@ public class AMBTCStatusQueryRequest extends AMBTCMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getHeader().getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
@@ -109,7 +110,7 @@ public class AMBTCStatusQueryRequest extends AMBTCMessage
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java
index 1bba3dea..6d85f485 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusQueryResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -81,7 +82,7 @@ public class AMBTCStatusQueryResponse extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -131,7 +132,7 @@ public class AMBTCStatusQueryResponse extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java
index d9abf32c..07bdd18d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCStatusUpdateRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -81,7 +82,7 @@ public class AMBTCStatusUpdateRequest extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -131,7 +132,7 @@ public class AMBTCStatusUpdateRequest extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java
index f37f7963..6a367db9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitAcknowledgeResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -80,7 +81,7 @@ public class AMBTCUnitAcknowledgeResponse extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -124,7 +125,7 @@ public class AMBTCUnitAcknowledgeResponse extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java
index c2f3a1d3..3fc97658 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceAnswerResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.reference.AnswerResponse;
@@ -83,7 +84,7 @@ public class AMBTCUnitToUnitVoiceServiceAnswerResponse extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -133,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceAnswerResponse extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java
index 48436bdf..dd12dd7c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/isp/AMBTCUnitToUnitVoiceServiceRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -80,7 +81,7 @@ public class AMBTCUnitToUnitVoiceServiceRequest extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -120,7 +121,7 @@ public class AMBTCUnitToUnitVoiceServiceRequest extends AMBTCMessage
{
if(mTargetId == null && hasDataBlock(0))
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java
index f535772e..316be91c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCCallAlert.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -104,7 +105,7 @@ public class AMBTCCallAlert extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -114,7 +115,7 @@ public class AMBTCCallAlert extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java
index ff9fbe65..4005cd9c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationQuery.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -104,7 +105,7 @@ public class AMBTCGroupAffiliationQuery extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -114,7 +115,7 @@ public class AMBTCGroupAffiliationQuery extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java
index 2ec27573..7d88104e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupAffiliationResponse.java
@@ -1,31 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
-import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedTalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -50,12 +51,8 @@ public class AMBTCGroupAffiliationResponse extends AMBTCMessage
private static final int[] BLOCK_1_ANNOUNCEMENT_GROUP_ID = {0, 1, 2, 3, 4, 5, 6, 7};
private Identifier mTargetAddress;
- private Identifier mSourceWacn;
- private Identifier mSourceSystem;
- private Identifier mSourceId;
- private Identifier mGroupWacn;
- private Identifier mGroupSystem;
- private Identifier mGroupId;
+ private APCO25FullyQualifiedRadioIdentifier mSourceId;
+ private APCO25FullyQualifiedTalkgroupIdentifier mGroupId;
private Identifier mAnnouncementGroupId;
private List mIdentifiers;
@@ -72,33 +69,17 @@ public class AMBTCGroupAffiliationResponse extends AMBTCMessage
{
sb.append(" TO:").append(getTargetAddress());
}
- if(getSourceWacn() != null)
- {
- sb.append(" FM WACN:").append(getSourceWacn());
- }
- if(getSourceSystem() != null)
- {
- sb.append(" FM SYSTEM:").append(getSourceSystem());
- }
if(getSourceId() != null)
{
- sb.append(" FM ID:").append(getSourceId());
- }
- if(getGroupWacn() != null)
- {
- sb.append(" GRP WACN:").append(getGroupWacn());
- }
- if(getGroupSystem() != null)
- {
- sb.append(" GRP SYSTEM:").append(getGroupSystem());
+ sb.append(" FM:").append(getSourceId());
}
if(getGroupId() != null)
{
- sb.append(" GRP ID:").append(getGroupId());
+ sb.append(" GROUP:").append(getGroupId());
}
if(getAnnouncementGroupId() != null)
{
- sb.append(" ANNOUNCEMENT GRP:").append(getAnnouncementGroupId());
+ sb.append(" ANNOUNCEMENT GROUP:").append(getAnnouncementGroupId());
}
return sb.toString();
@@ -108,70 +89,36 @@ public class AMBTCGroupAffiliationResponse extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
}
- public Identifier getSourceWacn()
- {
- if(mSourceWacn == null && hasDataBlock(0))
- {
- int value = getHeader().getMessage().getInt(HEADER_SOURCE_WACN);
- value <<= 4;
- value += getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_WACN);
- mSourceWacn = APCO25Wacn.create(value);
- }
-
- return mSourceWacn;
- }
-
- public Identifier getSourceSystem()
- {
- if(mSourceSystem == null && hasDataBlock(0))
- {
- mSourceSystem = APCO25System.create(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_SYSTEM));
- }
-
- return mSourceSystem;
- }
-
- public Identifier getSourceId()
+ public APCO25FullyQualifiedRadioIdentifier getSourceId()
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ int wacn = getHeader().getMessage().getInt(HEADER_SOURCE_WACN);
+ wacn <<= 4;
+ wacn += getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_WACN);
+ int system = getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_SYSTEM);
+ int id = getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID);
+
+ mSourceId = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceId;
}
- public Identifier getGroupWacn()
- {
- if(mGroupWacn == null && hasDataBlock(0))
- {
- mGroupWacn = APCO25Wacn.create(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_WACN));
- }
-
- return mGroupWacn;
- }
-
- public Identifier getGroupSystem()
- {
- if(mGroupSystem == null && hasDataBlock(0))
- {
- mGroupSystem = APCO25System.create(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_SYSTEM));
- }
-
- return mGroupSystem;
- }
-
- public Identifier getGroupId()
+ public APCO25FullyQualifiedTalkgroupIdentifier getGroupId()
{
if(mGroupId == null && hasDataBlock(0))
{
- mGroupId = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ID));
+ int wacn = getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_WACN);
+ int system = getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_SYSTEM);
+ int id = getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ID);
+ mGroupId = APCO25FullyQualifiedTalkgroupIdentifier.createAny(wacn, system, id);
}
return mGroupId;
@@ -202,30 +149,10 @@ public class AMBTCGroupAffiliationResponse extends AMBTCMessage
{
mIdentifiers.add(getTargetAddress());
}
- if(getSourceWacn() != null)
- {
- mIdentifiers.add(getSourceWacn());
- }
- if(getSourceSystem() != null)
- {
- mIdentifiers.add(getSourceSystem());
- }
if(getSourceId() != null)
{
mIdentifiers.add(getSourceId());
}
- if(getTargetAddress() != null)
- {
- mIdentifiers.add(getTargetAddress());
- }
- if(getGroupWacn() != null)
- {
- mIdentifiers.add(getGroupWacn());
- }
- if(getGroupSystem() != null)
- {
- mIdentifiers.add(getGroupSystem());
- }
if(getGroupId() != null)
{
mIdentifiers.add(getGroupId());
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java
index 99d1c62e..162fc133 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupDataChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -24,8 +26,8 @@ import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -83,7 +85,7 @@ public class AMBTCGroupDataChannelGrant extends AMBTCMessage implements IFrequen
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -93,7 +95,7 @@ public class AMBTCGroupDataChannelGrant extends AMBTCMessage implements IFrequen
{
if(mGroupAddress == null && hasDataBlock(0))
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java
index 73688e48..35aa2b8a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCGroupVoiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -24,8 +26,8 @@ import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -83,7 +85,7 @@ public class AMBTCGroupVoiceChannelGrant extends AMBTCMessage implements IFreque
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -93,7 +95,7 @@ public class AMBTCGroupVoiceChannelGrant extends AMBTCMessage implements IFreque
{
if(mGroupAddress == null && hasDataBlock(0))
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_GROUP_ADDRESS));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java
index c6874c2a..59b61921 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCIndividualDataChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -26,8 +28,8 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -122,7 +124,7 @@ public class AMBTCIndividualDataChannelGrant extends AMBTCMessage implements IFr
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -132,7 +134,7 @@ public class AMBTCIndividualDataChannelGrant extends AMBTCMessage implements IFr
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
@@ -142,7 +144,7 @@ public class AMBTCIndividualDataChannelGrant extends AMBTCMessage implements IFr
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java
index e9480e86..fea97ea8 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCMessageUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -111,7 +112,7 @@ public class AMBTCMessageUpdate extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -121,7 +122,7 @@ public class AMBTCMessageUpdate extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java
index e3044bb4..dccb0610 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCProtectionParameterBroadcast.java
@@ -25,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -88,7 +88,7 @@ public class AMBTCProtectionParameterBroadcast extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java
index d6f9450f..24ec684a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -138,7 +140,7 @@ public class AMBTCRoamingAddressResponse extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java
index 3d37c1c8..4b83f235 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCRoamingAddressUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,7 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -138,7 +140,7 @@ public class AMBTCRoamingAddressUpdate extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java
index 51036337..ddc3a79e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusQuery.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -104,7 +105,7 @@ public class AMBTCStatusQuery extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -114,7 +115,7 @@ public class AMBTCStatusQuery extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java
index c7627ba8..0484f8e0 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCStatusUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -118,7 +119,7 @@ public class AMBTCStatusUpdate extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
@@ -128,7 +129,7 @@ public class AMBTCStatusUpdate extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java
index 922cb1d2..23a1470b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -94,7 +96,7 @@ public class AMBTCTelephoneInterconnectChannelGrant extends AMBTCMessage impleme
{
if(mAnyAddress == null)
{
- mAnyAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mAnyAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mAnyAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java
index c9499c74..ff6fac84 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCTelephoneInterconnectChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -94,7 +96,7 @@ public class AMBTCTelephoneInterconnectChannelGrantUpdate extends AMBTCMessage i
{
if(mAnyAddress == null)
{
- mAnyAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mAnyAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mAnyAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java
index b41cff90..14348559 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitRegistrationResponse.java
@@ -1,30 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
-import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.reference.Response;
@@ -48,9 +48,7 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage
private Response mResponse;
private Identifier mTargetAddress;
- private Identifier mWacn;
- private Identifier mSystem;
- private Identifier mSourceId;
+ private APCO25FullyQualifiedRadioIdentifier mFullyQualifiedTargetAddress;
private Identifier mSourceAddress;
private List mIdentifiers;
@@ -63,25 +61,18 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage
{
StringBuilder sb = new StringBuilder();
sb.append(getMessageStub());
+ sb.append("REGISTRATION ").append(getResponse());
+ if(getFullyQualifiedTargetAddress() != null)
+ {
+ sb.append(" TO:").append(getFullyQualifiedTargetAddress());
+ }
if(getTargetAddress() != null)
{
- sb.append(" TO:").append(getTargetAddress());
- }
- if(getSourceId() != null)
- {
- sb.append(" FM ID:").append(getSourceId());
- }
- if(getWacn() != null)
- {
- sb.append(" WACN:").append(getWacn());
- }
- if(getSystem() != null)
- {
- sb.append(" SYSTEM:").append(getSystem());
+ sb.append(" ALIASED AS:").append(getTargetAddress());
}
if(getSourceAddress() != null)
{
- sb.append(" FM ADDRESS:").append(getSourceAddress());
+ sb.append(" FROM:").append(getSourceAddress());
}
return sb.toString();
@@ -97,54 +88,37 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage
return mResponse;
}
- public Identifier getWacn()
- {
- if(mWacn == null && hasDataBlock(0))
- {
- int value = getHeader().getMessage().getInt(HEADER_WACN);
- value <<= 4;
- value += getDataBlock(0).getMessage().getInt(BLOCK_0_WACN);
- mWacn = APCO25Wacn.create(value);
- }
-
- return mWacn;
- }
-
- public Identifier getSystem()
- {
- if(mSystem == null && hasDataBlock(0))
- {
- mSystem = APCO25System.create(getDataBlock(0).getMessage().getInt(BLOCK_0_SYSTEM));
- }
-
- return mSystem;
- }
-
public Identifier getTargetAddress()
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
}
- public Identifier getSourceId()
+ public Identifier getFullyQualifiedTargetAddress()
{
- if(mSourceId == null && hasDataBlock(0))
+ if(mFullyQualifiedTargetAddress == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID));
+ int wacn = getHeader().getMessage().getInt(HEADER_WACN);
+ wacn <<= 4;
+ wacn += getDataBlock(0).getMessage().getInt(BLOCK_0_WACN);
+ int system = getDataBlock(0).getMessage().getInt(BLOCK_0_SYSTEM);
+ int id = getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ID);
+
+ mFullyQualifiedTargetAddress = APCO25FullyQualifiedRadioIdentifier.createTo(wacn, system, id);
}
- return mSourceId;
+ return mFullyQualifiedTargetAddress;
}
public Identifier getSourceAddress()
{
if(mSourceAddress == null && hasDataBlock(0))
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getDataBlock(0).getMessage().getInt(BLOCK_0_SOURCE_ADDRESS));
}
return mSourceAddress;
@@ -156,17 +130,9 @@ public class AMBTCUnitRegistrationResponse extends AMBTCMessage
if(mIdentifiers == null)
{
mIdentifiers = new ArrayList<>();
- if(getWacn() != null)
+ if(getFullyQualifiedTargetAddress() != null)
{
- mIdentifiers.add(getWacn());
- }
- if(getSystem() != null)
- {
- mIdentifiers.add(getSystem());
- }
- if(getSourceId() != null)
- {
- mIdentifiers.add(getSourceId());
+ mIdentifiers.add(getFullyQualifiedTargetAddress());
}
if(getTargetAddress() != null)
{
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java
index 69fca6c0..df7baeba 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitAnswerRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -23,8 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -109,7 +111,7 @@ public class AMBTCUnitToUnitAnswerRequest extends AMBTCMessage
{
if(mSourceId == null)
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
@@ -119,7 +121,7 @@ public class AMBTCUnitToUnitAnswerRequest extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(HEADER_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java
index 810f8396..6a1f1cbc 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -26,8 +28,8 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -122,7 +124,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrant extends AMBTCMessage implem
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -132,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrant extends AMBTCMessage implem
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
@@ -142,7 +144,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrant extends AMBTCMessage implem
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java
index 2c093bba..83045b92 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/ambtc/osp/AMBTCUnitToUnitVoiceServiceChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.osp;
@@ -26,8 +28,8 @@ import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.ambtc.AMBTCMessage;
@@ -122,7 +124,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrantUpdate extends AMBTCMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
@@ -132,7 +134,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrantUpdate extends AMBTCMessage
{
if(mSourceId == null && hasDataBlock(0))
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getHeader().getMessage().getInt(BLOCK_0_SOURCE_ID));
}
return mSourceId;
@@ -142,7 +144,7 @@ public class AMBTCUnitToUnitVoiceServiceChannelGrantUpdate extends AMBTCMessage
{
if(mTargetAddress == null && hasDataBlock(0))
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getDataBlock(0).getMessage().getInt(BLOCK_0_TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java
index 33cbbe7a..f1924744 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/pdu/umbtc/isp/UMBTCTelephoneInterconnectRequestExplicitDialing.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.pdu.umbtc.isp;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.message.IBitErrorProvider;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.PDUSequence;
import io.github.dsheirer.module.decode.p25.phase1.message.pdu.umbtc.UMBTCMessage;
@@ -81,7 +83,7 @@ public class UMBTCTelephoneInterconnectRequestExplicitDialing extends UMBTCMessa
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getHeader().getMessage().getInt(HEADER_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getHeader().getMessage().getInt(HEADER_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java
index 0bc9187a..17de9e8b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/MotorolaDenyResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -112,7 +114,7 @@ public class MotorolaDenyResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupAdd.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupAdd.java
index a56d3bdb..e6f9dc89 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupAdd.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupAdd.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -63,7 +65,7 @@ public class PatchGroupAdd extends OSPMessage
{
if(mPatchGroup == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25ToTalkgroup.createGroup(getPatchAddress()));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getPatchAddress()));
patchGroup.addPatchedGroups(getPatchedTalkgroups());
mPatchGroup = APCO25PatchGroup.create(patchGroup);
}
@@ -109,7 +111,7 @@ public class PatchGroupAdd extends OSPMessage
{
if(mGroupAddress1 == null)
{
- mGroupAddress1 = APCO25ToTalkgroup.createGroup(getAddress1());
+ mGroupAddress1 = APCO25Talkgroup.create(getAddress1());
}
return mGroupAddress1;
@@ -129,7 +131,7 @@ public class PatchGroupAdd extends OSPMessage
{
if(mGroupAddress2 == null)
{
- mGroupAddress2 = APCO25ToTalkgroup.createGroup(getAddress2());
+ mGroupAddress2 = APCO25Talkgroup.create(getAddress2());
}
return mGroupAddress2;
@@ -149,7 +151,7 @@ public class PatchGroupAdd extends OSPMessage
{
if(mGroupAddress3 == null)
{
- mGroupAddress3 = APCO25ToTalkgroup.createGroup(getAddress3());
+ mGroupAddress3 = APCO25Talkgroup.create(getAddress3());
}
return mGroupAddress3;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupDelete.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupDelete.java
index a9f8ba9f..22f693ae 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupDelete.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupDelete.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -63,7 +65,7 @@ public class PatchGroupDelete extends OSPMessage
{
if(mPatchGroup == null)
{
- PatchGroup patchGroup = new PatchGroup(APCO25ToTalkgroup.createGroup(getPatchAddress()));
+ PatchGroup patchGroup = new PatchGroup(APCO25Talkgroup.create(getPatchAddress()));
patchGroup.addPatchedGroups(getPatchedTalkgroups());
mPatchGroup = APCO25PatchGroup.create(patchGroup);
}
@@ -109,7 +111,7 @@ public class PatchGroupDelete extends OSPMessage
{
if(mGroupAddress1 == null)
{
- mGroupAddress1 = APCO25ToTalkgroup.createGroup(getAddress1());
+ mGroupAddress1 = APCO25Talkgroup.create(getAddress1());
}
return mGroupAddress1;
@@ -129,7 +131,7 @@ public class PatchGroupDelete extends OSPMessage
{
if(mGroupAddress2 == null)
{
- mGroupAddress2 = APCO25ToTalkgroup.createGroup(getAddress2());
+ mGroupAddress2 = APCO25Talkgroup.create(getAddress2());
}
return mGroupAddress2;
@@ -150,7 +152,7 @@ public class PatchGroupDelete extends OSPMessage
{
if(mGroupAddress3 == null)
{
- mGroupAddress3 = APCO25ToTalkgroup.createGroup(getAddress3());
+ mGroupAddress3 = APCO25Talkgroup.create(getAddress3());
}
return mGroupAddress3;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java
index b7fe2328..753705c3 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp;
@@ -26,8 +28,8 @@ import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.patch.PatchGroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -83,7 +85,7 @@ public class PatchGroupVoiceChannelGrant extends OSPMessage implements IFrequenc
{
if(mPatchGroup == null)
{
- mPatchGroup = APCO25PatchGroup.create(new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP_ADDRESS))));
+ mPatchGroup = APCO25PatchGroup.create(new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP_ADDRESS))));
}
return mPatchGroup;
@@ -93,7 +95,7 @@ public class PatchGroupVoiceChannelGrant extends OSPMessage implements IFrequenc
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrantUpdate.java
index 9e30b5f4..318645ca 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/motorola/osp/PatchGroupVoiceChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.motorola.osp;
@@ -26,7 +28,7 @@ import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.patch.PatchGroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.patch.APCO25PatchGroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -87,7 +89,7 @@ public class PatchGroupVoiceChannelGrantUpdate extends OSPMessage implements IFr
{
if(mPatchGroup1 == null)
{
- mPatchGroup1 = APCO25PatchGroup.create(new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP_1))));
+ mPatchGroup1 = APCO25PatchGroup.create(new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP_1))));
}
return mPatchGroup1;
@@ -97,7 +99,7 @@ public class PatchGroupVoiceChannelGrantUpdate extends OSPMessage implements IFr
{
if(mPatchGroup2 == null)
{
- mPatchGroup2 = APCO25PatchGroup.create(new PatchGroup(APCO25ToTalkgroup.createGroup(getMessage().getInt(PATCH_GROUP_2))));
+ mPatchGroup2 = APCO25PatchGroup.create(new PatchGroup(APCO25Talkgroup.create(getMessage().getInt(PATCH_GROUP_2))));
}
return mPatchGroup2;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java
index fdef202a..2ab92c99 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/AuthenticationQuery.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -66,7 +67,7 @@ public class AuthenticationQuery extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class AuthenticationQuery extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java
index 85d08dbc..5bcbdc0c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CallAlertRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -66,7 +67,7 @@ public class CallAlertRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class CallAlertRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java
index 12bcb2cf..45c2d4dd 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/CancelServiceRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -104,7 +106,7 @@ public class CancelServiceRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java
index 1a8dc7ae..eec4ef43 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/EmergencyAlarmRequest.java
@@ -1,29 +1,31 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -66,7 +68,7 @@ public class EmergencyAlarmRequest extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -76,7 +78,7 @@ public class EmergencyAlarmRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java
index c52e1a82..2350a074 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ExtendedFunctionResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction;
@@ -88,7 +90,7 @@ public class ExtendedFunctionResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java
index 3eb9fb2e..decfd635 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/FrequencyBandUpdateRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -83,7 +85,7 @@ public class FrequencyBandUpdateRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java
index d5a5ecf4..27b27228 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationQueryResponse.java
@@ -1,30 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -80,7 +82,7 @@ public class GroupAffiliationQueryResponse extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -90,7 +92,7 @@ public class GroupAffiliationQueryResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java
index fc652e04..4bbf5176 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupAffiliationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -23,8 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -79,7 +81,7 @@ public class GroupAffiliationRequest extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ID));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ID));
}
return mGroupAddress;
@@ -89,7 +91,7 @@ public class GroupAffiliationRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java
index 456a9501..56b5b525 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupDataServiceRequest.java
@@ -1,29 +1,31 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -82,7 +84,7 @@ public class GroupDataServiceRequest extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -92,7 +94,7 @@ public class GroupDataServiceRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java
index 921121aa..cd29a47b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/GroupVoiceServiceRequest.java
@@ -1,29 +1,31 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -82,7 +84,7 @@ public class GroupVoiceServiceRequest extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -92,7 +94,7 @@ public class GroupVoiceServiceRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java
index 8ed8e3d1..f34a5f34 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/IndividualDataServiceRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -83,7 +84,7 @@ public class IndividualDataServiceRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -93,7 +94,7 @@ public class IndividualDataServiceRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java
index 2d973bf6..5e40ccf3 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/LocationRegistrationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -23,8 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Lra;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.Capability;
@@ -103,7 +105,7 @@ public class LocationRegistrationRequest extends ISPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -113,7 +115,7 @@ public class LocationRegistrationRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java
index e85dd2e3..fec9bd37 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/MessageUpdateRequest.java
@@ -1,29 +1,31 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -72,7 +74,7 @@ public class MessageUpdateRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -82,7 +84,7 @@ public class MessageUpdateRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java
index 773a7dc9..1b7f12d7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/ProtectionParameterRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -89,7 +91,7 @@ public class ProtectionParameterRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ID));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java
index 34bcc3ca..f8c98035 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RadioUnitMonitorRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -77,7 +78,7 @@ public class RadioUnitMonitorRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -87,7 +88,7 @@ public class RadioUnitMonitorRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java
index 822812f2..206560ff 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -66,7 +67,7 @@ public class RoamingAddressRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class RoamingAddressRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java
index efe16adc..ed29e966 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/RoamingAddressResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -105,7 +107,7 @@ public class RoamingAddressResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ID));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java
index 070658ce..09162ec7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataChannelRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -82,7 +84,7 @@ public class SNDCPDataChannelRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java
index 5bc3d714..0e25a383 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPDataPageResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.AnswerResponse;
@@ -90,7 +92,7 @@ public class SNDCPDataPageResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java
index 0d814154..b0e27a95 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/SNDCPReconnectRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -89,7 +91,7 @@ public class SNDCPReconnectRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java
index 0d68e085..92a90d85 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -66,7 +67,7 @@ public class StatusQueryRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class StatusQueryRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java
index 4e471698..65d90a7d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusQueryResponse.java
@@ -1,31 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -93,7 +94,7 @@ public class StatusQueryResponse extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -103,7 +104,7 @@ public class StatusQueryResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java
index 0652fe3d..56426aee 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/StatusUpdateRequest.java
@@ -1,31 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -93,7 +94,7 @@ public class StatusUpdateRequest extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -103,7 +104,7 @@ public class StatusUpdateRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java
index deaf233b..eaa6debd 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectAnswerResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.AnswerResponse;
@@ -90,7 +92,7 @@ public class TelephoneInterconnectAnswerResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java
index 6e04da55..b6c13119 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/TelephoneInterconnectPstnRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -94,7 +96,7 @@ public class TelephoneInterconnectPstnRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java
index ca282f61..e6cae7fe 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitAcknowledgeResponse.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -79,7 +80,7 @@ public class UnitAcknowledgeResponse extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -89,7 +90,7 @@ public class UnitAcknowledgeResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java
index e21bc4cc..c3e47fd8 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitDeRegistrationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
@@ -89,7 +91,7 @@ public class UnitDeRegistrationRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ID));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java
index 21dd7b78..8f6796b1 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitRegistrationRequest.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.Capability;
@@ -113,7 +115,7 @@ public class UnitRegistrationRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ID));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java
index 86d44969..b5270d59 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceAnswerResponse.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.AnswerResponse;
@@ -93,7 +94,7 @@ public class UnitToUnitVoiceServiceAnswerResponse extends ISPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -103,7 +104,7 @@ public class UnitToUnitVoiceServiceAnswerResponse extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java
index d14dfd8c..2e1c2885 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/isp/UnitToUnitVoiceServiceRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.isp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -83,7 +84,7 @@ public class UnitToUnitVoiceServiceRequest extends ISPMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID));
}
return mTargetId;
@@ -93,7 +94,7 @@ public class UnitToUnitVoiceServiceRequest extends ISPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java
index 0b988035..21990744 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AcknowledgeResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -147,7 +148,7 @@ public class AcknowledgeResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -164,7 +165,7 @@ public class AcknowledgeResponse extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java
index 886b5dee..5ff2a323 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/AuthenticationCommand.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -89,7 +91,7 @@ public class AuthenticationCommand extends OSPMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java
index dcfb19da..c605a264 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/CallAlert.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -66,7 +67,7 @@ public class CallAlert extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class CallAlert extends OSPMessage
{
if(mSourceId == null)
{
- mSourceId = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ID));
+ mSourceId = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ID));
}
return mSourceId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java
index 7a8bffa1..5c09d3ec 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/DenyResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -112,7 +114,7 @@ public class DenyResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java
index 03f3f14a..09d93edf 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ExtendedFunctionCommand.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction;
@@ -88,7 +90,7 @@ public class ExtendedFunctionCommand extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java
index 5bb25ff7..fc0cdda0 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationQuery.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -66,7 +67,7 @@ public class GroupAffiliationQuery extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class GroupAffiliationQuery extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java
index 401e0797..e7dfc5b9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupAffiliationResponse.java
@@ -1,30 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnnouncementTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.Response;
@@ -101,7 +103,7 @@ public class GroupAffiliationResponse extends OSPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25AnyTalkgroup.create(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.createAny(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -111,7 +113,7 @@ public class GroupAffiliationResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncement.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncement.java
index 5b216cc7..38140784 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncement.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncement.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -84,7 +86,7 @@ public class GroupDataChannelAnnouncement extends OSPMessage implements IFrequen
{
if(mGroupAddressA == null)
{
- mGroupAddressA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A));
+ mGroupAddressA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A));
}
return mGroupAddressA;
@@ -105,7 +107,7 @@ public class GroupDataChannelAnnouncement extends OSPMessage implements IFrequen
{
if(mGroupAddressB == null)
{
- mGroupAddressB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B));
+ mGroupAddressB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B));
}
return mGroupAddressB;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncementExplicit.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncementExplicit.java
index 729afcb6..89b4ae37 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncementExplicit.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelAnnouncementExplicit.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -82,7 +84,7 @@ public class GroupDataChannelAnnouncementExplicit extends OSPMessage implements
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java
index f6dd8a17..c6cb77fb 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupDataChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,8 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -98,7 +100,7 @@ public class GroupDataChannelGrant extends OSPMessage implements IFrequencyBandR
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -108,7 +110,7 @@ public class GroupDataChannelGrant extends OSPMessage implements IFrequencyBandR
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java
index eaaf72ac..9b73285b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,8 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -98,7 +100,7 @@ public class GroupVoiceChannelGrant extends OSPMessage implements IFrequencyBand
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -108,7 +110,7 @@ public class GroupVoiceChannelGrant extends OSPMessage implements IFrequencyBand
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdate.java
index 1f95042b..463476b4 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -87,7 +89,7 @@ public class GroupVoiceChannelGrantUpdate extends OSPMessage implements IFrequen
{
if(mGroupAddressA == null)
{
- mGroupAddressA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A));
+ mGroupAddressA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A));
}
return mGroupAddressA;
@@ -114,7 +116,7 @@ public class GroupVoiceChannelGrantUpdate extends OSPMessage implements IFrequen
{
if(mGroupAddressB == null)
{
- mGroupAddressB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B));
+ mGroupAddressB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B));
}
return mGroupAddressB;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdateExplicit.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdateExplicit.java
index 18b51b93..ff8fd2f4 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdateExplicit.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/GroupVoiceChannelGrantUpdateExplicit.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -98,7 +100,7 @@ public class GroupVoiceChannelGrantUpdateExplicit extends OSPMessage implements
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java
index bba33a6e..a0669958 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/IndividualDataChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -82,7 +83,7 @@ public class IndividualDataChannelGrant extends OSPMessage implements IFrequency
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -92,7 +93,7 @@ public class IndividualDataChannelGrant extends OSPMessage implements IFrequency
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java
index 414c58ce..d4290113 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/LocationRegistrationResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,8 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Rfss;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Site;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.Response;
@@ -87,7 +89,7 @@ public class LocationRegistrationResponse extends OSPMessage
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25AnyTalkgroup.create(getMessage().getInt(GROUP_ADDRESS));
+ mGroupAddress = APCO25Talkgroup.createAny(getMessage().getInt(GROUP_ADDRESS));
}
return mGroupAddress;
@@ -117,7 +119,7 @@ public class LocationRegistrationResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java
index dedc3a7d..cfbedd34 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/MessageUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -23,8 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -79,7 +81,7 @@ public class MessageUpdate extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -89,7 +91,7 @@ public class MessageUpdate extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ProtectionParameterUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ProtectionParameterUpdate.java
index 737b3936..b5ebec11 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ProtectionParameterUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/ProtectionParameterUpdate.java
@@ -26,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -81,7 +81,7 @@ public class ProtectionParameterUpdate extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Talkgroup.create(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java
index d450dca3..46b904d0 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/QueuedResponse.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.Opcode;
@@ -112,7 +114,7 @@ public class QueuedResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java
index 949d0b95..9cd18431 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RadioUnitMonitorCommand.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -79,7 +78,7 @@ public class RadioUnitMonitorCommand extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -89,7 +88,7 @@ public class RadioUnitMonitorCommand extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java
index ba259792..9b8eb8b7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/RoamingAddressCommand.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.ISPMessage;
import io.github.dsheirer.module.decode.p25.reference.StackOperation;
@@ -102,7 +104,7 @@ public class RoamingAddressCommand extends ISPMessage
{
if(mTargetId == null)
{
- mTargetId = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ID));
+ mTargetId = APCO25Radio.createTo(getMessage().getInt(TARGET_ID));
}
return mTargetId;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java
index 3ef21cb8..d7d4aa35 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -25,7 +27,7 @@ import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -84,7 +86,7 @@ public class SNDCPDataChannelGrant extends OSPMessage implements IFrequencyBandR
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java
index cc654193..1e4da03a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/SNDCPDataPageRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -83,7 +84,7 @@ public class SNDCPDataPageRequest extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -93,7 +94,7 @@ public class SNDCPDataPageRequest extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java
index e66a7f3b..a1d787c9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusQuery.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -66,7 +67,7 @@ public class StatusQuery extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class StatusQuery extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java
index 41cdf0b9..4ab97914 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/StatusUpdate.java
@@ -1,31 +1,32 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -93,7 +94,7 @@ public class StatusUpdate extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -103,7 +104,7 @@ public class StatusUpdate extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java
index 5c5302be..15aa903c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectAnswerRequest.java
@@ -1,28 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -96,7 +98,7 @@ public class TelephoneInterconnectAnswerRequest extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java
index 50eef36d..c46ac3bd 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -104,7 +106,7 @@ public class TelephoneInterconnectVoiceChannelGrant extends OSPMessage implement
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrantUpdate.java
index 7f6503f7..a9b02ccc 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/TelephoneInterconnectVoiceChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -104,7 +106,7 @@ public class TelephoneInterconnectVoiceChannelGrantUpdate extends OSPMessage imp
{
if(mAnyAddress == null)
{
- mAnyAddress = APCO25AnyTalkgroup.create(getMessage().getInt(ANY_ADDRESS));
+ mAnyAddress = APCO25Talkgroup.create(getMessage().getInt(ANY_ADDRESS));
}
return mAnyAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java
index 83742f4b..08b0b586 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitDeRegistrationAcknowledge.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,7 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -89,7 +91,7 @@ public class UnitDeRegistrationAcknowledge extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ID));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ID));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java
index 6e2e9db9..d7c7941d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationCommand.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -66,7 +67,7 @@ public class UnitRegistrationCommand extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -76,7 +77,7 @@ public class UnitRegistrationCommand extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java
index 0bed40d7..3db8c425 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitRegistrationResponse.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -23,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25System;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25IdentifierTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.Response;
@@ -94,7 +95,7 @@ public class UnitRegistrationResponse extends OSPMessage
{
if(mTargetUniqueId == null)
{
- mTargetUniqueId = APCO25IdentifierTalkgroup.createIndividual(getMessage().getInt(TARGET_UNIQUE_ID));
+ mTargetUniqueId = APCO25Radio.createTo(getMessage().getInt(TARGET_UNIQUE_ID));
}
return mTargetUniqueId;
@@ -104,7 +105,7 @@ public class UnitRegistrationResponse extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java
index a8ad66da..b8a790e7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitAnswerRequest.java
@@ -1,29 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -83,7 +84,7 @@ public class UnitToUnitAnswerRequest extends OSPMessage
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -93,7 +94,7 @@ public class UnitToUnitAnswerRequest extends OSPMessage
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java
index 71e3a534..2465f3fd 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrant.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -82,7 +83,7 @@ public class UnitToUnitVoiceChannelGrant extends OSPMessage implements IFrequenc
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -92,7 +93,7 @@ public class UnitToUnitVoiceChannelGrant extends OSPMessage implements IFrequenc
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java
index 9e93e280..7d4be833 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase1/message/tsbk/standard/osp/UnitToUnitVoiceChannelGrantUpdate.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.p25.phase1.message.tsbk.standard.osp;
@@ -24,8 +26,7 @@ import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.P25P1DataUnitID;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase1.message.tsbk.OSPMessage;
@@ -82,7 +83,7 @@ public class UnitToUnitVoiceChannelGrantUpdate extends OSPMessage implements IFr
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS));
}
return mTargetAddress;
@@ -92,7 +93,7 @@ public class UnitToUnitVoiceChannelGrantUpdate extends OSPMessage implements IFr
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java
index 6aecf91a..5a5be3e5 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/AcknowledgeResponse.java
@@ -24,10 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Wacn;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -53,10 +51,10 @@ public class AcknowledgeResponse extends MacStructure
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private Identifier mTargetWacn;
private Identifier mTargetSystem;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -123,11 +121,11 @@ public class AcknowledgeResponse extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -156,11 +154,11 @@ public class AcknowledgeResponse extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(hasAdditionalInformation() && !hasExtendedAddressing() && mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java
index 3ec80e16..b50dd17c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -43,8 +41,8 @@ public class CallAlertAbbreviated extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -72,11 +70,11 @@ public class CallAlertAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -85,11 +83,11 @@ public class CallAlertAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java
index 044645fb..2aa8e30c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/CallAlertExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -46,8 +45,8 @@ public class CallAlertExtended extends MacStructure
81, 82, 83, 84, 85, 86, 87};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -75,11 +74,11 @@ public class CallAlertExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -88,11 +87,11 @@ public class CallAlertExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java
index 46262c84..95052142 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/DenyResponse.java
@@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.DenyReason;
@@ -118,7 +118,7 @@ public class DenyResponse extends MacStructure
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java
index 924d8010..171efb9e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/EndPushToTalk.java
@@ -24,10 +24,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Nac;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -48,8 +47,8 @@ public class EndPushToTalk extends MacStructure
private static int[] GROUP_ADDRESS = {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143};
private Identifier mColorCode;
- private TalkgroupIdentifier mSourceAddress;
- private TalkgroupIdentifier mGroupAddress;
+ private Identifier mSourceAddress;
+ private Identifier mGroupAddress;
private List mIdentifiers;
/**
@@ -97,11 +96,11 @@ public class EndPushToTalk extends MacStructure
/**
* Calling (source) radio identifier
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
@@ -110,11 +109,11 @@ public class EndPushToTalk extends MacStructure
/**
* Called (destination) group identifier
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java
index 7d7a9354..2789ad03 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommand.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction;
@@ -45,7 +44,7 @@ public class ExtendedFunctionCommand extends MacStructure
private ExtendedFunction mExtendedFunction;
private String mArguments;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private List mIdentifiers;
/**
@@ -96,11 +95,11 @@ public class ExtendedFunctionCommand extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java
index c8fbb96c..b4292a2b 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/ExtendedFunctionCommandExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.ExtendedFunction;
@@ -51,8 +50,8 @@ public class ExtendedFunctionCommandExtended extends MacStructure
private ExtendedFunction mExtendedFunction;
private String mArguments;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
private List mIdentifiers;
/**
@@ -104,17 +103,17 @@ public class ExtendedFunctionCommandExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -122,7 +121,7 @@ public class ExtendedFunctionCommandExtended extends MacStructure
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java
index db9da41d..983da6b2 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -43,8 +41,8 @@ public class GroupAffiliationQueryAbbreviated extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -72,11 +70,11 @@ public class GroupAffiliationQueryAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -85,11 +83,11 @@ public class GroupAffiliationQueryAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java
index 0c7f3515..7bb1bedf 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupAffiliationQueryExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -46,8 +45,8 @@ public class GroupAffiliationQueryExtended extends MacStructure
81, 82, 83, 84, 85, 86, 87};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -75,11 +74,11 @@ public class GroupAffiliationQueryExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -88,11 +87,11 @@ public class GroupAffiliationQueryExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupPagingMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupPagingMessage.java
index c85eed35..15578d2f 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupPagingMessage.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupPagingMessage.java
@@ -25,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -44,10 +43,10 @@ public class GroupPagingMessage extends MacStructure
private static final int[] GROUP_ADDRESS_4 = {64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress1;
- private TalkgroupIdentifier mTargetAddress2;
- private TalkgroupIdentifier mTargetAddress3;
- private TalkgroupIdentifier mTargetAddress4;
+ private Identifier mTargetAddress1;
+ private Identifier mTargetAddress2;
+ private Identifier mTargetAddress3;
+ private Identifier mTargetAddress4;
/**
* Constructs the message
@@ -130,11 +129,11 @@ public class GroupPagingMessage extends MacStructure
/**
* To Talkgroup 1
*/
- public TalkgroupIdentifier getTargetAddress1()
+ public Identifier getTargetAddress1()
{
if(mTargetAddress1 == null)
{
- mTargetAddress1 = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_1, getOffset()));
+ mTargetAddress1 = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_1, getOffset()));
}
return mTargetAddress1;
@@ -143,11 +142,11 @@ public class GroupPagingMessage extends MacStructure
/**
* To Talkgroup 2
*/
- public TalkgroupIdentifier getTargetAddress2()
+ public Identifier getTargetAddress2()
{
if(mTargetAddress2 == null && getCount() >= 2)
{
- mTargetAddress2 = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_2, getOffset()));
+ mTargetAddress2 = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_2, getOffset()));
}
return mTargetAddress2;
@@ -156,11 +155,11 @@ public class GroupPagingMessage extends MacStructure
/**
* To Talkgroup 3
*/
- public TalkgroupIdentifier getTargetAddress3()
+ public Identifier getTargetAddress3()
{
if(mTargetAddress3 == null && getCount() >= 3)
{
- mTargetAddress3 = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_3, getOffset()));
+ mTargetAddress3 = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_3, getOffset()));
}
return mTargetAddress3;
@@ -169,11 +168,11 @@ public class GroupPagingMessage extends MacStructure
/**
* To Talkgroup 4
*/
- public TalkgroupIdentifier getTargetAddress4()
+ public Identifier getTargetAddress4()
{
if(mTargetAddress4 == null && getCount() >= 4)
{
- mTargetAddress4 = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_4, getOffset()));
+ mTargetAddress4 = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_4, getOffset()));
}
return mTargetAddress4;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java
index 540c0335..ff8c36ff 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantAbbreviated.java
@@ -25,11 +25,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -51,8 +50,8 @@ public class GroupVoiceChannelGrantAbbreviated extends MacStructure implements I
private List mIdentifiers;
private APCO25Channel mChannel;
- private TalkgroupIdentifier mGroupAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mGroupAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -110,11 +109,11 @@ public class GroupVoiceChannelGrantAbbreviated extends MacStructure implements I
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
@@ -123,11 +122,11 @@ public class GroupVoiceChannelGrantAbbreviated extends MacStructure implements I
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java
index 3de039f4..effe2764 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantExtended.java
@@ -25,11 +25,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -53,8 +52,8 @@ public class GroupVoiceChannelGrantExtended extends MacStructure implements IFre
private List mIdentifiers;
private APCO25Channel mChannel;
- private TalkgroupIdentifier mGroupAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mGroupAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -114,11 +113,11 @@ public class GroupVoiceChannelGrantExtended extends MacStructure implements IFre
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
@@ -127,11 +126,11 @@ public class GroupVoiceChannelGrantExtended extends MacStructure implements IFre
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdate.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdate.java
index 2d053b33..503c562e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdate.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdate.java
@@ -25,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -48,9 +47,9 @@ public class GroupVoiceChannelGrantUpdate extends MacStructure implements IFrequ
private static final int[] GROUP_ADDRESS_B = {56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71};
private List mIdentifiers;
- private TalkgroupIdentifier mGroupAddressA;
+ private Identifier mGroupAddressA;
private APCO25Channel mChannelA;
- private TalkgroupIdentifier mGroupAddressB;
+ private Identifier mGroupAddressB;
private APCO25Channel mChannelB;
/**
@@ -104,11 +103,11 @@ public class GroupVoiceChannelGrantUpdate extends MacStructure implements IFrequ
/**
* Talkgroup channel A
*/
- public TalkgroupIdentifier getGroupAddressA()
+ public Identifier getGroupAddressA()
{
if(mGroupAddressA == null)
{
- mGroupAddressA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
+ mGroupAddressA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
}
return mGroupAddressA;
@@ -117,11 +116,11 @@ public class GroupVoiceChannelGrantUpdate extends MacStructure implements IFrequ
/**
* Talkgroup channel B
*/
- public TalkgroupIdentifier getGroupAddressB()
+ public Identifier getGroupAddressB()
{
if(mGroupAddressB == null)
{
- mGroupAddressB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
+ mGroupAddressB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
}
return mGroupAddressB;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateExplicit.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateExplicit.java
index d486c86c..52b0d44d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateExplicit.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateExplicit.java
@@ -25,11 +25,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -51,7 +50,7 @@ public class GroupVoiceChannelGrantUpdateExplicit extends MacStructure implement
private List mIdentifiers;
private VoiceServiceOptions mVoiceServiceOptions;
- private TalkgroupIdentifier mGroupAddress;
+ private Identifier mGroupAddress;
private APCO25Channel mChannel;
/**
@@ -103,11 +102,11 @@ public class GroupVoiceChannelGrantUpdateExplicit extends MacStructure implement
/**
* Talkgroup channel A
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultiple.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultiple.java
index 0eda81cc..f8702e33 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultiple.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultiple.java
@@ -25,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -59,13 +58,13 @@ public class GroupVoiceChannelGrantUpdateMultiple extends MacStructure implement
private List mIdentifiers;
private VoiceServiceOptions mVoiceServiceOptionsA;
- private TalkgroupIdentifier mGroupAddressA;
+ private Identifier mGroupAddressA;
private APCO25Channel mChannelA;
private VoiceServiceOptions mVoiceServiceOptionsB;
- private TalkgroupIdentifier mGroupAddressB;
+ private Identifier mGroupAddressB;
private APCO25Channel mChannelB;
private VoiceServiceOptions mVoiceServiceOptionsC;
- private TalkgroupIdentifier mGroupAddressC;
+ private Identifier mGroupAddressC;
private APCO25Channel mChannelC;
/**
@@ -192,11 +191,11 @@ public class GroupVoiceChannelGrantUpdateMultiple extends MacStructure implement
/**
* Talkgroup channel A
*/
- public TalkgroupIdentifier getGroupAddressA()
+ public Identifier getGroupAddressA()
{
if(mGroupAddressA == null)
{
- mGroupAddressA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
+ mGroupAddressA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
}
return mGroupAddressA;
@@ -205,11 +204,11 @@ public class GroupVoiceChannelGrantUpdateMultiple extends MacStructure implement
/**
* Talkgroup channel B
*/
- public TalkgroupIdentifier getGroupAddressB()
+ public Identifier getGroupAddressB()
{
if(mGroupAddressB == null)
{
- mGroupAddressB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
+ mGroupAddressB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
}
return mGroupAddressB;
@@ -218,11 +217,11 @@ public class GroupVoiceChannelGrantUpdateMultiple extends MacStructure implement
/**
* Talkgroup channel C
*/
- public TalkgroupIdentifier getGroupAddressC()
+ public Identifier getGroupAddressC()
{
if(mGroupAddressC == null)
{
- mGroupAddressC = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_C, getOffset()));
+ mGroupAddressC = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_C, getOffset()));
}
return mGroupAddressC;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultipleExplicit.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultipleExplicit.java
index b6ee4f82..f55932aa 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultipleExplicit.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelGrantUpdateMultipleExplicit.java
@@ -25,11 +25,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -59,10 +58,10 @@ public class GroupVoiceChannelGrantUpdateMultipleExplicit extends MacStructure i
private List mIdentifiers;
private VoiceServiceOptions mVoiceServiceOptionsA;
- private TalkgroupIdentifier mGroupAddressA;
+ private Identifier mGroupAddressA;
private APCO25Channel mChannelA;
private VoiceServiceOptions mVoiceServiceOptionsB;
- private TalkgroupIdentifier mGroupAddressB;
+ private Identifier mGroupAddressB;
private APCO25Channel mChannelB;
/**
@@ -156,11 +155,11 @@ public class GroupVoiceChannelGrantUpdateMultipleExplicit extends MacStructure i
/**
* Talkgroup channel A
*/
- public TalkgroupIdentifier getGroupAddressA()
+ public Identifier getGroupAddressA()
{
if(mGroupAddressA == null)
{
- mGroupAddressA = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
+ mGroupAddressA = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_A, getOffset()));
}
return mGroupAddressA;
@@ -169,11 +168,11 @@ public class GroupVoiceChannelGrantUpdateMultipleExplicit extends MacStructure i
/**
* Talkgroup channel B
*/
- public TalkgroupIdentifier getGroupAddressB()
+ public Identifier getGroupAddressB()
{
if(mGroupAddressB == null)
{
- mGroupAddressB = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
+ mGroupAddressB = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS_B, getOffset()));
}
return mGroupAddressB;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java
index d7f22533..7e98fec9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserAbbreviated.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -44,8 +43,8 @@ public class GroupVoiceChannelUserAbbreviated extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mGroupAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mGroupAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -88,11 +87,11 @@ public class GroupVoiceChannelUserAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
@@ -101,11 +100,11 @@ public class GroupVoiceChannelUserAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java
index 1a806258..d58404e9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceChannelUserExtended.java
@@ -24,10 +24,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -52,9 +51,9 @@ public class GroupVoiceChannelUserExtended extends MacStructure
private List mIdentifiers;
private VoiceServiceOptions mServiceOptions;
- private TalkgroupIdentifier mGroupAddress;
- private TalkgroupIdentifier mSourceAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mGroupAddress;
+ private Identifier mSourceAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -97,11 +96,11 @@ public class GroupVoiceChannelUserExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
@@ -110,17 +109,17 @@ public class GroupVoiceChannelUserExtended extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -128,7 +127,7 @@ public class GroupVoiceChannelUserExtended extends MacStructure
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java
index 797a55e6..0bdff67a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/GroupVoiceServiceRequest.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -44,8 +43,8 @@ public class GroupVoiceServiceRequest extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mGroupAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mGroupAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -88,11 +87,11 @@ public class GroupVoiceServiceRequest extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
@@ -101,11 +100,11 @@ public class GroupVoiceServiceRequest extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java
index 7cc2f4f4..1d19ca4a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/IndividualPagingMessage.java
@@ -25,8 +25,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.BinaryMessage;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -52,10 +51,10 @@ public class IndividualPagingMessage extends MacStructure
104, 105, 106, 107, 108, 109, 110, 111};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress1;
- private TalkgroupIdentifier mTargetAddress2;
- private TalkgroupIdentifier mTargetAddress3;
- private TalkgroupIdentifier mTargetAddress4;
+ private Identifier mTargetAddress1;
+ private Identifier mTargetAddress2;
+ private Identifier mTargetAddress3;
+ private Identifier mTargetAddress4;
/**
* Constructs the message
@@ -194,11 +193,11 @@ public class IndividualPagingMessage extends MacStructure
/**
* To Talkgroup 1
*/
- public TalkgroupIdentifier getTargetAddress1()
+ public Identifier getTargetAddress1()
{
if(mTargetAddress1 == null)
{
- mTargetAddress1 = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS_1, getOffset()));
+ mTargetAddress1 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_1, getOffset()));
}
return mTargetAddress1;
@@ -207,11 +206,11 @@ public class IndividualPagingMessage extends MacStructure
/**
* To Talkgroup 2
*/
- public TalkgroupIdentifier getTargetAddress2()
+ public Identifier getTargetAddress2()
{
if(mTargetAddress2 == null && getCount() >= 2)
{
- mTargetAddress2 = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS_2, getOffset()));
+ mTargetAddress2 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_2, getOffset()));
}
return mTargetAddress2;
@@ -220,11 +219,11 @@ public class IndividualPagingMessage extends MacStructure
/**
* To Talkgroup 3
*/
- public TalkgroupIdentifier getTargetAddress3()
+ public Identifier getTargetAddress3()
{
if(mTargetAddress3 == null && getCount() >= 3)
{
- mTargetAddress3 = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS_3, getOffset()));
+ mTargetAddress3 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_3, getOffset()));
}
return mTargetAddress3;
@@ -233,11 +232,11 @@ public class IndividualPagingMessage extends MacStructure
/**
* To Talkgroup 4
*/
- public TalkgroupIdentifier getTargetAddress4()
+ public Identifier getTargetAddress4()
{
if(mTargetAddress4 == null && getCount() >= 4)
{
- mTargetAddress4 = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS_4, getOffset()));
+ mTargetAddress4 = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS_4, getOffset()));
}
return mTargetAddress4;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java
index 367f46e3..17198c74 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MacRelease.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.APCO25Nac;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -44,7 +43,7 @@ public class MacRelease extends MacStructure
private static final int[] COLOR_CODE = {44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private Identifier mNac;
/**
@@ -93,11 +92,11 @@ public class MacRelease extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java
index 01c43514..a96db761 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateAbbreviated.java
@@ -24,10 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -46,8 +44,8 @@ public class MessageUpdateAbbreviated extends MacStructure
private List mIdentifiers;
private Identifier mShortDataMessage;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -90,11 +88,11 @@ public class MessageUpdateAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -103,11 +101,11 @@ public class MessageUpdateAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java
index 075beded..3d7df86a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/MessageUpdateExtended.java
@@ -24,10 +24,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.message.APCO25ShortDataMessage;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -49,8 +48,8 @@ public class MessageUpdateExtended extends MacStructure
private List mIdentifiers;
private Identifier mShortDataMessage;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -93,11 +92,11 @@ public class MessageUpdateExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -106,11 +105,11 @@ public class MessageUpdateExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java
index 7ebf09da..8778f06c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PowerControlSignalQuality.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.enumeration.BER;
import io.github.dsheirer.module.decode.p25.phase2.enumeration.RFLevel;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -44,7 +43,7 @@ public class PowerControlSignalQuality extends MacStructure
private static final int[] BIT_ERROR_RATE = {36, 37, 38, 39};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
/**
* Constructs the message
@@ -73,11 +72,11 @@ public class PowerControlSignalQuality extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java
index 8c6546a5..a6b272bd 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/PushToTalk.java
@@ -26,11 +26,10 @@ import io.github.dsheirer.audio.codec.mbe.IEncryptionSyncParameters;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.encryption.EncryptionKeyIdentifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.audio.Phase2EncryptionSyncParameters;
import io.github.dsheirer.module.decode.p25.identifier.encryption.APCO25EncryptionKey;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -53,8 +52,8 @@ public class PushToTalk extends MacStructure
private static int[] GROUP_ADDRESS = {128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143};
private EncryptionKeyIdentifier mEncryptionKey;
- private TalkgroupIdentifier mSourceAddress;
- private TalkgroupIdentifier mGroupAddress;
+ private Identifier mSourceAddress;
+ private Identifier mGroupAddress;
private List mIdentifiers;
/**
@@ -134,11 +133,11 @@ public class PushToTalk extends MacStructure
/**
* Calling (source) radio identifier
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
@@ -147,11 +146,11 @@ public class PushToTalk extends MacStructure
/**
* Called (destination) group identifier
*/
- public TalkgroupIdentifier getGroupAddress()
+ public Identifier getGroupAddress()
{
if(mGroupAddress == null)
{
- mGroupAddress = APCO25ToTalkgroup.createGroup(getMessage().getInt(GROUP_ADDRESS, getOffset()));
+ mGroupAddress = APCO25Talkgroup.create(getMessage().getInt(GROUP_ADDRESS, getOffset()));
}
return mGroupAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java
index 8049c29b..9a58f90e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/QueuedResponse.java
@@ -24,7 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacOpcode;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.QueuedResponseReason;
@@ -118,7 +118,7 @@ public class QueuedResponse extends MacStructure
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java
index fd20fd53..69728c2a 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommand.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -46,8 +44,8 @@ public class RadioUnitMonitorCommand extends MacStructure
74, 75, 76, 77, 78, 79};
private List mIdentifiers;
- private TalkgroupIdentifier mSourceAddress;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mSourceAddress;
+ private Identifier mTargetAddress;
/**
* Constructs the message
@@ -106,11 +104,11 @@ public class RadioUnitMonitorCommand extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -119,11 +117,11 @@ public class RadioUnitMonitorCommand extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java
index a1825e0e..ec653112 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandEnhanced.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
+import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25Talkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.Encryption;
@@ -52,9 +51,9 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mTalkgroupId;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mTalkgroupId;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -109,11 +108,11 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure
/**
* To radio address
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -122,11 +121,11 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure
/**
* Talkgroup to call
*/
- public TalkgroupIdentifier getTalkgroupId()
+ public Identifier getTalkgroupId()
{
if(mTalkgroupId == null)
{
- mTalkgroupId = APCO25FromTalkgroup.createGroup(getMessage().getInt(TALKGROUP_ID, getOffset()));
+ mTalkgroupId = APCO25Talkgroup.create(getMessage().getInt(TALKGROUP_ID, getOffset()));
}
return mTalkgroupId;
@@ -135,11 +134,11 @@ public class RadioUnitMonitorCommandEnhanced extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java
index b16a4227..85c6baa8 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/RadioUnitMonitorCommandExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -50,8 +49,8 @@ public class RadioUnitMonitorCommandExtended extends MacStructure
104, 105, 106, 107, 108, 109, 110, 111};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private APCO25FullyQualifiedRadioIdentifier mSourceSuid;
/**
* Constructs the message
@@ -110,11 +109,11 @@ public class RadioUnitMonitorCommandExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -123,11 +122,11 @@ public class RadioUnitMonitorCommandExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public APCO25FullyQualifiedRadioIdentifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java
index abe8e663..f1bb497d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataChannelGrant.java
@@ -25,10 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -51,7 +50,7 @@ public class SNDCPDataChannelGrant extends MacStructure implements IFrequencyBan
private List mIdentifiers;
private APCO25Channel mChannel;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private DataServiceOptions mServiceOptions;
/**
@@ -110,11 +109,11 @@ public class SNDCPDataChannelGrant extends MacStructure implements IFrequencyBan
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java
index b3b9b74c..d0ab96ef 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/SNDCPDataPageRequest.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.DataServiceOptions;
@@ -43,7 +42,7 @@ public class SNDCPDataPageRequest extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private DataServiceOptions mServiceOptions;
/**
@@ -85,11 +84,11 @@ public class SNDCPDataPageRequest extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java
index ffc6d7c5..98fab0a7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -43,8 +41,8 @@ public class StatusQueryAbbreviated extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -72,11 +70,11 @@ public class StatusQueryAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -85,11 +83,11 @@ public class StatusQueryAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java
index 2c855501..f4355f4e 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusQueryExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -46,8 +45,8 @@ public class StatusQueryExtended extends MacStructure
81, 82, 83, 84, 85, 86, 87};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -75,11 +74,11 @@ public class StatusQueryExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -88,11 +87,11 @@ public class StatusQueryExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java
index d6689abb..916e74b9 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateAbbreviated.java
@@ -24,11 +24,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -49,8 +47,8 @@ public class StatusUpdateAbbreviated extends MacStructure
private List mIdentifiers;
private Identifier mUnitStatus;
private Identifier mUserStatus;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -100,11 +98,11 @@ public class StatusUpdateAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -113,11 +111,11 @@ public class StatusUpdateAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java
index 9b41d2da..cdd9b6b1 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/StatusUpdateExtended.java
@@ -24,11 +24,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UnitStatus;
import io.github.dsheirer.module.decode.p25.identifier.status.APCO25UserStatus;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -52,8 +51,8 @@ public class StatusUpdateExtended extends MacStructure
private List mIdentifiers;
private Identifier mUnitStatus;
private Identifier mUserStatus;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private APCO25FullyQualifiedRadioIdentifier mSourceSuid;
/**
* Constructs the message
@@ -103,11 +102,11 @@ public class StatusUpdateExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -116,11 +115,11 @@ public class StatusUpdateExtended extends MacStructure
/**
* From Radio Unit
*/
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(getMessage().getInt(SOURCE_WACN, getOffset()),
getMessage().getInt(SOURCE_SYSTEM, getOffset()), getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java
index e33a0476..d01fe4ef 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectAnswerRequest.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.identifier.telephone.APCO25TelephoneNumber;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.Digit;
@@ -52,7 +51,7 @@ public class TelephoneInterconnectAnswerRequest extends MacStructure
65, 66, 67, 68, 69, 70, 71};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
+ private Identifier mTargetAddress;
private Identifier mTelephoneNumber;
/**
@@ -81,11 +80,11 @@ public class TelephoneInterconnectAnswerRequest extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java
index 532079ce..591fb60f 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/TelephoneInterconnectVoiceChannelUser.java
@@ -24,8 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25AnyTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -43,7 +42,7 @@ public class TelephoneInterconnectVoiceChannelUser extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mToOrFromAddress;
+ private Identifier mToOrFromAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -108,11 +107,11 @@ public class TelephoneInterconnectVoiceChannelUser extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getToOrFromAddress()
+ public Identifier getToOrFromAddress()
{
if(mToOrFromAddress == null)
{
- mToOrFromAddress = APCO25AnyTalkgroup.create(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mToOrFromAddress = APCO25Radio.createAny(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mToOrFromAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java
index 6a3f5675..ff07e9c8 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitRegistrationCommandAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import java.util.ArrayList;
@@ -43,8 +41,8 @@ public class UnitRegistrationCommandAbbreviated extends MacStructure
49, 50, 51, 52, 53, 54, 55};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -72,11 +70,11 @@ public class UnitRegistrationCommandAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -85,11 +83,11 @@ public class UnitRegistrationCommandAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java
index 85634f98..33b6b8b7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -45,8 +43,8 @@ public class UnitToUnitAnswerRequestAbbreviated extends MacStructure
57, 58, 59, 60, 61, 62, 63};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -89,11 +87,11 @@ public class UnitToUnitAnswerRequestAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -102,11 +100,11 @@ public class UnitToUnitAnswerRequestAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java
index 8ba43a5d..ba2b41cb 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitAnswerRequestExtended.java
@@ -24,9 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -49,8 +48,8 @@ public class UnitToUnitAnswerRequestExtended extends MacStructure
private List mIdentifiers;
private VoiceServiceOptions mServiceOptions;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -92,17 +91,17 @@ public class UnitToUnitAnswerRequestExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -110,7 +109,7 @@ public class UnitToUnitAnswerRequestExtended extends MacStructure
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java
index 4d62731f..f12419f7 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantAbbreviated.java
@@ -25,11 +25,9 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -50,8 +48,8 @@ public class UnitToUnitVoiceChannelGrantAbbreviated extends MacStructure impleme
private List mIdentifiers;
private APCO25Channel mChannel;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -94,11 +92,11 @@ public class UnitToUnitVoiceChannelGrantAbbreviated extends MacStructure impleme
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -107,11 +105,11 @@ public class UnitToUnitVoiceChannelGrantAbbreviated extends MacStructure impleme
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java
index 9aa3c111..5d21bafa 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantExtended.java
@@ -25,11 +25,10 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -55,8 +54,8 @@ public class UnitToUnitVoiceChannelGrantExtended extends MacStructure implements
private APCO25Channel mChannel;
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -98,17 +97,17 @@ public class UnitToUnitVoiceChannelGrantExtended extends MacStructure implements
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -116,7 +115,7 @@ public class UnitToUnitVoiceChannelGrantExtended extends MacStructure implements
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java
index ffa09906..b305a73d 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateAbbreviated.java
@@ -25,10 +25,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -49,8 +47,8 @@ public class UnitToUnitVoiceChannelGrantUpdateAbbreviated extends MacStructure i
private List mIdentifiers;
private APCO25Channel mChannel;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
/**
* Constructs the message
@@ -93,11 +91,11 @@ public class UnitToUnitVoiceChannelGrantUpdateAbbreviated extends MacStructure i
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -106,11 +104,11 @@ public class UnitToUnitVoiceChannelGrantUpdateAbbreviated extends MacStructure i
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java
index 6df3d4f4..c87359a0 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelGrantUpdateExtended.java
@@ -25,12 +25,11 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.channel.IChannelDescriptor;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25Channel;
import io.github.dsheirer.module.decode.p25.identifier.channel.APCO25ExplicitChannel;
import io.github.dsheirer.module.decode.p25.identifier.channel.P25P2ExplicitChannel;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase1.message.IFrequencyBandReceiver;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
@@ -56,8 +55,8 @@ public class UnitToUnitVoiceChannelGrantUpdateExtended extends MacStructure impl
private APCO25Channel mChannel;
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceSuid;
/**
* Constructs the message
@@ -99,17 +98,17 @@ public class UnitToUnitVoiceChannelGrantUpdateExtended extends MacStructure impl
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public Identifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -117,7 +116,7 @@ public class UnitToUnitVoiceChannelGrantUpdateExtended extends MacStructure impl
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java
index e11de5c0..05b66e5c 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserAbbreviated.java
@@ -24,9 +24,7 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -45,8 +43,8 @@ public class UnitToUnitVoiceChannelUserAbbreviated extends MacStructure
57, 58, 59, 60, 61, 62, 63};
private List mIdentifiers;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
private VoiceServiceOptions mServiceOptions;
/**
@@ -89,11 +87,11 @@ public class UnitToUnitVoiceChannelUserAbbreviated extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -102,11 +100,11 @@ public class UnitToUnitVoiceChannelUserAbbreviated extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java
index fd60c9f5..ccfcdcd1 100644
--- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java
+++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/message/mac/structure/UnitToUnitVoiceChannelUserExtended.java
@@ -24,10 +24,8 @@ package io.github.dsheirer.module.decode.p25.phase2.message.mac.structure;
import io.github.dsheirer.bits.CorrectedBinaryMessage;
import io.github.dsheirer.identifier.Identifier;
-import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FromTalkgroup;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25FullyQualifiedIdentifier;
-import io.github.dsheirer.module.decode.p25.identifier.talkgroup.APCO25ToTalkgroup;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25FullyQualifiedRadioIdentifier;
+import io.github.dsheirer.module.decode.p25.identifier.radio.APCO25Radio;
import io.github.dsheirer.module.decode.p25.phase2.message.mac.MacStructure;
import io.github.dsheirer.module.decode.p25.reference.VoiceServiceOptions;
@@ -52,9 +50,9 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure
private List mIdentifiers;
private VoiceServiceOptions mServiceOptions;
- private TalkgroupIdentifier mTargetAddress;
- private TalkgroupIdentifier mSourceAddress;
- private APCO25FullyQualifiedIdentifier mSourceSuid;
+ private Identifier mTargetAddress;
+ private Identifier mSourceAddress;
+ private APCO25FullyQualifiedRadioIdentifier mSourceSuid;
/**
* Constructs the message
@@ -97,11 +95,11 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure
/**
* To Talkgroup
*/
- public TalkgroupIdentifier getTargetAddress()
+ public Identifier getTargetAddress()
{
if(mTargetAddress == null)
{
- mTargetAddress = APCO25ToTalkgroup.createIndividual(getMessage().getInt(TARGET_ADDRESS, getOffset()));
+ mTargetAddress = APCO25Radio.createTo(getMessage().getInt(TARGET_ADDRESS, getOffset()));
}
return mTargetAddress;
@@ -110,17 +108,17 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure
/**
* From Radio Unit
*/
- public TalkgroupIdentifier getSourceAddress()
+ public Identifier getSourceAddress()
{
if(mSourceAddress == null)
{
- mSourceAddress = APCO25FromTalkgroup.createIndividual(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
+ mSourceAddress = APCO25Radio.createFrom(getMessage().getInt(SOURCE_ADDRESS, getOffset()));
}
return mSourceAddress;
}
- public APCO25FullyQualifiedIdentifier getSourceSuid()
+ public APCO25FullyQualifiedRadioIdentifier getSourceSuid()
{
if(mSourceSuid == null)
{
@@ -128,7 +126,7 @@ public class UnitToUnitVoiceChannelUserExtended extends MacStructure
int system = getMessage().getInt(FULLY_QUALIFIED_SOURCE_SYSTEM, getOffset());
int id = getMessage().getInt(FULLY_QUALIFIED_SOURCE_ID, getOffset());
- mSourceSuid = APCO25FullyQualifiedIdentifier.createFrom(wacn, system, id);
+ mSourceSuid = APCO25FullyQualifiedRadioIdentifier.createFrom(wacn, system, id);
}
return mSourceSuid;
diff --git a/src/main/java/io/github/dsheirer/module/decode/passport/identifier/PassportTalkgroup.java b/src/main/java/io/github/dsheirer/module/decode/passport/identifier/PassportTalkgroup.java
index e5a0324c..85dd728f 100644
--- a/src/main/java/io/github/dsheirer/module/decode/passport/identifier/PassportTalkgroup.java
+++ b/src/main/java/io/github/dsheirer/module/decode/passport/identifier/PassportTalkgroup.java
@@ -1,21 +1,23 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2018 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.module.decode.passport.identifier;
@@ -32,9 +34,9 @@ public class PassportTalkgroup extends TalkgroupIdentifier implements Comparable
/**
* Constructs a Passport talkgroup with a TO role.
*/
- public PassportTalkgroup(Integer value, Role role, boolean isGroup)
+ public PassportTalkgroup(Integer value, Role role)
{
- super(value, role, isGroup);
+ super(value, role);
}
@Override
@@ -48,7 +50,7 @@ public class PassportTalkgroup extends TalkgroupIdentifier implements Comparable
*/
public static PassportTalkgroup createTo(int value)
{
- return new PassportTalkgroup(value, Role.TO, true);
+ return new PassportTalkgroup(value, Role.TO);
}
/**
@@ -56,7 +58,7 @@ public class PassportTalkgroup extends TalkgroupIdentifier implements Comparable
*/
public static PassportTalkgroup createFrom(int value)
{
- return new PassportTalkgroup(value, Role.FROM, false);
+ return new PassportTalkgroup(value, Role.FROM);
}
@Override
diff --git a/src/main/java/io/github/dsheirer/preference/identifier/TalkgroupFormatPreference.java b/src/main/java/io/github/dsheirer/preference/identifier/TalkgroupFormatPreference.java
index 4a7039f1..489a4c6c 100644
--- a/src/main/java/io/github/dsheirer/preference/identifier/TalkgroupFormatPreference.java
+++ b/src/main/java/io/github/dsheirer/preference/identifier/TalkgroupFormatPreference.java
@@ -1,27 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.preference.identifier;
import io.github.dsheirer.identifier.Identifier;
import io.github.dsheirer.identifier.patch.PatchGroupIdentifier;
+import io.github.dsheirer.identifier.radio.RadioIdentifier;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.preference.Preference;
import io.github.dsheirer.preference.PreferenceType;
@@ -92,6 +95,12 @@ public class TalkgroupFormatPreference extends Preference
return formatPatchGroupIdentifier((PatchGroupIdentifier)identifier);
}
break;
+ case RADIO:
+ if(identifier instanceof RadioIdentifier)
+ {
+ return formatRadioIdentifier((RadioIdentifier)identifier);
+ }
+ break;
}
return identifier.toString();
@@ -331,4 +340,22 @@ public class TalkgroupFormatPreference extends Preference
return patchGroupIdentifier.toString();
}
}
+
+ /**
+ * Formats the identifier according to user specified preferences for number format and length.
+ *
+ * @param radioIdentifier to format
+ * @return formatted radio ID
+ */
+ private String formatRadioIdentifier(RadioIdentifier radioIdentifier)
+ {
+ switch(radioIdentifier.getProtocol())
+ {
+ case APCO25:
+ return APCO25TalkgroupFormatter.format(radioIdentifier, getTalkgroupFormat(Protocol.APCO25),
+ isTalkgroupFixedWidth(Protocol.APCO25));
+ default:
+ return radioIdentifier.toString();
+ }
+ }
}
diff --git a/src/main/java/io/github/dsheirer/preference/identifier/talkgroup/APCO25TalkgroupFormatter.java b/src/main/java/io/github/dsheirer/preference/identifier/talkgroup/APCO25TalkgroupFormatter.java
index f2f604e2..3f4868a2 100644
--- a/src/main/java/io/github/dsheirer/preference/identifier/talkgroup/APCO25TalkgroupFormatter.java
+++ b/src/main/java/io/github/dsheirer/preference/identifier/talkgroup/APCO25TalkgroupFormatter.java
@@ -1,27 +1,30 @@
/*
- * ******************************************************************************
- * sdrtrunk
- * Copyright (C) 2014-2019 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * * ******************************************************************************
+ * * Copyright (C) 2014-2019 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
+ * * the Free Software Foundation, either version 3 of the License, or
+ * * (at your option) any later version.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program. If not, see
+ * * *****************************************************************************
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see
- * *****************************************************************************
*/
package io.github.dsheirer.preference.identifier.talkgroup;
import io.github.dsheirer.identifier.patch.PatchGroup;
import io.github.dsheirer.identifier.patch.PatchGroupIdentifier;
+import io.github.dsheirer.identifier.radio.RadioIdentifier;
import io.github.dsheirer.identifier.talkgroup.TalkgroupIdentifier;
import io.github.dsheirer.preference.identifier.IntegerFormat;
@@ -43,11 +46,9 @@ public class APCO25TalkgroupFormatter extends IntegerFormatter
{
case DECIMAL:
case FORMATTED:
- return toDecimal(identifier.getValue(),
- (identifier.isGroup() ? GROUP_DECIMAL_WIDTH : UNIT_DECIMAL_WIDTH));
+ return toDecimal(identifier.getValue(), GROUP_DECIMAL_WIDTH);
case HEXADECIMAL:
- return toHex(identifier.getValue(),
- (identifier.isGroup() ? GROUP_HEXADECIMAL_WIDTH : UNIT_HEXADECIMAL_WIDTH));
+ return toHex(identifier.getValue(), GROUP_HEXADECIMAL_WIDTH);
default:
throw new IllegalArgumentException("Unrecognized integer format: " + format);
}
@@ -96,4 +97,38 @@ public class APCO25TalkgroupFormatter extends IntegerFormatter
return identifier.toString();
}
+
+ /**
+ * Formats the radio identifier to the specified format and width.
+ */
+ public static String format(RadioIdentifier identifier, IntegerFormat format, boolean fixedWidth)
+ {
+ if(fixedWidth)
+ {
+ switch(format)
+ {
+ case DECIMAL:
+ case FORMATTED:
+ return toDecimal(identifier.getValue(), UNIT_DECIMAL_WIDTH);
+ case HEXADECIMAL:
+ return toHex(identifier.getValue(), UNIT_HEXADECIMAL_WIDTH);
+ default:
+ throw new IllegalArgumentException("Unrecognized integer format: " + format);
+ }
+ }
+ else
+ {
+ switch(format)
+ {
+ case DECIMAL:
+ case FORMATTED:
+ return identifier.getValue().toString();
+ case HEXADECIMAL:
+ return toHex(identifier.getValue());
+ default:
+ throw new IllegalArgumentException("Unrecognized integer format: " + format);
+ }
+ }
+ }
+
}
diff --git a/src/main/java/io/github/dsheirer/protocol/Protocol.java b/src/main/java/io/github/dsheirer/protocol/Protocol.java
index a245dd3a..6a2dae38 100644
--- a/src/main/java/io/github/dsheirer/protocol/Protocol.java
+++ b/src/main/java/io/github/dsheirer/protocol/Protocol.java
@@ -56,6 +56,7 @@ public enum Protocol
public static EnumSet TALKGROUP_PROTOCOLS = EnumSet.of(APCO25, FLEETSYNC, LTR_NET, LTR_STANDARD, MDC1200,
MPT1327, PASSPORT);
+ public static EnumSet RADIO_ID_PROTOCOLS = EnumSet.of(APCO25);
@Override
public String toString()