X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=gnuradio-core%2Fsrc%2Flib%2Fio%2Fgr_message_source.cc;fp=gnuradio-core%2Fsrc%2Flib%2Fio%2Fgr_message_source.cc;h=3efc5b3216c2eebf28c61bd5507abd57b6e1219a;hb=8a9ddbb0675f9bfcc6e03b457fba6c79474a3693;hp=3fbe3708eeb701519e285365af5486f5e1aec637;hpb=82d471b9b4a8b389b5da44b19c69c36420828382;p=debian%2Fgnuradio diff --git a/gnuradio-core/src/lib/io/gr_message_source.cc b/gnuradio-core/src/lib/io/gr_message_source.cc index 3fbe3708..3efc5b32 100644 --- a/gnuradio-core/src/lib/io/gr_message_source.cc +++ b/gnuradio-core/src/lib/io/gr_message_source.cc @@ -43,6 +43,13 @@ gr_make_message_source(size_t itemsize, int msgq_limit) return gr_message_source_sptr(new gr_message_source(itemsize, msgq_limit)); } +// public constructor that takes existing message queue +gr_message_source_sptr +gr_make_message_source(size_t itemsize, gr_msg_queue_sptr msgq) +{ + return gr_message_source_sptr(new gr_message_source(itemsize, msgq)); +} + gr_message_source::gr_message_source (size_t itemsize, int msgq_limit) : gr_sync_block("message_source", gr_make_io_signature(0, 0, 0), @@ -51,6 +58,14 @@ gr_message_source::gr_message_source (size_t itemsize, int msgq_limit) { } +gr_message_source::gr_message_source (size_t itemsize, gr_msg_queue_sptr msgq) + : gr_sync_block("message_source", + gr_make_io_signature(0, 0, 0), + gr_make_io_signature(1, 1, itemsize)), + d_itemsize(itemsize), d_msgq(msgq), d_msg_offset(0), d_eof(false) +{ +} + gr_message_source::~gr_message_source() { }