#include "Compatibility.h"
#include "RequestHandler.h"
RequestHandler::RequestHandler()
: RequestVisitor(),
fChannels()
{
}
RequestHandler::~RequestHandler()
{
}
status_t
RequestHandler::HandleRequest(Request* request, RequestChannel* channel)
{
if (!request)
return B_BAD_VALUE;
status_t error = fChannels.Set(channel);
if (error != B_OK)
return error;
ThreadLocalUnsetter _(fChannels);
return request->Accept(this);
}
status_t
RequestHandler::VisitAny(Request* request)
{
return B_BAD_DATA;
}
RequestChannel*
RequestHandler::GetChannel() const
{
return (RequestChannel*)fChannels.Get();
}