22 #include <ns3/uinteger.h> 
   23 #include <ns3/boolean.h> 
   24 #include <ns3/simulator.h> 
   26 #include <ns3/abort.h> 
   27 #include <ns3/lte-enb-phy.h> 
   28 #include <ns3/pointer.h> 
   40     TypeId (
"ns3::ComponentCarrier")
 
   42     .AddConstructor<ComponentCarrier> ()
 
   43     .AddAttribute (
"UlBandwidth",
 
   44                    "Uplink Transmission Bandwidth Configuration in number of Resource Blocks",
 
   48                    MakeUintegerChecker<uint8_t> ())
 
   49     .AddAttribute (
"DlBandwidth",
 
   50                    "Downlink Transmission Bandwidth Configuration in number of Resource Blocks",
 
   54                    MakeUintegerChecker<uint8_t> ())
 
   55     .AddAttribute (
"DlEarfcn",
 
   56                    "Downlink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) " 
   57                    "as per 3GPP 36.101 Section 5.7.3. ",
 
   60                    MakeUintegerChecker<uint32_t> (0, 262143))
 
   61     .AddAttribute (
"UlEarfcn",
 
   62                    "Uplink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) " 
   63                    "as per 3GPP 36.101 Section 5.7.3. ",
 
   66                    MakeUintegerChecker<uint32_t> (18000, 262143))
 
   67     .AddAttribute (
"CsgId",
 
   68                    "The Closed Subscriber Group (CSG) identity that this eNodeB belongs to",
 
   72                    MakeUintegerChecker<uint32_t> ())
 
   73     .AddAttribute (
"CsgIndication",
 
   74                    "If true, only UEs which are members of the CSG (i.e. same CSG ID) " 
   75                    "can gain access to the eNodeB, therefore enforcing closed access mode. " 
   76                    "Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.",
 
   81     .AddAttribute (
"PrimaryCarrier",
 
   82                    "If true, this Carrier Component will be the Primary Carrier Component (PCC) " 
   83                    "Only one PCC per eNodeB is (currently) allowed",
 
   92   : m_isConstructed (false)
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
AttributeValue implementation for Boolean. 
 
void SetAsPrimary(bool primaryCarrier)
Set as primary carrier. 
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
uint8_t GetDlBandwidth() const 
 
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
bool GetCsgIndication() const 
Returns the CSG indication flag of the eNodeB. 
 
uint32_t GetUlEarfcn() const 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
bool m_primaryCarrier
whether the carrier is primary 
 
void SetCsgId(uint32_t csgId)
Associate the eNodeB device with a particular CSG. 
 
void SetCsgIndication(bool csgIndication)
Enable or disable the CSG indication flag. 
 
bool m_isConstructed
whether the instance is constructed 
 
Hold an unsigned integer type. 
 
uint32_t GetCsgId() const 
Returns the CSG ID of the eNodeB. 
 
uint32_t GetDlEarfcn() const 
 
virtual ~ComponentCarrier(void)
 
uint8_t GetUlBandwidth() const 
 
void SetDlEarfcn(uint32_t earfcn)
 
virtual void DoDispose(void)
Destructor implementation. 
 
uint32_t m_dlEarfcn
downlink carrier frequency 
 
void SetUlEarfcn(uint32_t earfcn)
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
Ptr< const AttributeChecker > MakeBooleanChecker(void)
 
uint8_t m_dlBandwidth
downlink bandwidth in RBs 
 
void SetDlBandwidth(uint8_t bw)
 
void SetUlBandwidth(uint8_t bw)
 
static TypeId GetTypeId(void)
Get the type ID. 
 
virtual void DoInitialize(void)
Initialize() implementation. 
 
bool m_csgIndication
CSG indication. 
 
A base class which provides memory management and object aggregation. 
 
uint8_t m_ulBandwidth
uplink bandwidth in RBs 
 
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
a unique identifier for an interface. 
 
uint32_t m_ulEarfcn
uplink carrier frequency 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
bool IsPrimary() const 
Checks if the carrier is the primary carrier.