GNU Radio's CCS Package
periodic_msg_source.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_H
18#define INCLUDED_FOO_PERIODIC_MSG_SOURCE_H
19
20#include <foo/api.h>
21#include <gnuradio/block.h>
22
23namespace gr {
24namespace foo {
25
26class FOO_API periodic_msg_source : virtual public gr::block
27{
28public:
29
30 typedef boost::shared_ptr<periodic_msg_source> sptr;
31 static sptr make(pmt::pmt_t msg, long interval, int num_msg = -1,
32 bool quit = true, bool debug = false);
33
34 virtual void set_nmsg(int nmsg) = 0;
35 virtual int get_nmsg() = 0;
36
37 virtual void set_delay(long delay) = 0;
38 virtual long get_delay() = 0;
39
40 virtual void start_tx() = 0;
41 virtual void stop_tx() = 0;
42 virtual bool is_running() = 0;
43};
44
45} // namespace foo
46} // namespace gr
47
48#endif /* INCLUDED_FOO_PERIODIC_MSG_SOURCE */
#define FOO_API
Definition: api.h:30
Definition: periodic_msg_source.h:27
virtual bool is_running()=0
virtual void set_delay(long delay)=0
virtual long get_delay()=0
static sptr make(pmt::pmt_t msg, long interval, int num_msg=-1, bool quit=true, bool debug=false)
virtual void set_nmsg(int nmsg)=0
boost::shared_ptr< periodic_msg_source > sptr
Definition: periodic_msg_source.h:30
Definition: burst_tagger.h:27