1// SingleReplyRequestHandler.cpp
2
3#include "Compatibility.h"
4#include "Debug.h"
5#include "Request.h"
6#include "SingleReplyRequestHandler.h"
7
8// constructor
9SingleReplyRequestHandler::SingleReplyRequestHandler()
10	: RequestHandler(),
11	  fAcceptAnyRequest(true),
12	  fExpectedReply(0)
13{
14}
15
16// constructor
17SingleReplyRequestHandler::SingleReplyRequestHandler(uint32 expectedReply)
18	: RequestHandler(),
19	  fAcceptAnyRequest(false),
20	  fExpectedReply(expectedReply)
21{
22}
23
24// HandleRequest
25status_t
26SingleReplyRequestHandler::HandleRequest(Request* request)
27{
28	if (!fAcceptAnyRequest && request->GetType() != fExpectedReply) {
29PRINT(("SingleReplyRequestHandler::HandleRequest(): unexpected request: %lu "
30"expected was: %lu\n", request->GetType(), fExpectedReply));
31#if USER
32debugger("SingleReplyRequestHandler::HandleRequest(): unexpected request!");
33#endif
34		return B_BAD_DATA;
35	}
36	fDone = true;
37	return B_OK;
38}
39
40