--- a/src/lte/model/ff-mac-common.h Tue Jun 26 16:35:04 2012 +0200
+++ b/src/lte/model/ff-mac-common.h Thu Jun 28 17:30:43 2012 +0200
@@ -21,6 +21,11 @@
#ifndef FF_MAC_COMMON_H
#define FF_MAC_COMMON_H
+#include <ns3/simple-ref-count.h>
+#include <ns3/ptr.h>
+#include <vector>
+
+
/**
* Constants. See section 4.4
*/
@@ -49,6 +54,7 @@
#define MAX_SR_LIST 30
#define MAX_MAC_CE_LIST 30
+namespace ns3 {
enum Result_e
{
@@ -143,13 +149,29 @@
};
/**
+* \brief Template class for storing the values of vendor specific parameters
+*/
+struct VendorSpecificValue : public SimpleRefCount<VendorSpecificValue>
+{
+ VendorSpecificValue ();
+
+ virtual ~VendorSpecificValue ();
+
+ /**
+ * copy constructor
+ */
+ // do we need it? it seems that it works without it
+// VendorSpecificValue (const VendorSpecificValue& p); // do we need it?
+};
+
+/**
* \brief See section 4.3.3 vendorSpecifiListElement
*/
struct VendorSpecificListElement_s
{
uint32_t m_type;
uint32_t m_length;
- void *m_value;
+ Ptr<VendorSpecificValue> m_value;
};
/**
@@ -464,5 +486,6 @@
uint8_t m_pagingSubframe;
};
+} // namespace ns3
#endif /* FF_MAC_COMMON_H */