blob: f56aaef96ff8f70518b49c2b27c1500f1d88b27c [file] [log] [blame]
Ben Chan0364fb62013-04-12 13:04:24 -07001// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "shill/connection_info.h"
6
7#include <netinet/in.h>
8
9namespace shill {
10
11ConnectionInfo::ConnectionInfo()
12 : protocol_(IPPROTO_MAX),
13 time_to_expire_seconds_(0),
14 is_unreplied_(false),
15 original_source_ip_address_(IPAddress::kFamilyUnknown),
16 original_source_port_(0),
17 original_destination_ip_address_(IPAddress::kFamilyUnknown),
18 original_destination_port_(0),
19 reply_source_ip_address_(IPAddress::kFamilyUnknown),
20 reply_source_port_(0),
21 reply_destination_ip_address_(IPAddress::kFamilyUnknown),
22 reply_destination_port_(0) {
23}
24
25ConnectionInfo::ConnectionInfo(int protocol,
Ben Chan7fab8972014-08-10 17:14:46 -070026 int64_t time_to_expire_seconds,
Ben Chan0364fb62013-04-12 13:04:24 -070027 bool is_unreplied,
28 IPAddress original_source_ip_address,
Ben Chan7fab8972014-08-10 17:14:46 -070029 uint16_t original_source_port,
Ben Chan0364fb62013-04-12 13:04:24 -070030 IPAddress original_destination_ip_address,
Ben Chan7fab8972014-08-10 17:14:46 -070031 uint16_t original_destination_port,
Ben Chan0364fb62013-04-12 13:04:24 -070032 IPAddress reply_source_ip_address,
Ben Chan7fab8972014-08-10 17:14:46 -070033 uint16_t reply_source_port,
Ben Chan0364fb62013-04-12 13:04:24 -070034 IPAddress reply_destination_ip_address,
Ben Chan7fab8972014-08-10 17:14:46 -070035 uint16_t reply_destination_port)
Ben Chan0364fb62013-04-12 13:04:24 -070036 : protocol_(protocol),
37 time_to_expire_seconds_(time_to_expire_seconds),
38 is_unreplied_(is_unreplied),
39 original_source_ip_address_(original_source_ip_address),
40 original_source_port_(original_source_port),
41 original_destination_ip_address_(original_destination_ip_address),
42 original_destination_port_(original_destination_port),
43 reply_source_ip_address_(reply_source_ip_address),
44 reply_source_port_(reply_source_port),
45 reply_destination_ip_address_(reply_destination_ip_address),
46 reply_destination_port_(reply_destination_port) {
47}
48
Paul Stewarta794cd62015-06-16 13:13:10 -070049ConnectionInfo::ConnectionInfo(const ConnectionInfo& info)
Ben Chan0364fb62013-04-12 13:04:24 -070050 : protocol_(info.protocol_),
51 time_to_expire_seconds_(info.time_to_expire_seconds_),
52 is_unreplied_(info.is_unreplied_),
53 original_source_ip_address_(info.original_source_ip_address_),
54 original_source_port_(info.original_source_port_),
55 original_destination_ip_address_(
56 info.original_destination_ip_address_),
57 original_destination_port_(info.original_destination_port_),
58 reply_source_ip_address_(info.reply_source_ip_address_),
59 reply_source_port_(info.reply_source_port_),
60 reply_destination_ip_address_(
61 info.reply_destination_ip_address_),
62 reply_destination_port_(info.reply_destination_port_) {
63}
64
65ConnectionInfo::~ConnectionInfo() {}
66
Paul Stewarta794cd62015-06-16 13:13:10 -070067ConnectionInfo& ConnectionInfo::operator=(const ConnectionInfo& info) {
Ben Chan0364fb62013-04-12 13:04:24 -070068 protocol_ = info.protocol_;
69 time_to_expire_seconds_ = info.time_to_expire_seconds_;
70 is_unreplied_ = info.is_unreplied_;
71 original_source_ip_address_ = info.original_source_ip_address_;
72 original_source_port_ = info.original_source_port_;
73 original_destination_ip_address_ =
74 info.original_destination_ip_address_;
75 original_destination_port_ = info.original_destination_port_;
76 reply_source_ip_address_ = info.reply_source_ip_address_;
77 reply_source_port_ = info.reply_source_port_;
78 reply_destination_ip_address_ = info.reply_destination_ip_address_;
79 reply_destination_port_ = info.reply_destination_port_;
80
81 return *this;
82}
83
84} // namespace shill