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 RPCCALLBACK_H 9#define RPCCALLBACK_H 10 11 12#include "Connection.h" 13 14 15namespace RPC { 16 17class CallbackServer; 18class CallbackRequest; 19class Server; 20 21class Callback { 22public: 23 Callback(Server* server); 24 25 inline void SetID(int32 id); 26 inline int32 ID(); 27 28 inline void SetCBServer(CallbackServer* server); 29 inline CallbackServer* CBServer(); 30 31 status_t EnqueueRequest(CallbackRequest* request, 32 Connection* connection); 33 34private: 35 CallbackServer* fCBServer; 36 Server* fServer; 37 int32 fID; 38}; 39 40 41inline void 42Callback::SetID(int32 id) 43{ 44 fID = id; 45} 46 47 48inline int32 49Callback::ID() 50{ 51 return fID; 52} 53 54 55inline void 56Callback::SetCBServer(CallbackServer* server) 57{ 58 fCBServer = server; 59} 60 61 62inline CallbackServer* 63Callback::CBServer() 64{ 65 return fCBServer; 66} 67 68 69} // namespace RPC 70 71 72#endif // RPCCALLBACK_H 73 74