added more responses; converted object ones to classes

This commit is contained in:
Ben Menking
2026-05-29 23:19:08 -04:00
parent ec157a8a28
commit 9b6781a3f9
4 changed files with 34 additions and 2 deletions
+7 -2
View File
@@ -13,7 +13,10 @@ use Menking\Meshcore\Model\ErrorResponse;
use Menking\Meshcore\Model\LoginResponse; use Menking\Meshcore\Model\LoginResponse;
use Menking\Meshcore\Model\LogReceiveResponse; use Menking\Meshcore\Model\LogReceiveResponse;
use Menking\Meshcore\Model\BatteryStorageResponse; use Menking\Meshcore\Model\BatteryStorageResponse;
use Menking\Meshcore\Model\ContactsFullResponse;
use Menking\Meshcore\Model\MessageResponse; use Menking\Meshcore\Model\MessageResponse;
use Menking\Meshcore\Model\MessagesWaitingResponse;
use Menking\Meshcore\Model\NoMoreMessagesResponse;
class CoreParser { class CoreParser {
/** /**
@@ -47,7 +50,7 @@ class CoreParser {
case CoreProtocol::RESP_CODE_BATT_AND_STORAGE: case CoreProtocol::RESP_CODE_BATT_AND_STORAGE:
return self::parseBatteryAndStorage($payload); return self::parseBatteryAndStorage($payload);
case CoreProtocol::RESP_CODE_NO_MORE_MESSAGES: case CoreProtocol::RESP_CODE_NO_MORE_MESSAGES:
return (object)['code'=>CoreProtocol::RESP_CODE_NO_MORE_MESSAGES]; return new NoMoreMessagesResponse();
case CoreProtocol::RESP_CODE_ADVERT_PATH: case CoreProtocol::RESP_CODE_ADVERT_PATH:
return self::parseAdvertPathResponse($payload); return self::parseAdvertPathResponse($payload);
case CoreProtocol::RESP_CODE_STATS: case CoreProtocol::RESP_CODE_STATS:
@@ -57,7 +60,7 @@ class CoreParser {
case CoreProtocol::RESP_CODE_CHANNEL_INFO: case CoreProtocol::RESP_CODE_CHANNEL_INFO:
return self::parseChannelInfoResponse($payload); return self::parseChannelInfoResponse($payload);
case CoreProtocol::PUSH_CODE_MSG_WAITING: case CoreProtocol::PUSH_CODE_MSG_WAITING:
return ['code'=>CoreProtocol::PUSH_CODE_MSG_WAITING]; return new MessagesWaitingResponse();
case CoreProtocol::RESP_CODE_CONTACT_MSG_RECV_V3: case CoreProtocol::RESP_CODE_CONTACT_MSG_RECV_V3:
case CoreProtocol::RESP_CODE_CHANNEL_MSG_RECV_V3: case CoreProtocol::RESP_CODE_CHANNEL_MSG_RECV_V3:
case CoreProtocol::RESP_CODE_CHANNEL_MSG_RECV: case CoreProtocol::RESP_CODE_CHANNEL_MSG_RECV:
@@ -65,6 +68,8 @@ class CoreParser {
case CoreProtocol::PUSH_CODE_ADVERT: case CoreProtocol::PUSH_CODE_ADVERT:
case CoreProtocol::PUSH_CODE_NEW_ADVERT: case CoreProtocol::PUSH_CODE_NEW_ADVERT:
return self::parseAdvert($payload); return self::parseAdvert($payload);
case CoreProtocol::PUSH_CODE_CONTACTS_FULL:
return new ContactsFullResponse();
default: default:
echo "Unparsed response: " . \Menking\Meshcore\Util\Debug::hexDump($payload) . "\n"; echo "Unparsed response: " . \Menking\Meshcore\Util\Debug::hexDump($payload) . "\n";
return $payload; return $payload;
+9
View File
@@ -0,0 +1,9 @@
<?php
namespace Menking\Meshcore\Model;
use Menking\Meshcore\CoreProtocol;
class ContactsFullResponse extends Response {
public int $code = CoreProtocol::PUSH_CODE_CONTACTS_FULL;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
namespace Menking\Meshcore\Model;
use Menking\Meshcore\CoreProtocol;
class MessagesWaitingResponse extends Response {
public int $code = CoreProtocol::PUSH_CODE_MSG_WAITING;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
namespace Menking\Meshcore\Model;
use Menking\Meshcore\CoreProtocol;
class NoMoreMessagesResponse extends Response {
public int $code = CoreProtocol::RESP_CODE_NO_MORE_MESSAGES;
}