A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
data-collection-object.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Bucknell University
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Authors: Tiago G. Rodrigues (tgr002@bucknell.edu)
18
*/
19
20
#include "
data-collection-object.h
"
21
22
#include "ns3/boolean.h"
23
#include "ns3/log.h"
24
#include "ns3/string.h"
25
26
namespace
ns3
27
{
28
29
NS_LOG_COMPONENT_DEFINE
(
"DataCollectionObject"
);
30
31
NS_OBJECT_ENSURE_REGISTERED
(DataCollectionObject);
32
33
TypeId
34
DataCollectionObject::GetTypeId
()
35
{
36
static
TypeId
tid =
TypeId
(
"ns3::DataCollectionObject"
)
37
.
SetParent
<
Object
>()
38
.SetGroupName(
"Stats"
)
39
.AddConstructor<
DataCollectionObject
>()
40
.AddAttribute(
"Name"
,
41
"Object's name"
,
42
StringValue
(
"unnamed"
),
43
MakeStringAccessor
(&
DataCollectionObject::GetName
,
44
&
DataCollectionObject::SetName
),
45
MakeStringChecker
())
46
.AddAttribute(
"Enabled"
,
47
"Object's enabled status"
,
48
BooleanValue
(
true
),
49
MakeBooleanAccessor
(&
DataCollectionObject::m_enabled
),
50
MakeBooleanChecker
());
51
return
tid;
52
}
53
54
DataCollectionObject::DataCollectionObject
()
55
{
56
}
57
58
DataCollectionObject::~DataCollectionObject
()
59
{
60
NS_LOG_FUNCTION
(
this
);
61
}
62
63
bool
64
DataCollectionObject::IsEnabled
()
const
65
{
66
return
m_enabled
;
67
}
68
69
std::string
70
DataCollectionObject::GetName
()
const
71
{
72
return
m_name
;
73
}
74
75
void
76
DataCollectionObject::SetName
(std::string name)
77
{
78
NS_LOG_FUNCTION
(
this
<< name);
79
for
(
size_t
pos = name.find(
' '
); pos != std::string::npos; pos = name.find(
" "
, pos + 1, 1))
80
{
81
name[pos] =
'_'
;
82
}
83
84
m_name
= name;
85
}
86
87
void
88
DataCollectionObject::Enable
()
89
{
90
NS_LOG_FUNCTION
(
this
);
91
m_enabled
=
true
;
92
}
93
94
void
95
DataCollectionObject::Disable
()
96
{
97
NS_LOG_FUNCTION
(
this
);
98
m_enabled
=
false
;
99
}
100
101
}
// namespace ns3
ns3::BooleanValue
AttributeValue implementation for Boolean.
Definition:
boolean.h:37
ns3::DataCollectionObject
Base class for data collection framework objects.
Definition:
data-collection-object.h:39
ns3::DataCollectionObject::m_name
std::string m_name
Name of the object within the data collection framework.
Definition:
data-collection-object.h:78
ns3::DataCollectionObject::DataCollectionObject
DataCollectionObject()
Definition:
data-collection-object.cc:54
ns3::DataCollectionObject::IsEnabled
virtual bool IsEnabled() const
Check the status of an individual object.
Definition:
data-collection-object.cc:64
ns3::DataCollectionObject::GetName
std::string GetName() const
Get the object's name.
Definition:
data-collection-object.cc:70
ns3::DataCollectionObject::m_enabled
bool m_enabled
Object's activation state.
Definition:
data-collection-object.h:75
ns3::DataCollectionObject::Disable
void Disable()
Unset the status of an individual object.
Definition:
data-collection-object.cc:95
ns3::DataCollectionObject::SetName
void SetName(std::string name)
Set the object's name.
Definition:
data-collection-object.cc:76
ns3::DataCollectionObject::Enable
void Enable()
Set the status of an individual object.
Definition:
data-collection-object.cc:88
ns3::DataCollectionObject::~DataCollectionObject
~DataCollectionObject() override
Definition:
data-collection-object.cc:58
ns3::DataCollectionObject::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
data-collection-object.cc:34
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:89
ns3::StringValue
Hold variables of type string.
Definition:
string.h:56
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition:
type-id.cc:936
data-collection-object.h
ns3::MakeBooleanAccessor
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Definition:
boolean.h:86
ns3::MakeBooleanChecker
Ptr< const AttributeChecker > MakeBooleanChecker()
Definition:
boolean.cc:124
ns3::MakeStringChecker
Ptr< const AttributeChecker > MakeStringChecker()
Definition:
string.cc:30
ns3::MakeStringAccessor
Ptr< const AttributeAccessor > MakeStringAccessor(T1 a1)
Definition:
string.h:57
NS_LOG_COMPONENT_DEFINE
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition:
log.h:202
NS_LOG_FUNCTION
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Definition:
log-macros-enabled.h:238
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition:
object-base.h:46
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
stats
model
data-collection-object.cc
Generated on Sun Jul 2 2023 18:22:04 for ns-3 by
1.9.6