feat(nng): add protocol field to hearing message

pull/20/head
Dave Behnke 1 month ago
parent ba6a5dfcfa
commit d02ebe31b0

6
.gitignore vendored

@ -5,3 +5,9 @@ reflector/urfd.*
urfd
inicheck
dbutil
.devcontainer/
/test_urfd.ini
/staging_urfd.ini
/pr_comment_nng.md
/pr_body_fix.md
/staging/

@ -118,7 +118,8 @@ Triggered when the reflector "hears" an active transmission. This event is sent
"ur": "CQCQCQ",
"rpt1": "GB3NB",
"rpt2": "XLX123 A",
"module": "A"
"module": "A",
"protocol": "M17"
}
```

@ -368,7 +368,7 @@ void CBMProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header, c
// release
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, peer);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, peer, EProtocol::bm);
g_Reflector.ReleaseUsers();
}
}

@ -208,7 +208,7 @@ void CDcsProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::dcs);
g_Reflector.ReleaseUsers();
}
}

@ -351,7 +351,7 @@ void CDextraProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Heade
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::dextra);
g_Reflector.ReleaseUsers();
}
}

@ -335,7 +335,7 @@ void CDmrmmdvmProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Hea
// update last heard
if ( lastheard )
{
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::dmrmmdvm);
g_Reflector.ReleaseUsers();
}
}

@ -208,7 +208,7 @@ void CDmrplusProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Head
// release
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::dmrplus);
g_Reflector.ReleaseUsers();
}
}

@ -213,7 +213,7 @@ void CDplusProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::dplus);
g_Reflector.ReleaseUsers();
}
else

@ -570,7 +570,7 @@ void CG3Protocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header, c
}
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::g3);
g_Reflector.ReleaseUsers();
}
}

@ -209,7 +209,7 @@ void CM17Protocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::m17);
g_Reflector.ReleaseUsers();
}
}

@ -235,7 +235,7 @@ void CNXDNProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
// update last heard
if ( g_Reflector.IsValidModule(rpt2.GetCSModule()) )
{
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::nxdn);
g_Reflector.ReleaseUsers();
}
}

@ -219,7 +219,7 @@ void CP25Protocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::p25);
g_Reflector.ReleaseUsers();
}
}

@ -411,7 +411,7 @@ void CURFProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
// release
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, peer);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, peer, EProtocol::urf);
g_Reflector.ReleaseUsers();
}
}

@ -225,7 +225,7 @@ void CUSRPProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
g_Reflector.ReleaseClients();
// update last heard
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::usrp);
g_Reflector.ReleaseUsers();
}
}

@ -44,12 +44,12 @@ void CUsers::AddUser(const CUser &user)
////////////////////////////////////////////////////////////////////////////////////////
// operation
void CUsers::Hearing(const CCallsign &my, const CCallsign &rpt1, const CCallsign &rpt2)
void CUsers::Hearing(const CCallsign &my, const CCallsign &rpt1, const CCallsign &rpt2, EProtocol protocol)
{
Hearing(my, rpt1, rpt2, g_Reflector.GetCallsign());
Hearing(my, rpt1, rpt2, g_Reflector.GetCallsign(), protocol);
}
void CUsers::Hearing(const CCallsign &my, const CCallsign &rpt1, const CCallsign &rpt2, const CCallsign &xlx)
void CUsers::Hearing(const CCallsign &my, const CCallsign &rpt1, const CCallsign &rpt2, const CCallsign &xlx, EProtocol protocol)
{
CUser heard(my, rpt1, rpt2, xlx);
@ -73,5 +73,6 @@ void CUsers::Hearing(const CCallsign &my, const CCallsign &rpt1, const CCallsign
event["rpt1"] = rpt2.GetCS();
event["rpt2"] = xlx.GetCS();
event["module"] = std::string(1, xlx.GetCSModule());
event["protocol"] = g_GateKeeper.ProtocolName(protocol);
g_NNGPublisher.Publish(event);
}

@ -47,8 +47,8 @@ public:
std::list<CUser>::const_iterator cend() { return m_Users.cend(); }
// operation
void Hearing(const CCallsign &, const CCallsign &, const CCallsign &);
void Hearing(const CCallsign &, const CCallsign &, const CCallsign &, const CCallsign &);
void Hearing(const CCallsign &, const CCallsign &, const CCallsign &, EProtocol protocol = EProtocol::none);
void Hearing(const CCallsign &, const CCallsign &, const CCallsign &, const CCallsign &, EProtocol protocol);
protected:
// data

@ -293,7 +293,7 @@ void CYsfProtocol::OnDvHeaderPacketIn(std::unique_ptr<CDvHeaderPacket> &Header,
// update last heard
if ( g_Reflector.IsValidModule(rpt2.GetCSModule()) )
{
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2);
g_Reflector.GetUsers()->Hearing(my, rpt1, rpt2, EProtocol::ysf);
g_Reflector.ReleaseUsers();
}
}

Loading…
Cancel
Save

Powered by TurnKey Linux.