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 RPCCALLBACKREQUEST_H 9#define RPCCALLBACKREQUEST_H 10 11 12#include "RPCDefs.h" 13#include "XDR.h" 14 15 16namespace RPC { 17 18class CallbackRequest { 19public: 20 CallbackRequest(void* buffer, int size); 21 ~CallbackRequest(); 22 23 inline uint32 XID(); 24 inline uint32 ID(); 25 26 inline uint32 Procedure(); 27 28 inline status_t Error(); 29 inline AcceptStat RPCError(); 30 31 inline XDR::ReadStream& Stream(); 32 33private: 34 uint32 fXID; 35 uint32 fID; 36 37 uint32 fProcedure; 38 39 status_t fError; 40 AcceptStat fRPCError; 41 42 XDR::ReadStream fStream; 43 void* fBuffer; 44}; 45 46 47inline uint32 48CallbackRequest::XID() 49{ 50 return fXID; 51} 52 53 54inline uint32 55CallbackRequest::ID() 56{ 57 return fID; 58} 59 60 61inline uint32 62CallbackRequest::Procedure() 63{ 64 return fProcedure; 65} 66 67 68inline status_t 69CallbackRequest::Error() 70{ 71 return fError; 72} 73 74 75inline AcceptStat 76CallbackRequest::RPCError() 77{ 78 return fRPCError; 79} 80 81 82inline XDR::ReadStream& 83CallbackRequest::Stream() 84{ 85 return fStream; 86} 87 88 89} // namespace RPC 90 91 92#endif // RPCCALLBACKREQUEST_H 93 94