LEFT | RIGHT |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2014 Wireless Communications and Networking Group (WCNG), | 3 * Copyright (c) 2014 Wireless Communications and Networking Group (WCNG), |
4 * University of Rochester, Rochester, NY, USA. | 4 * University of Rochester, Rochester, NY, USA. |
5 * | 5 * |
6 * This program is free software; you can redistribute it and/or modify | 6 * This program is free software; you can redistribute it and/or modify |
7 * it under the terms of the GNU General Public License version 2 as | 7 * it under the terms of the GNU General Public License version 2 as |
8 * published by the Free Software Foundation; | 8 * published by the Free Software Foundation; |
9 * | 9 * |
10 * This program is distributed in the hope that it will be useful, | 10 * This program is distributed in the hope that it will be useful, |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 #include "energy-harvester-container.h" | 22 #include "energy-harvester-container.h" |
23 | 23 |
24 #include "ns3/names.h" | 24 #include "ns3/names.h" |
25 #include "ns3/log.h" | 25 #include "ns3/log.h" |
26 | 26 |
27 NS_LOG_COMPONENT_DEFINE ("EnergyHarvesterContainer"); | 27 NS_LOG_COMPONENT_DEFINE ("EnergyHarvesterContainer"); |
28 | 28 |
29 namespace ns3 { | 29 namespace ns3 { |
30 ···· | 30 ···· |
31 TypeId | 31 TypeId |
32 EnergyHarvesterContainer::GetTypeId (void) | 32 EnergyHarvesterContainer::GetTypeId (void) |
33 { | 33 { |
34 static TypeId tid = TypeId ("ns3::EnergyHarvesterContainer") | 34 static TypeId tid = TypeId ("ns3::EnergyHarvesterContainer") |
35 .SetParent<Object> () | 35 .SetParent<Object> () |
36 .AddConstructor<EnergyHarvesterContainer> () | 36 .AddConstructor<EnergyHarvesterContainer> () |
37 ; | 37 ; |
38 return tid; | 38 return tid; |
39 } | 39 } |
40 ···· | 40 |
41 EnergyHarvesterContainer::EnergyHarvesterContainer () | 41 EnergyHarvesterContainer::EnergyHarvesterContainer () |
42 { | 42 { |
43 NS_LOG_FUNCTION (this); | 43 NS_LOG_FUNCTION (this); |
44 } | 44 } |
45 ···· | 45 |
46 EnergyHarvesterContainer::~EnergyHarvesterContainer () | 46 EnergyHarvesterContainer::~EnergyHarvesterContainer () |
47 { | 47 { |
48 NS_LOG_FUNCTION (this); | 48 NS_LOG_FUNCTION (this); |
49 } | 49 } |
50 ···· | 50 |
51 EnergyHarvesterContainer::EnergyHarvesterContainer (Ptr<EnergyHarvester> har
vester) | 51 EnergyHarvesterContainer::EnergyHarvesterContainer (Ptr<EnergyHarvester> harvest
er) |
52 { | 52 { |
53 NS_LOG_FUNCTION (this << harvester); | 53 NS_LOG_FUNCTION (this << harvester); |
54 NS_ASSERT (harvester != NULL); | 54 NS_ASSERT (harvester != NULL); |
55 m_harvesters.push_back (harvester); | 55 m_harvesters.push_back (harvester); |
56 } | 56 } |
57 ···· | 57 |
58 EnergyHarvesterContainer::EnergyHarvesterContainer (std::string harvesterNam
e) | 58 EnergyHarvesterContainer::EnergyHarvesterContainer (std::string harvesterName) |
59 { | 59 { |
60 NS_LOG_FUNCTION (this << harvesterName); | 60 NS_LOG_FUNCTION (this << harvesterName); |
61 Ptr<EnergyHarvester> harvester = Names::Find<EnergyHarvester> (harvester
Name); | 61 Ptr<EnergyHarvester> harvester = Names::Find<EnergyHarvester> (harvesterName); |
62 NS_ASSERT (harvester != NULL); | 62 NS_ASSERT (harvester != NULL); |
63 m_harvesters.push_back (harvester); | 63 m_harvesters.push_back (harvester); |
64 } | 64 } |
65 ···· | 65 |
66 EnergyHarvesterContainer::EnergyHarvesterContainer (const EnergyHarvesterCon
tainer &a, | 66 EnergyHarvesterContainer::EnergyHarvesterContainer (const EnergyHarvesterContain
er &a, |
67 const EnergyHarvesterCon
tainer &b) | 67 const EnergyHarvesterContain
er &b) |
68 { | 68 { |
69 NS_LOG_FUNCTION (this << &a << &b); | 69 NS_LOG_FUNCTION (this << &a << &b); |
70 *this = a; | 70 *this = a; |
71 Add (b); | 71 Add (b); |
72 } | 72 } |
73 ···· | 73 |
74 EnergyHarvesterContainer::Iterator | 74 EnergyHarvesterContainer::Iterator |
75 EnergyHarvesterContainer::Begin (void) const | 75 EnergyHarvesterContainer::Begin (void) const |
76 { | 76 { |
77 NS_LOG_FUNCTION (this); | 77 NS_LOG_FUNCTION (this); |
78 return m_harvesters.begin (); | 78 return m_harvesters.begin (); |
79 } | 79 } |
80 ···· | 80 |
81 EnergyHarvesterContainer::Iterator | 81 EnergyHarvesterContainer::Iterator |
82 EnergyHarvesterContainer::End (void) const | 82 EnergyHarvesterContainer::End (void) const |
83 { | 83 { |
84 NS_LOG_FUNCTION (this); | 84 NS_LOG_FUNCTION (this); |
85 return m_harvesters.end (); | 85 return m_harvesters.end (); |
86 } | 86 } |
87 ···· | 87 |
88 uint32_t | 88 uint32_t |
89 EnergyHarvesterContainer::GetN (void) const | 89 EnergyHarvesterContainer::GetN (void) const |
90 { | 90 { |
91 NS_LOG_FUNCTION (this); | 91 NS_LOG_FUNCTION (this); |
92 return m_harvesters.size (); | 92 return m_harvesters.size (); |
93 } | 93 } |
94 ···· | 94 |
95 Ptr<EnergyHarvester> | 95 Ptr<EnergyHarvester> |
96 EnergyHarvesterContainer::Get (uint32_t i) const | 96 EnergyHarvesterContainer::Get (uint32_t i) const |
97 { | 97 { |
98 NS_LOG_FUNCTION (this << i); | 98 NS_LOG_FUNCTION (this << i); |
99 return m_harvesters[i]; | 99 return m_harvesters[i]; |
100 } | 100 } |
101 ···· | 101 |
102 void | 102 void |
103 EnergyHarvesterContainer::Add (EnergyHarvesterContainer container) | 103 EnergyHarvesterContainer::Add (EnergyHarvesterContainer container) |
104 { | 104 { |
105 NS_LOG_FUNCTION (this << &container); | 105 NS_LOG_FUNCTION (this << &container); |
106 for (Iterator i = container.Begin (); i != container.End (); i++) | 106 for (Iterator i = container.Begin (); i != container.End (); i++) |
107 { | 107 { |
108 m_harvesters.push_back (*i); | 108 m_harvesters.push_back (*i); |
109 } | 109 } |
110 } | 110 } |
111 ···· | 111 |
112 void | 112 void |
113 EnergyHarvesterContainer::Add (Ptr<EnergyHarvester> harvester) | 113 EnergyHarvesterContainer::Add (Ptr<EnergyHarvester> harvester) |
114 { | 114 { |
115 NS_LOG_FUNCTION (this << harvester); | 115 NS_LOG_FUNCTION (this << harvester); |
116 NS_ASSERT (harvester != NULL); | 116 NS_ASSERT (harvester != NULL); |
117 m_harvesters.push_back (harvester); | 117 m_harvesters.push_back (harvester); |
118 } | 118 } |
119 ···· | 119 |
120 void | 120 void |
121 EnergyHarvesterContainer::Add (std::string harvesterName) | 121 EnergyHarvesterContainer::Add (std::string harvesterName) |
122 { | 122 { |
123 NS_LOG_FUNCTION (this << harvesterName); | 123 NS_LOG_FUNCTION (this << harvesterName); |
124 Ptr<EnergyHarvester> harvester = Names::Find<EnergyHarvester> (harvester
Name); | 124 Ptr<EnergyHarvester> harvester = Names::Find<EnergyHarvester> (harvesterName); |
125 NS_ASSERT (harvester != NULL); | 125 NS_ASSERT (harvester != NULL); |
126 m_harvesters.push_back (harvester); | 126 m_harvesters.push_back (harvester); |
127 } | 127 } |
128 ···· | 128 |
129 void | 129 void |
130 EnergyHarvesterContainer::Clear (void) | 130 EnergyHarvesterContainer::Clear (void) |
131 { | 131 { |
132 NS_LOG_FUNCTION (this); | 132 NS_LOG_FUNCTION (this); |
133 m_harvesters.clear (); | 133 m_harvesters.clear (); |
134 } | 134 } |
135 ···· | 135 |
136 ···· | 136 |
137 /* | 137 /* |
138 * Private functions start here. | 138 * Private functions start here. |
139 */ | 139 */ |
140 ···· | 140 |
141 void | 141 void |
142 EnergyHarvesterContainer::DoDispose (void) | 142 EnergyHarvesterContainer::DoDispose (void) |
143 { | 143 { |
144 // call Object::Dispose for all EnergyHarvester objects | 144 // call Object::Dispose for all EnergyHarvester objects |
145 for (std::vector< Ptr<EnergyHarvester> >::iterator i = m_harvesters.begi
n (); | 145 for (std::vector< Ptr<EnergyHarvester> >::iterator i = m_harvesters.begin (); |
146 i != m_harvesters.end (); i++) | 146 i != m_harvesters.end (); i++) |
147 { | 147 { |
148 (*i)->Dispose (); | 148 (*i)->Dispose (); |
149 } | 149 } |
150 m_harvesters.clear (); | 150 m_harvesters.clear (); |
151 } | 151 } |
152 ···· | 152 |
153 void | 153 void |
154 EnergyHarvesterContainer::DoInitialize (void) | 154 EnergyHarvesterContainer::DoInitialize (void) |
155 { | 155 { |
156 // call Object::Initialize for all EnergyHarvester objects | 156 // call Object::Initialize for all EnergyHarvester objects |
157 for (std::vector< Ptr<EnergyHarvester> >::iterator i = m_harvesters.begi
n (); | 157 for (std::vector< Ptr<EnergyHarvester> >::iterator i = m_harvesters.begin (); |
158 i != m_harvesters.end (); i++) | 158 i != m_harvesters.end (); i++) |
159 { | 159 { |
160 (*i)->Initialize (); | 160 (*i)->Initialize (); |
161 } | 161 } |
162 } | 162 } |
163 ···· | 163 |
164 ···· | |
165 } // namespace ns3 | 164 } // namespace ns3 |
LEFT | RIGHT |