* cleanup * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#pragma once
|
|
#include "Observer.h"
|
|
#include "SinglePortModule.h"
|
|
#define TEXT_PACKET_LIST_SIZE 50
|
|
|
|
/**
|
|
* Text message handling for Meshtastic.
|
|
*
|
|
* This module is responsible for receiving and storing incoming text messages
|
|
* from the mesh. It notifies observers so that other components (such as the
|
|
* MessageRenderer) can later display or process them.
|
|
*
|
|
* Rendering of messages on screen is no longer done here.
|
|
*/
|
|
class TextMessageModule : public SinglePortModule, public Observable<const meshtastic_MeshPacket *>
|
|
{
|
|
public:
|
|
/** Constructor
|
|
* name is for debugging output
|
|
*/
|
|
TextMessageModule() : SinglePortModule("text", meshtastic_PortNum_TEXT_MESSAGE_APP) {}
|
|
|
|
bool recentlySeen(uint32_t id);
|
|
|
|
protected:
|
|
/** Called to handle a particular incoming message
|
|
*
|
|
* @return ProcessMessage::STOP if you've guaranteed you've handled this
|
|
* message and no other handlers should be considered for it.
|
|
*/
|
|
virtual ProcessMessage handleReceived(const meshtastic_MeshPacket &mp) override;
|
|
virtual bool wantPacket(const meshtastic_MeshPacket *p) override;
|
|
|
|
private:
|
|
uint32_t textPacketList[TEXT_PACKET_LIST_SIZE] = {0};
|
|
size_t textPacketListIndex = 0;
|
|
};
|
|
|
|
extern TextMessageModule *textMessageModule;
|