diff --git a/headers/private/app/LinkMsgReader.h b/headers/private/app/LinkMsgReader.h index 2dd84bd3b0..380dcdf9a7 100644 --- a/headers/private/app/LinkMsgReader.h +++ b/headers/private/app/LinkMsgReader.h @@ -24,6 +24,7 @@ class LinkReceiver { status_t GetNextMessage(int32 &code, bigtime_t timeout = B_INFINITE_TIMEOUT); bool NeedsReply() const; + int32 Code() const; virtual status_t Read(void *data, ssize_t size); status_t ReadString(char **string); diff --git a/src/kits/app/LinkReceiver.cpp b/src/kits/app/LinkReceiver.cpp index 80dd34774e..e3bf8ad352 100644 --- a/src/kits/app/LinkReceiver.cpp +++ b/src/kits/app/LinkReceiver.cpp @@ -114,6 +114,17 @@ LinkReceiver::NeedsReply() const } +int32 +LinkReceiver::Code() const +{ + if (fReplySize == 0) + return B_ERROR; + + message_header *header = (message_header *)(fRecvBuffer + fRecvStart); + return header->code; +} + + void LinkReceiver::ResetBuffer() {