aboutsummaryrefslogtreecommitdiffstats
path: root/lib/misc_utils/extract_immediate_assignment_impl.h
diff options
context:
space:
mode:
authorRoman Khassraf <roman@khassraf.at>2015-07-12 19:02:32 +0200
committerRoman Khassraf <roman@khassraf.at>2015-07-12 19:02:32 +0200
commit95c6f9dfba62dd2a219fc6b29a41dae401d84c9c (patch)
treee0589f679ce9311c6f4349f8133d34d78b1c83cc /lib/misc_utils/extract_immediate_assignment_impl.h
parent4a7b645bd46bbbf88903998937a8366101a09503 (diff)
Added functions for retrieving data from immediate assignment extractor
Diffstat (limited to 'lib/misc_utils/extract_immediate_assignment_impl.h')
-rw-r--r--lib/misc_utils/extract_immediate_assignment_impl.h46
1 files changed, 40 insertions, 6 deletions
diff --git a/lib/misc_utils/extract_immediate_assignment_impl.h b/lib/misc_utils/extract_immediate_assignment_impl.h
index 2bb9538..93e61a0 100644
--- a/lib/misc_utils/extract_immediate_assignment_impl.h
+++ b/lib/misc_utils/extract_immediate_assignment_impl.h
@@ -24,18 +24,52 @@
#define INCLUDED_GSM_EXTRACT_IMMEDIATE_ASSIGNMENT_IMPL_H
#include <grgsm/misc_utils/extract_immediate_assignment.h>
-
+#include <set>
+#include <map>
+#include <vector>
namespace gr {
namespace gsm {
+ class immediate_assignment
+ {
+ public:
+ uint32_t frame_nr;
+ std::string channel_type;
+ uint8_t timeslot;
+ uint8_t subchannel;
+ uint8_t hopping;
+ uint8_t maio;
+ uint8_t hsn;
+ uint16_t arfcn;
+ uint8_t timing_advance;
+ std::string mobile_allocation;
+
+ immediate_assignment() : frame_nr(0), channel_type("unknown"), timeslot(0), subchannel(0),
+ hopping(false), maio(0), hsn(0), arfcn(0), timing_advance(0), mobile_allocation("") {};
+ ~immediate_assignment() {};
+ };
+
+ typedef std::map<uint32_t, immediate_assignment> immediate_assignment_map;
+
class extract_immediate_assignment_impl : public extract_immediate_assignment
{
- private:
- void process_message(pmt::pmt_t msg);
- public:
- extract_immediate_assignment_impl();
- ~extract_immediate_assignment_impl();
+ private:
+ void process_message(pmt::pmt_t msg);
+ immediate_assignment_map d_assignment_map;
+ public:
+ virtual std::vector<int> get_frame_numbers();
+ virtual std::vector<std::string> get_channel_types();
+ virtual std::vector<int> get_timeslots();
+ virtual std::vector<int> get_subchannels();
+ virtual std::vector<int> get_hopping();
+ virtual std::vector<int> get_maios();
+ virtual std::vector<int> get_hsns();
+ virtual std::vector<int> get_arfcns();
+ virtual std::vector<int> get_timing_advances();
+ virtual std::vector<std::string> get_mobile_allocations();
+ extract_immediate_assignment_impl();
+ ~extract_immediate_assignment_impl();
};
} // namespace gsm
} // namespace gr