00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef INCLUDED_IO_SIGNATURE_H
00024 #define INCLUDED_IO_SIGNATURE_H
00025 
00026 #include <gr_runtime.h>
00027 
00035 class gr_io_signature {
00036  public:
00037 
00038   static const int INFINITE = -1;
00039     
00040   ~gr_io_signature ();
00041     
00042   int min_streams () const { return d_min_streams; }
00043   int max_streams () const { return d_max_streams; }
00044   size_t sizeof_stream_item (int index) const { return d_sizeof_stream_item; }
00045 
00046   
00047 
00048  private:
00049   
00050   int           d_min_streams;
00051   int           d_max_streams;
00052   size_t        d_sizeof_stream_item;
00053 
00054   gr_io_signature (int min_streams, int max_streams, size_t sizeof_stream_item);
00055 
00056   friend gr_io_signature_sptr gr_make_io_signature (int min_streams,
00057                                                    int max_streams,
00058                                                    size_t sizeof_stream_item);
00059 };
00060 
00061 gr_io_signature_sptr
00062 gr_make_io_signature (int min_streams, int max_streams, size_t sizeof_stream_item);
00063 
00064 
00065 #endif