Imported Upstream version 3.2.2
[debian/gnuradio] / gnuradio-core / src / lib / runtime / gr_io_signature.i
index ea7d6f3220d985a40065318a6350d27e301b1cb5..78465b19e04881e7326a523e7b472d9e9aed61c5 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2004,2005 Free Software Foundation, Inc.
+ * Copyright 2004,2005,2007 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
@@ -24,14 +24,40 @@ class gr_io_signature;
 typedef boost::shared_ptr<gr_io_signature>  gr_io_signature_sptr;
 %template(gr_io_signature_sptr) boost::shared_ptr<gr_io_signature>;
 
-%rename(io_signature) gr_make_io_signature;
+%rename(io_signature)  gr_make_io_signature;
+%rename(io_signature2) gr_make_io_signature2;
+%rename(io_signature3) gr_make_io_signature3;
+%rename(io_signaturev) gr_make_io_signaturev;
 
+
+gr_io_signature_sptr
+gr_make_io_signature(int min_streams, int max_streams,
+                    int sizeof_stream_item);
+
+gr_io_signature_sptr
+gr_make_io_signature2(int min_streams, int max_streams,
+                     int sizeof_stream_item1,
+                     int sizeof_stream_item2
+                     );
+gr_io_signature_sptr
+gr_make_io_signature3(int min_streams, int max_streams, 
+                     int sizeof_stream_item1,
+                     int sizeof_stream_item2,
+                     int sizeof_stream_item3
+                     );
 gr_io_signature_sptr
-gr_make_io_signature (int min_streams,
-                     int max_streams,
-                     size_t sizeof_stream_item);
+gr_make_io_signaturev(int min_streams, int max_streams,
+                     const std::vector<int> &sizeof_stream_items);
+
 
 class gr_io_signature {
+  gr_io_signature (int min_streams, int max_streams, int sizeof_stream_item);
+
+  friend gr_io_signature_sptr 
+  gr_make_io_signaturev(int min_streams,
+                       int max_streams,
+                       const std::vector<int> &sizeof_stream_item);
+
  public:
 
   // disabled. Suspected bug in SWIG 1.3.24
@@ -41,9 +67,7 @@ class gr_io_signature {
     
   int min_streams () const { return d_min_streams; }
   int max_streams () const { return d_max_streams; }
-  size_t sizeof_stream_item (int index) const { return d_sizeof_stream_item; }
-
- private:
-  gr_io_signature (int min_streams, int max_streams, size_t sizeof_stream_item);
+  int sizeof_stream_item (int index) const;
+  std::vector<int> sizeof_stream_items() const;
 };