1/* 2 * Copyright 2012 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Paweł Dziepak, pdziepak@quarnos.org 7 */ 8#ifndef REPLYBUILDER_H 9#define REPLYBUILDER_H 10 11 12#include <SupportDefs.h> 13 14#include "RPCCallbackReply.h" 15#include "XDR.h" 16 17 18class ReplyBuilder { 19public: 20 ReplyBuilder(uint32 xid); 21 ~ReplyBuilder(); 22 23 RPC::CallbackReply* Reply(); 24 25 status_t GetAttr(status_t status, int mask, 26 uint64 size, uint64 change); 27 status_t Recall(status_t status); 28 29private: 30 void _InitHeader(); 31 32 static uint32 _HaikuErrorToNFS4(status_t error); 33 34 status_t fStatus; 35 XDR::Stream::Position fStatusPosition; 36 37 uint32 fOpCount; 38 XDR::Stream::Position fOpCountPosition; 39 40 RPC::CallbackReply* fReply; 41}; 42 43 44#endif // REPLYBUILDER_H 45 46