/* -*- c++ -*- */ /* * Copyright 2003,2004,2009 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. */ //////////////////////////////////////////////////////////////////////// // gnuradio.i // SWIG interface definition //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// // Headers %{ #include "gnuradio_swig_bug_workaround.h" // mandatory bug fix #include #include // size_t #include %} // %feature("autodoc","1"); #ifdef SWIGGUILE // Export constants and enums as scheme variables, not functions. %feature("constasvar"); #endif // local file %include // non-local SWIG files #ifdef SWIGGUILE // Local overrides to support complex // It's kind of screwy, but the target language subdir isn't // searched automatically except for under ./swig_lib which // doesn't really help us since we run swig in many directories %include %include %include %include %include %include #else %include %include %include #endif %include typedef std::complex gr_complex; typedef std::complex gr_complexd; typedef unsigned long long uint64_t; typedef long long int64_t; // instantiate the required template specializations namespace std { %template() vector; %template() vector; %template() vector; %template() vector; %template() vector; %template() vector; // %template() std::complex; %template() vector< std::complex >; %template() vector< std::vector< unsigned char > >; %template() vector< std::vector< char > >; %template() vector< std::vector< short > >; %template() vector< std::vector< int > >; %template() vector< std::vector< float > >; %template() vector< std::vector< double > >; %template() vector< std::vector< std::complex > >; }; //////////////////////////////////////////////////////////////////////// #ifndef SW_RUNTIME // import runtime.i for all but sw_runtime, since it needs to %include %import #endif ////////////////////////////////////////////////////////////////////////