GNU Radio's FOO Package: periodic_msg_source_impl.h Source File

GNU Radio's FOO Package

periodic_msg_source_impl.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2013 Bastian Bloessl <bloessl@ccs-labs.org>
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17#ifndef INCLUDED_FOO_PERIODIC_MSG_SOURCE_IMPL_H
18#define INCLUDED_FOO_PERIODIC_MSG_SOURCE_IMPL_H
19
20#include <foo/periodic_msg_source.h>
21
22namespace gr {
23namespace foo {
24
25 class periodic_msg_source_impl : public periodic_msg_source {
26 private:
27 void run(periodic_msg_source_impl *instance);
28
29 int d_nmsg_total;
30 int d_nmsg_left;
31 bool d_debug;
32 bool d_quit;
33 bool d_finished;
34 long d_interval;
35 pmt::pmt_t d_msg;
36 boost::thread *d_thread;
37 gr::thread::mutex d_mutex;
38
39 public:
40 periodic_msg_source_impl(pmt::pmt_t msg,
41 long interval, int num_msg,
42 bool quit, bool debug);
43 virtual ~periodic_msg_source_impl();
44
45 void set_nmsg(int nmsg);
46 int get_nmsg();
47
48 void set_delay(long delay);
49 long get_delay();
50
51 void start_tx();
52 void stop_tx();
53 bool is_running();
54
55 };
56
57} // namespace foo
58} // namespace gr
59
60#endif /* INCLUDED_FOO_PERIODIC_MSG_SOURCE_IMPL_H */
gr::foo::periodic_msg_source_impl::periodic_msg_source_impl
periodic_msg_source_impl(pmt::pmt_t msg, long interval, int num_msg, bool quit, bool debug)
gr::foo::periodic_msg_source_impl::is_running
bool is_running()
gr::foo::periodic_msg_source_impl::get_delay
long get_delay()
gr::foo::periodic_msg_source_impl::stop_tx
void stop_tx()
gr::foo::periodic_msg_source_impl::~periodic_msg_source_impl
virtual ~periodic_msg_source_impl()
gr::foo::periodic_msg_source_impl::set_delay
void set_delay(long delay)
gr::foo::periodic_msg_source_impl::get_nmsg
int get_nmsg()
gr::foo::periodic_msg_source_impl::set_nmsg
void set_nmsg(int nmsg)
gr::foo::periodic_msg_source_impl::start_tx
void start_tx()
gr::foo::periodic_msg_source
Definition periodic_msg_source.h:27
gr::foo
Definition burst_tagger.h:28
gr
Definition burst_tagger.h:27
periodic_msg_source.h