|
12 | 12 | #ifndef _LTE_LTECONTROLINFO_H_ |
13 | 13 | #define _LTE_LTECONTROLINFO_H_ |
14 | 14 |
|
15 | | -#include "simu5g/common/LteCommon.h" |
16 | 15 | #include "simu5g/common/LteControlInfo_m.h" |
17 | | -#include <vector> |
18 | | - |
19 | | -namespace simu5g { |
20 | | - |
21 | | -class UserTxParams; |
22 | | - |
23 | | -/** |
24 | | - * @class UserControlInfo |
25 | | - * @brief ControlInfo used in the Lte model |
26 | | - * |
27 | | - * This is the LteControlInfo Resource Block Vector |
28 | | - * and Remote Antennas Set |
29 | | - * |
30 | | - */ |
31 | | -class UserControlInfo : public UserControlInfo_Base |
32 | | -{ |
33 | | - protected: |
34 | | - |
35 | | - const UserTxParams *userTxParams = nullptr; |
36 | | - RbMap grantedBlocks; |
37 | | - /** @brief The movement of the sending host.*/ |
38 | | - //Move senderMovement; |
39 | | - /** @brief The playground position of the sending host.*/ |
40 | | - inet::Coord senderCoord; |
41 | | - |
42 | | - public: |
43 | | - |
44 | | - /** |
45 | | - * Constructor: base initialization |
46 | | - * @param name packet name |
47 | | - * @param kind packet kind |
48 | | - */ |
49 | | - UserControlInfo(); |
50 | | - ~UserControlInfo() override; |
51 | | - |
52 | | - /* |
53 | | - * Operator = : packet copy |
54 | | - * @param other source packet |
55 | | - * @return reference to this packet |
56 | | - */ |
57 | | - UserControlInfo& operator=(const UserControlInfo& other); |
58 | | - |
59 | | - /** |
60 | | - * Copy constructor: packet copy |
61 | | - * @param other source packet |
62 | | - */ |
63 | | - UserControlInfo(const UserControlInfo& other) : |
64 | | - UserControlInfo_Base() |
65 | | - { |
66 | | - operator=(other); |
67 | | - } |
68 | | - |
69 | | - /** |
70 | | - * dup() : packet duplicate |
71 | | - * @return pointer to duplicate packet |
72 | | - */ |
73 | | - UserControlInfo *dup() const override |
74 | | - { |
75 | | - return new UserControlInfo(*this); |
76 | | - } |
77 | | - |
78 | | - void setUserTxParams(const UserTxParams *arg); |
79 | | - |
80 | | - const UserTxParams *getUserTxParams() const |
81 | | - { |
82 | | - return userTxParams; |
83 | | - } |
84 | | - |
85 | | - const unsigned int getBlocks(Remote antenna, Band b) const |
86 | | - { |
87 | | - return grantedBlocks.at(antenna).at(b); |
88 | | - } |
89 | | - |
90 | | - void setBlocks(Remote antenna, Band b, const unsigned int blocks) |
91 | | - { |
92 | | - grantedBlocks[antenna][b] = blocks; |
93 | | - } |
94 | | - |
95 | | - const RbMap& getGrantedBlocks() const |
96 | | - { |
97 | | - return grantedBlocks; |
98 | | - } |
99 | | - |
100 | | - void setGrantedBlocks(const RbMap& rbMap) |
101 | | - { |
102 | | - grantedBlocks = rbMap; |
103 | | - } |
104 | | - |
105 | | - // struct used to request a feedback computation by nodeB |
106 | | - FeedbackRequest feedbackReq; |
107 | | - void setCoord(const inet::Coord& coord); |
108 | | - inet::Coord getCoord() const; |
109 | | -}; |
110 | | - |
111 | | -} //namespace |
112 | 16 |
|
113 | 17 | #endif |
| 18 | + |
0 commit comments