]>
Commit | Line | Data |
---|---|---|
8822ebee | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 The Squid Software Foundation and contributors |
8822ebee | 3 | * |
bbc27441 AJ |
4 | * Squid software is distributed under GPLv2+ license and includes |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
8822ebee AR |
7 | */ |
8 | ||
bbc27441 AJ |
9 | /* DEBUG: section 16 Cache Manager API */ |
10 | ||
8822ebee AR |
11 | #ifndef SQUID_MGR_RESPONSE_H |
12 | #define SQUID_MGR_RESPONSE_H | |
13 | ||
51ea0904 CT |
14 | #include "ipc/forward.h" |
15 | #include "ipc/Response.h" | |
8822ebee AR |
16 | #include "mgr/Action.h" |
17 | ||
8822ebee AR |
18 | namespace Mgr |
19 | { | |
20 | ||
21 | /// A response to Mgr::Request. | |
22 | /// May carry strand action data to be aggregated with data from other strands. | |
51ea0904 | 23 | class Response: public Ipc::Response |
8822ebee AR |
24 | { |
25 | public: | |
51ea0904 | 26 | Response(unsigned int aRequestId, Action::Pointer anAction = NULL); |
8822ebee AR |
27 | |
28 | explicit Response(const Ipc::TypedMsgHdr& msg); ///< from recvmsg() | |
51ea0904 CT |
29 | |
30 | /* Ipc::Response API */ | |
31 | virtual void pack(Ipc::TypedMsgHdr& msg) const; | |
32 | virtual Ipc::Response::Pointer clone() const; | |
33 | ||
8822ebee AR |
34 | bool hasAction() const; ///< whether response contain action object |
35 | const Action& getAction() const; ///< returns action object | |
36 | ||
51ea0904 CT |
37 | private: |
38 | Response(const Response& response); | |
39 | ||
8822ebee | 40 | public: |
8822ebee AR |
41 | Action::Pointer action; ///< action relating to response |
42 | }; | |
43 | ||
8822ebee AR |
44 | } // namespace Mgr |
45 | ||
46 | #endif /* SQUID_MGR_RESPONSE_H */ |