aboutsummaryrefslogtreecommitdiffstats
path: root/include/grgsm
diff options
context:
space:
mode:
authorRoman Khassraf <roman@khassraf.at>2015-07-27 15:52:02 +0200
committerRoman Khassraf <roman@khassraf.at>2015-07-27 15:52:02 +0200
commitadea86fec54ace049addd35166345ad4abcaa3f2 (patch)
tree633aa4b1680795e4e054d54cf988ac29805d9db8 /include/grgsm
parent2bf49e4dd58d1c0833bde8f6af3fe0d71b2b694b (diff)
Implemented message source block for unit testing
Diffstat (limited to 'include/grgsm')
-rw-r--r--include/grgsm/misc_utils/CMakeLists.txt3
-rw-r--r--include/grgsm/misc_utils/message_source.h60
2 files changed, 62 insertions, 1 deletions
diff --git a/include/grgsm/misc_utils/CMakeLists.txt b/include/grgsm/misc_utils/CMakeLists.txt
index 8b74fc7..000b7ef 100644
--- a/include/grgsm/misc_utils/CMakeLists.txt
+++ b/include/grgsm/misc_utils/CMakeLists.txt
@@ -31,5 +31,6 @@ install(FILES
controlled_rotator_cc.h
controlled_const_source_f.h
message_printer.h
- tmsi_dumper.h DESTINATION include/grgsm/misc_utils
+ tmsi_dumper.h
+ message_source.h DESTINATION include/grgsm/misc_utils
)
diff --git a/include/grgsm/misc_utils/message_source.h b/include/grgsm/misc_utils/message_source.h
new file mode 100644
index 0000000..5c3e8a1
--- /dev/null
+++ b/include/grgsm/misc_utils/message_source.h
@@ -0,0 +1,60 @@
+/* -*- c++ -*- */
+/* @file
+ * @author Roman Khassraf <rkhassraf@gmail.com>
+ * @section LICENSE
+ *
+ * Gr-gsm is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * Gr-gsm is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gr-gsm; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+
+#ifndef INCLUDED_GSM_MESSAGE_SOURCE_H
+#define INCLUDED_GSM_MESSAGE_SOURCE_H
+
+#include <grgsm/api.h>
+#include <gnuradio/block.h>
+
+namespace gr {
+ namespace gsm {
+
+ /*!
+ * \brief <+description of block+>
+ * \ingroup gsm
+ *
+ */
+ class GSM_API message_source : virtual public gr::block
+ {
+ public:
+ typedef boost::shared_ptr<message_source> sptr;
+
+ /*!
+ * \brief Return a shared_ptr to a new instance of grgsm::message_source.
+ *
+ * To avoid accidental use of raw pointers, grgsm::message_source's
+ * constructor is in a private implementation
+ * class. grgsm::message_source::make is the public interface for
+ * creating new instances.
+ */
+ static sptr make(const std::vector<std::string> &msg_data);
+
+ virtual void set_msg_data(const std::vector<std::string> &msg_data) = 0;
+ };
+
+ } // namespace gsm
+} // namespace gr
+
+#endif /* INCLUDED_GSM_MESSAGE_SOURCE_H */
+