A Discrete-Event Network Simulator
API
model-typeid-creator.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License version 2 as
5  * published by the Free Software Foundation;
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15  *
16  * Author: Moatamri Faker <faker.moatamri@sophia.inria.fr>
17  */
18 
20 #include "ns3/type-id.h"
21 #include <gtk/gtk.h>
22 #include <vector>
23 
24 namespace ns3 {
25 
26 enum
27 {
29 };
30 
36 {
41  enum
42  {
43  // store TypeId + attribute name +defaultValue and index
45  // store TypeId
47  } type;
48  std::string name;
51  std::string defaultValue;
55  uint32_t index;
56 };
57 
63 {
64 public:
72  void Build (GtkTreeStore *treestore);
73 private:
81  virtual void VisitAttribute (TypeId tid, std::string name, std::string defaultValue, uint32_t index);
86  virtual void StartVisitTypeId (std::string name);
90  virtual void EndVisitTypeId (void);
95  void Add (ModelTypeid *node);
99  void Remove (void);
101  GtkTreeStore *m_treestore;
103  std::vector<GtkTreeIter *> m_iters;
104 };
105 }
std::vector< GtkTreeIter * > m_iters
This contains a vector of iterators used to build the TreeStore.
GtkTreeStore * m_treestore
this is the TreeStore model corresponding to the view
virtual void VisitAttribute(TypeId tid, std::string name, std::string defaultValue, uint32_t index)
This method will add a ModelTypeid to the GtkTreeIterator.
enum ns3::ModelTypeid::@3 type
node type
void Build(GtkTreeStore *treestore)
This method will iterate on typeIds having default attributes and create a model for them...
std::string defaultValue
TypeId default value.
std::string name
TypeId name.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ModelTypeIdCreator class.
TypeId tid
The TypeId object and if it is an attribute, it&#39;s the TypeId object of the attribute.
virtual void EndVisitTypeId(void)
Remove the last gtk tree iterator.
virtual void StartVisitTypeId(std::string name)
Add a node for the new TypeId object.
void Add(ModelTypeid *node)
Adds a treestore iterator to m_treestore model.
void Remove(void)
Removes the last GtkTreeIterator from m_iters.
uint32_t index
stores the index of the attribute in list of attributes for a given TypeId
Iterator to iterate on the default values of attributes of an ns3::Object.
A class used in the implementation of the GtkConfigStore.
a unique identifier for an interface.
Definition: type-id.h:58