Updated FSF address in all files. Fixes ticket:51
[debian/gnuradio] / gnuradio-core / src / lib / swig / atsc.i
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2003 Free Software Foundation, Inc.
4  * 
5  * This file is part of GNU Radio
6  * 
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  * 
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING.  If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22
23 %{
24 #include <atsc_types.h>
25 #include <atsc_consts.h>
26 #include <GrAtscRandomizer.h>
27 #include <GrAtscRSEncoder.h>
28 #include <GrAtscInterleaver.h>
29 #include <GrAtscTrellisEncoder.h>
30 #include <GrAtscFieldSyncMux.h>
31 #include <GrAtscSymbolMapper.h>
32 #include <GrAtscConvert2xTo20.h>
33 #include <GrWeaverModHead.h>
34 #include <GrWeaverModTail.h>
35
36 %}
37
38 // from atsc_types.h
39 class plinfo;
40 class atsc_mpeg_packet;
41 class atsc_mpeg_packet_no_sync;
42 class atsc_mpeg_packet_rs_encoded;
43 class atsc_data_segment;
44 class atsc_soft_data_segment;
45
46 %include <atsc_consts.h>
47
48
49 // leave out the VrHistoryProc and pretend we're directly derived from VrSigProc
50
51 // %template(VrHistoryProc_1) VrHistoryProc<atsc_mpeg_packet,atsc_mpeg_packet_no_sync>;
52
53 class GrAtscRandomizer : public VrSigProc
54 // class GrAtscRandomizer : public VrHistoryProc<atsc_mpeg_packet, atsc_mpeg_packet_no_sync>
55 {
56 public:
57   GrAtscRandomizer ();
58   ~GrAtscRandomizer ();
59 };
60
61 class GrAtscRSEncoder : public VrSigProc
62 {
63 public:
64   GrAtscRSEncoder ();
65   ~GrAtscRSEncoder ();
66 };
67
68 class GrAtscInterleaver : public VrSigProc
69 {
70 public:
71   GrAtscInterleaver ();
72   ~GrAtscInterleaver ();
73 };
74
75 class GrAtscTrellisEncoder : public VrSigProc
76 {
77 public:
78   GrAtscTrellisEncoder ();
79   ~GrAtscTrellisEncoder ();
80 };
81
82 class GrAtscFieldSyncMux : public VrSigProc
83 {
84 public:
85   GrAtscFieldSyncMux ();
86   ~GrAtscFieldSyncMux ();
87 };
88
89 template<class oType>
90 class GrAtscSymbolMapper : public VrSigProc
91 {
92 public:
93   GrAtscSymbolMapper ();
94   ~GrAtscSymbolMapper ();
95 };
96
97 %template(GrAtscSymbolMapperF) GrAtscSymbolMapper<float>;
98
99 template<class iType, class oType>
100 class GrWeaverModHead : public VrSigProc
101 {
102 public:
103   GrWeaverModHead (int interp_factor);
104   ~GrWeaverModHead ();
105 };
106
107 %template(GrWeaverModHeadFF) GrWeaverModHead<float,float>;
108
109 template<class iType, class oType>
110 class GrWeaverModTail : public VrSigProc {
111 public:
112   GrWeaverModTail (float freq, float gain);
113   ~GrWeaverModTail ();
114
115   //! frequency is in Hz
116   void set_freq (float frequency);
117   void set_gain (float g);
118 };
119
120 %template(GrWeaverModTailFS) GrWeaverModTail<float,short>;
121
122 class GrAtscConvert2xTo20 : public VrSigProc
123 {
124 public:
125   GrAtscConvert2xTo20 ();
126   ~GrAtscConvert2xTo20 ();
127 };
128
129
130 #if 0   // FIXME
131 %template(VrSource_mpeg_packet)     VrSource<atsc_mpeg_packet>;
132 %template(VrFileSource_mpeg_packet) VrFileSource<atsc_mpeg_packet>;
133
134 %template(VrSink_mpeg_packet)       VrSink<atsc_mpeg_packet>;
135 %template(VrFileSink_mpeg_packet)   VrFileSink<atsc_mpeg_packet>;
136 #endif