A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
application-container.h
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2008 INRIA
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  */
20 
21 #ifndef APPLICATION_CONTAINER_H
22 #define APPLICATION_CONTAINER_H
23 
24 #include <stdint.h>
25 #include <vector>
26 #include "ns3/application.h"
27 
28 namespace ns3 {
29 
42 {
43 public:
48 
57 
65  ApplicationContainer (std::string name);
66 
67  typedef std::vector<Ptr<Application> >::const_iterator Iterator;
68 
88  Iterator Begin (void) const;
89 
109  Iterator End (void) const;
110 
131  uint32_t GetN (void) const;
132 
154  Ptr<Application> Get (uint32_t i) const;
155 
162  void Add (ApplicationContainer other);
163 
169  void Add (Ptr<Application> application);
170 
177  void Add (std::string name);
178 
193  void Start (Time start);
194 
209  void Stop (Time stop);
210 
211 private:
212  std::vector<Ptr<Application> > m_applications;
213 };
214 
215 } // namespace ns3
216 
217 #endif /* APPLICATION_CONTAINER_H */
Iterator End(void) const
Get an iterator which indicates past-the-last Application in the container.
holds a vector of ns3::Application pointers.
keep track of time unit.
Definition: nstime.h:149
smart pointer class similar to boost::intrusive_ptr
Definition: ptr.h:59
void Add(ApplicationContainer other)
Append the contents of another ApplicationContainer to the end of this container. ...
uint32_t GetN(void) const
Get the number of Ptr<Application> stored in this container.
Iterator Begin(void) const
Get an iterator which refers to the first Application in the container.
void Start(Time start)
Arrange for all of the Applications in this container to Start() at the Time given as a parameter...
Ptr< Application > Get(uint32_t i) const
Get the Ptr<Application> stored in this container at a given index.
void Stop(Time stop)
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter...