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()