From f0457b0b5888fd4d652531b987c9d113e8d1234a Mon Sep 17 00:00:00 2001 From: Piotr Krysik Date: Tue, 7 Apr 2009 17:25:12 +0200 Subject: New empty gsm-receiver signal block with its own library - compiles --- src/Makefile.am | 3 +- src/lib/Makefile.am | 16 ++++++---- src/lib/gsm_receiver.h | 78 ---------------------------------------------- src/lib/gsm_receiver.i | 21 +++---------- src/lib/gsm_receiver_cf.cc | 8 ++--- src/lib/gsm_receiver_cf.h | 6 ++-- 6 files changed, 23 insertions(+), 109 deletions(-) delete mode 100644 src/lib/gsm_receiver.h (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index e3f0399..3ff9849 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -19,4 +19,5 @@ # Boston, MA 02110-1301, USA. # -SUBDIRS = lib python +SUBDIRS = lib + diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index c6aa929..fb63599 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -58,10 +58,13 @@ ourpython_PYTHON = \ ourlib_LTLIBRARIES = _gsm_receiver.la +lib_LTLIBRARIES = libgsm-receiver.la + # These are the source files that go into the shared library -_howto_la_SOURCES = \ - gsm_receiver.cc \ - gsm_receiver_cf.cc \ +_gsm_receiver_la_SOURCES = \ + gsm_receiver.cc + +libgsm_receiver_la_SOURCES = \ gsm_receiver_cf.cc # magic flags @@ -71,17 +74,18 @@ _gsm_receiver_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # c++ standard library _gsm_receiver_la_LIBADD = \ $(PYTHON_LDFLAGS) \ + libgsm-receiver.la \ -lstdc++ +#libgsm_receiver_la_LIBADD = + gsm_receiver.cc gsm_receiver.py: $(LOCAL_IFILES) $(ALL_IFILES) - $(SWIG) $(SWIGPYTHONARGS) -module howto -o gsm_receiver.cc $(LOCAL_IFILES) + $(SWIG) $(SWIGPYTHONARGS) -module gsm_receiver -o gsm_receiver.cc $(LOCAL_IFILES) # These headers get installed in ${prefix}/include/gnuradio grinclude_HEADERS = \ - gsm_receiver_cf.h \ gsm_receiver_cf.h - # These swig headers get installed in ${prefix}/include/gnuradio/swig swiginclude_HEADERS = \ $(LOCAL_IFILES) diff --git a/src/lib/gsm_receiver.h b/src/lib/gsm_receiver.h deleted file mode 100644 index 092b936..0000000 --- a/src/lib/gsm_receiver.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio 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. - * - * GNU Radio 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 GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -#ifndef INCLUDED_HOWTO_SQUARE_FF_H -#define INCLUDED_HOWTO_SQUARE_FF_H - -#include - -class howto_square_ff; - -/* - * We use boost::shared_ptr's instead of raw pointers for all access - * to gr_blocks (and many other data structures). The shared_ptr gets - * us transparent reference counting, which greatly simplifies storage - * management issues. This is especially helpful in our hybrid - * C++ / Python system. - * - * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm - * - * As a convention, the _sptr suffix indicates a boost::shared_ptr - */ -typedef boost::shared_ptr howto_square_ff_sptr; - -/*! - * \brief Return a shared_ptr to a new instance of howto_square_ff. - * - * To avoid accidental use of raw pointers, howto_square_ff's - * constructor is private. howto_make_square_ff is the public - * interface for creating new instances. - */ -howto_square_ff_sptr howto_make_square_ff (); - -/*! - * \brief square a stream of floats. - * \ingroup block - * - * \sa howto_square2_ff for a version that subclasses gr_sync_block. - */ -class howto_square_ff : public gr_block -{ -private: - // The friend declaration allows howto_make_square_ff to - // access the private constructor. - - friend howto_square_ff_sptr howto_make_square_ff (); - - howto_square_ff (); // private constructor - - public: - ~howto_square_ff (); // public destructor - - // Where all the action really happens - - int general_work (int noutput_items, - gr_vector_int &ninput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items); -}; - -#endif /* INCLUDED_HOWTO_SQUARE_FF_H */ diff --git a/src/lib/gsm_receiver.i b/src/lib/gsm_receiver.i index 3d46ab4..d5ca598 100644 --- a/src/lib/gsm_receiver.i +++ b/src/lib/gsm_receiver.i @@ -7,8 +7,7 @@ %{ #include "gnuradio_swig_bug_workaround.h" // mandatory bug fix -#include "howto_square_ff.h" -#include "howto_square2_ff.h" +#include "gsm_receiver_cf.h" #include %} @@ -21,24 +20,14 @@ * This does some behind-the-scenes magic so we can * access howto_square_ff from python as howto.square_ff */ -GR_SWIG_BLOCK_MAGIC(howto,square_ff); +GR_SWIG_BLOCK_MAGIC(gsm,receiver_cf); -howto_square_ff_sptr howto_make_square_ff (); +gsm_receiver_cf_sptr gsm_make_receiver_cf (); -class howto_square_ff : public gr_block +class gsm_receiver_cf : public gr_block { private: - howto_square_ff (); + gsm_receiver_cf (); }; // ---------------------------------------------------------------- - -GR_SWIG_BLOCK_MAGIC(howto,square2_ff); - -howto_square2_ff_sptr howto_make_square2_ff (); - -class howto_square2_ff : public gr_sync_block -{ -private: - howto_square2_ff (); -}; diff --git a/src/lib/gsm_receiver_cf.cc b/src/lib/gsm_receiver_cf.cc index 7001b91..6ea2ba7 100644 --- a/src/lib/gsm_receiver_cf.cc +++ b/src/lib/gsm_receiver_cf.cc @@ -32,7 +32,7 @@ * a boost shared_ptr. This is effectively the public constructor. */ gsm_receiver_cf_sptr -gsm_receiver_make_cf () +gsm_make_receiver_cf () { return gsm_receiver_cf_sptr (new gsm_receiver_cf ()); } @@ -59,15 +59,13 @@ gsm_receiver_cf::gsm_receiver_cf () gr_make_io_signature (MIN_IN, MAX_IN, sizeof (gr_complex)), gr_make_io_signature (MIN_OUT, MAX_OUT, sizeof (float))) { - // nothing else required in this example } /* - * Our virtual destructor. + * Virtual destructor. */ -gsm_receiver_square_ff::~gsm_receiver_cf () +gsm_receiver_cf::~gsm_receiver_cf () { - // nothing else required in this example } int diff --git a/src/lib/gsm_receiver_cf.h b/src/lib/gsm_receiver_cf.h index c56a2f0..f45e47a 100644 --- a/src/lib/gsm_receiver_cf.h +++ b/src/lib/gsm_receiver_cf.h @@ -25,7 +25,7 @@ #include #include -class gsm_receiver_cf.h; +class gsm_receiver_cf; /* * We use boost::shared_ptr's instead of raw pointers for all access @@ -47,7 +47,7 @@ typedef boost::shared_ptr gsm_receiver_cf_sptr; * constructor is private. howto_make_square_ff is the public * interface for creating new instances. */ -gsm_receiver_cf_sptr gsm_receiver_make_square_cf (); +gsm_receiver_cf_sptr gsm_make_receiver_cf (); /*! * \brief square a stream of floats. @@ -58,7 +58,7 @@ gsm_receiver_cf_sptr gsm_receiver_make_square_cf (); class gsm_receiver_cf : public gr_block { private: - friend gsm_receiver_cf_sptr gsm_receiver_make_square_cf (); + friend gsm_receiver_cf_sptr gsm_make_receiver_cf (); gsm_receiver_cf (); -- cgit v1.2.3