mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-12 19:52:17 -04:00
Remove Signal use, register message handler in View.
Changed my mind from earlier commit...
This commit is contained in:
parent
94b73d7825
commit
8c34e116af
2 changed files with 13 additions and 32 deletions
|
@ -89,27 +89,11 @@ AISModel::AISModel() {
|
|||
receiver_model.set_baseband_bandwidth(1750000);
|
||||
|
||||
log_file.open_for_append("ais.txt");
|
||||
|
||||
EventDispatcher::message_map().register_handler(Message::ID::AISPacket,
|
||||
[this](Message* const p) {
|
||||
const auto message = static_cast<const AISPacketMessage*>(p);
|
||||
const ais::Packet packet { message->packet };
|
||||
this->on_packet(packet);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
AISModel::~AISModel() {
|
||||
EventDispatcher::message_map().unregister_handler(Message::ID::AISPacket);
|
||||
}
|
||||
|
||||
bool AISModel::on_packet(const ais::Packet& packet) {
|
||||
// TODO: Unstuff here, not in baseband!
|
||||
|
||||
if( !packet.is_valid() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if( log_file.is_ready() ) {
|
||||
std::string entry;
|
||||
entry.reserve((packet.length() + 3) / 4);
|
||||
|
@ -122,8 +106,6 @@ bool AISModel::on_packet(const ais::Packet& packet) {
|
|||
log_file.write_entry(packet.received_at(), entry);
|
||||
}
|
||||
|
||||
packet_signal.emit(packet);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -132,13 +114,20 @@ namespace ui {
|
|||
AISView::AISView() {
|
||||
flags.focusable = true;
|
||||
|
||||
packet_signal_token = model.packet_signal += [this](const ais::Packet& packet) {
|
||||
this->on_packet(packet);
|
||||
};
|
||||
EventDispatcher::message_map().register_handler(Message::ID::AISPacket,
|
||||
[this](Message* const p) {
|
||||
const auto message = static_cast<const AISPacketMessage*>(p);
|
||||
const ais::Packet packet { message->packet };
|
||||
if( packet.is_valid() ) {
|
||||
this->model.on_packet(packet);
|
||||
this->on_packet(packet);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
AISView::~AISView() {
|
||||
model.packet_signal -= packet_signal_token;
|
||||
EventDispatcher::message_map().unregister_handler(Message::ID::AISPacket);
|
||||
}
|
||||
|
||||
void AISView::truncate_entries() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue