diff options
author | Roman Khassraf <roman@khassraf.at> | 2015-07-12 19:02:32 +0200 |
---|---|---|
committer | Roman Khassraf <roman@khassraf.at> | 2015-07-12 19:02:32 +0200 |
commit | 95c6f9dfba62dd2a219fc6b29a41dae401d84c9c (patch) | |
tree | e0589f679ce9311c6f4349f8133d34d78b1c83cc /lib/misc_utils/extract_immediate_assignment_impl.h | |
parent | 4a7b645bd46bbbf88903998937a8366101a09503 (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.h | 46 |
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 |