move want_replies into new plugin system

This commit is contained in:
Kevin Hester
2020-12-05 11:15:06 +08:00
parent 91b99bd584
commit 3e0dc44210
8 changed files with 44 additions and 5 deletions

View File

@@ -37,3 +37,13 @@ void NodeInfoPlugin::sendOurNodeInfo(NodeNum dest, bool wantReplies)
service.sendToMesh(p);
}
/** Messages can be received that have the want_response bit set. If set, this callback will be invoked
* so that subclasses can (optionally) send a response back to the original sender. Implementing this method
* is optional
*/
void NodeInfoPlugin::sendResponse(NodeNum to) {
DEBUG_MSG("Sending user reply\n");
sendOurNodeInfo(to, false);
}

View File

@@ -18,12 +18,17 @@ class NodeInfoPlugin : public ProtobufPlugin<User>
void sendOurNodeInfo(NodeNum dest = NODENUM_BROADCAST, bool wantReplies = false);
protected:
/** Called to handle a particular incoming message
@return true if you've guaranteed you've handled this message and no other handlers should be considered for it
*/
virtual bool handleReceivedProtobuf(const MeshPacket &mp, const User &p);
/** Messages can be received that have the want_response bit set. If set, this callback will be invoked
* so that subclasses can (optionally) send a response back to the original sender. Implementing this method
* is optional
*/
virtual void sendResponse(NodeNum to);
};
extern NodeInfoPlugin nodeInfoPlugin;

View File

@@ -44,3 +44,12 @@ void PositionPlugin::sendOurPosition(NodeNum dest, bool wantReplies)
service.sendToMesh(p);
}
/** Messages can be received that have the want_response bit set. If set, this callback will be invoked
* so that subclasses can (optionally) send a response back to the original sender. Implementing this method
* is optional
*/
void PositionPlugin::sendResponse(NodeNum to) {
DEBUG_MSG("Sending posistion reply\n");
sendOurPosition(to, false);
}

View File

@@ -24,6 +24,12 @@ class PositionPlugin : public ProtobufPlugin<Position>
@return true if you've guaranteed you've handled this message and no other handlers should be considered for it
*/
virtual bool handleReceivedProtobuf(const MeshPacket &mp, const Position &p);
/** Messages can be received that have the want_response bit set. If set, this callback will be invoked
* so that subclasses can (optionally) send a response back to the original sender. Implementing this method
* is optional
*/
virtual void sendResponse(NodeNum to);
};
extern PositionPlugin positionPlugin;