]> git.ipfire.org Git - thirdparty/squid.git/blob - src/snmp/Response.cc
Enable source-formatting tools to collapse multiple whitelines in the source to one.
[thirdparty/squid.git] / src / snmp / Response.cc
1 /*
2 * $Id$
3 *
4 * DEBUG: section 49 SNMP Interface
5 *
6 */
7
8 #include "squid.h"
9 #include "base/TextException.h"
10 #include "ipc/Messages.h"
11 #include "ipc/TypedMsgHdr.h"
12 #include "snmp/Response.h"
13
14
15 std::ostream& Snmp::operator << (std::ostream& os, const Response& response)
16 {
17 os << "response: {requestId: " << response.requestId << '}';
18 return os;
19 }
20
21 Snmp::Response::Response(unsigned int aRequestId):
22 Ipc::Response(aRequestId), pdu()
23 {
24 }
25
26 Snmp::Response::Response(const Response& response):
27 Ipc::Response(response.requestId), pdu(response.pdu)
28 {
29 }
30
31 Snmp::Response::Response(const Ipc::TypedMsgHdr& msg):
32 Ipc::Response(0)
33 {
34 msg.checkType(Ipc::mtSnmpResponse);
35 msg.getPod(requestId);
36 pdu.unpack(msg);
37 }
38
39 void
40 Snmp::Response::pack(Ipc::TypedMsgHdr& msg) const
41 {
42 msg.setType(Ipc::mtSnmpResponse);
43 msg.putPod(requestId);
44 pdu.pack(msg);
45 }
46
47 Ipc::Response::Pointer
48 Snmp::Response::clone() const
49 {
50 return new Response(*this);
51 }