GNU Radio 3.6.4.1 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 #include <gr_basic_block.h>
6 
7 #ifndef GR_BASIC_BLOCK_H
8 class gr_basic_block;
9 class gr_block;
10 #endif
11 
13  public:
15 
16  long block_register(gr_basic_block* block);
17  void block_unregister(gr_basic_block* block);
18 
19  std::string register_symbolic_name(gr_basic_block* block);
20  void register_symbolic_name(gr_basic_block* block, std::string name);
21 
23 
24  void register_primitive(std::string blk, gr_block* ref);
25  void unregister_primitive(std::string blk);
26  void notify_blk(std::string blk);
27 
28  private:
29 
30  //typedef std::map< long, gr_basic_block_sptr > blocksubmap_t;
31  typedef std::map< long, gr_basic_block* > blocksubmap_t;
32  typedef std::map< std::string, blocksubmap_t > blockmap_t;
33 
34  blockmap_t d_map;
35  pmt::pmt_t d_ref_map;
36  std::map< std::string, gr_block*> primitive_map;
37 
38 };
39 
41 
42 #endif
43