A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
component-carrier-ue.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015 Danilo Abrignani
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Danilo Abrignani <danilo.abrignani@unibo.it>
7 */
8
9#ifndef COMPONENT_CARRIER_UE_H
10#define COMPONENT_CARRIER_UE_H
11
12#include "component-carrier.h"
13#include "lte-phy.h"
14#include "lte-ue-phy.h"
15
16#include <ns3/nstime.h>
17#include <ns3/object.h>
18#include <ns3/packet.h>
19
20namespace ns3
21{
22
23class LteUeMac;
24
25/**
26 * \ingroup lte
27 *
28 * ComponentCarrierUe Object, it defines a single Carrier for the Ue
29 */
31{
32 public:
33 /**
34 * \brief Get the type ID.
35 * \return the object TypeId
36 */
37 static TypeId GetTypeId();
38
40
41 ~ComponentCarrierUe() override;
42 void DoDispose() override;
43
44 /**
45 * \return a pointer to the physical layer.
46 */
47 Ptr<LteUePhy> GetPhy() const;
48
49 /**
50 * \return a pointer to the MAC layer.
51 */
52 Ptr<LteUeMac> GetMac() const;
53
54 /**
55 * Set LteUePhy
56 * \param s a pointer to the LteUePhy
57 */
58 void SetPhy(Ptr<LteUePhy> s);
59
60 /**
61 * Set the LteEnbMac
62 * \param s a pointer to the LteEnbMac
63 */
64 void SetMac(Ptr<LteUeMac> s);
65
66 protected:
67 // inherited from Object
68 void DoInitialize() override;
69
70 private:
71 Ptr<LteUePhy> m_phy; ///< the Phy instance of this eNodeB component carrier
72 Ptr<LteUeMac> m_mac; ///< the MAC instance of this eNodeB component carrier
73};
74
75} // namespace ns3
76
77#endif /* COMPONENT_CARRIER_UE_H */
ComponentCarrier Object, it defines a single Carrier This is the parent class for both ComponentCarri...
ComponentCarrierUe Object, it defines a single Carrier for the Ue.
void DoInitialize() override
Initialize() implementation.
void DoDispose() override
Destructor implementation.
Ptr< LteUePhy > m_phy
the Phy instance of this eNodeB component carrier
static TypeId GetTypeId()
Get the type ID.
Ptr< LteUeMac > GetMac() const
Ptr< LteUeMac > m_mac
the MAC instance of this eNodeB component carrier
void SetPhy(Ptr< LteUePhy > s)
Set LteUePhy.
void SetMac(Ptr< LteUeMac > s)
Set the LteEnbMac.
Ptr< LteUePhy > GetPhy() const
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.