GNU Radio 3.6.3 C++ API
gr_block_registry.h
Go to the documentation of this file.
1 #ifndef GR_BLOCK_REGISTRY_H
2 #define GR_BLOCK_REGISTRY_H
3 
4 #include <map>
5 
6 #ifndef GR_BASIC_BLOCK_H
7 class gr_basic_block;
8 class gr_block;
9 #endif
10 
12  public:
14 
15  long block_register(gr_basic_block* block);
16  void block_unregister(gr_basic_block* block);
17 
18  std::string register_symbolic_name(gr_basic_block* block);
19  void register_symbolic_name(gr_basic_block* block, std::string name);
20 
22 
23  void register_primitive(std::string blk, gr_block* ref);
24  void unregister_primitive(std::string blk);
25  void notify_blk(std::string blk);
26 
27  private:
28 
29  //typedef std::map< long, gr_basic_block_sptr > blocksubmap_t;
30  typedef std::map< long, gr_basic_block* > blocksubmap_t;
31  typedef std::map< std::string, blocksubmap_t > blockmap_t;
32 
33  blockmap_t d_map;
34  pmt::pmt_t d_ref_map;
35  std::map< std::string, gr_block*> primitive_map;
36 
37 };
38 
40 
41 #endif
42