diff options
-rw-r--r-- | CMakeLists.txt | 15 | ||||
-rw-r--r-- | cmake/Modules/FindGnuradio.cmake | 11 | ||||
-rw-r--r-- | cmake/Modules/GrSwig.cmake | 2 | ||||
-rw-r--r-- | gnuradio-core/gnuradio-core.pc.in | 12 | ||||
-rw-r--r-- | gnuradio-core/src/lib/CMakeLists.txt | 163 | ||||
-rw-r--r-- | gnuradio-core/src/lib/bug_work_around_6.cc | 3 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/CMakeLists.txt | 159 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/atsc_rrc1x.dat | 57 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/atsc_rrc20.dat | 101 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/atsc_rrc2x.dat | 102 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/general.i | 41 | ||||
-rw-r--r-- | gnuradio-core/src/lib/general/gr_test.i | 64 | ||||
-rw-r--r-- | gnuradio-core/src/lib/gnuradio-core.rc.in | 55 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/CMakeLists.txt | 32 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/bug_work_around_8.cc | 3 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/getopt.c | 733 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/getopt.h | 129 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/gettimeofday.c | 50 | ||||
-rw-r--r-- | gnuradio-core/src/lib/missing/usleep.c | 67 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/CMakeLists.txt | 223 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/frontend.ice | 102 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/nop.h | 57 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/nop_impl.cc | 119 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/nop_impl.h | 67 | ||||
-rw-r--r-- | gnuradio-core/src/lib/runtime/test_shared_block_ptr.cc | 53 | ||||
-rw-r--r-- | gnuradio-core/src/lib/swig/CMakeLists.txt | 105 | ||||
-rw-r--r-- | gnuradio-core/src/lib/swig/gnuradio_core.py | 24 | ||||
-rw-r--r-- | gnuradio-core/src/lib/swig/gnuradio_core_general.i | 54 | ||||
-rw-r--r-- | gnuradio-core/src/lib/swig/gnuradio_core_hier.i | 32 | ||||
-rw-r--r-- | gnuradio-core/src/lib/swig/gnuradio_core_runtime.i | 34 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gru/CMakeLists.txt | 26 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gru/__init__.py | 37 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/gruimpl/__init__.py | 1 | ||||
-rw-r--r-- | gnuradio-core/src/tests/CMakeLists.txt | 66 | ||||
-rw-r--r-- | gnuradio-core/src/tests/benchmark_nco.cc | 220 | ||||
-rw-r--r-- | gnuradio-core/src/tests/benchmark_vco.cc | 167 | ||||
-rw-r--r-- | gnuradio-core/src/tests/nco_results | 48 | ||||
-rw-r--r-- | gnuradio-core/src/tests/test_all.cc | 44 | ||||
-rw-r--r-- | gnuradio-core/src/tests/test_atsc.cc | 42 | ||||
-rwxr-xr-x | gnuradio-core/src/tests/test_buffers.py | 142 | ||||
-rw-r--r-- | gnuradio-core/src/tests/test_vmcircbuf.cc | 44 | ||||
-rw-r--r-- | gnuradio-core/src/utils/partition-cascaded-decimating-filters.scm | 67 | ||||
-rw-r--r-- | gnuradio-core/src/utils/permute.scm | 27 | ||||
-rw-r--r-- | gnuradio-runtime/CMakeLists.txt (renamed from gnuradio-core/CMakeLists.txt) | 134 | ||||
-rw-r--r-- | gnuradio-runtime/ConfigChecks.cmake (renamed from gnuradio-core/src/lib/ConfigChecks.cmake) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/apps/CMakeLists.txt (renamed from gr-howto-write-a-block/docs/CMakeLists.txt) | 29 | ||||
-rw-r--r-- | gnuradio-runtime/apps/gnuradio-config-info.cc (renamed from gnuradio-core/src/lib/gnuradio-config-info.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/ctrlport.conf.example (renamed from gnuradio-core/ctrlport.conf.example) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/ctrlport.conf.in | 6 | ||||
-rw-r--r-- | gnuradio-runtime/examples/CMakeLists.txt (renamed from gnuradio-core/src/examples/CMakeLists.txt) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/CMakeLists.txt (renamed from gnuradio-core/src/examples/mp-sched/CMakeLists.txt) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/README (renamed from gnuradio-core/src/examples/mp-sched/README) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/mp-sched/affinity_set.py (renamed from gnuradio-core/src/examples/mp-sched/affinity_set.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/core-duo.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/core-duo.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/core2-duo.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/core2-duo.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/js21-altivec.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/js21-altivec.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/js21.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/js21.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/ps3-altivec.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/ps3-altivec.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/ps3.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/ps3.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/qs21-altivec.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/qs21-altivec.dat) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/mp-sched/perf-data/qs21.dat (renamed from gnuradio-core/src/examples/mp-sched/perf-data/qs21.dat) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/mp-sched/plot_flops.py (renamed from gnuradio-core/src/examples/mp-sched/plot_flops.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/mp-sched/run_synthetic.py (renamed from gnuradio-core/src/examples/mp-sched/run_synthetic.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/mp-sched/synthetic.py (renamed from gnuradio-core/src/examples/mp-sched/synthetic.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py (renamed from gnuradio-core/src/examples/mp-sched/wfm_rcv_pll_to_wav.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/network/CMakeLists.txt (renamed from gnuradio-core/src/examples/network/CMakeLists.txt) | 2 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/audio_sink.py (renamed from gnuradio-core/src/examples/network/audio_sink.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/audio_source.py (renamed from gnuradio-core/src/examples/network/audio_source.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/dial_tone_sink.py (renamed from gnuradio-core/src/examples/network/dial_tone_sink.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/dial_tone_source.py (renamed from gnuradio-core/src/examples/network/dial_tone_source.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/vector_sink.py (renamed from gnuradio-core/src/examples/network/vector_sink.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/network/vector_source.py (renamed from gnuradio-core/src/examples/network/vector_source.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/volk_benchmark/CMakeLists.txt (renamed from gnuradio-core/src/examples/volk_benchmark/CMakeLists.txt) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/examples/volk_benchmark/README (renamed from gnuradio-core/src/examples/volk_benchmark/README) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/volk_benchmark/volk_math.py (renamed from gnuradio-core/src/examples/volk_benchmark/volk_math.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/volk_benchmark/volk_plot.py (renamed from gnuradio-core/src/examples/volk_benchmark/volk_plot.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/examples/volk_benchmark/volk_test_funcs.py (renamed from gnuradio-core/src/examples/volk_benchmark/volk_test_funcs.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/examples/volk_benchmark/volk_types.py (renamed from gnuradio-core/src/examples/volk_benchmark/volk_types.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/gnuradio-runtime.conf.in (renamed from gnuradio-core/gnuradio-core.conf.in) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/gnuradio-runtime.pc.in | 11 | ||||
-rw-r--r-- | gnuradio-runtime/gr_log_default.conf (renamed from gnuradio-core/gr_log_default.conf) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/CMakeLists.txt | 92 | ||||
-rw-r--r-- | gnuradio-runtime/include/IcePy_Communicator.h (renamed from gnuradio-core/src/lib/runtime/IcePy_Communicator.h) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_basic_block.h (renamed from gnuradio-core/src/lib/runtime/gr_basic_block.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_block.h (renamed from gnuradio-core/src/lib/runtime/gr_block.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_block_detail.h (renamed from gnuradio-core/src/lib/runtime/gr_block_detail.h) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_block_registry.h (renamed from gnuradio-core/src/lib/runtime/gr_block_registry.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_buffer.h (renamed from gnuradio-core/src/lib/runtime/gr_buffer.h) | 20 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_complex.h (renamed from gnuradio-core/src/lib/runtime/gr_complex.h) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_constants.h (renamed from gnuradio-core/src/lib/general/gr_constants.h) | 12 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_dispatcher.h (renamed from gnuradio-core/src/lib/runtime/gr_dispatcher.h) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_endianness.h (renamed from gnuradio-core/src/lib/general/gr_endianness.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_error_handler.h (renamed from gnuradio-core/src/lib/runtime/gr_error_handler.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_expj.h (renamed from gnuradio-core/src/lib/general/gr_expj.h) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_feval.h (renamed from gnuradio-core/src/lib/general/gr_feval.h) | 20 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_flowgraph.h (renamed from gnuradio-core/src/lib/runtime/gr_flowgraph.h) | 16 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_fxpt.h (renamed from gnuradio-core/src/lib/general/gr_fxpt.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_fxpt_nco.h (renamed from gnuradio-core/src/lib/general/gr_fxpt_nco.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_fxpt_vco.h (renamed from gnuradio-core/src/lib/general/gr_fxpt_vco.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_hier_block2.h (renamed from gnuradio-core/src/lib/runtime/gr_hier_block2.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_io_signature.h (renamed from gnuradio-core/src/lib/runtime/gr_io_signature.h) | 14 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_logger.h (renamed from gnuradio-core/src/lib/runtime/gr_logger.h) | 39 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_math.h (renamed from gnuradio-core/src/lib/general/gr_math.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_message.h (renamed from gnuradio-core/src/lib/runtime/gr_message.h) | 14 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_misc.h (renamed from gnuradio-core/src/lib/general/gr_misc.h) | 12 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_msg_accepter.h (renamed from gnuradio-core/src/lib/runtime/gr_msg_accepter.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_msg_handler.h (renamed from gnuradio-core/src/lib/runtime/gr_msg_handler.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_msg_queue.h (renamed from gnuradio-core/src/lib/runtime/gr_msg_queue.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_nco.h (renamed from gnuradio-core/src/lib/general/gr_nco.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_preferences.h (renamed from gnuradio-core/src/lib/runtime/gr_preferences.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_prefs.h (renamed from gnuradio-core/src/lib/general/gr_prefs.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_py_feval.h | 51 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_random.h (renamed from gnuradio-core/src/lib/general/gr_random.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_realtime.h (renamed from gnuradio-core/src/lib/runtime/gr_realtime.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_runtime_api.h (renamed from gnuradio-core/src/lib/general/gr_core_api.h) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_runtime_types.h (renamed from gnuradio-core/src/lib/runtime/gr_runtime_types.h) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_select_handler.h (renamed from gnuradio-core/src/lib/runtime/gr_select_handler.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sincos.h (renamed from gnuradio-core/src/lib/general/gr_sincos.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_single_threaded_scheduler.h (renamed from gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sptr_magic.h (renamed from gnuradio-core/src/lib/runtime/gr_sptr_magic.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sync_block.h (renamed from gnuradio-core/src/lib/runtime/gr_sync_block.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sync_decimator.h (renamed from gnuradio-core/src/lib/runtime/gr_sync_decimator.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sync_interpolator.h (renamed from gnuradio-core/src/lib/runtime/gr_sync_interpolator.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_sys_paths.h (renamed from gnuradio-core/src/lib/runtime/gr_sys_paths.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_tagged_stream_block.h (renamed from gnuradio-core/src/lib/runtime/gr_tagged_stream_block.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_tags.h (renamed from gnuradio-core/src/lib/runtime/gr_tags.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_timer.h (renamed from gnuradio-core/src/lib/runtime/gr_timer.h) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_top_block.h (renamed from gnuradio-core/src/lib/runtime/gr_top_block.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_tpb_detail.h (renamed from gnuradio-core/src/lib/runtime/gr_tpb_detail.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_types.h (renamed from gnuradio-core/src/lib/runtime/gr_types.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/gr_unittests.h (renamed from gnuradio-core/src/lib/runtime/gr_unittests.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/include/ice_application_base.h (renamed from gnuradio-core/src/lib/runtime/ice_application_base.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/ice_server_template.h (renamed from gnuradio-core/src/lib/runtime/ice_server_template.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/pycallback_object.h (renamed from gnuradio-core/src/lib/runtime/pycallback_object.h) | 1 | ||||
-rw-r--r-- | gnuradio-runtime/include/random.h (renamed from gnuradio-core/src/lib/general/random.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpccallbackregister_base.h (renamed from gnuradio-core/src/lib/runtime/rpccallbackregister_base.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcmanager.h (renamed from gnuradio-core/src/lib/runtime/rpcmanager.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcmanager_base.h (renamed from gnuradio-core/src/lib/runtime/rpcmanager_base.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcpmtconverters_ice.h (renamed from gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcregisterhelpers.h (renamed from gnuradio-core/src/lib/runtime/rpcregisterhelpers.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_aggregator.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_aggregator.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_base.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_base.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_booter_aggregator.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_booter_base.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_booter_base.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_booter_ice.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_booter_ice.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_ice.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_ice.h) | 5 | ||||
-rw-r--r-- | gnuradio-runtime/include/rpcserver_selector.h (renamed from gnuradio-core/src/lib/runtime/rpcserver_selector.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/include/runtime_block_gateway.h (renamed from gnuradio-core/src/lib/general/gr_block_gateway.h) | 13 | ||||
-rw-r--r-- | gnuradio-runtime/lib/CMakeLists.txt | 257 | ||||
-rw-r--r-- | gnuradio-runtime/lib/ICE_LICENSE (renamed from gnuradio-core/src/lib/runtime/ICE_LICENSE) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/complex_vec_test.cc (renamed from gnuradio-core/src/lib/general/complex_vec_test.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/complex_vec_test.h (renamed from gnuradio-core/src/lib/general/complex_vec_test.h) | 18 | ||||
-rw-r--r-- | gnuradio-runtime/lib/frontend.ice | 152 | ||||
-rwxr-xr-x | gnuradio-runtime/lib/gen_sine_table.py (renamed from gnuradio-core/src/lib/general/gen_sine_table.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gnuradio.ice (renamed from gnuradio-core/src/lib/runtime/gnuradio.ice) | 59 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_basic_block.cc (renamed from gnuradio-core/src/lib/runtime/gr_basic_block.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_block.cc (renamed from gnuradio-core/src/lib/runtime/gr_block.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_block_detail.cc (renamed from gnuradio-core/src/lib/runtime/gr_block_detail.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_block_executor.cc (renamed from gnuradio-core/src/lib/runtime/gr_block_executor.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_block_executor.h (renamed from gnuradio-core/src/lib/runtime/gr_block_executor.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_block_registry.cc (renamed from gnuradio-core/src/lib/runtime/gr_block_registry.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_buffer.cc (renamed from gnuradio-core/src/lib/runtime/gr_buffer.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_circular_file.cc (renamed from gnuradio-core/src/lib/general/gr_circular_file.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_circular_file.h (renamed from gnuradio-core/src/lib/general/gr_circular_file.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_constants.cc.in (renamed from gnuradio-core/src/lib/general/gr_constants.cc.in) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_dispatcher.cc (renamed from gnuradio-core/src/lib/runtime/gr_dispatcher.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_error_handler.cc (renamed from gnuradio-core/src/lib/runtime/gr_error_handler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_fast_atan2f.cc (renamed from gnuradio-core/src/lib/general/gr_fast_atan2f.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_feval.cc (renamed from gnuradio-core/src/lib/general/gr_feval.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_flat_flowgraph.cc (renamed from gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_flat_flowgraph.h (renamed from gnuradio-core/src/lib/runtime/gr_flat_flowgraph.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_flowgraph.cc (renamed from gnuradio-core/src/lib/runtime/gr_flowgraph.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_fxpt.cc (renamed from gnuradio-core/src/lib/general/gr_fxpt.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_hier_block2.cc (renamed from gnuradio-core/src/lib/runtime/gr_hier_block2.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_hier_block2_detail.cc (renamed from gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_hier_block2_detail.h (renamed from gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_io_signature.cc (renamed from gnuradio-core/src/lib/runtime/gr_io_signature.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_local_sighandler.cc (renamed from gnuradio-core/src/lib/runtime/gr_local_sighandler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_local_sighandler.h (renamed from gnuradio-core/src/lib/runtime/gr_local_sighandler.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_logger.cc (renamed from gnuradio-core/src/lib/runtime/gr_logger.cc) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_message.cc (renamed from gnuradio-core/src/lib/runtime/gr_message.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_misc.cc (renamed from gnuradio-core/src/lib/general/gr_misc.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_misc.h (renamed from gnuradio-core/src/lib/general/qa_general.h) | 25 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_msg_accepter.cc (renamed from gnuradio-core/src/lib/runtime/gr_msg_accepter.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_msg_handler.cc (renamed from gnuradio-core/src/lib/runtime/gr_msg_handler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_msg_queue.cc (renamed from gnuradio-core/src/lib/runtime/gr_msg_queue.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_pagesize.cc (renamed from gnuradio-core/src/lib/runtime/gr_pagesize.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_pagesize.h (renamed from gnuradio-core/src/lib/runtime/gr_pagesize.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_preferences.cc (renamed from gnuradio-core/src/lib/runtime/gr_preferences.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_prefs.cc (renamed from gnuradio-core/src/lib/general/gr_prefs.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_random.cc (renamed from gnuradio-core/src/lib/general/gr_random.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_random.h (renamed from gnuradio-core/src/lib/general/qa_general.cc) | 68 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_realtime.cc (renamed from gnuradio-core/src/lib/runtime/gr_realtime.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_reverse.cc (renamed from gnuradio-core/src/lib/general/gr_reverse.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_reverse.h (renamed from gnuradio-core/src/lib/general/gr_reverse.h) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler.cc (renamed from gnuradio-core/src/lib/runtime/gr_scheduler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler.h (renamed from gnuradio-core/src/lib/runtime/gr_scheduler.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler_sts.cc (renamed from gnuradio-core/src/lib/runtime/gr_scheduler_sts.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler_sts.h (renamed from gnuradio-core/src/lib/runtime/gr_scheduler_sts.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler_tpb.cc (renamed from gnuradio-core/src/lib/runtime/gr_scheduler_tpb.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_scheduler_tpb.h (renamed from gnuradio-core/src/lib/runtime/gr_scheduler_tpb.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_select_handler.cc (renamed from gnuradio-core/src/lib/runtime/gr_select_handler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sincos.c (renamed from gnuradio-core/src/lib/general/gr_sincos.c) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_single_threaded_scheduler.cc (renamed from gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sptr_magic.cc (renamed from gnuradio-core/src/lib/runtime/gr_sptr_magic.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sync_block.cc (renamed from gnuradio-core/src/lib/runtime/gr_sync_block.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sync_decimator.cc (renamed from gnuradio-core/src/lib/runtime/gr_sync_decimator.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sync_interpolator.cc (renamed from gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_sys_paths.cc (renamed from gnuradio-core/src/lib/runtime/gr_sys_paths.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_tagged_stream_block.cc (renamed from gnuradio-core/src/lib/runtime/gr_tagged_stream_block.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_test.cc (renamed from gnuradio-core/src/lib/general/gr_test.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_test.h (renamed from gnuradio-core/src/lib/general/gr_test.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_test_types.h (renamed from gnuradio-core/src/lib/general/gr_test_types.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_top_block.cc (renamed from gnuradio-core/src/lib/runtime/gr_top_block.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_top_block_impl.cc (renamed from gnuradio-core/src/lib/runtime/gr_top_block_impl.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_top_block_impl.h (renamed from gnuradio-core/src/lib/runtime/gr_top_block_impl.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_tpb_detail.cc (renamed from gnuradio-core/src/lib/runtime/gr_tpb_detail.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_tpb_thread_body.cc (renamed from gnuradio-core/src/lib/runtime/gr_tpb_thread_body.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_tpb_thread_body.h (renamed from gnuradio-core/src/lib/runtime/gr_tpb_thread_body.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vco.h (renamed from gnuradio-core/src/lib/general/gr_vco.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf.cc (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf.h (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.cc (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.h (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.cc (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.h (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.cc (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.h (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.cc (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.h (renamed from gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.h) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gri_debugger_hook.cc (renamed from gnuradio-core/src/lib/general/gri_debugger_hook.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/gri_debugger_hook.h (renamed from gnuradio-core/src/lib/general/gri_debugger_hook.h) | 4 | ||||
-rw-r--r-- | gnuradio-runtime/lib/ice_application_base.cc (renamed from gnuradio-core/src/lib/runtime/ice_application_base.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/malloc16.c (renamed from gnuradio-core/src/lib/general/malloc16.c) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/malloc16.h (renamed from gnuradio-core/src/lib/general/malloc16.h) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/lib/posix_memalign.cc (renamed from gnuradio-core/src/lib/missing/posix_memalign.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/posix_memalign.h (renamed from gnuradio-core/src/lib/missing/posix_memalign.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_buffer.cc (renamed from gnuradio-core/src/lib/runtime/qa_gr_buffer.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_buffer.h (renamed from gnuradio-core/src/lib/runtime/qa_gr_buffer.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_circular_file.cc (renamed from gnuradio-core/src/lib/general/qa_gr_circular_file.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_circular_file.h (renamed from gnuradio-core/src/lib/general/qa_gr_circular_file.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt.cc (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt.h (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt_nco.cc (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt_nco.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt_nco.h (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt_nco.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt_vco.cc (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt_vco.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_fxpt_vco.h (renamed from gnuradio-core/src/lib/general/qa_gr_fxpt_vco.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_io_signature.cc (renamed from gnuradio-core/src/lib/runtime/qa_gr_io_signature.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_io_signature.h (renamed from gnuradio-core/src/lib/runtime/qa_gr_io_signature.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_logger.cc (renamed from gnuradio-core/src/lib/runtime/qa_gr_logger.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_logger.h (renamed from gnuradio-core/src/lib/runtime/qa_gr_logger.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_math.cc (renamed from gnuradio-core/src/lib/general/qa_gr_math.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_math.h (renamed from gnuradio-core/src/lib/general/qa_gr_math.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_vmcircbuf.cc (renamed from gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_gr_vmcircbuf.h (renamed from gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_runtime.cc (renamed from gnuradio-core/src/lib/runtime/qa_runtime.cc) | 28 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_runtime.h (renamed from gnuradio-core/src/lib/runtime/qa_runtime.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_sincos.cc (renamed from gnuradio-core/src/lib/general/qa_sincos.cc) | 78 | ||||
-rw-r--r-- | gnuradio-runtime/lib/qa_sincos.h (renamed from gr-howto-write-a-block/lib/qa_howto.h) | 25 | ||||
-rw-r--r-- | gnuradio-runtime/lib/random.h (renamed from gnuradio-core/src/lib/general/qa_sincos.h) | 35 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcmanager.cc (renamed from gnuradio-core/src/lib/runtime/rpcmanager.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcpmtconverters_ice.cc (renamed from gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcserver_aggregator.cc (renamed from gnuradio-core/src/lib/runtime/rpcserver_aggregator.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcserver_booter_aggregator.cc (renamed from gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcserver_booter_ice.cc (renamed from gnuradio-core/src/lib/runtime/rpcserver_booter_ice.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcserver_ice.cc (renamed from gnuradio-core/src/lib/runtime/rpcserver_ice.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/rpcserver_selector.cc (renamed from gnuradio-core/src/lib/runtime/rpcserver_selector.cc) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/runtime_block_gateway.cc (renamed from gnuradio-core/src/lib/general/gr_block_gateway.cc) | 13 | ||||
-rw-r--r-- | gnuradio-runtime/lib/sine_table.h (renamed from gnuradio-core/src/lib/general/sine_table.h) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/lib/test_runtime.cc (renamed from gnuradio-core/src/tests/test_general.cc) | 10 | ||||
-rw-r--r-- | gnuradio-runtime/python/CMakeLists.txt (renamed from gr-howto-write-a-block/apps/CMakeLists.txt) | 9 | ||||
-rw-r--r-- | gnuradio-runtime/python/build_utils.py (renamed from gnuradio-core/src/python/build_utils.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/build_utils_codes.py (renamed from gnuradio-core/src/python/build_utils_codes.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/CMakeLists.txt (renamed from gnuradio-core/src/python/gnuradio/CMakeLists.txt) | 8 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/__init__.py (renamed from gnuradio-core/src/python/gnuradio/__init__.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/CMakeLists.txt (renamed from gnuradio-core/src/python/gnuradio/ctrlport/CMakeLists.txt) | 31 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py (renamed from gnuradio-core/src/python/gnuradio/ctrlport/GrDataPlotter.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/IceRadioClient.py (renamed from gnuradio-core/src/python/gnuradio/ctrlport/IceRadioClient.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/__init__.py (renamed from gnuradio-core/src/python/gnuradio/ctrlport/__init__.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-curses (renamed from gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-curses) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor (renamed from gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-monitor) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitor (renamed from gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitor) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx (renamed from gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitorx) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/icon.png (renamed from gnuradio-core/src/python/gnuradio/ctrlport/icon.png) | bin | 1532 -> 1532 bytes | |||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/ctrlport/monitor.py (renamed from gnuradio-core/src/python/gnuradio/ctrlport/monitor.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/eng_notation.py (renamed from gnuradio-core/src/python/gnuradio/eng_notation.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/eng_option.py (renamed from gnuradio-core/src/python/gnuradio/eng_option.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt (renamed from gnuradio-core/src/python/gnuradio/gr/CMakeLists.txt) | 7 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/__init__.py (renamed from gnuradio-core/src/python/gnuradio/gr/__init__.py) | 6 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/exceptions.py (renamed from gnuradio-core/src/python/gnuradio/gr/exceptions.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/gateway.py (renamed from gnuradio-core/src/python/gnuradio/gr/gateway.py) | 22 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/gr_threading.py (renamed from gnuradio-core/src/python/gnuradio/gr/gr_threading.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/gr_threading_23.py (renamed from gnuradio-core/src/python/gnuradio/gr/gr_threading_23.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/gr_threading_24.py (renamed from gnuradio-core/src/python/gnuradio/gr/gr_threading_24.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/hier_block2.py (renamed from gnuradio-core/src/python/gnuradio/gr/hier_block2.py) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/prefs.py (renamed from gnuradio-core/src/python/gnuradio/gr/prefs.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/pubsub.py (renamed from gnuradio-core/src/python/gnuradio/gr/pubsub.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gr/qa_feval.py (renamed from gnuradio-core/src/python/gnuradio/gr/qa_feval.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gr/qa_kludged_imports.py (renamed from gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gr/qa_tag_utils.py (renamed from gnuradio-core/src/python/gnuradio/gr/qa_tag_utils.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/tag_utils.py (renamed from gnuradio-core/src/python/gnuradio/gr/tag_utils.py) | 5 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr/top_block.py (renamed from gnuradio-core/src/python/gnuradio/gr/top_block.py) | 3 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gr_unittest.py (renamed from gnuradio-core/src/python/gnuradio/gr_unittest.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gr_xmlrunner.py (renamed from gnuradio-core/src/python/gnuradio/gr_xmlrunner.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/CMakeLists.txt (renamed from gnuradio-core/src/python/gnuradio/gruimpl/CMakeLists.txt) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/__init__.py | 13 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/daemon.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/daemon.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/freqz.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/freqz.py) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gru/gnuplot_freqz.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/gnuplot_freqz.py) | 2 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/hexint.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/hexint.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/listmisc.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/listmisc.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/mathmisc.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/mathmisc.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/msgq_runner.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/msgq_runner.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/os_read_exactly.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/os_read_exactly.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/seq_with_cursor.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/seq_with_cursor.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/python/gnuradio/gru/socket_stuff.py (renamed from gnuradio-core/src/python/gnuradio/gruimpl/socket_stuff.py) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/CMakeLists.txt | 101 | ||||
-rw-r--r-- | gnuradio-runtime/swig/complex_vec_test.i (renamed from gnuradio-core/src/lib/general/complex_vec_test.i) | 0 | ||||
-rwxr-xr-x | gnuradio-runtime/swig/gen-swig-bug-fix (renamed from gnuradio-core/src/lib/swig/gen-swig-bug-fix) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gnuradio.i (renamed from gnuradio-core/src/lib/swig/gnuradio.i) | 11 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gnuradio_swig_bug_workaround.h (renamed from gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h) | 1 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_basic_block.i (renamed from gnuradio-core/src/lib/runtime/gr_basic_block.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_block.i (renamed from gnuradio-core/src/lib/runtime/gr_block.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_block_detail.i (renamed from gnuradio-core/src/lib/runtime/gr_block_detail.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_buffer.i (renamed from gnuradio-core/src/lib/runtime/gr_buffer.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_constants.i (renamed from gnuradio-core/src/lib/general/gr_constants.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_dispatcher.i (renamed from gnuradio-core/src/lib/runtime/gr_dispatcher.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_error_handler.i (renamed from gnuradio-core/src/lib/runtime/gr_error_handler.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_feval.i (renamed from gnuradio-core/src/lib/general/gr_feval.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_hier_block2.i (renamed from gnuradio-core/src/lib/runtime/gr_hier_block2.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_io_signature.i (renamed from gnuradio-core/src/lib/runtime/gr_io_signature.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_logger.i (renamed from gnuradio-core/src/lib/runtime/gr_logger.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_message.i (renamed from gnuradio-core/src/lib/runtime/gr_message.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_msg_handler.i (renamed from gnuradio-core/src/lib/runtime/gr_msg_handler.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_msg_queue.i (renamed from gnuradio-core/src/lib/runtime/gr_msg_queue.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_prefs.i (renamed from gnuradio-core/src/lib/general/gr_prefs.i) | 5 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_realtime.i (renamed from gnuradio-core/src/lib/runtime/gr_realtime.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_shared_ptr.i (renamed from gnuradio-core/src/lib/swig/gr_shared_ptr.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_single_threaded_scheduler.i (renamed from gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_swig_block_magic.i (renamed from gnuradio-core/src/lib/swig/gr_swig_block_magic.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_sync_block.i (renamed from gnuradio-core/src/lib/runtime/gr_sync_block.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_sync_decimator.i (renamed from gnuradio-core/src/lib/runtime/gr_sync_decimator.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_sync_interpolator.i (renamed from gnuradio-core/src/lib/runtime/gr_sync_interpolator.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_tagged_stream_block.i (renamed from gnuradio-core/src/lib/runtime/gr_tagged_stream_block.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_tags.i (renamed from gnuradio-core/src/lib/runtime/gr_tags.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/gr_top_block.i (renamed from gnuradio-core/src/lib/runtime/gr_top_block.i) | 0 | ||||
-rw-r--r-- | gnuradio-runtime/swig/runtime_block_gateway.i (renamed from gnuradio-core/src/lib/general/gr_block_gateway.i) | 18 | ||||
-rw-r--r-- | gnuradio-runtime/swig/runtime_swig.i (renamed from gnuradio-core/src/lib/runtime/runtime.i) | 53 | ||||
-rw-r--r-- | gr-analog/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-analog/gnuradio-analog.pc.in | 2 | ||||
-rw-r--r-- | gr-analog/include/analog/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-analog/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-analog/lib/test_gr_analog.cc | 4 | ||||
-rw-r--r-- | gr-analog/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-analog/swig/analog_swig.i | 2 | ||||
-rw-r--r-- | gr-atsc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-atsc/gnuradio-atsc.pc.in | 2 | ||||
-rw-r--r-- | gr-atsc/lib/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-atsc/lib/test_atsci.cc | 4 | ||||
-rw-r--r-- | gr-atsc/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-atsc/swig/atsc_swig.i | 2 | ||||
-rw-r--r-- | gr-audio/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-audio/examples/c++/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-audio/gnuradio-audio.pc.in | 2 | ||||
-rw-r--r-- | gr-audio/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-audio/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-audio/swig/audio_swig.i | 2 | ||||
-rw-r--r-- | gr-blocks/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-blocks/gnuradio-blocks.pc.in | 2 | ||||
-rw-r--r-- | gr-blocks/include/blocks/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-blocks/include/blocks/pdu.h | 2 | ||||
-rw-r--r-- | gr-blocks/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-blocks/lib/pdu.cc | 2 | ||||
-rw-r--r-- | gr-blocks/lib/tagged_stream_to_pdu_impl.cc | 4 | ||||
-rw-r--r-- | gr-blocks/lib/test_gr_blocks.cc | 4 | ||||
-rw-r--r-- | gr-blocks/python/CMakeLists.txt | 13 | ||||
-rw-r--r-- | gr-blocks/swig/CMakeLists.txt | 3 | ||||
-rw-r--r-- | gr-blocks/swig/blocks_swig.i | 2 | ||||
-rw-r--r-- | gr-blocks/tests/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-channels/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-channels/gnuradio-channels.pc.in | 2 | ||||
-rw-r--r-- | gr-channels/lib/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-channels/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-channels/swig/channels_swig.i | 2 | ||||
-rw-r--r-- | gr-comedi/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-comedi/gnuradio-comedi.pc.in | 2 | ||||
-rw-r--r-- | gr-comedi/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-comedi/src/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-comedi/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-comedi/swig/comedi_swig.i | 2 | ||||
-rw-r--r-- | gr-digital/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-digital/gnuradio-digital.pc.in | 2 | ||||
-rw-r--r-- | gr-digital/include/digital/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-digital/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-digital/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-digital/swig/digital_swig.i | 2 | ||||
-rw-r--r-- | gr-fcd/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-fcd/examples/c++/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fcd/gnuradio-fcd.pc.in | 2 | ||||
-rw-r--r-- | gr-fcd/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-fcd/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fcd/swig/fcd_swig.i | 2 | ||||
-rw-r--r-- | gr-fec/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fec/gnuradio-fec.pc.in | 2 | ||||
-rw-r--r-- | gr-fec/include/fec/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fec/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-fec/lib/viterbi/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fec/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fec/swig/fec_swig.i | 2 | ||||
-rw-r--r-- | gr-fft/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fft/gnuradio-fft.pc.in | 2 | ||||
-rw-r--r-- | gr-fft/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-fft/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-fft/swig/fft_swig.i | 2 | ||||
-rw-r--r-- | gr-filter/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-filter/gnuradio-filter.pc.in | 2 | ||||
-rw-r--r-- | gr-filter/include/filter/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-filter/lib/CMakeLists.txt | 10 | ||||
-rw-r--r-- | gr-filter/lib/test_gr_filter.cc | 4 | ||||
-rw-r--r-- | gr-filter/swig/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-filter/swig/filter_swig.i | 2 | ||||
-rw-r--r-- | gr-howto-write-a-block/CMakeLists.txt | 151 | ||||
-rw-r--r-- | gr-howto-write-a-block/apps/howto_square.grc | 345 | ||||
-rwxr-xr-x | gr-howto-write-a-block/apps/howto_square.py | 87 | ||||
-rw-r--r-- | gr-howto-write-a-block/apps/howto_square_qt.grc | 285 | ||||
-rwxr-xr-x | gr-howto-write-a-block/apps/howto_square_qt.py | 100 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/CMakeParseArgumentsCopy.cmake | 138 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/FindCppUnit.cmake | 36 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/FindGnuradioCore.cmake | 26 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/FindGruel.cmake | 26 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/FindLog4cpp.cmake | 58 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/GrMiscUtils.cmake | 253 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/GrPlatform.cmake | 46 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/GrPython.cmake | 227 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/GrSwig.cmake | 229 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/Modules/GrTest.cmake | 133 | ||||
-rw-r--r-- | gr-howto-write-a-block/cmake/cmake_uninstall.cmake.in | 32 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/README.howto | 11 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/CMakeLists.txt | 52 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/Doxyfile.in | 1492 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/Doxyfile.swig_doc.in | 1497 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/__init__.py | 82 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/base.py | 219 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/doxyindex.py | 288 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/Doxyfile | 1534 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.cc | 50 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.h | 44 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml | 88 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml | 72 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/classAadvark.xml | 86 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/combine.xslt | 15 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/compound.xsd | 814 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xml | 17 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xsd | 66 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/generated/__init__.py | 7 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compound.py | 503 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compoundsuper.py | 8342 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/generated/index.py | 77 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/generated/indexsuper.py | 523 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/doxyxml/text.py | 56 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/other/group_defs.dox | 7 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/other/main_page.dox | 10 | ||||
-rw-r--r-- | gr-howto-write-a-block/docs/doxygen/swig_doc.py | 326 | ||||
-rw-r--r-- | gr-howto-write-a-block/grc/CMakeLists.txt | 24 | ||||
-rw-r--r-- | gr-howto-write-a-block/grc/howto_square2_ff.xml | 18 | ||||
-rw-r--r-- | gr-howto-write-a-block/grc/howto_square_ff.xml | 18 | ||||
-rw-r--r-- | gr-howto-write-a-block/include/howto/CMakeLists.txt | 28 | ||||
-rw-r--r-- | gr-howto-write-a-block/include/howto/api.h | 33 | ||||
-rw-r--r-- | gr-howto-write-a-block/include/howto/square2_ff.h | 68 | ||||
-rw-r--r-- | gr-howto-write-a-block/include/howto/square_ff.h | 68 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/CMakeLists.txt | 75 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/qa_howto.cc | 41 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/qa_square2_ff.cc | 63 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/qa_square2_ff.h | 46 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/qa_square_ff.cc | 63 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/qa_square_ff.h | 46 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/square2_ff_impl.cc | 98 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/square2_ff_impl.h | 51 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/square_ff_impl.cc | 105 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/square_ff_impl.h | 52 | ||||
-rw-r--r-- | gr-howto-write-a-block/lib/test_howto.cc | 43 | ||||
-rw-r--r-- | gr-howto-write-a-block/python/CMakeLists.txt | 45 | ||||
-rw-r--r-- | gr-howto-write-a-block/python/__init__.py | 31 | ||||
-rw-r--r-- | gr-howto-write-a-block/python/qa_howto.py | 73 | ||||
-rw-r--r-- | gr-howto-write-a-block/python/square3_ff.py | 47 | ||||
-rw-r--r-- | gr-howto-write-a-block/swig/CMakeLists.txt | 63 | ||||
-rw-r--r-- | gr-howto-write-a-block/swig/howto_swig.i | 19 | ||||
-rw-r--r-- | gr-noaa/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-noaa/gnuradio-noaa.pc.in | 2 | ||||
-rw-r--r-- | gr-noaa/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-noaa/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-noaa/swig/noaa_swig.i | 2 | ||||
-rw-r--r-- | gr-pager/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-pager/gnuradio-pager.pc.in | 2 | ||||
-rw-r--r-- | gr-pager/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-pager/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-pager/swig/pager_swig.i | 2 | ||||
-rw-r--r-- | gr-qtgui/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-qtgui/gnuradio-qtgui.pc.in | 2 | ||||
-rw-r--r-- | gr-qtgui/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-qtgui/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-qtgui/swig/qtgui_swig.i | 2 | ||||
-rw-r--r-- | gr-shd/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-shd/gnuradio-shd.pc.in | 2 | ||||
-rw-r--r-- | gr-shd/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-shd/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-shd/swig/shd_swig.i | 2 | ||||
-rw-r--r-- | gr-trellis/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-trellis/gnuradio-trellis.pc.in | 2 | ||||
-rw-r--r-- | gr-trellis/include/trellis/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-trellis/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-trellis/src/lib/CMakeLists.txt | 8 | ||||
-rw-r--r-- | gr-trellis/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-trellis/swig/trellis_swig.i | 2 | ||||
-rw-r--r-- | gr-uhd/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-uhd/examples/c++/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-uhd/gnuradio-uhd.pc.in | 2 | ||||
-rw-r--r-- | gr-uhd/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-uhd/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-uhd/swig/uhd_swig.i | 2 | ||||
-rw-r--r-- | gr-utils/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-utils/octave/cic_comp_taps.m (renamed from gnuradio-core/src/utils/cic_comp_taps.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/cool.m (renamed from gnuradio-core/src/utils/cool.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/db_width.m (renamed from gnuradio-core/src/utils/db_width.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/filter_tools.m (renamed from gnuradio-core/src/utils/filter_tools.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/is_complex.m (renamed from gnuradio-core/src/utils/is_complex.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/lp_to_bp.m (renamed from gnuradio-core/src/utils/lp_to_bp.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plot_cic_decimator_response.m (renamed from gnuradio-core/src/utils/plot_cic_decimator_response.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plot_freq_response.m (renamed from gnuradio-core/src/utils/plot_freq_response.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plot_freq_response_db.m (renamed from gnuradio-core/src/utils/plot_freq_response_db.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plot_freq_response_phase.m (renamed from gnuradio-core/src/utils/plot_freq_response_phase.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plotfft.m (renamed from gnuradio-core/src/utils/plotfft.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plotfftavgk.m (renamed from gnuradio-core/src/utils/plotfftavgk.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plotfftavgk_db.m (renamed from gnuradio-core/src/utils/plotfftavgk_db.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plotfftk.m (renamed from gnuradio-core/src/utils/plotfftk.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/plotfftk_db.m (renamed from gnuradio-core/src/utils/plotfftk_db.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/put_markers.m (renamed from gnuradio-core/src/utils/put_markers.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/rainbow.m (renamed from gnuradio-core/src/utils/rainbow.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_char_binary.m (renamed from gnuradio-core/src/utils/read_char_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_complex_binary.m (renamed from gnuradio-core/src/utils/read_complex_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_cshort_binary.m (renamed from gnuradio-core/src/utils/read_cshort_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_float_binary.m (renamed from gnuradio-core/src/utils/read_float_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_int_binary.m (renamed from gnuradio-core/src/utils/read_int_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_short_binary.m (renamed from gnuradio-core/src/utils/read_short_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/read_xambi.m (renamed from gnuradio-core/src/utils/read_xambi.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/runsum.m (renamed from gnuradio-core/src/utils/runsum.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/single_pole_iir.m (renamed from gnuradio-core/src/utils/single_pole_iir.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/split_vect.m (renamed from gnuradio-core/src/utils/split_vect.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/write_float_binary.m (renamed from gnuradio-core/src/utils/write_float_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/octave/write_short_binary.m (renamed from gnuradio-core/src/utils/write_short_binary.m) | 0 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/CMakeLists.txt | 10 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioCore.cmake | 26 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioRuntime.cmake | 26 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/docs/doxygen/Doxyfile.in | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/lib/test_howto.cc | 4 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/gr-newmod/swig/howto_swig.i | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_base.py | 2 | ||||
-rw-r--r-- | gr-utils/python/modtool/modtool_info.py | 4 | ||||
-rw-r--r-- | gr-video-sdl/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-video-sdl/gnuradio-video-sdl.pc.in | 2 | ||||
-rw-r--r-- | gr-video-sdl/lib/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-video-sdl/src/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-video-sdl/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-video-sdl/swig/video_sdl_swig.i | 2 | ||||
-rw-r--r-- | gr-vocoder/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-vocoder/gnuradio-vocoder.pc.in | 2 | ||||
-rw-r--r-- | gr-vocoder/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-vocoder/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-vocoder/swig/vocoder_swig.i | 2 | ||||
-rw-r--r-- | gr-wavelet/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-wavelet/gnuradio-wavelet.pc.in | 2 | ||||
-rw-r--r-- | gr-wavelet/lib/CMakeLists.txt | 6 | ||||
-rw-r--r-- | gr-wavelet/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-wavelet/swig/wavelet_swig.i | 2 | ||||
-rw-r--r-- | gr-wxgui/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-wxgui/gr-wxgui.pc.in | 2 | ||||
-rw-r--r-- | gr-wxgui/lib/CMakeLists.txt | 4 | ||||
-rw-r--r-- | gr-wxgui/swig/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gr-wxgui/swig/wxgui_swig.i | 2 | ||||
-rw-r--r-- | grc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gruel/CMakeLists.txt | 2 | ||||
-rw-r--r-- | gruel/src/python/CMakeLists.txt | 2 |
586 files changed, 1527 insertions, 24093 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9caa87f2f9..3776a3e9a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -256,20 +256,27 @@ install( ######################################################################## # The following dependency libraries are needed by all gr modules: ######################################################################## -list(APPEND GR_TEST_TARGET_DEPS volk gruel gnuradio-core) +list(APPEND GR_TEST_TARGET_DEPS volk gruel gnuradio-runtime) list(APPEND GR_TEST_PYTHON_DIRS ${CMAKE_SOURCE_DIR}/gruel/src/python ${CMAKE_BINARY_DIR}/gruel/src/swig - ${CMAKE_BINARY_DIR}/gnuradio-core/src/python - ${CMAKE_BINARY_DIR}/gnuradio-core/src/lib/swig + ${CMAKE_BINARY_DIR}/gnuradio-runtime/python + ${CMAKE_SOURCE_DIR}/gnuradio-runtime/python + ${CMAKE_BINARY_DIR}/gnuradio-runtime/swig ) +# Note that above we put the binary gnuradio-runtime/python directory +# before the source directory. This is due to a quirk with ControlPort +# and how slice generates files and names. We want the QA and +# installed code to import the same names, so we have to grab from the +# binary directory first. + ######################################################################## # Add subdirectories (in order of deps) ######################################################################## add_subdirectory(docs) add_subdirectory(gruel) -add_subdirectory(gnuradio-core) +add_subdirectory(gnuradio-runtime) add_subdirectory(gr-blocks) add_subdirectory(grc) add_subdirectory(gr-fec) diff --git a/cmake/Modules/FindGnuradio.cmake b/cmake/Modules/FindGnuradio.cmake index 14498488f2..bd45a95819 100644 --- a/cmake/Modules/FindGnuradio.cmake +++ b/cmake/Modules/FindGnuradio.cmake @@ -2,11 +2,11 @@ INCLUDE(FindPkgConfig) INCLUDE(FindPackageHandleStandardArgs)
# a subset of required modules can be set using the following syntax
-#set(GR_REQUIRED_MODULES CORE BLOCKS)
+#set(GR_REQUIRED_MODULES RUNTIME BLOCKS)
# if GR_REQUIRED_MODULES is not defined, it will be set to the following list (all of them)
if(NOT GR_REQUIRED_MODULES)
- set(GR_REQUIRED_MODULES CORE ANALOG ATSC AUDIO BLOCKS CHANNELS DIGITAL FEC FFT FILTER NOAA PAGER QTGUI TRELLIS UHD VOCODER WAVELET)
+ set(GR_REQUIRED_MODULES RUNTIME ANALOG ATSC AUDIO BLOCKS CHANNELS DIGITAL FEC FFT FILTER NOAA PAGER QTGUI TRELLIS UHD VOCODER WAVELET)
endif()
set(GNURADIO_ALL_LIBRARIES "")
@@ -43,7 +43,7 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE) FIND_PATH(
${INCVAR_NAME}
NAMES ${INCFILE}
- HINTS $ENV{GNURADIO_CORE_DIR}/include/gnuradio
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/include/gnuradio
${PC_INCDIR}
${CMAKE_INSTALL_PREFIX}/include/gnuradio
PATHS /usr/local/include/gnuradio
@@ -54,7 +54,7 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE) FIND_LIBRARY(
${LIBVAR_NAME}
NAMES ${LIBFILE}
- HINTS $ENV{GNURADIO_CORE_DIR}/lib
+ HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
${PC_LIBDIR}
${CMAKE_INSTALL_PREFIX}/lib/
${CMAKE_INSTALL_PREFIX}/lib64/
@@ -85,7 +85,8 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE) endfunction()
-GR_MODULE(CORE gnuradio-core gr_top_block.h gnuradio-core)
+GR_MODULE(CORE gnuradio-runtime gr_top_block.h gnuradio-runtime)
+GR_MODULE(RUNTIME gnuradio-runtime gr_top_block.h gnuradio-runtime)
GR_MODULE(ANALOG gnuradio-analog analog/noise_type.h gnuradio-analog)
GR_MODULE(ATSC gnuradio-atsc atsc_api.h gnuradio-atsc)
GR_MODULE(AUDIO gnuradio-audio audio/sink.h gnuradio-audio)
diff --git a/cmake/Modules/GrSwig.cmake b/cmake/Modules/GrSwig.cmake index b9bf0bb0b9..b6af0584ec 100644 --- a/cmake/Modules/GrSwig.cmake +++ b/cmake/Modules/GrSwig.cmake @@ -111,7 +111,7 @@ macro(GR_SWIG_MAKE name) set(GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS}) GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS}) add_custom_target(${name}_swig_doc DEPENDS ${GR_SWIG_DOC_FILE}) - list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc) + list(APPEND GR_SWIG_TARGET_DEPS ${name}_swig_doc ${GR_RUNTIME_SWIG_DOC_FILE}) endif() #append additional include directories diff --git a/gnuradio-core/gnuradio-core.pc.in b/gnuradio-core/gnuradio-core.pc.in deleted file mode 100644 index 2de9a32e7f..0000000000 --- a/gnuradio-core/gnuradio-core.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@/gnuradio - -Name: gnuradio-core -Description: GNU Software Radio toolkit -Requires: gruel fftw3f -Version: @LIBVER@ -Libs.private: @BOOST_LDFLAGS@ @BOOST_THREAD_LIB@ @BOOST_DATE_TIME_LIB@ -Libs: -L${libdir} -lgnuradio-core -Cflags: @BOOST_CPPFLAGS@ @BOOST_CXXFLAGS@ -I${includedir} diff --git a/gnuradio-core/src/lib/CMakeLists.txt b/gnuradio-core/src/lib/CMakeLists.txt deleted file mode 100644 index c72be94db5..0000000000 --- a/gnuradio-core/src/lib/CMakeLists.txt +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 2010-2011,2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Setup compatibility checks and defines -######################################################################## -include(${CMAKE_CURRENT_SOURCE_DIR}/ConfigChecks.cmake) - -######################################################################## -# Include subdirs rather to populate to the sources lists. -######################################################################## -GR_INCLUDE_SUBDIRECTORY(missing) -GR_INCLUDE_SUBDIRECTORY(runtime) -GR_INCLUDE_SUBDIRECTORY(general) - -list(APPEND gnuradio_core_sources bug_work_around_6.cc) -list(APPEND test_gnuradio_core_sources bug_work_around_6.cc) - -######################################################################## -# Set up Windows DLL resource files -######################################################################## - -IF(MSVC) - include(${CMAKE_SOURCE_DIR}/cmake/Modules/GrVersion.cmake) - - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-core.rc.in - ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.rc - @ONLY) - - list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.rc) -ENDIF(MSVC) - -######################################################################## -# Setup the include and linker paths -######################################################################## -include_directories( - ${GNURADIO_CORE_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${GRUEL_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${FFTW3F_INCLUDE_DIRS} -) - -link_directories( - ${Boost_LIBRARY_DIRS} - ${FFTW3F_LIBRARY_DIRS} -) - -include_directories(${LOG4CPP_INCLUDE_DIRS}) -link_directories(${LOG4CPP_LIBRARY_DIRS}) - -######################################################################## -# Setup library -######################################################################## - -# Only use if log4cpp is installed -# Define ENABLE_GR_LOG so .h and .cc files can turn actual -# logging and insert dummy functions. -#if(LOG4CPP_FOUND) -# add_definitions(-DENABLE_GR_LOG) -#endif(LOG4CPP_FOUND) - -list(APPEND gnuradio_core_libs - gruel - ${Boost_LIBRARIES} - ${FFTW3F_LIBRARIES} - ${LOG4CPP_LIBRARIES} -) - -if(FFTW3F_THREADS_LIBRARIES) - list(APPEND gnuradio_core_libs ${FFTW3F_THREADS_LIBRARIES} ) - add_definitions("-DFFTW3F_THREADS") -endif() - -#need to link with librt on ubuntu 11.10 for shm_* -if(LINUX) - list(APPEND gnuradio_core_libs rt) -endif() - -# Link against libvolk -list(APPEND gnuradio_core_libs volk) - -if(ENABLE_GR_CTRLPORT) - -######################################################################## -# Run ICE To compile Slice files -######################################################################## -EXECUTE_PROCESS( - COMMAND "${ICE_SLICE2CPP}" "-I${CMAKE_CURRENT_SOURCE_DIR}/runtime" - "--output-dir=${CMAKE_CURRENT_BINARY_DIR}" - "${CMAKE_CURRENT_SOURCE_DIR}/runtime/gnuradio.ice" - ) - -# Append generated file in build directory -list(APPEND gnuradio_core_generated_sources - ${CMAKE_CURRENT_BINARY_DIR}/gnuradio.cpp -) - -list(APPEND gnuradio_core_generated_includes - ${CMAKE_CURRENT_BINARY_DIR}/gnuradio.h -) - -######################################################################## -# Add controlport stuff to gnuradio-core -######################################################################## - -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - -list(APPEND gnuradio_core_libs - ${ICE_LIBRARIES} -) - -endif(ENABLE_GR_CTRLPORT) - -add_library(gnuradio-core SHARED ${gnuradio_core_sources} ${gnuradio_core_generated_sources}) -target_link_libraries(gnuradio-core ${gnuradio_core_libs}) -GR_LIBRARY_FOO(gnuradio-core RUNTIME_COMPONENT "core_runtime" DEVEL_COMPONENT "core_devel") -set_target_properties(gnuradio-core PROPERTIES LINK_INTERFACE_LIBRARIES "gruel") -ADD_DEPENDENCIES(gnuradio-core - gnuradio_core_generated_sources - gnuradio_core_generated_includes - gnuradio_core_generated_swigs) - -######################################################################## -# Setup executables -######################################################################## -add_executable(gnuradio-config-info gnuradio-config-info.cc) -target_link_libraries(gnuradio-config-info gnuradio-core ${Boost_LIBRARIES}) -install( - TARGETS gnuradio-config-info - DESTINATION ${GR_RUNTIME_DIR} - COMPONENT "core_runtime" -) - -######################################################################## -# Setup tests -######################################################################## -if(ENABLE_TESTING) - -include_directories(${CPPUNIT_INCLUDE_DIRS}) -link_directories(${CPPUNIT_LIBRARY_DIRS}) - -add_library(test-gnuradio-core SHARED ${test_gnuradio_core_sources}) -target_link_libraries(test-gnuradio-core gnuradio-core ${CPPUNIT_LIBRARIES} ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES}) - -endif(ENABLE_TESTING) diff --git a/gnuradio-core/src/lib/bug_work_around_6.cc b/gnuradio-core/src/lib/bug_work_around_6.cc deleted file mode 100644 index f8012af0dc..0000000000 --- a/gnuradio-core/src/lib/bug_work_around_6.cc +++ /dev/null @@ -1,3 +0,0 @@ -// if libgrio has no sources, it doesn't get built correctly -#include <gruel/attributes.h> -static int gr_bug_work_around_6 __GR_ATTR_UNUSED; diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt deleted file mode 100644 index d85039fe60..0000000000 --- a/gnuradio-core/src/lib/general/CMakeLists.txt +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2010-2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# This file included, use CMake directory variables -######################################################################## - -######################################################################## -# Handle the generated sine table -######################################################################## -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gen_sine_table.py - COMMAND ${PYTHON_EXECUTABLE} - ${CMAKE_CURRENT_SOURCE_DIR}/gen_sine_table.py > - ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h -) - -include(AddFileDependencies) -ADD_FILE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.cc - ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h -) - -add_custom_target(general_generated DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/sine_table.h -) - -######################################################################## -# Handle the generated constants -######################################################################## -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c - "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" - OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE -) -message(STATUS "Loading build date ${BUILD_DATE} into gr_constants...") - -message(STATUS "Loading version ${VERSION} into gr_constants...") - -#double escape for windows backslash path separators -string(REPLACE "\\" "\\\\" prefix ${prefix}) -string(REPLACE "\\" "\\\\" SYSCONFDIR ${SYSCONFDIR}) -string(REPLACE "\\" "\\\\" GR_PREFSDIR ${GR_PREFSDIR}) - -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.cc.in - ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc -@ONLY) - -list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc) - -######################################################################## -# Append gnuradio-core library sources -######################################################################## -list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/gr_circular_file.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_fast_atan2f.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_misc.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_random.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sincos.c - ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.cc - ${CMAKE_CURRENT_SOURCE_DIR}/malloc16.c -) - -######################################################################## -# Append gnuradio-core test sources -######################################################################## -list(APPEND test_gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/qa_general.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_circular_file.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt_nco.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_fxpt_vco.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_math.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_sincos.cc -) - -######################################################################## -# Install runtime headers -######################################################################## -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/gr_core_api.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_circular_file.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_endianness.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_expj.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt_nco.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_fxpt_vco.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_math.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_misc.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_nco.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_random.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_reverse.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sincos.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_test_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vco.h - ${CMAKE_CURRENT_SOURCE_DIR}/gri_debugger_hook.h - ${CMAKE_CURRENT_SOURCE_DIR}/malloc16.h - ${CMAKE_CURRENT_SOURCE_DIR}/random.h - DESTINATION ${GR_INCLUDE_DIR}/gnuradio - COMPONENT "core_devel" -) - -######################################################################## -# Install swig headers -######################################################################## -if(ENABLE_PYTHON) -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/general.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "core_swig" -) -endif(ENABLE_PYTHON) - -######################################################################## -# Handle triple-threat files that have cc, h, and i -######################################################################## -set(gr_core_general_triple_threats - complex_vec_test - gr_block_gateway - gr_feval - gr_prefs - gr_test -) - -foreach(file_tt ${gr_core_general_triple_threats}) - list(APPEND gnuradio_core_sources ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.cc) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.h DESTINATION ${GR_INCLUDE_DIR}/gnuradio COMPONENT "core_devel") - if(ENABLE_PYTHON) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${file_tt}.i DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig COMPONENT "core_swig") - endif(ENABLE_PYTHON) -endforeach(file_tt ${gr_core_general_triple_threats}) - -CHECK_CXX_SOURCE_COMPILES(" - #define _GNU_SOURCE - #include <math.h> - int main(){double x, sin, cos; sincos(x, &sin, &cos); return 0;} - " HAVE_SINCOS -) -GR_ADD_COND_DEF(HAVE_SINCOS) diff --git a/gnuradio-core/src/lib/general/atsc_rrc1x.dat b/gnuradio-core/src/lib/general/atsc_rrc1x.dat deleted file mode 100644 index 3dc87bb0b7..0000000000 --- a/gnuradio-core/src/lib/general/atsc_rrc1x.dat +++ /dev/null @@ -1,57 +0,0 @@ -/* - * FILTER SPECIFICATION FILE - * FILTER TYPE:ROOT RAISED COSINE 12H - * PASSBAND RIPPLE IN -dB -.0500 - * STOPBAND RIPPLE IN -dB -50.0000 - * SYMBOL RATE .538112E+07 HERTZ - * ROLLOF FACTOR .115200 - * SAMPLING FREQUENCY .107622E+08 HERTZ - * SAMPLING FREQUENCY .107622E+08 HERTZ - */ - .1821269281208515e-02, - -.9323525242507458e-02, - -.8581001311540604e-02, - .2809949219226837e-02, - .9649330750107765e-03, - -.4944681189954281e-02, - .1624439377337694e-02, - .6519509013742209e-02, - -.4803944379091263e-02, - -.8026130497455597e-02, - .8922342676669359e-02, - .9611152112483978e-02, - -.1463735569268465e-01, - -.1107082655653358e-01, - .2262782817706466e-01, - .1240625558421016e-01, - -.3461387194693089e-01, - -.1348070800304413e-01, - .5474480940029025e-01, - .1432673400267959e-01, - -.9872047463431954e-01, - -.1482593175023794e-01, - .3077511447481811e+00, - .5007477863691747e+00, - .3077511447481811e+00, - -.1482593175023794e-01, - -.9872047463431954e-01, - .1432673400267959e-01, - .5474480940029025e-01, - -.1348070800304413e-01, - -.3461387194693089e-01, - .1240625558421016e-01, - .2262782817706466e-01, - -.1107082655653358e-01, - -.1463735569268465e-01, - .9611152112483978e-02, - .8922342676669359e-02, - -.8026130497455597e-02, - -.4803944379091263e-02, - .6519509013742209e-02, - .1624439377337694e-02, - -.4944681189954281e-02, - .9649330750107765e-03, - .2809949219226837e-02, - -.8581001311540604e-02, - -.9323525242507458e-02, - .1821269281208515e-02 diff --git a/gnuradio-core/src/lib/general/atsc_rrc20.dat b/gnuradio-core/src/lib/general/atsc_rrc20.dat deleted file mode 100644 index 94445e96ec..0000000000 --- a/gnuradio-core/src/lib/general/atsc_rrc20.dat +++ /dev/null @@ -1,101 +0,0 @@ - -.1141865178942680e-01, - .2192483097314835e-01, - -.6814673542976379e-04, - -.5894266534596682e-02, - -.3580642864108086e-02, - .7064016535878182e-03, - .3225978463888168e-02, - .2832664176821709e-02, - .4997388459742069e-03, - -.1796286087483168e-02, - -.2396093215793371e-02, - -.1009003724902868e-02, - .1184449531137943e-02, - .2406611572951078e-02, - .1609810627996922e-02, - -.6790305487811565e-03, - -.2634476870298386e-02, - -.2524725627154112e-02, - -.1492514275014401e-03, - .2789965830743313e-02, - .3848167601972818e-02, - .1755146309733391e-02, - -.2288600429892540e-02, - -.5209952127188444e-02, - -.4314901307225227e-02, - .3885449841618538e-03, - .5747230723500252e-02, - .7460035849362612e-02, - .3387423232197762e-02, - -.4307936877012253e-02, - -.1007711654528976e-01, - -.8849395904690027e-02, - -.1979861408472061e-03, - .1040456583723426e-01, - .1484309835359454e-01, - .8285604882985354e-02, - -.6346960552036762e-02, - -.1915087224915624e-01, - -.1949162455275655e-01, - -.4145141225308180e-02, - .1850909460335970e-01, - .3220130456611514e-01, - .2337836893275380e-01, - -.7863232865929604e-02, - -.4402747144922614e-01, - -.5751598253846169e-01, - -.2598480274900794e-01, - .5246857088059187e-01, - .1544690094888210e+00, - .2405302016995847e+00, - .2741314689628780e+00, - .2405302016995847e+00, - .1544690094888210e+00, - .5246857088059187e-01, - -.2598480274900794e-01, - -.5751598253846169e-01, - -.4402747144922614e-01, - -.7863232865929604e-02, - .2337836893275380e-01, - .3220130456611514e-01, - .1850909460335970e-01, - -.4145141225308180e-02, - -.1949162455275655e-01, - -.1915087224915624e-01, - -.6346960552036762e-02, - .8285604882985354e-02, - .1484309835359454e-01, - .1040456583723426e-01, - -.1979861408472061e-03, - -.8849395904690027e-02, - -.1007711654528976e-01, - -.4307936877012253e-02, - .3387423232197762e-02, - .7460035849362612e-02, - .5747230723500252e-02, - .3885449841618538e-03, - -.4314901307225227e-02, - -.5209952127188444e-02, - -.2288600429892540e-02, - .1755146309733391e-02, - .3848167601972818e-02, - .2789965830743313e-02, - -.1492514275014401e-03, - -.2524725627154112e-02, - -.2634476870298386e-02, - -.6790305487811565e-03, - .1609810627996922e-02, - .2406611572951078e-02, - .1184449531137943e-02, - -.1009003724902868e-02, - -.2396093215793371e-02, - -.1796286087483168e-02, - .4997388459742069e-03, - .2832664176821709e-02, - .3225978463888168e-02, - .7064016535878182e-03, - -.3580642864108086e-02, - -.5894266534596682e-02, - -.6814673542976379e-04, - .2192483097314835e-01, - -.1141865178942680e-01 diff --git a/gnuradio-core/src/lib/general/atsc_rrc2x.dat b/gnuradio-core/src/lib/general/atsc_rrc2x.dat deleted file mode 100644 index 8eae94d773..0000000000 --- a/gnuradio-core/src/lib/general/atsc_rrc2x.dat +++ /dev/null @@ -1,102 +0,0 @@ -/* - * FILTER SPECIFICATION FILE - * FILTER TYPE:ROOT RAISED COSINE 12H - * PASSBAND RIPPLE IN -dB -.0500 - * STOPBAND RIPPLE IN -dB -50.0000 - * SYMBOL RATE .538112E+07 HERTZ - * ROLLOF FACTOR .115200 - * SAMPLING FREQUENCY .215245E+08 HERTZ -*/ - .8186036720871925E-03, - -.1256920862942934E-02, - -.4844595678150654E-02, - -.6055080797523260E-02, - -.4247304052114487E-02, - -.9502284228801727E-03, - .1615938264876604E-02, - .2120061777532101E-02, - .6354246288537979E-03, - -.1464351080358028E-02, - -.2508673351258040E-02, - -.1573510002344847E-02, - .8145328611135483E-03, - .2996938303112984E-02, - .3244197461754084E-02, - .1038576476275921E-02, - -.2401810139417648E-02, - -.4728596191853285E-02, - -.4019895102828741E-02, - -.2215979620814323E-03, - .4481043666601181E-02, - .6867439020425081E-02, - .4793671425431967E-02, - -.1089230179786682E-02, - -.7325290236622095E-02, - -.9580074809491634E-02, - -.5532339215278626E-02, - .3166179172694683E-02, - .1132524851709604E-01, - .1316944882273674E-01, - .6192639470100403E-02, - -.6509334780275822E-02, - -.1730504119768739E-01, - -.1832502009347081E-01, - -.6741075310856104E-02, - .1229691226035357E-01, - .2738198731094599E-01, - .2702147699892521E-01, - .7156732492148876E-02, - -.2432488137856126E-01, - -.4934547096490860E-01, - -.4763523396104574E-01, - -.7410581223666668E-02, - .6681889295578003E-01, - .1538293845951557E+00, - .2236228249967098E+00, - .2502835178747773E+00, - .2236228249967098E+00, - .1538293845951557E+00, - .6681889295578003E-01, - -.7410581223666668E-02, - -.4763523396104574E-01, - -.4934547096490860E-01, - -.2432488137856126E-01, - .7156732492148876E-02, - .2702147699892521E-01, - .2738198731094599E-01, - .1229691226035357E-01, - -.6741075310856104E-02, - -.1832502009347081E-01, - -.1730504119768739E-01, - -.6509334780275822E-02, - .6192639470100403E-02, - .1316944882273674E-01, - .1132524851709604E-01, - .3166179172694683E-02, - -.5532339215278626E-02, - -.9580074809491634E-02, - -.7325290236622095E-02, - -.1089230179786682E-02, - .4793671425431967E-02, - .6867439020425081E-02, - .4481043666601181E-02, - -.2215979620814323E-03, - -.4019895102828741E-02, - -.4728596191853285E-02, - -.2401810139417648E-02, - .1038576476275921E-02, - .3244197461754084E-02, - .2996938303112984E-02, - .8145328611135483E-03, - -.1573510002344847E-02, - -.2508673351258040E-02, - -.1464351080358028E-02, - .6354246288537979E-03, - .2120061777532101E-02, - .1615938264876604E-02, - -.9502284228801727E-03, - -.4247304052114487E-02, - -.6055080797523260E-02, - -.4844595678150654E-02, - -.1256920862942934E-02, - .8186036720871925E-03 diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i deleted file mode 100644 index 68b963702c..0000000000 --- a/gnuradio-core/src/lib/general/general.i +++ /dev/null @@ -1,41 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004-2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -%{ - -#include <gr_prefs.h> -#include <gr_constants.h> -#include <gr_test_types.h> -#include <gr_test.h> -#include <gr_feval.h> -#include <complex_vec_test.h> -#include <gr_endianness.h> -%} - -%include "gr_prefs.i" -%include "gr_constants.i" -%include "gr_test_types.h" -%include "gr_test.i" -%include "gr_feval.i" -%include "complex_vec_test.i" -%include "gr_block_gateway.i" -%include "gr_endianness.h" diff --git a/gnuradio-core/src/lib/general/gr_test.i b/gnuradio-core/src/lib/general/gr_test.i deleted file mode 100644 index d810250116..0000000000 --- a/gnuradio-core/src/lib/general/gr_test.i +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2006 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -GR_SWIG_BLOCK_MAGIC(gr,test); - - -class gr_test; -typedef boost::shared_ptr<gr_test> gr_test_sptr; - - -// public constructor -gr_test_sptr gr_make_test (const std::string &name=std::string("gr_test"), - int min_inputs=1, int max_inputs=1, unsigned int sizeof_input_item=1, - int min_outputs=1, int max_outputs=1, unsigned int sizeof_output_item=1, - unsigned int history=1,unsigned int output_multiple=1,double relative_rate=1.0, - bool fixed_rate=true,gr_consume_type_t cons_type=CONSUME_NOUTPUT_ITEMS, gr_produce_type_t prod_type=PRODUCE_NOUTPUT_ITEMS); - - -class gr_test : public gr_block { - - public: - - ~gr_test (); - void forecast (int noutput_items, - gr_vector_int &ninput_items_required); - void set_check_topology (bool check_topology); - bool check_topology (int ninputs, int noutputs); - int fixed_rate_ninput_to_noutput(int ninput); - int fixed_rate_noutput_to_ninput(int noutput); - void set_fixed_rate_public(bool fixed_rate); - void set_consume_type (gr_consume_type_t cons_type); - void set_consume_limit (unsigned int limit); - void set_produce_type (gr_produce_type_t prod_type); - void set_produce_limit (unsigned int limit); - - protected: - gr_test (const std::string &name,int min_inputs, int max_inputs, unsigned int sizeof_input_item, - int min_outputs, int max_outputs, unsigned int sizeof_output_item, - unsigned int history,unsigned int output_multiple,double relative_rate, - bool fixed_rate,gr_consume_type_t cons_type, gr_produce_type_t prod_type); - -}; - - - diff --git a/gnuradio-core/src/lib/gnuradio-core.rc.in b/gnuradio-core/src/lib/gnuradio-core.rc.in deleted file mode 100644 index a5579ce4ed..0000000000 --- a/gnuradio-core/src/lib/gnuradio-core.rc.in +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2013 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <afxres.h> - -VS_VERSION_INFO VERSIONINFO - FILEVERSION @MAJOR_VERSION@,@API_COMPAT@,@RC_MINOR_VERSION@,@RC_MAINT_VERSION@ - PRODUCTVERSION @MAJOR_VERSION@,@API_COMPAT@,@RC_MINOR_VERSION@,@RC_MAINT_VERSION@ - FILEFLAGSMASK 0x3fL -#ifndef NDEBUG - FILEFLAGS 0x0L -#else - FILEFLAGS 0x1L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE VFT2_DRV_INSTALLABLE - BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "gnuradio-core" - VALUE "FileVersion", "@VERSION@" - VALUE "InternalName", "gnuradio-core.dll" - VALUE "LegalCopyright", "Licensed under GPLv3 or any later version" - VALUE "OriginalFilename", "gnuradio-core.dll" - VALUE "ProductName", "gnuradio-core" - VALUE "ProductVersion", "@VERSION@" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END - END diff --git a/gnuradio-core/src/lib/missing/CMakeLists.txt b/gnuradio-core/src/lib/missing/CMakeLists.txt deleted file mode 100644 index 85267ee482..0000000000 --- a/gnuradio-core/src/lib/missing/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# This file included, use CMake directory variables -######################################################################## - -list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/bug_work_around_8.cc -) - -if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)") - list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/posix_memalign.cc - ) -endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)") diff --git a/gnuradio-core/src/lib/missing/bug_work_around_8.cc b/gnuradio-core/src/lib/missing/bug_work_around_8.cc deleted file mode 100644 index 5e431a210c..0000000000 --- a/gnuradio-core/src/lib/missing/bug_work_around_8.cc +++ /dev/null @@ -1,3 +0,0 @@ -// if libmisc has no sources, it doesn't get built correctly -#include <gruel/attributes.h> -static int gr_bug_work_around_8 __GR_ATTR_UNUSED; diff --git a/gnuradio-core/src/lib/missing/getopt.c b/gnuradio-core/src/lib/missing/getopt.c deleted file mode 100644 index 69c7c16f75..0000000000 --- a/gnuradio-core/src/lib/missing/getopt.c +++ /dev/null @@ -1,733 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu - before changing it! - - Copyright (C) 1987, 88, 89, 90, 91, 92, 1993 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* NOTE!!! AIX requires this to be the first thing in the file. - Do not put ANYTHING before it! */ -#if !defined (__GNUC__) && defined (_AIX) - #pragma alloca -#endif - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not __GNUC__ */ -#if defined (HAVE_ALLOCA_H) || (defined(sparc) && (defined(sun) || (!defined(USG) && !defined(SVR4) && !defined(__svr4__)))) -#include <alloca.h> -#else -#ifndef _AIX -char *alloca (); -#endif -#endif /* alloca.h */ -#endif /* not __GNUC__ */ - -#if !__STDC__ && !defined(const) && IN_GCC -#define const -#endif - -/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>. */ -#ifndef _NO_PROTO -#define _NO_PROTO -#endif - -#include <stdio.h> - -/* Comment out all this code if we are using the GNU C Library, and are not - actually compiling the library itself. This code is part of the GNU C - Library, but also included in many other GNU distributions. Compiling - and linking in this code is a waste when using the GNU C library - (especially if it is a shared library). Rather than having every GNU - program understand `configure --with-gnu-libc' and omit the object files, - it is simpler to just do this in the source for each such file. */ - -#if defined (_LIBC) || !defined (__GNU_LIBRARY__) - - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#undef alloca -/* Don't include stdlib.h for non-GNU C libraries because some of them - contain conflicting prototypes for getopt. */ -#include <stdlib.h> -#else /* Not GNU C library. */ -#define __alloca alloca -#endif /* GNU C library. */ - -/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a - long-named option. Because this is not POSIX.2 compliant, it is - being phased out. */ -/* #define GETOPT_COMPAT */ - -/* This version of `getopt' appears to the caller like standard Unix `getopt' - but it behaves differently for the user, since it allows the user - to intersperse the options with the other arguments. - - As `getopt' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Setting the environment variable POSIXLY_CORRECT disables permutation. - Then the behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg = 0; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* XXX 1003.2 says this must be 1 before any call. */ -int optind = 0; - -/* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - -static char *nextchar; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters. - - PERMUTE is the default. We permute the contents of ARGV as we scan, - so that eventually all the non-options are at the end. This allows options - to be given in any order, even with programs that were not written to - expect this. - - RETURN_IN_ORDER is an option available to programs that were written - to expect options and other ARGV-elements in any order and that care about - the ordering of the two. We describe each non-option ARGV-element - as if it were the argument of an option with character code 1. - Using `-' as the first character of the list of option characters - selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return EOF with `optind' != ARGC. */ - -static enum -{ - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER -} ordering; - -#ifdef __GNU_LIBRARY__ -/* We want to avoid inclusion of string.h with non-GNU libraries - because there are many ways it can cause trouble. - On some systems, it contains special magic macros that don't work - in GCC. */ -#include <string.h> -#define my_index strchr -#define my_bcopy(src, dst, n) memcpy ((dst), (src), (n)) -#else - -/* Avoid depending on library functions or files - whose names are inconsistent. */ - -char *getenv (); - -static char * -my_index (str, chr) - const char *str; - int chr; -{ - while (*str) - { - if (*str == chr) - return (char *) str; - str++; - } - return 0; -} - -static void -my_bcopy (from, to, size) - const char *from; - char *to; - int size; -{ - int i; - for (i = 0; i < size; i++) - to[i] = from[i]; -} -#endif /* GNU C library. */ - -/* Handle permutation of arguments. */ - -/* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first of them; - `last_nonopt' is the index after the last of them. */ - -static int first_nonopt; -static int last_nonopt; - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -static void -exchange (argv) - char **argv; -{ - int nonopts_size = (last_nonopt - first_nonopt) * sizeof (char *); - char **temp = (char **) __alloca (nonopts_size); - - /* Interchange the two blocks of data in ARGV. */ - - my_bcopy ((char *) &argv[first_nonopt], (char *) temp, nonopts_size); - my_bcopy ((char *) &argv[last_nonopt], (char *) &argv[first_nonopt], - (optind - last_nonopt) * sizeof (char *)); - my_bcopy ((char *) temp, - (char *) &argv[first_nonopt + optind - last_nonopt], - nonopts_size); - - /* Update records for the slots the non-options now occupy. */ - - first_nonopt += (optind - last_nonopt); - last_nonopt = optind; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns `EOF'. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - The elements of ARGV aren't really const, because we permute them. - But we pretend they're const in the prototype to be compatible - with other systems. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. */ - -int -_getopt_internal (argc, argv, optstring, longopts, longind, long_only) - int argc; - char *const *argv; - const char *optstring; - const struct option *longopts; - int *longind; - int long_only; -{ - int option_index; - - optarg = 0; - - /* Initialize the internal data when the first call is made. - Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - if (optind == 0) - { - first_nonopt = last_nonopt = optind = 1; - - nextchar = NULL; - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - ordering = REQUIRE_ORDER; - ++optstring; - } - else if (getenv ("POSIXLY_CORRECT") != NULL) - ordering = REQUIRE_ORDER; - else - ordering = PERMUTE; - } - - if (nextchar == NULL || *nextchar == '\0') - { - if (ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (last_nonopt != optind) - first_nonopt = optind; - - /* Now skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (optind < argc - && (argv[optind][0] != '-' || argv[optind][1] == '\0') -#ifdef GETOPT_COMPAT - && (longopts == NULL - || argv[optind][0] != '+' || argv[optind][1] == '\0') -#endif /* GETOPT_COMPAT */ - ) - optind++; - last_nonopt = optind; - } - - /* Special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (optind != argc && !strcmp (argv[optind], "--")) - { - optind++; - - if (first_nonopt != last_nonopt && last_nonopt != optind) - exchange ((char **) argv); - else if (first_nonopt == last_nonopt) - first_nonopt = optind; - last_nonopt = argc; - - optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (first_nonopt != last_nonopt) - optind = first_nonopt; - return EOF; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if ((argv[optind][0] != '-' || argv[optind][1] == '\0') -#ifdef GETOPT_COMPAT - && (longopts == NULL - || argv[optind][0] != '+' || argv[optind][1] == '\0') -#endif /* GETOPT_COMPAT */ - ) - { - if (ordering == REQUIRE_ORDER) - return EOF; - optarg = argv[optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Start decoding its characters. */ - - nextchar = (argv[optind] + 1 - + (longopts != NULL && argv[optind][1] == '-')); - } - - if (longopts != NULL - && ((argv[optind][0] == '-' - && (argv[optind][1] == '-' || long_only)) -#ifdef GETOPT_COMPAT - || argv[optind][0] == '+' -#endif /* GETOPT_COMPAT */ - )) - { - const struct option *p; - char *s = nextchar; - int exact = 0; - int ambig = 0; - const struct option *pfound = NULL; - int indfound; - - while (*s && *s != '=') - s++; - - /* Test all options for either exact match or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; - p++, option_index++) - if (!strncmp (p->name, nextchar, s - nextchar)) - { - if (s - nextchar == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (opterr) - fprintf (stderr, "%s: option `%s' is ambiguous\n", - argv[0], argv[optind]); - nextchar += strlen (nextchar); - optind++; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - optind++; - if (*s) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - optarg = s + 1; - else - { - if (opterr) - { - if (argv[optind - 1][1] == '-') - /* --option */ - fprintf (stderr, - "%s: option `--%s' doesn't allow an argument\n", - argv[0], pfound->name); - else - /* +option or -option */ - fprintf (stderr, - "%s: option `%c%s' doesn't allow an argument\n", - argv[0], argv[optind - 1][0], pfound->name); - } - nextchar += strlen (nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (optind < argc) - optarg = argv[optind++]; - else - { - if (opterr) - fprintf (stderr, "%s: option `%s' requires an argument\n", - argv[0], argv[optind - 1]); - nextchar += strlen (nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - nextchar += strlen (nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[optind][1] == '-' -#ifdef GETOPT_COMPAT - || argv[optind][0] == '+' -#endif /* GETOPT_COMPAT */ - || my_index (optstring, *nextchar) == NULL) - { - if (opterr) - { - if (argv[optind][1] == '-') - /* --option */ - fprintf (stderr, "%s: unrecognized option `--%s'\n", - argv[0], nextchar); - else - /* +option or -option */ - fprintf (stderr, "%s: unrecognized option `%c%s'\n", - argv[0], argv[optind][0], nextchar); - } - nextchar = (char *) ""; - optind++; - return '?'; - } - } - - /* Look at and handle the next option-character. */ - - { - char c = *nextchar++; - char *temp = my_index (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*nextchar == '\0') - ++optind; - - if (temp == NULL || c == ':') - { - if (opterr) - { -#if 0 - if (c < 040 || c >= 0177) - fprintf (stderr, "%s: unrecognized option, character code 0%o\n", - argv[0], c); - else - fprintf (stderr, "%s: unrecognized option `-%c'\n", argv[0], c); -#else - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c); -#endif - } - optopt = c; - return '?'; - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*nextchar != '\0') - { - optarg = nextchar; - optind++; - } - else - optarg = 0; - nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*nextchar != '\0') - { - optarg = nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - optind++; - } - else if (optind == argc) - { - if (opterr) - { -#if 0 - fprintf (stderr, "%s: option `-%c' requires an argument\n", - argv[0], c); -#else - /* 1003.2 specifies the format of this message. */ - fprintf (stderr, "%s: option requires an argument -- %c\n", - argv[0], c); -#endif - } - optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - optarg = argv[optind++]; - nextchar = NULL; - } - } - return c; - } -} - -#ifdef GETOPT -int -getopt (argc, argv, optstring) - int argc; - char *const *argv; - const char *optstring; -{ - return _getopt_internal (argc, argv, optstring, - (const struct option *) 0, - (int *) 0, - 0); -} -#endif - -#endif /* _LIBC or not __GNU_LIBRARY__. */ - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (argc, argv) - int argc; - char **argv; -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == EOF) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff --git a/gnuradio-core/src/lib/missing/getopt.h b/gnuradio-core/src/lib/missing/getopt.h deleted file mode 100644 index 0679081473..0000000000 --- a/gnuradio-core/src/lib/missing/getopt.h +++ /dev/null @@ -1,129 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef _GETOPT_H -#define _GETOPT_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns EOF, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ -#if __STDC__ - const char *name; -#else - char *name; -#endif - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -#define no_argument 0 -#define required_argument 1 -#define optional_argument 2 - -#if __STDC__ -#if defined(__GNU_LIBRARY__) -/* Many other libraries have conflicting prototypes for getopt, with - differences in the consts, in stdlib.h. To avoid compilation - errors, only prototype getopt for the GNU C library. */ -extern int getopt (int argc, char *const *argv, const char *shortopts); -#else /* not __GNU_LIBRARY__ */ -extern int getopt (); -#endif /* not __GNU_LIBRARY__ */ -extern int getopt_long (int argc, char *const *argv, const char *shortopts, - const struct option *longopts, int *longind); -extern int getopt_long_only (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind); - -/* Internal only. Users should not call this directly. */ -extern int _getopt_internal (int argc, char *const *argv, - const char *shortopts, - const struct option *longopts, int *longind, - int long_only); -#else /* not __STDC__ */ -extern int getopt (); -extern int getopt_long (); -extern int getopt_long_only (); - -extern int _getopt_internal (); -#endif /* not __STDC__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* _GETOPT_H */ diff --git a/gnuradio-core/src/lib/missing/gettimeofday.c b/gnuradio-core/src/lib/missing/gettimeofday.c deleted file mode 100644 index a53e47ed90..0000000000 --- a/gnuradio-core/src/lib/missing/gettimeofday.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <config.h> - -#ifdef HAVE_WINDOWS_H -#include <windows.h> -#endif -#ifdef HAVE_WINBASE_H -# include <winbase.h> -#endif - -#ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#endif - -/* - * broken implementation for WIN32. - * FIXME: usec precision - */ -int gettimeofday(struct timeval *tv, struct timezone *tz) -{ - if (tv) { - time_t tm; - - time(&tm); - tv->tv_sec = tm; - tv->tv_usec = 0; - } - return 0; -} - diff --git a/gnuradio-core/src/lib/missing/usleep.c b/gnuradio-core/src/lib/missing/usleep.c deleted file mode 100644 index b1d7dad473..0000000000 --- a/gnuradio-core/src/lib/missing/usleep.c +++ /dev/null @@ -1,67 +0,0 @@ -/* Copyright (C) 1992 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 3 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#include <config.h> - -#ifndef HAVE_USLEEP - -#include <sys/types.h> -#include <sys/time.h> - -#ifdef HAVE_SYS_SELECT_H -# include <sys/select.h> -#endif - -#ifdef HAVE_WINDOWS_H -#include <windows.h> -#endif -#ifdef HAVE_WINBASE_H -# include <winbase.h> -#endif - -#ifdef apollo -# include <apollo/base.h> -# include <apollo/time.h> - static time_$clock_t DomainTime100mS = - { - 0, 100000/4 - }; - static status_$t DomainStatus; -#endif - -/* Sleep USECONDS microseconds, or until a previously set timer goes off. */ -int -usleep (unsigned long useconds) -{ -#ifdef apollo - /* The usleep function does not work under the SYS5.3 environment. - Use the Domain/OS time_$wait call instead. */ - time_$wait (time_$relative, DomainTime100mS, &DomainStatus); -#elif defined(HAVE_SSLEEP) /* Win32 */ - Sleep( useconds/1000 ); -#else - struct timeval delay; - - delay.tv_sec = 0; - delay.tv_usec = useconds; - select (0, 0, 0, 0, &delay); -#endif - return 0; -} - -#endif /* !HAVE_USLEEP */ diff --git a/gnuradio-core/src/lib/runtime/CMakeLists.txt b/gnuradio-core/src/lib/runtime/CMakeLists.txt deleted file mode 100644 index f3982f53cd..0000000000 --- a/gnuradio-core/src/lib/runtime/CMakeLists.txt +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 2010-2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# This file included, use CMake directory variables -######################################################################## - -######################################################################## -# Control availability of vmcircbuf methods. -# For now, only allows disabling of shm methods, which cause uncatchable -# segmentation faults on Cygwin with gcc 4.x (x <= 5) -# Usage: -# GR_VMCIRCBUF() -# -# Will set TRY_SHM_VMCIRCBUF to 1 by default except on Windows machines. -# Can manually set with -DTRY_SHM_VMCIRCBUF=0|1 -######################################################################## - - if(WIN32) - OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" OFF) - else(WIN32) - OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" ON) - endif(WIN32) - - message(STATUS "TRY_SHM_VMCIRCBUF set to ${TRY_SHM_VMCIRCBUF}.") - - if(TRY_SHM_VMCIRCBUF) - add_definitions( -DTRY_SHM_VMCIRCBUF ) - endif(TRY_SHM_VMCIRCBUF) - -######################################################################## -# Append gnuradio-core library sources -######################################################################## -list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/gr_basic_block.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_flowgraph.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_flat_flowgraph.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_detail.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_executor.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_registry.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_hier_block2.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_hier_block2_detail.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_buffer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_dispatcher.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_error_handler.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_io_signature.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_local_sighandler.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_logger.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_message.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_accepter.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_handler.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_queue.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_pagesize.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_preferences.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_realtime.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler_sts.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler_tpb.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_single_threaded_scheduler.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sptr_magic.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_block.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_decimator.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_interpolator.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sys_paths.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tagged_stream_block.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block_impl.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tpb_detail.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tpb_thread_body.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf_mmap_shm_open.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf_mmap_tmpfile.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf_createfilemapping.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf_sysv_shm.cc - ${CMAKE_CURRENT_SOURCE_DIR}/gr_select_handler.cc -) - -if(ENABLE_GR_CTRLPORT) -list(APPEND gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/ice_application_base.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_ice.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_ice.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_aggregator.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_aggregator.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_selector.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcpmtconverters_ice.cc - ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager.cc -) -endif(ENABLE_GR_CTRLPORT) - - -######################################################################## -# Append gnuradio-core test sources -######################################################################## -list(APPEND test_gnuradio_core_sources - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_buffer.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_io_signature.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_vmcircbuf.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_gr_logger.cc -) - -######################################################################## -# Install runtime headers -######################################################################## -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/gr_basic_block.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_flowgraph.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_flat_flowgraph.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_detail.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_executor.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_registry.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_hier_block2.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_hier_block2_detail.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_buffer.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_complex.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_dispatcher.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_error_handler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_io_signature.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_local_sighandler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_logger.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_message.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_accepter.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_handler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_queue.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_pagesize.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_preferences.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_realtime.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_runtime_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler_sts.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_scheduler_tpb.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_select_handler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_single_threaded_scheduler.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sptr_magic.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_block.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_decimator.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_interpolator.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tagged_stream_block.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block_impl.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tpb_detail.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tpb_thread_body.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_timer.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sys_paths.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_unittests.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_vmcircbuf.h - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tags.h - DESTINATION ${GR_INCLUDE_DIR}/gnuradio - COMPONENT "core_devel" -) - - -if(ENABLE_GR_CTRLPORT) -ADD_DEFINITIONS(-DGR_CTRLPORT) -INSTALL(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/ice_application_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/ice_server_template.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpccallbackregister_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcmanager.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcpmtconverters_ice.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcregisterhelpers.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_aggregator.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_aggregator.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_base.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_booter_ice.h - ${CMAKE_CURRENT_SOURCE_DIR}/rpcserver_selector.h - DESTINATION ${GR_INCLUDE_DIR}/gnuradio - COMPONENT "core_devel" -) -endif(ENABLE_GR_CTRLPORT) - -######################################################################## -# Install swig headers -######################################################################## -if(ENABLE_PYTHON) -install(FILES - ${CMAKE_CURRENT_SOURCE_DIR}/gr_basic_block.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_block_detail.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_hier_block2.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_buffer.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_dispatcher.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_error_handler.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_io_signature.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_logger.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_message.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_handler.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_msg_queue.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_realtime.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_single_threaded_scheduler.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_block.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_decimator.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_sync_interpolator.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tagged_stream_block.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_tags.i - ${CMAKE_CURRENT_SOURCE_DIR}/gr_top_block.i - ${CMAKE_CURRENT_SOURCE_DIR}/runtime.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "core_swig" -) - -endif(ENABLE_PYTHON) diff --git a/gnuradio-core/src/lib/runtime/frontend.ice b/gnuradio-core/src/lib/runtime/frontend.ice deleted file mode 100644 index befb5b7a97..0000000000 --- a/gnuradio-core/src/lib/runtime/frontend.ice +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <gnuradio.ice> - -[["python:package:gnuradio.ctrlport"]] -module GNURadio { - module Frontend { - - exception NotSupported {}; - exception InvalidSetting { string msg; }; - exception ReceiverFailure { string msg; }; - exception NotExist {}; - dictionary<string, string> TunerArgs; - - struct TunerStatus { - int a2dbits; - float gain; - bool isInverted; - }; - - interface Tuner { - TunerStatus configureTuner(TunerArgs args); //ADDED - idempotent TunerStatus status(); - idempotent float setGain(float gain) throws NotSupported, InvalidSetting; - idempotent bool setInversion(bool inverted) throws NotSupported, InvalidSetting; - }; - - struct ChannelStatus { - string uid; - bool active; - float freq; - float bandwidth; - int payloadBits; - bool isComplex; - string signalName; - }; - - interface Channel extends Component { - idempotent ChannelStatus status(); - idempotent FeedInfo feed(); - idempotent bool active(); - void start(); - void stop(); - idempotent float setCenterFreq(float freq) throws NotSupported, InvalidSetting; - idempotent float setBandwidth(float bw) throws NotSupported, InvalidSetting; - idempotent int setPayloadBits(int bits) throws NotSupported, InvalidSetting; - idempotent bool setComplex(bool complex) throws NotSupported, InvalidSetting; - void removeChannel() throws NotSupported; - }; - - sequence<Tuner*> TunerSeq; - sequence<Channel*> ChannelSeq; - - struct ChannelizerStatus { - string uid; - string signalName; - }; - - interface Channelizer extends Component { - idempotent ChannelizerStatus status(); - idempotent Tuner* getTuner(); - idempotent ChannelSeq getChannels(); - idempotent ChannelSeq getActiveChannels(); - idempotent ChannelSeq getInactiveChannels(); - Channel* createChannel(float freq, float bw, int payloadBits, string address, int port) throws NotSupported; - }; - - sequence<Channelizer*> ChannelizerSeq; - - interface Receiver extends AbstractReceiver { - idempotent ChannelizerSeq getInputs(); -// idempotent ChannelizerSeq getActiveInputs(); -// idempotent ChannelizerSeq getInactiveInputs(); - idempotent Channel* getChannelByID(string id) throws NotExist; - idempotent Channelizer* getChannelizerByID(string id) throws NotExist; - }; - - - }; - - - -}; diff --git a/gnuradio-core/src/lib/runtime/nop.h b/gnuradio-core/src/lib/runtime/nop.h deleted file mode 100644 index 5b3166da7b..0000000000 --- a/gnuradio-core/src/lib/runtime/nop.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_CTRLPORT_NOP_H -#define INCLUDED_CTRLPORT_NOP_H - -#include <ctrlport/api.h> -#include <gr_sync_block.h> - -namespace gr { - namespace ctrlport { - - /*! - * \brief A NOP block for testing ctrlport - * - */ - class CTRLPORT_API nop : virtual public gr_sync_block - { - public: - // gr::ctrlport::nop::sptr - typedef boost::shared_ptr<nop> sptr; - - /*! - * Build a simple test block - */ - static sptr make(size_t itemsize, int a, int b); - - virtual void set_a(int b) = 0; - virtual void set_b(int b) = 0; - virtual int a() const = 0; - virtual int b() const = 0; - }; - - } /* namespace ctrlport */ -} /* namespace gr */ - -#endif /* INCLUDED_CTRLPORT_NOP_H */ - diff --git a/gnuradio-core/src/lib/runtime/nop_impl.cc b/gnuradio-core/src/lib/runtime/nop_impl.cc deleted file mode 100644 index def1740678..0000000000 --- a/gnuradio-core/src/lib/runtime/nop_impl.cc +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "nop_impl.h" -#include <gr_io_signature.h> - -namespace gr { - namespace ctrlport { - - nop::sptr - nop::make(size_t itemsize, int a, int b) - { - return gnuradio::get_initial_sptr - (new nop_impl(itemsize, a, b)); - } - - - nop_impl::nop_impl(size_t itemsize, int a, int b) - : gr_sync_block("nop", - gr_make_io_signature(1, 1, itemsize), - gr_make_io_signature(0, 0, 0)) - { - set_a(a); - set_b(b); - } - - nop_impl::~nop_impl() - { - } - - void - nop_impl::set_a(int a) - { - d_a = a; - } - - void - nop_impl::set_b(int b) - { - d_b = b; - } - - int - nop_impl::a() const - { - return d_a; - } - - int - nop_impl::b() const - { - return d_b; - } - - int - nop_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - return noutput_items; - } - - void - nop_impl::setup_rpc() - { - d_get_32i_rpcs.push_back(get_32i_sptr - (new get_32i_t(d_name, "a", this, unique_id(), - &nop_impl::a, - pmt::mp(-128), pmt::mp(127), pmt::mp(0), - "", "Value of a", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP))); - - d_get_32i_rpcs.push_back(get_32i_sptr - (new get_32i_t(d_name, "b", this, unique_id(), - &nop_impl::b, - pmt::mp(-128), pmt::mp(127), pmt::mp(0), - "", "Value of b", RPC_PRIVLVL_MIN, - DISPTIME | DISPOPTSTRIP))); - - d_set_32i_rpcs.push_back(set_32i_sptr - (new set_32i_t(d_name, "a", this, unique_id(), - &nop_impl::set_a, - pmt::mp(-128), pmt::mp(127), pmt::mp(0), - "", "Value of a", - RPC_PRIVLVL_MIN, DISPNULL))); - - d_set_32i_rpcs.push_back(set_32i_sptr - (new set_32i_t(d_name, "b", this, unique_id(), - &nop_impl::set_b, - pmt::mp(-128), pmt::mp(127), pmt::mp(0), - "", "Value of b", - RPC_PRIVLVL_MIN, DISPNULL))); - } - - } /* namespace ctrlport */ -} /* namespace gr */ diff --git a/gnuradio-core/src/lib/runtime/nop_impl.h b/gnuradio-core/src/lib/runtime/nop_impl.h deleted file mode 100644 index a39ddac8f9..0000000000 --- a/gnuradio-core/src/lib/runtime/nop_impl.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_CTRLPORT_NOP_IMPL_H -#define INCLUDED_CTRLPORT_NOP_IMPL_H - -#include <ctrlport/nop.h> -#include <ctrlport/rpcregisterhelpers.h> -#include <boost/thread/shared_mutex.hpp> - -namespace gr { - namespace ctrlport { - - class CTRLPORT_API nop_impl : public nop - { - private: - typedef rpcbasic_register_get<nop_impl, int> get_32i_t; - typedef rpcbasic_register_set<nop_impl, int> set_32i_t; - - typedef boost::shared_ptr<get_32i_t> get_32i_sptr; - typedef boost::shared_ptr<set_32i_t> set_32i_sptr; - - std::vector<get_32i_sptr> d_get_32i_rpcs; - std::vector<set_32i_sptr> d_set_32i_rpcs; - - void setup_rpc(); - - int d_a, d_b; - - public: - nop_impl(size_t itemsize, int a, int b); - ~nop_impl(); - - void set_a(int a); - void set_b(int b); - int a() const; - int b() const; - - int work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items); - }; - - } /* namespace ctrlport */ -} /* namespace gr */ - -#endif /* INCLUDED_CTRLPORT_NOP_IMPL_H */ - diff --git a/gnuradio-core/src/lib/runtime/test_shared_block_ptr.cc b/gnuradio-core/src/lib/runtime/test_shared_block_ptr.cc deleted file mode 100644 index 0a391c1354..0000000000 --- a/gnuradio-core/src/lib/runtime/test_shared_block_ptr.cc +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2013 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <gr_shared_block_sptr.h> -#include <blocks/vector_source_i.h> - -gr_block_sptr -foo (gr::blocks::vector_source_i::sptr s) -{ - return gr_block_sptr (s); -} - -typedef gr_shared_block_sptr<gr::blocks::vector_source_i> gr_vector_source_i_ptrX; -//typedef boost::shared_ptr<gr::blocks::vector_source_i> gr_vector_source_i_ptrX; - -gr_vector_source_i_ptrX -bar (gr_vector_source_i *s) -{ - return gr_vector_source_i_ptrX (s); -} - -gr_block_sptr -baz_1 (gr_vector_source_i_ptrX s) -{ - return gr_block_sptr (s); -} - -#if 0 -gr_block_sptr -baz_2 (gr_vector_source_i_ptrX s) -{ - return s.block_sptr (); -} -#endif diff --git a/gnuradio-core/src/lib/swig/CMakeLists.txt b/gnuradio-core/src/lib/swig/CMakeLists.txt deleted file mode 100644 index f098597df0..0000000000 --- a/gnuradio-core/src/lib/swig/CMakeLists.txt +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -include(GrPython) -include(GrSwig) - -set(GR_SWIG_INCLUDE_DIRS - ${CMAKE_CURRENT_BINARY_DIR} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} - ${GRUEL_INCLUDE_DIRS} - ${LOG4CPP_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} -) -set(GR_SWIG_LIBRARIES - gnuradio-core - ${LOG4CPP_LIBRARIES} -) - -# Only use if log4cpp is installed -# Define ENABLE_GR_LOG for the .i file to ignore it. -if(ENABLE_GR_LOG) - SET(GR_SWIG_FLAGS "-DENABLE_GR_LOG") -endif(ENABLE_GR_LOG) - -if(ENABLE_GR_CTRLPORT) - list(APPEND GR_SWIG_FLAGS -DGR_CTRLPORT) - list(APPEND GR_SWIG_LIBRARIES ${ICE_LIBRARIES}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${ICE_INCLUDE_DIR}) -endif(ENABLE_GR_CTRLPORT) - -link_directories(${Boost_LIBRARY_DIRS}) - -######################################################################## -# Build and install the swig targets -######################################################################## -# ---------------------------------------------------------------- -# We've split the previously monstrous gnuradio_corethon into 6 -# smaller pieces. This reduces compile time coupling and creates -# smaller pieces for the compiler to digest. prior to this change, on -# X86_64, g++'s resident set size was 650MB! -# ---------------------------------------------------------------- - -set(GR_SWIG_TARGET_DEPS gnuradio_core_generated_sources - general_generated filter_generated pmt_swig) - -foreach(what runtime general) - SET(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/${what}_swig_doc.i) - SET(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../${what} ${CMAKE_CURRENT_BINARY_DIR}/../${what}) - GR_SWIG_MAKE(gnuradio_core_${what} gnuradio_core_${what}.i) - GR_SWIG_INSTALL( - TARGETS gnuradio_core_${what} - DESTINATION ${GR_PYTHON_DIR}/gnuradio/gr - COMPONENT "core_python" - ) - install( - FILES - gnuradio_core_${what}.i - ${CMAKE_CURRENT_BINARY_DIR}/${what}_swig_doc.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "core_swig" - ) - list(APPEND core_swig_deps ${SWIG_MODULE_gnuradio_core_${what}_REAL_NAME}) -endforeach(what) - -add_custom_target(core_swig DEPENDS ${core_swig_deps}) - -######################################################################## -# Install various files -######################################################################## -install(FILES - gnuradio.i - gr_swig_block_magic.i - gr_shared_ptr.i - DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig - COMPONENT "core_swig" -) - -GR_PYTHON_INSTALL( - FILES gnuradio_core.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/gr - COMPONENT "core_python" -) - -install( - FILES ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio_swig_bug_workaround.h - DESTINATION ${GR_INCLUDE_DIR}/gnuradio - COMPONENT "core_swig" -) diff --git a/gnuradio-core/src/lib/swig/gnuradio_core.py b/gnuradio-core/src/lib/swig/gnuradio_core.py deleted file mode 100644 index 09d00fcdc1..0000000000 --- a/gnuradio-core/src/lib/swig/gnuradio_core.py +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright 2006,2009,2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# - -# This file implements the old gnuradio_core namespace - -from gnuradio_core_runtime import * -from gnuradio_core_general import * diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_general.i b/gnuradio-core/src/lib/swig/gnuradio_core_general.i deleted file mode 100644 index 33f97815e8..0000000000 --- a/gnuradio-core/src/lib/swig/gnuradio_core_general.i +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2006,2009,2010 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -%include "general_swig_doc.i" - -#define GR_CORE_API - -#ifndef SWIGIMPORTED -%module(directors="1") gnuradio_core_general -#endif - - //%feature("autodoc", "1"); // generate python docstrings - -%include "gnuradio.i" // the common stuff - -%include "general.i" - - // Simple test case for complex input and output -%inline -%{ - std::complex<float> complexf_add_2j(std::complex<float> x) - { - return std::complex<float>(x.real(), x.imag() + 2); - } - - std::complex<double> complexd_add_2j(std::complex<double> x) - { - return std::complex<double>(x.real(), x.imag() + 2); - } - - std::complex<float> complexf_add_x_2j(float x, std::complex<float> y) - { - return std::complex<float>(x + y.real(), y.imag() + 2); - } - -%} diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i b/gnuradio-core/src/lib/swig/gnuradio_core_hier.i deleted file mode 100644 index 141d9b1635..0000000000 --- a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2009,2010 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -%include "hier_swig_doc.i" - -#ifndef SWIGIMPORTED -%module(directors="1") gnuradio_hier_hier -#endif - - //%feature("autodoc", "1"); // generate python docstrings - -%include "gnuradio.i" // the common stuff - -%include "hier.i" diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i b/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i deleted file mode 100644 index fb311d226d..0000000000 --- a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2009,2010 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -%include "runtime_swig_doc.i" - -#ifndef SWIGIMPORTED -%module(directors="1") gnuradio_core_runtime -#endif - - //%feature("autodoc", "1"); // generate python docstrings - -#define SW_RUNTIME -%include "gnuradio.i" // the common stuff - -%include "runtime.i" diff --git a/gnuradio-core/src/python/gnuradio/gru/CMakeLists.txt b/gnuradio-core/src/python/gnuradio/gru/CMakeLists.txt deleted file mode 100644 index 1c50989d96..0000000000 --- a/gnuradio-core/src/python/gnuradio/gru/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -include(GrPython) - -GR_PYTHON_INSTALL( - FILES __init__.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/gru - COMPONENT "core_python" -) diff --git a/gnuradio-core/src/python/gnuradio/gru/__init__.py b/gnuradio-core/src/python/gnuradio/gru/__init__.py deleted file mode 100644 index c24439ff54..0000000000 --- a/gnuradio-core/src/python/gnuradio/gru/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -# -# Copyright 2005 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import glob -import os.path - -# Semi-hideous kludge to import everything in the gruimpl directory -# into the gnuradio.gru namespace. This keeps us from having to remember -# to manually update this file. - -for p in __path__: - filenames = glob.glob (os.path.join (p, "..", "gruimpl", "*.py")) - for f in filenames: - f = os.path.basename(f).lower() - f = f[:-3] - if f == '__init__': - continue - # print f - exec "from gnuradio.gruimpl.%s import *" % (f,) diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/__init__.py b/gnuradio-core/src/python/gnuradio/gruimpl/__init__.py deleted file mode 100644 index a4917cf64c..0000000000 --- a/gnuradio-core/src/python/gnuradio/gruimpl/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# make this a package diff --git a/gnuradio-core/src/tests/CMakeLists.txt b/gnuradio-core/src/tests/CMakeLists.txt deleted file mode 100644 index 7723680dd9..0000000000 --- a/gnuradio-core/src/tests/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright 2010-2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -include(GrMiscUtils) #check n def -GR_CHECK_HDR_N_DEF(sys/resource.h HAVE_SYS_RESOURCE_H) - -######################################################################## -# Setup the include and linker paths -######################################################################## -include_directories( - ${GNURADIO_CORE_INCLUDE_DIRS} - ${GRUEL_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${CPPUNIT_INCLUDE_DIRS} -) - -link_directories( - ${Boost_LIBRARY_DIRS} - ${CPPUNIT_LIBRARY_DIRS} -) - -include_directories(${LOG4CPP_INCLUDE_DIRS}) -link_directories(${LOG4CPP_LIBRARY_DIRS}) - -######################################################################## -# Build benchmarks and non-registered tests -######################################################################## -set(tests_not_run #single source per test - benchmark_nco.cc - benchmark_vco.cc - test_general.cc - test_vmcircbuf.cc -) - -foreach(test_not_run_src ${tests_not_run}) - get_filename_component(name ${test_not_run_src} NAME_WE) - add_executable(${name} ${test_not_run_src}) - target_link_libraries(${name} test-gnuradio-core) -endforeach(test_not_run_src) - -######################################################################## -# Build the test-all test to end all tests -# Set the test environment so the build libs will be found under MSVC. -######################################################################## -include(GrTest) -list(APPEND GR_TEST_TARGET_DEPS test-gnuradio-core) -add_executable(gr_core_test_all test_all.cc) -target_link_libraries(gr_core_test_all test-gnuradio-core) -GR_ADD_TEST(gr-core-test-all gr_core_test_all) diff --git a/gnuradio-core/src/tests/benchmark_nco.cc b/gnuradio-core/src/tests/benchmark_nco.cc deleted file mode 100644 index 20d53e410f..0000000000 --- a/gnuradio-core/src/tests/benchmark_nco.cc +++ /dev/null @@ -1,220 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2004 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <stdio.h> -#include <sys/time.h> -#ifdef HAVE_SYS_RESOURCE_H -#include <sys/resource.h> -#endif -#include <unistd.h> -#include <gr_nco.h> -#include <gr_fxpt_nco.h> -#include <string.h> - -#define ITERATIONS 20000000 -#define BLOCK_SIZE (10 * 1000) // fits in cache - -#define FREQ 5003.123 - -static double -timeval_to_double (const struct timeval *tv) -{ - return (double) tv->tv_sec + (double) tv->tv_usec * 1e-6; -} - - -static void -benchmark (void test (float *x, float *y), const char *implementation_name) -{ -#ifdef HAVE_SYS_RESOURCE_H - struct rusage rusage_start; - struct rusage rusage_stop; -#else - double clock_start; - double clock_end; -#endif - float output[2*BLOCK_SIZE]; - float *x = &output[0], *y = &output[BLOCK_SIZE]; - - // touch memory - memset(output, 0, 2*BLOCK_SIZE*sizeof(float)); - - // get starting CPU usage -#ifdef HAVE_SYS_RESOURCE_H - if (getrusage (RUSAGE_SELF, &rusage_start) < 0){ - perror ("getrusage"); - exit (1); - } -#else - clock_start = (double) clock() * (1000000. / CLOCKS_PER_SEC); -#endif - // do the actual work - - test (x, y); - - // get ending CPU usage - -#ifdef HAVE_SYS_RESOURCE_H - if (getrusage (RUSAGE_SELF, &rusage_stop) < 0){ - perror ("getrusage"); - exit (1); - } - - // compute results - - double user = - timeval_to_double (&rusage_stop.ru_utime) - - timeval_to_double (&rusage_start.ru_utime); - - double sys = - timeval_to_double (&rusage_stop.ru_stime) - - timeval_to_double (&rusage_start.ru_stime); - - double total = user + sys; -#else - clock_end = (double) clock () * (1000000. / CLOCKS_PER_SEC); - double total = clock_end - clock_start; -#endif - - printf ("%18s: cpu: %6.3f steps/sec: %10.3e\n", - implementation_name, total, ITERATIONS / total); -} - -// ---------------------------------------------------------------- -// Don't compare the _vec with other functions since memory store's -// are involved. - -void basic_sincos_vec (float *x, float *y) -{ - gr_nco<float,float> nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS/BLOCK_SIZE; i++){ - for (int j = 0; j < BLOCK_SIZE; j++){ - nco.sincos (&x[2*j+1], &x[2*j]); - nco.step (); - } - } -} - -void native_sincos_vec (float *x, float *y) -{ - gr_nco<float,float> nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS/BLOCK_SIZE; i++){ - nco.sincos ((gr_complex*)x, BLOCK_SIZE); - } -} - -void fxpt_sincos_vec (float *x, float *y) -{ - gr_fxpt_nco nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS/BLOCK_SIZE; i++){ - nco.sincos ((gr_complex*)x, BLOCK_SIZE); - } -} - -// ---------------------------------------------------------------- - -void native_sincos (float *x, float *y) -{ - gr_nco<float,float> nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS; i++){ - nco.sincos (x, y); - nco.step (); - } -} - -void fxpt_sincos (float *x, float *y) -{ - gr_fxpt_nco nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS; i++){ - nco.sincos (x, y); - nco.step (); - } -} - -// ---------------------------------------------------------------- - -void native_sin (float *x, float *y) -{ - gr_nco<float,float> nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS; i++){ - *x = nco.sin (); - nco.step (); - } -} - -void fxpt_sin (float *x, float *y) -{ - gr_fxpt_nco nco; - - nco.set_freq (2 * M_PI / FREQ); - - for (int i = 0; i < ITERATIONS; i++){ - *x = nco.sin (); - nco.step (); - } -} - -// ---------------------------------------------------------------- - -void nop_fct (float *x, float *y) -{ -} - -void nop_loop (float *x, float *y) -{ - for (int i = 0; i < ITERATIONS; i++){ - nop_fct (x, y); - } -} - -int -main (int argc, char **argv) -{ - benchmark (nop_loop, "nop loop"); - benchmark (native_sin, "native sine"); - benchmark (fxpt_sin, "fxpt sine"); - benchmark (native_sincos, "native sin/cos"); - benchmark (fxpt_sincos, "fxpt sin/cos"); - benchmark (basic_sincos_vec, "basic sin/cos vec"); - benchmark (native_sincos_vec, "native sin/cos vec"); - benchmark (fxpt_sincos_vec, "fxpt sin/cos vec"); -} diff --git a/gnuradio-core/src/tests/benchmark_vco.cc b/gnuradio-core/src/tests/benchmark_vco.cc deleted file mode 100644 index 3a6ade78c9..0000000000 --- a/gnuradio-core/src/tests/benchmark_vco.cc +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2004,2005 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <stdio.h> -#include <sys/time.h> -#ifdef HAVE_SYS_RESOURCE_H -#include <sys/resource.h> -#endif -#include <unistd.h> -#include <gr_vco.h> -#include <gr_fxpt_vco.h> -#include <string.h> - -#define ITERATIONS 5000000 -#define BLOCK_SIZE (10 * 1000) // fits in cache - -#define FREQ 5003.123 -#define K 4.9999999 -#define AMPLITUDE 2.444444444 - - -static double -timeval_to_double (const struct timeval *tv) -{ - return (double) tv->tv_sec + (double) tv->tv_usec * 1e-6; -} - - -static void -benchmark (void test (float *x, const float *y), const char *implementation_name) -{ -#ifdef HAVE_SYS_RESOURCE_H - struct rusage rusage_start; - struct rusage rusage_stop; -#else - double clock_start; - double clock_end; -#endif - float output[BLOCK_SIZE]; - float input[BLOCK_SIZE]; - - // touch memory - memset(output, 0, BLOCK_SIZE*sizeof(float)); - for (int i = 0; i<BLOCK_SIZE; i++) - input[i] = sin(double(i)); - - // get starting CPU usage -#ifdef HAVE_SYS_RESOURCE_H - if (getrusage (RUSAGE_SELF, &rusage_start) < 0){ - perror ("getrusage"); - exit (1); - } -#else - clock_start = (double) clock() * (1000000. / CLOCKS_PER_SEC); -#endif - // do the actual work - - test (output, input); - - // get ending CPU usage - -#ifdef HAVE_SYS_RESOURCE_H - if (getrusage (RUSAGE_SELF, &rusage_stop) < 0){ - perror ("getrusage"); - exit (1); - } - - // compute results - - double user = - timeval_to_double (&rusage_stop.ru_utime) - - timeval_to_double (&rusage_start.ru_utime); - - double sys = - timeval_to_double (&rusage_stop.ru_stime) - - timeval_to_double (&rusage_start.ru_stime); - - double total = user + sys; -#else - clock_end = (double) clock () * (1000000. / CLOCKS_PER_SEC); - double total = clock_end - clock_start; -#endif - - printf ("%18s: cpu: %6.3f steps/sec: %10.3e\n", - implementation_name, total, ITERATIONS / total); -} - -// ---------------------------------------------------------------- - -void basic_vco (float *output, const float *input) -{ - double phase = 0; - - for (int j = 0; j < ITERATIONS/BLOCK_SIZE; j++){ - for (int i = 0; i < BLOCK_SIZE; i++){ - output[i] = cos(phase) * AMPLITUDE; - phase += input[i] * K; - - while (phase > 2 * M_PI) - phase -= 2 * M_PI; - - while (phase < -2 * M_PI) - phase += 2 * M_PI; - } - } -} - -void native_vco (float *output, const float *input) -{ - gr_vco<float,float> vco; - - for (int j = 0; j < ITERATIONS/BLOCK_SIZE; j++){ - vco.cos(output, input, BLOCK_SIZE, K, AMPLITUDE); - } - } - -void fxpt_vco (float *output, const float *input) -{ - gr_fxpt_vco vco; - - for (int j = 0; j < ITERATIONS/BLOCK_SIZE; j++){ - vco.cos(output, input, BLOCK_SIZE, K, AMPLITUDE); - } -} - -// ---------------------------------------------------------------- - -void nop_fct (float *x, const float *y) -{ -} - -void nop_loop (float *x, const float *y) -{ - for (int i = 0; i < ITERATIONS; i++){ - nop_fct (x, y); - } -} - -int -main (int argc, char **argv) -{ - benchmark (nop_loop, "nop loop"); - benchmark (basic_vco, "basic vco"); - benchmark (native_vco, "native vco"); - benchmark (fxpt_vco, "fxpt vco"); -} diff --git a/gnuradio-core/src/tests/nco_results b/gnuradio-core/src/tests/nco_results deleted file mode 100644 index 5bdf5dd1cb..0000000000 --- a/gnuradio-core/src/tests/nco_results +++ /dev/null @@ -1,48 +0,0 @@ -================================================================ -These are on a 1.4 GHz Pentium M using g++ 3.4.1 -================================================================ - -Default compiler options -O2 - - nop loop: cpu: 0.015 steps/sec: 6.668e+08 - native sine: cpu: 0.900 steps/sec: 1.111e+07 - fxpt sine: cpu: 0.281 steps/sec: 3.559e+07 - native sin/cos: cpu: 1.138 steps/sec: 8.789e+06 - fxpt sin/cos: cpu: 0.550 steps/sec: 1.818e+07 - --O2 -march=pentium-m -fomit-frame-pointer - - nop loop: cpu: 0.015 steps/sec: 6.668e+08 - native sine: cpu: 0.903 steps/sec: 1.108e+07 - fxpt sine: cpu: 0.271 steps/sec: 3.691e+07 - native sin/cos: cpu: 1.092 steps/sec: 9.159e+06 - fxpt sin/cos: cpu: 0.542 steps/sec: 1.845e+07 - -Inlined fxpt::sin & cos --O2 -march=pentium-m -fomit-frame-pointer - - nop loop: cpu: 0.015 steps/sec: 6.668e+08 - native sine: cpu: 0.904 steps/sec: 1.106e+07 - fxpt sine: cpu: 0.187 steps/sec: 5.348e+07 - native sin/cos: cpu: 1.091 steps/sec: 9.167e+06 - fxpt sin/cos: cpu: 0.373 steps/sec: 2.681e+07 - -================================================================ -These are on a 1.5 GHz Athon MP 1800+ -================================================================ - -Default compiler options: -O2 - - nop loop: cpu: 0.013 steps/sec: 7.693e+08 - native sine: cpu: 0.733 steps/sec: 1.364e+07 - fxpt sine: cpu: 0.210 steps/sec: 4.763e+07 - native sin/cos: cpu: 1.183 steps/sec: 8.454e+06 - fxpt sin/cos: cpu: 0.420 steps/sec: 2.381e+07 - --O2 -fomit-frame-pointer -march=athlon-mp - - nop loop: cpu: 0.013 steps/sec: 7.693e+08 - native sine: cpu: 0.679 steps/sec: 1.473e+07 - fxpt sine: cpu: 0.200 steps/sec: 5.001e+07 - native sin/cos: cpu: 1.147 steps/sec: 8.720e+06 - fxpt sin/cos: cpu: 0.444 steps/sec: 2.253e+07 diff --git a/gnuradio-core/src/tests/test_all.cc b/gnuradio-core/src/tests/test_all.cc deleted file mode 100644 index f1fbce4e05..0000000000 --- a/gnuradio-core/src/tests/test_all.cc +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2010,2011 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <cppunit/TextTestRunner.h> -#include <cppunit/XmlOutputter.h> - -#include <gr_unittests.h> -#include <qa_general.h> - -// FIXME add atsc back in. - -int -main (int argc, char **argv) -{ - CppUnit::TextTestRunner runner; - std::ofstream xmlfile(get_unittest_path("gnuradio_core_all.xml").c_str()); - CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile); - - runner.addTest (qa_general::suite ()); - runner.setOutputter(xmlout); - - bool was_successful = runner.run ("", false); - - return was_successful ? 0 : 1; -} diff --git a/gnuradio-core/src/tests/test_atsc.cc b/gnuradio-core/src/tests/test_atsc.cc deleted file mode 100644 index d99bccce50..0000000000 --- a/gnuradio-core/src/tests/test_atsc.cc +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2002,2011 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <cppunit/TextTestRunner.h> -#include <cppunit/XmlOutputter.h> - -#include <gr_unittests.h> -#include <qa_atsc.h> - -int -main (int argc, char **argv) -{ - CppUnit::TextTestRunner runner; - std::ofstream xmlfile(get_unittest_path("gnuradio_core_atsc.xml").c_str()); - CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile); - - runner.addTest (qa_atsc::suite ()); - runner.setOutputter(xmlout); - - bool was_successful = runner.run ("", false); - - return was_successful ? 0 : 1; -} diff --git a/gnuradio-core/src/tests/test_buffers.py b/gnuradio-core/src/tests/test_buffers.py deleted file mode 100755 index e0abb8b304..0000000000 --- a/gnuradio-core/src/tests/test_buffers.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2006,2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, gru -from gnuradio import audio -from gnuradio import blocks -from gnuradio.eng_option import eng_option -from optparse import OptionParser - -import time, math -import sys - -def sig_source_f(samp_rate, freq, amp, N): - t = map(lambda x: float(x)/samp_rate, xrange(N)) - y = map(lambda x: math.sin(2.*math.pi*freq*x), t) - return y - -# Test script to test setting up the buffers using gr_test -# For very large buffers it will fail when you hit the circbuf memory limit. -# On linux this limit is shmmax, it will fail when it tries to create a buffer > shmmax. -# With a 2.6 or later kernel you can set the shmmax limit manually in a root console -#show current shmmax limit -#$ cat /proc/sys/kernel/shmmax -#33554432 - -#set shmmax limit manually to 300MB -#echo 300000000 >/proc/sys/kernel/shmmax - -#show new shmmax limit -#$ cat /proc/sys/kernel/shmmax -#300000000 - -class my_graph(gr.top_block): - - def __init__(self, seconds,history,output_multiple): - gr.top_block.__init__(self) - - parser = OptionParser(option_class=eng_option) - parser.add_option("-O", "--audio-output", type="string", default="", - help="pcm output device name. E.g., hw:0,0 or /dev/dsp") - parser.add_option("-r", "--sample-rate", type="eng_float", default=48000, - help="set sample rate to RATE (48000)") - (options, args) = parser.parse_args () - if len(args) != 0: - parser.print_help() - raise SystemExit, 1 - - sample_rate = int(options.sample_rate) - ampl = 0.1 - nsamples=int(sample_rate * seconds) #1 seconds - - data = sig_source_f(sample_rate, 350, ampl, nsamples) - src0 = blocks.vector_source_f(data) - - # gr.test (const std::string &name=std::string("gr_test"), - # int min_inputs=1, int max_inputs=1, unsigned int sizeof_input_item=1, - # int min_outputs=1, int max_outputs=1, unsigned int sizeof_output_item=1, - # unsigned int history=1,unsigned int output_multiple=1,double relative_rate=1.0, - # bool fixed_rate=true,gr_consume_type_t cons_type=CONSUME_NOUTPUT_ITEMS, gr_produce_type_t prod_type=PRODUCE_NOUTPUT_ITEMS); - name="gr_test" - min_inputs=1 - max_inputs=1 - sizeof_input_item=gr.sizeof_float - min_outputs=1 - max_outputs=1 - sizeof_output_item=gr.sizeof_float - #history=1 # problems start at 8150 - #output_multiple=1 #problems start at 8000 in combination with large history - relative_rate=1.0 - fixed_rate=True - consume_type=gr.CONSUME_NOUTPUT_ITEMS - produce_type=gr.PRODUCE_NOUTPUT_ITEMS - test = gr.test(name, min_inputs,max_inputs,sizeof_input_item, - min_outputs,max_outputs,sizeof_output_item, - history,output_multiple,relative_rate, - fixed_rate, consume_type,produce_type) - #test = gr.test("gr_test",1,1,gr.sizeof_float, - # 1,1,gr.sizeof_float, - # 1,1,1.0, - # True, gr.CONSUME_NOUTPUT_ITEMS,gr.PRODUCE_NOUTPUT_ITEMS) - #unsigned int history=1,unsigned int output_multiple=1,double relative_rate=1.0, - #bool fixed_rate=false - dst = audio.sink (sample_rate, options.audio_output) - - self.connect (src0,test,(dst, 0)) - - -if __name__ == '__main__': - - seconds=5.0 - output_multiple=1 - for history in (1,1000,8000,8100,8150,8175,8190,8191,8192,8193,8194,8195,9000,10000,100000,1000000,10000000): #,100000000): - sys.stdout.flush() - sys.stderr.flush() - print 'Test with history=', history, 'output_multiple=',output_multiple - sys.stdout.flush() - sys.stderr.flush() - succeed=True - starttime=time.time() - try: - my_graph(seconds,history,output_multiple).run() - except KeyboardInterrupt: - pass - except: - print "\nAn exception has terminated the graph." - exception=True - succeed=False - sys.stdout.flush() - sys.stderr.flush() - if succeed: - print '' - endtime=time.time() - duration=endtime - starttime - if (duration < 0.5*seconds) and (succeed): - print "A problem has terminated the graph." - succeed=False - if (duration > 1.5*seconds) and (succeed): - print "Something slowed the graph down considerably." - succeed=False - - print 'The test result was:' , succeed - print 'Test duration' , duration - print '' diff --git a/gnuradio-core/src/tests/test_vmcircbuf.cc b/gnuradio-core/src/tests/test_vmcircbuf.cc deleted file mode 100644 index ee24b6d62f..0000000000 --- a/gnuradio-core/src/tests/test_vmcircbuf.cc +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2003 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <gr_vmcircbuf.h> -#include <stdio.h> - -int -main (int argc, char **argv) -{ - int verbose = 1; // summary - - if (argc > 1) - verbose = 2; // extra chatty - - bool ok = gr_vmcircbuf_sysconfig::test_all_factories (verbose); - - if (ok){ - fprintf (stdout, "test_vmcircbuf: OK. We've got at least one workable solution\n"); - return 0; - } - else { - fprintf (stdout, "test_vmcircbuf: NOT OK. We don't have a workable solution\n"); - return 1; - } -} diff --git a/gnuradio-core/src/utils/partition-cascaded-decimating-filters.scm b/gnuradio-core/src/utils/partition-cascaded-decimating-filters.scm deleted file mode 100644 index 6ae7877f9b..0000000000 --- a/gnuradio-core/src/utils/partition-cascaded-decimating-filters.scm +++ /dev/null @@ -1,67 +0,0 @@ -;; Estimate the total work (ntaps * sampling rate) for two cascaded -;; decimating low pass filters. -;; -;; The basic assumption is that the number of taps required in any -;; section is inversely proportional to the normalized transition width -;; for that section. -;; -;; FS is the input sampling frequency -;; F1 is the cutoff frequency -;; F2 is the far edge of the transition band -;; DEC1 is the decimation factor for the first filter -;; DEC2 is the decimation factor for the 2nd filter -;; -;; The total decimation factor is DEC1 * DEC2. Therefore, -;; the output rate of the filter is FS / (DEC1 * DEC2) - -(require 'common-list-functions) -(require 'factor) - - - -(define (work2 fs f1 f2 dec1 dec2) - (+ (work1 fs f1 (/ fs (* 2 dec1)) dec1) - (work1 (/ fs dec1) f1 f2 dec2))) - - -;; work for a single section - -(define (work1 fs f1 f2 dec) - (/ (* fs (/ fs (- f2 f1))) dec)) - - -;; return the max integer dec such that fs/(2*dec) >= f2 - -(define (max-dec fs f2) - (inexact->exact (floor (/ fs (* 2 f2))))) - - -;; `adjoin' returns the adjoint of the element OBJ and the list LST. -;; That is, if OBJ is in LST, `adjoin' returns LST, otherwise, it returns -;; `(cons OBJ LST)'. - -(define (adjoin-equal obj lst) - (if (member obj lst) lst (cons obj lst))) - - -;;; not quite right - -(define (permute lst) - (let ((result '())) - (define (aux set head) - (if (null? set) - (set! result (cons head result)) - (for-each (lambda (x) - (aux (set-difference set (list x)) - (cons x head))) - set))) - (aux lst '()) - result)) - -;; `extract-nth' returns the Nth element of LST consed on to the -;; list resulting from splicing out the Nth element of LST. -;; Indexing is 0 based. - -(define (extract-nth n lst) - lst) - diff --git a/gnuradio-core/src/utils/permute.scm b/gnuradio-core/src/utils/permute.scm deleted file mode 100644 index 23ddfc9991..0000000000 --- a/gnuradio-core/src/utils/permute.scm +++ /dev/null @@ -1,27 +0,0 @@ -(require 'common-list-functions) - - -(define (permute lst) - (define (aux set head) - (cond ((null? set) head) - (else - (map (lambda (x) - (aux (set-difference set (list x)) - (cons x head))) - set)))) - (aux lst '())) - -(define (permute-2 lst) - (let ((result '())) - (define (aux set head) - (if (null? set) - (set! result (cons head result)) - (for-each (lambda (x) - (aux (set-difference set (list x)) - (cons x head))) - set))) - (aux lst '()) - result)) - - - diff --git a/gnuradio-core/CMakeLists.txt b/gnuradio-runtime/CMakeLists.txt index 6a88b63cc7..96b844b193 100644 --- a/gnuradio-core/CMakeLists.txt +++ b/gnuradio-runtime/CMakeLists.txt @@ -1,17 +1,17 @@ -# Copyright 2010-2012 Free Software Foundation, Inc. -# +# Copyright 2013 Free Software Foundation, Inc. +# # This file is part of GNU Radio -# +# # GNU Radio is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3, or (at your option) # any later version. -# +# # GNU Radio is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with GNU Radio; see the file COPYING. If not, write to # the Free Software Foundation, Inc., 51 Franklin Street, @@ -21,52 +21,40 @@ # Setup dependencies ######################################################################## include(GrBoost) +include(GrPython) -find_package(FFTW3f) - -include(GrPython) #used for code generation - -get_filename_component(GR_CORE_PYTHONPATH - ${CMAKE_CURRENT_SOURCE_DIR}/src/python ABSOLUTE -) -GR_SET_GLOBAL(GR_CORE_PYTHONPATH ${GR_CORE_PYTHONPATH}) +######################################################################## +# Setup compatibility checks and defines +######################################################################## +include(${CMAKE_CURRENT_SOURCE_DIR}/ConfigChecks.cmake) ######################################################################## # Register component ######################################################################## include(GrComponent) -GR_REGISTER_COMPONENT("gnuradio-core" ENABLE_GR_CORE +GR_REGISTER_COMPONENT("gnuradio-runtime" ENABLE_GNURADIO_RUNTIME + Boost_FOUND ENABLE_GRUEL ENABLE_VOLK - Boost_FOUND - FFTW3F_FOUND PYTHONINTERP_FOUND ) -include(GrMiscUtils) - -GR_SET_GLOBAL(GNURADIO_CORE_INCLUDE_DIRS - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/runtime - ${CMAKE_CURRENT_BINARY_DIR}/src/lib/general - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/general - ${CMAKE_CURRENT_BINARY_DIR}/src/lib/filter - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/filter - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/missing - ${CMAKE_CURRENT_BINARY_DIR}/src/lib/swig - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/swig - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/hier +GR_SET_GLOBAL(GNURADIO_RUNTIME_INCLUDE_DIRS ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/gnuradio-runtime/include + ${CMAKE_BINARY_DIR}/gnuradio-runtime/include ) -list(APPEND GNURADIO_CORE_INCLUDE_DIRS ${CMAKE_BINARY_DIR}) +GR_SET_GLOBAL(GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS + ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${CMAKE_SOURCE_DIR}/gnuradio-runtime/swig + ${CMAKE_BINARY_DIR}/gnuradio-runtime/swig +) -GR_SET_GLOBAL(GNURADIO_CORE_SWIG_INCLUDE_DIRS - ${GNURADIO_CORE_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/swig - ${CMAKE_SOURCE_DIR}/gruel/src/swig - ${CMAKE_BINARY_DIR}/gruel/src/swig - ${CMAKE_BINARY_DIR} +get_filename_component(GNURADIO_RUNTIME_PYTHONPATH + ${CMAKE_SOURCE_DIR}/python ABSOLUTE ) +GR_SET_GLOBAL(GNURADIO_RUNTIME_PYTHONPATH ${GNURADIO_RUNTIME_PYTHONPATH}) ######################################################################## # Register controlport component @@ -91,56 +79,59 @@ GR_REGISTER_COMPONENT("gr-ctrlport" ENABLE_GR_CTRLPORT SWIG_VERSION_CHECK ICE_FOUND ENABLE_GRUEL - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ) ######################################################################## # Begin conditional configuration ######################################################################## -if(ENABLE_GR_CORE) +if(ENABLE_GNURADIO_RUNTIME) + +get_filename_component(GR_RUNTIME_PYTHONPATH + ${CMAKE_CURRENT_SOURCE_DIR}/python ABSOLUTE +) +GR_SET_GLOBAL(GR_RUNTIME_PYTHONPATH ${GR_RUNTIME_PYTHONPATH}) ######################################################################## # Setup CPack components ######################################################################## include(GrPackage) -CPACK_SET(CPACK_COMPONENT_GROUP_CORE_DESCRIPTION "GNU Radio Core Library") +CPACK_SET(CPACK_COMPONENT_GROUP_RUNTIME_DESCRIPTION "GNU Radio Runtime") -CPACK_COMPONENT("core_runtime" - GROUP "Core" +CPACK_COMPONENT("runtime_runtime" + GROUP "Runtime" DISPLAY_NAME "Runtime" - DESCRIPTION "Runtime" - DEPENDS "gruel_runtime" + DESCRIPTION "Dynamic link libraries" + DEPENDS "core_runtime" ) -CPACK_COMPONENT("core_devel" - GROUP "Core" +CPACK_COMPONENT("runtime_devel" + GROUP "Runtime" DISPLAY_NAME "Development" DESCRIPTION "C++ headers, package config, import libraries" - DEPENDS "gruel_devel" + DEPENDS "core_devel" ) -CPACK_COMPONENT("core_python" - GROUP "Core" +CPACK_COMPONENT("runtime_python" + GROUP "Runtime" DISPLAY_NAME "Python" - DESCRIPTION "Python modules for runtime; GRC xml files" - DEPENDS "gruel_python;core_runtime" + DESCRIPTION "Python modules for runtime" + DEPENDS "core_python;runtime_runtime" ) -CPACK_COMPONENT("core_swig" - GROUP "Core" +CPACK_COMPONENT("runtime_swig" + GROUP "Runtime" DISPLAY_NAME "SWIG" DESCRIPTION "SWIG development .i files" - DEPENDS "gruel_swig;core_python;core_devel" + DEPENDS "core_swig;runtime_python;runtime_devel" ) - -# Setup configure file configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-core.conf.in - ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.conf + ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-runtime.conf.in + ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.conf @ONLY) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.conf + FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.conf ctrlport.conf.example DESTINATION ${GR_PREFSDIR} COMPONENT "core_runtime" @@ -157,31 +148,31 @@ endif(ENABLE_GR_LOG AND HAVE_LOG4CPP) ######################################################################## # Add subdirectories ######################################################################## -add_subdirectory(src/lib) -if(ENABLE_TESTING) - add_subdirectory(src/tests) -endif(ENABLE_TESTING) +add_subdirectory(include) +add_subdirectory(lib) +add_subdirectory(apps) +#add_subdirectory(doc) if(ENABLE_PYTHON) - add_subdirectory(src/lib/swig) - add_subdirectory(src/python/gnuradio) - add_subdirectory(src/examples) + add_subdirectory(swig) + add_subdirectory(python) +# add_subdirectory(grc) + add_subdirectory(examples) endif(ENABLE_PYTHON) ######################################################################## # Create Pkg Config File ######################################################################## configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-core.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.pc + ${CMAKE_CURRENT_SOURCE_DIR}/gnuradio-runtime.pc.in + ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.pc @ONLY) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-core.pc + FILES ${CMAKE_CURRENT_BINARY_DIR}/gnuradio-runtime.pc DESTINATION ${GR_LIBRARY_DIR}/pkgconfig - COMPONENT "core_devel" + COMPONENT "runtime_devel" ) - ######################################################################## # Setup ControlPort preferences file and installation information ######################################################################## @@ -195,10 +186,9 @@ file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${GR_PKG_CTRL_SLICE_DIR} slicedir) install( FILES ctrlport.conf.example DESTINATION ${SYSCONFDIR}/${CMAKE_PROJECT_NAME} - COMPONENT "core_runtime" + COMPONENT "gnuradio_runtime" ) endif(ENABLE_GR_CTRLPORT) - -endif(ENABLE_GR_CORE) +endif(ENABLE_GNURADIO_RUNTIME) diff --git a/gnuradio-core/src/lib/ConfigChecks.cmake b/gnuradio-runtime/ConfigChecks.cmake index 26b778a7a7..e6c97bada4 100644 --- a/gnuradio-core/src/lib/ConfigChecks.cmake +++ b/gnuradio-runtime/ConfigChecks.cmake @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. +# Copyright 2010-2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # diff --git a/gr-howto-write-a-block/docs/CMakeLists.txt b/gnuradio-runtime/apps/CMakeLists.txt index f16fbf6db4..9efd3f2b69 100644 --- a/gr-howto-write-a-block/docs/CMakeLists.txt +++ b/gnuradio-runtime/apps/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2010-2011,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -18,18 +18,25 @@ # Boston, MA 02110-1301, USA. ######################################################################## -# Setup dependencies +# Setup the include and linker paths ######################################################################## -find_package(Doxygen) +include_directories( + ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${GRUEL_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} +) -######################################################################## -# Begin conditional configuration -######################################################################## -if(ENABLE_DOXYGEN) +link_directories( + ${Boost_LIBRARY_DIRS} +) ######################################################################## -# Add subdirectories +# Setup executables ######################################################################## -add_subdirectory(doxygen) - -endif(ENABLE_DOXYGEN) +add_executable(gnuradio-config-info gnuradio-config-info.cc) +target_link_libraries(gnuradio-config-info gnuradio-runtime ${Boost_LIBRARIES}) +install( + TARGETS gnuradio-config-info + DESTINATION ${GR_RUNTIME_DIR} + COMPONENT "runtime_runtime" +) diff --git a/gnuradio-core/src/lib/gnuradio-config-info.cc b/gnuradio-runtime/apps/gnuradio-config-info.cc index d3e6454fd8..d3e6454fd8 100644 --- a/gnuradio-core/src/lib/gnuradio-config-info.cc +++ b/gnuradio-runtime/apps/gnuradio-config-info.cc diff --git a/gnuradio-core/ctrlport.conf.example b/gnuradio-runtime/ctrlport.conf.example index 51d9e934f2..51d9e934f2 100644 --- a/gnuradio-core/ctrlport.conf.example +++ b/gnuradio-runtime/ctrlport.conf.example diff --git a/gnuradio-runtime/ctrlport.conf.in b/gnuradio-runtime/ctrlport.conf.in new file mode 100644 index 0000000000..5c31a04516 --- /dev/null +++ b/gnuradio-runtime/ctrlport.conf.in @@ -0,0 +1,6 @@ +# This file contains system wide configuration data for GNU Radio. +# You may override any setting on a per-user basis by editing +# ~/.gnuradio/config.conf + +[ctrlport] +ice_directory=@slicedir@ diff --git a/gnuradio-core/src/examples/CMakeLists.txt b/gnuradio-runtime/examples/CMakeLists.txt index b90a5542df..b90a5542df 100644 --- a/gnuradio-core/src/examples/CMakeLists.txt +++ b/gnuradio-runtime/examples/CMakeLists.txt diff --git a/gnuradio-core/src/examples/mp-sched/CMakeLists.txt b/gnuradio-runtime/examples/mp-sched/CMakeLists.txt index d2d910ecf2..863cfa733a 100644 --- a/gnuradio-core/src/examples/mp-sched/CMakeLists.txt +++ b/gnuradio-runtime/examples/mp-sched/CMakeLists.txt @@ -26,11 +26,11 @@ GR_PYTHON_INSTALL(PROGRAMS synthetic.py wfm_rcv_pll_to_wav.py DESTINATION ${GR_PKG_DATA_DIR}/examples/mp-sched - COMPONENT "core_python" + COMPONENT "runtime_python" ) install( FILES README DESTINATION ${GR_PKG_DATA_DIR}/examples/mp-sched - COMPONENT "core_python" + COMPONENT "runtime_python" ) diff --git a/gnuradio-core/src/examples/mp-sched/README b/gnuradio-runtime/examples/mp-sched/README index ae575437ac..ae575437ac 100644 --- a/gnuradio-core/src/examples/mp-sched/README +++ b/gnuradio-runtime/examples/mp-sched/README diff --git a/gnuradio-core/src/examples/mp-sched/affinity_set.py b/gnuradio-runtime/examples/mp-sched/affinity_set.py index 4d28a04174..4d28a04174 100755 --- a/gnuradio-core/src/examples/mp-sched/affinity_set.py +++ b/gnuradio-runtime/examples/mp-sched/affinity_set.py diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/core-duo.dat b/gnuradio-runtime/examples/mp-sched/perf-data/core-duo.dat index 064d1e1282..064d1e1282 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/core-duo.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/core-duo.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/core2-duo.dat b/gnuradio-runtime/examples/mp-sched/perf-data/core2-duo.dat index d67dee8e51..d67dee8e51 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/core2-duo.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/core2-duo.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat b/gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat index fa182c69a7..fa182c69a7 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-2.33-clovertown.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat b/gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat index 57d49ed334..57d49ed334 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/dual-quad-core-3.00-penryn.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/js21-altivec.dat b/gnuradio-runtime/examples/mp-sched/perf-data/js21-altivec.dat index d0b8148f0e..d0b8148f0e 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/js21-altivec.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/js21-altivec.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/js21.dat b/gnuradio-runtime/examples/mp-sched/perf-data/js21.dat index a23bcebe77..a23bcebe77 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/js21.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/js21.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/ps3-altivec.dat b/gnuradio-runtime/examples/mp-sched/perf-data/ps3-altivec.dat index dd01b31bd7..dd01b31bd7 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/ps3-altivec.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/ps3-altivec.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/ps3.dat b/gnuradio-runtime/examples/mp-sched/perf-data/ps3.dat index c9bac37cc1..c9bac37cc1 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/ps3.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/ps3.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/qs21-altivec.dat b/gnuradio-runtime/examples/mp-sched/perf-data/qs21-altivec.dat index 8364be363d..8364be363d 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/qs21-altivec.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/qs21-altivec.dat diff --git a/gnuradio-core/src/examples/mp-sched/perf-data/qs21.dat b/gnuradio-runtime/examples/mp-sched/perf-data/qs21.dat index cc628740a8..cc628740a8 100644 --- a/gnuradio-core/src/examples/mp-sched/perf-data/qs21.dat +++ b/gnuradio-runtime/examples/mp-sched/perf-data/qs21.dat diff --git a/gnuradio-core/src/examples/mp-sched/plot_flops.py b/gnuradio-runtime/examples/mp-sched/plot_flops.py index d9d810ae2f..d9d810ae2f 100755 --- a/gnuradio-core/src/examples/mp-sched/plot_flops.py +++ b/gnuradio-runtime/examples/mp-sched/plot_flops.py diff --git a/gnuradio-core/src/examples/mp-sched/run_synthetic.py b/gnuradio-runtime/examples/mp-sched/run_synthetic.py index 4896bca462..4896bca462 100755 --- a/gnuradio-core/src/examples/mp-sched/run_synthetic.py +++ b/gnuradio-runtime/examples/mp-sched/run_synthetic.py diff --git a/gnuradio-core/src/examples/mp-sched/synthetic.py b/gnuradio-runtime/examples/mp-sched/synthetic.py index 6f0bb85da8..6f0bb85da8 100755 --- a/gnuradio-core/src/examples/mp-sched/synthetic.py +++ b/gnuradio-runtime/examples/mp-sched/synthetic.py diff --git a/gnuradio-core/src/examples/mp-sched/wfm_rcv_pll_to_wav.py b/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py index 7cf3210b0e..7cf3210b0e 100755 --- a/gnuradio-core/src/examples/mp-sched/wfm_rcv_pll_to_wav.py +++ b/gnuradio-runtime/examples/mp-sched/wfm_rcv_pll_to_wav.py diff --git a/gnuradio-core/src/examples/network/CMakeLists.txt b/gnuradio-runtime/examples/network/CMakeLists.txt index 902933e297..92eb734768 100644 --- a/gnuradio-core/src/examples/network/CMakeLists.txt +++ b/gnuradio-runtime/examples/network/CMakeLists.txt @@ -25,6 +25,6 @@ GR_PYTHON_INSTALL(PROGRAMS vector_sink.py vector_source.py DESTINATION ${GR_PKG_DATA_DIR}/examples/network - COMPONENT "core_python" + COMPONENT "runtime_python" ) diff --git a/gnuradio-core/src/examples/network/audio_sink.py b/gnuradio-runtime/examples/network/audio_sink.py index 0e412de5ae..0e412de5ae 100755 --- a/gnuradio-core/src/examples/network/audio_sink.py +++ b/gnuradio-runtime/examples/network/audio_sink.py diff --git a/gnuradio-core/src/examples/network/audio_source.py b/gnuradio-runtime/examples/network/audio_source.py index 577beff84c..577beff84c 100755 --- a/gnuradio-core/src/examples/network/audio_source.py +++ b/gnuradio-runtime/examples/network/audio_source.py diff --git a/gnuradio-core/src/examples/network/dial_tone_sink.py b/gnuradio-runtime/examples/network/dial_tone_sink.py index fee6ded846..fee6ded846 100755 --- a/gnuradio-core/src/examples/network/dial_tone_sink.py +++ b/gnuradio-runtime/examples/network/dial_tone_sink.py diff --git a/gnuradio-core/src/examples/network/dial_tone_source.py b/gnuradio-runtime/examples/network/dial_tone_source.py index 44f05dc83c..44f05dc83c 100755 --- a/gnuradio-core/src/examples/network/dial_tone_source.py +++ b/gnuradio-runtime/examples/network/dial_tone_source.py diff --git a/gnuradio-core/src/examples/network/vector_sink.py b/gnuradio-runtime/examples/network/vector_sink.py index c0397d1e43..c0397d1e43 100755 --- a/gnuradio-core/src/examples/network/vector_sink.py +++ b/gnuradio-runtime/examples/network/vector_sink.py diff --git a/gnuradio-core/src/examples/network/vector_source.py b/gnuradio-runtime/examples/network/vector_source.py index 568425fd50..568425fd50 100755 --- a/gnuradio-core/src/examples/network/vector_source.py +++ b/gnuradio-runtime/examples/network/vector_source.py diff --git a/gnuradio-core/src/examples/volk_benchmark/CMakeLists.txt b/gnuradio-runtime/examples/volk_benchmark/CMakeLists.txt index 255d9bf5cc..f56675e556 100644 --- a/gnuradio-core/src/examples/volk_benchmark/CMakeLists.txt +++ b/gnuradio-runtime/examples/volk_benchmark/CMakeLists.txt @@ -25,11 +25,11 @@ GR_PYTHON_INSTALL(PROGRAMS volk_test_funcs.py volk_types.py DESTINATION ${GR_PKG_DATA_DIR}/examples/volk_benchmark - COMPONENT "core_python" + COMPONENT "runtime_python" ) install( FILES README DESTINATION ${GR_PKG_DATA_DIR}/examples/volk_benchmark - COMPONENT "core_python" + COMPONENT "runtime_python" ) diff --git a/gnuradio-core/src/examples/volk_benchmark/README b/gnuradio-runtime/examples/volk_benchmark/README index c58b40d115..c58b40d115 100644 --- a/gnuradio-core/src/examples/volk_benchmark/README +++ b/gnuradio-runtime/examples/volk_benchmark/README diff --git a/gnuradio-core/src/examples/volk_benchmark/volk_math.py b/gnuradio-runtime/examples/volk_benchmark/volk_math.py index 753257c237..753257c237 100755 --- a/gnuradio-core/src/examples/volk_benchmark/volk_math.py +++ b/gnuradio-runtime/examples/volk_benchmark/volk_math.py diff --git a/gnuradio-core/src/examples/volk_benchmark/volk_plot.py b/gnuradio-runtime/examples/volk_benchmark/volk_plot.py index 48f9922054..48f9922054 100755 --- a/gnuradio-core/src/examples/volk_benchmark/volk_plot.py +++ b/gnuradio-runtime/examples/volk_benchmark/volk_plot.py diff --git a/gnuradio-core/src/examples/volk_benchmark/volk_test_funcs.py b/gnuradio-runtime/examples/volk_benchmark/volk_test_funcs.py index 0f2c84100a..0f2c84100a 100644 --- a/gnuradio-core/src/examples/volk_benchmark/volk_test_funcs.py +++ b/gnuradio-runtime/examples/volk_benchmark/volk_test_funcs.py diff --git a/gnuradio-core/src/examples/volk_benchmark/volk_types.py b/gnuradio-runtime/examples/volk_benchmark/volk_types.py index e8db14aff7..e8db14aff7 100755 --- a/gnuradio-core/src/examples/volk_benchmark/volk_types.py +++ b/gnuradio-runtime/examples/volk_benchmark/volk_types.py diff --git a/gnuradio-core/gnuradio-core.conf.in b/gnuradio-runtime/gnuradio-runtime.conf.in index d41801aa23..d41801aa23 100644 --- a/gnuradio-core/gnuradio-core.conf.in +++ b/gnuradio-runtime/gnuradio-runtime.conf.in diff --git a/gnuradio-runtime/gnuradio-runtime.pc.in b/gnuradio-runtime/gnuradio-runtime.pc.in new file mode 100644 index 0000000000..ede19cbba4 --- /dev/null +++ b/gnuradio-runtime/gnuradio-runtime.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: gnuradio-runtime +Description: GNU Radio core runtime infrastructure +Requires: +Version: @LIBVER@ +Libs: -L${libdir} -lgnuradio-runtime +Cflags: -I${includedir} diff --git a/gnuradio-core/gr_log_default.conf b/gnuradio-runtime/gr_log_default.conf index 79c2d91e94..79c2d91e94 100644 --- a/gnuradio-core/gr_log_default.conf +++ b/gnuradio-runtime/gr_log_default.conf diff --git a/gnuradio-runtime/include/CMakeLists.txt b/gnuradio-runtime/include/CMakeLists.txt new file mode 100644 index 0000000000..77b284705a --- /dev/null +++ b/gnuradio-runtime/include/CMakeLists.txt @@ -0,0 +1,92 @@ +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Install header files +######################################################################## +install(FILES + gr_basic_block.h + gr_block_detail.h + gr_block.h + gr_block_registry.h + gr_buffer.h + gr_complex.h + gr_constants.h + gr_dispatcher.h + gr_endianness.h + gr_error_handler.h + gr_expj.h + gr_feval.h + gr_flowgraph.h + gr_fxpt.h + gr_fxpt_nco.h + gr_fxpt_vco.h + gr_hier_block2.h + gr_io_signature.h + gr_logger.h + gr_math.h + gr_message.h + gr_misc.h + gr_msg_accepter.h + gr_msg_handler.h + gr_msg_queue.h + gr_nco.h + gr_preferences.h + gr_prefs.h + gr_py_feval.h + gr_random.h + gr_realtime.h + gr_runtime_api.h + gr_runtime_types.h + gr_select_handler.h + gr_sincos.h + gr_single_threaded_scheduler.h + gr_sptr_magic.h + gr_sync_block.h + gr_sync_decimator.h + gr_sync_interpolator.h + gr_sys_paths.h + gr_tagged_stream_block.h + gr_tags.h + gr_timer.h + gr_top_block.h + gr_tpb_detail.h + gr_types.h + gr_unittests.h + ice_application_base.h + IcePy_Communicator.h + ice_server_template.h + pycallback_object.h + random.h + rpccallbackregister_base.h + rpcmanager_base.h + rpcmanager.h + rpcpmtconverters_ice.h + rpcregisterhelpers.h + rpcserver_aggregator.h + rpcserver_base.h + rpcserver_booter_aggregator.h + rpcserver_booter_base.h + rpcserver_booter_ice.h + rpcserver_ice.h + rpcserver_selector.h + runtime_block_gateway.h + DESTINATION ${GR_INCLUDE_DIR}/gnuradio + COMPONENT "runtime_devel" +) diff --git a/gnuradio-core/src/lib/runtime/IcePy_Communicator.h b/gnuradio-runtime/include/IcePy_Communicator.h index d613190d2c..aae4378229 100644 --- a/gnuradio-core/src/lib/runtime/IcePy_Communicator.h +++ b/gnuradio-runtime/include/IcePy_Communicator.h @@ -11,19 +11,19 @@ #define ICEPY_COMMUNICATOR_H #include <Ice/CommunicatorF.h> -#include <gr_core_api.h> +#include <gr_runtime_api.h> namespace IcePy { extern PyTypeObject CommunicatorType; -GR_CORE_API bool initCommunicator(PyObject*); +GR_RUNTIME_API bool initCommunicator(PyObject*); -GR_CORE_API Ice::CommunicatorPtr getCommunicator(PyObject*); +GR_RUNTIME_API Ice::CommunicatorPtr getCommunicator(PyObject*); -GR_CORE_API PyObject* createCommunicator(const Ice::CommunicatorPtr&); -GR_CORE_API PyObject* getCommunicatorWrapper(const Ice::CommunicatorPtr&); +GR_RUNTIME_API PyObject* createCommunicator(const Ice::CommunicatorPtr&); +GR_RUNTIME_API PyObject* getCommunicatorWrapper(const Ice::CommunicatorPtr&); } diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.h b/gnuradio-runtime/include/gr_basic_block.h index 66fb72d87e..1fa8bb9d7a 100644 --- a/gnuradio-core/src/lib/runtime/gr_basic_block.h +++ b/gnuradio-runtime/include/gr_basic_block.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_BASIC_BLOCK_H #define INCLUDED_GR_BASIC_BLOCK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> #include <gr_sptr_magic.h> #include <boost/enable_shared_from_this.hpp> @@ -53,7 +53,7 @@ * signal processing functions. */ -class GR_CORE_API gr_basic_block : public gr_msg_accepter, public boost::enable_shared_from_this<gr_basic_block> +class GR_RUNTIME_API gr_basic_block : public gr_msg_accepter, public boost::enable_shared_from_this<gr_basic_block> { typedef boost::function<void(pmt::pmt_t)> msg_handler_t; @@ -333,7 +333,7 @@ inline bool operator<(gr_basic_block_sptr lhs, gr_basic_block_sptr rhs) typedef std::vector<gr_basic_block_sptr> gr_basic_block_vector_t; typedef std::vector<gr_basic_block_sptr>::iterator gr_basic_block_viter_t; -GR_CORE_API long gr_basic_block_ncurrently_allocated(); +GR_RUNTIME_API long gr_basic_block_ncurrently_allocated(); inline std::ostream &operator << (std::ostream &os, gr_basic_block_sptr basic_block) { diff --git a/gnuradio-core/src/lib/runtime/gr_block.h b/gnuradio-runtime/include/gr_block.h index f13f54870d..0b7bbf3eda 100644 --- a/gnuradio-core/src/lib/runtime/gr_block.h +++ b/gnuradio-runtime/include/gr_block.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_BLOCK_H #define INCLUDED_GR_BLOCK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_basic_block.h> #include <gr_tags.h> #include <gr_logger.h> @@ -56,7 +56,7 @@ * It reads the input items and writes the output items. */ -class GR_CORE_API gr_block : public gr_basic_block { +class GR_RUNTIME_API gr_block : public gr_basic_block { public: @@ -678,7 +678,7 @@ class GR_CORE_API gr_block : public gr_basic_block { gr_logger_ptr d_debug_logger; // These are really only for internal use, but leaving them public avoids - // having to work up an ever-varying list of friend GR_CORE_APIs + // having to work up an ever-varying list of friend GR_RUNTIME_APIs public: gr_block_detail_sptr detail () const { return d_detail; } diff --git a/gnuradio-core/src/lib/runtime/gr_block_detail.h b/gnuradio-runtime/include/gr_block_detail.h index 8a5a08bcf3..c197266769 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_detail.h +++ b/gnuradio-runtime/include/gr_block_detail.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_BLOCK_DETAIL_H #define INCLUDED_GR_BLOCK_DETAIL_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> #include <gr_tpb_detail.h> #include <gr_tags.h> @@ -38,7 +38,7 @@ * of almost all users of GNU Radio. This decoupling also means that * we can make changes to the guts without having to recompile everything. */ -class GR_CORE_API gr_block_detail { +class GR_RUNTIME_API gr_block_detail { public: ~gr_block_detail (); @@ -235,14 +235,14 @@ class GR_CORE_API gr_block_detail { friend struct gr_tpb_detail; - friend GR_CORE_API gr_block_detail_sptr + friend GR_RUNTIME_API gr_block_detail_sptr gr_make_block_detail (unsigned int ninputs, unsigned int noutputs); }; -GR_CORE_API gr_block_detail_sptr +GR_RUNTIME_API gr_block_detail_sptr gr_make_block_detail (unsigned int ninputs, unsigned int noutputs); -GR_CORE_API long +GR_RUNTIME_API long gr_block_detail_ncurrently_allocated (); #endif /* INCLUDED_GR_BLOCK_DETAIL_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_block_registry.h b/gnuradio-runtime/include/gr_block_registry.h index 2e0a3b6d5c..9b038287bc 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_registry.h +++ b/gnuradio-runtime/include/gr_block_registry.h @@ -1,7 +1,7 @@ #ifndef GR_BLOCK_REGISTRY_H #define GR_BLOCK_REGISTRY_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <map> #include <gr_basic_block.h> @@ -10,7 +10,7 @@ class gr_basic_block; class gr_block; #endif -class GR_CORE_API gr_block_registry { +class GR_RUNTIME_API gr_block_registry { public: gr_block_registry(); @@ -38,7 +38,7 @@ class GR_CORE_API gr_block_registry { }; -GR_CORE_API extern gr_block_registry global_block_registry; +GR_RUNTIME_API extern gr_block_registry global_block_registry; #endif diff --git a/gnuradio-core/src/lib/runtime/gr_buffer.h b/gnuradio-runtime/include/gr_buffer.h index 28ea977269..1a10ba6d8d 100644 --- a/gnuradio-core/src/lib/runtime/gr_buffer.h +++ b/gnuradio-runtime/include/gr_buffer.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_BUFFER_H #define INCLUDED_GR_BUFFER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> #include <boost/weak_ptr.hpp> #include <gruel/thread.h> @@ -43,14 +43,14 @@ class gr_vmcircbuf; * \param sizeof_item is the size of an item in bytes. * \param link is the block that writes to this buffer. */ -GR_CORE_API gr_buffer_sptr gr_make_buffer (int nitems, size_t sizeof_item, gr_block_sptr link=gr_block_sptr()); +GR_RUNTIME_API gr_buffer_sptr gr_make_buffer (int nitems, size_t sizeof_item, gr_block_sptr link=gr_block_sptr()); /*! * \brief Single writer, multiple reader fifo. * \ingroup internal */ -class GR_CORE_API gr_buffer { +class GR_RUNTIME_API gr_buffer { public: virtual ~gr_buffer (); @@ -126,8 +126,8 @@ class GR_CORE_API gr_buffer { private: friend class gr_buffer_reader; - friend GR_CORE_API gr_buffer_sptr gr_make_buffer (int nitems, size_t sizeof_item, gr_block_sptr link); - friend GR_CORE_API gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload, gr_block_sptr link); + friend GR_RUNTIME_API gr_buffer_sptr gr_make_buffer (int nitems, size_t sizeof_item, gr_block_sptr link); + friend GR_RUNTIME_API gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload, gr_block_sptr link); protected: char *d_base; // base address of buffer @@ -203,11 +203,11 @@ class GR_CORE_API gr_buffer { * \param nzero_preload -- number of zero items to "preload" into buffer. * \param link is the block that reads from the buffer using this gr_buffer_reader. */ -GR_CORE_API gr_buffer_reader_sptr +GR_RUNTIME_API gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload, gr_block_sptr link=gr_block_sptr()); //! returns # of gr_buffers currently allocated -GR_CORE_API long gr_buffer_ncurrently_allocated (); +GR_RUNTIME_API long gr_buffer_ncurrently_allocated (); // --------------------------------------------------------------------------- @@ -217,7 +217,7 @@ GR_CORE_API long gr_buffer_ncurrently_allocated (); * \ingroup internal */ -class GR_CORE_API gr_buffer_reader { +class GR_RUNTIME_API gr_buffer_reader { public: ~gr_buffer_reader (); @@ -289,7 +289,7 @@ class GR_CORE_API gr_buffer_reader { private: friend class gr_buffer; - friend GR_CORE_API gr_buffer_reader_sptr + friend GR_RUNTIME_API gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload, gr_block_sptr link); @@ -303,7 +303,7 @@ class GR_CORE_API gr_buffer_reader { }; //! returns # of gr_buffer_readers currently allocated -GR_CORE_API long gr_buffer_reader_ncurrently_allocated (); +GR_RUNTIME_API long gr_buffer_reader_ncurrently_allocated (); #endif /* INCLUDED_GR_BUFFER_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_complex.h b/gnuradio-runtime/include/gr_complex.h index 58d1525b4d..6166c0b142 100644 --- a/gnuradio-core/src/lib/runtime/gr_complex.h +++ b/gnuradio-runtime/include/gr_complex.h @@ -26,7 +26,6 @@ typedef std::complex<float> gr_complex; typedef std::complex<double> gr_complexd; - inline bool is_complex (gr_complex x) { (void) x; return true;} inline bool is_complex (gr_complexd x) { (void) x; return true;} inline bool is_complex (float x) { (void) x; return false;} @@ -35,7 +34,6 @@ inline bool is_complex (int x) { (void) x; return false;} inline bool is_complex (char x) { (void) x; return false;} inline bool is_complex (short x) { (void) x; return false;} - // this doesn't really belong here, but there are worse places for it... #define CPPUNIT_ASSERT_COMPLEXES_EQUAL(expected,actual,delta) \ diff --git a/gnuradio-core/src/lib/general/gr_constants.h b/gnuradio-runtime/include/gr_constants.h index 00ed9463d8..3534166bc0 100644 --- a/gnuradio-core/src/lib/general/gr_constants.h +++ b/gnuradio-runtime/include/gr_constants.h @@ -22,32 +22,32 @@ #ifndef INCLUDED_GR_CONSTANTS_H #define INCLUDED_GR_CONSTANTS_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <string> /*! * \brief return ./configure --prefix argument. Typically /usr/local */ -GR_CORE_API const std::string gr_prefix(); +GR_RUNTIME_API const std::string gr_prefix(); /*! * \brief return ./configure --sysconfdir argument. Typically $prefix/etc or /etc */ -GR_CORE_API const std::string gr_sysconfdir(); +GR_RUNTIME_API const std::string gr_sysconfdir(); /*! * \brief return preferences file directory. Typically $sysconfdir/etc/conf.d */ -GR_CORE_API const std::string gr_prefsdir(); +GR_RUNTIME_API const std::string gr_prefsdir(); /*! * \brief return date/time of build, as set when 'bootstrap' is run */ -GR_CORE_API const std::string gr_build_date(); +GR_RUNTIME_API const std::string gr_build_date(); /*! * \brief return version string defined in configure.ac */ -GR_CORE_API const std::string gr_version(); +GR_RUNTIME_API const std::string gr_version(); #endif /* INCLUDED_GR_CONSTANTS_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_dispatcher.h b/gnuradio-runtime/include/gr_dispatcher.h index 72a0b0176b..7a9e80c9fe 100644 --- a/gnuradio-core/src/lib/runtime/gr_dispatcher.h +++ b/gnuradio-runtime/include/gr_dispatcher.h @@ -23,15 +23,15 @@ #ifndef INCLUDED_GR_DISPATCHER_H #define INCLUDED_GR_DISPATCHER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_select_handler.h> #include <vector> class gr_dispatcher; typedef boost::shared_ptr<gr_dispatcher> gr_dispatcher_sptr; -GR_CORE_API gr_dispatcher_sptr gr_dispatcher_singleton(); -GR_CORE_API gr_dispatcher_sptr gr_make_dispatcher(); +GR_RUNTIME_API gr_dispatcher_sptr gr_dispatcher_singleton(); +GR_RUNTIME_API gr_dispatcher_sptr gr_make_dispatcher(); /*! * \brief invoke callbacks based on select. @@ -39,10 +39,10 @@ GR_CORE_API gr_dispatcher_sptr gr_make_dispatcher(); * * \sa gr_select_handler */ -class GR_CORE_API gr_dispatcher +class GR_RUNTIME_API gr_dispatcher { gr_dispatcher(); - friend GR_CORE_API gr_dispatcher_sptr gr_make_dispatcher(); + friend GR_RUNTIME_API gr_dispatcher_sptr gr_make_dispatcher(); std::vector<gr_select_handler_sptr> d_handler; int d_max_index; diff --git a/gnuradio-core/src/lib/general/gr_endianness.h b/gnuradio-runtime/include/gr_endianness.h index c4ecb1383e..c4ecb1383e 100644 --- a/gnuradio-core/src/lib/general/gr_endianness.h +++ b/gnuradio-runtime/include/gr_endianness.h diff --git a/gnuradio-core/src/lib/runtime/gr_error_handler.h b/gnuradio-runtime/include/gr_error_handler.h index 569c01c457..4d326a6ba1 100644 --- a/gnuradio-core/src/lib/runtime/gr_error_handler.h +++ b/gnuradio-runtime/include/gr_error_handler.h @@ -43,7 +43,7 @@ #ifndef INCLUDED_GR_ERROR_HANDLER_H #define INCLUDED_GR_ERROR_HANDLER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <stdarg.h> #include <string> #include <cstdio> // for FILE @@ -52,7 +52,7 @@ * \brief abstract error handler * \ingroup base */ -class GR_CORE_API gr_error_handler { +class GR_RUNTIME_API gr_error_handler { public: enum seriousness { ERR_DEBUG = 0x00000000, @@ -91,7 +91,7 @@ protected: }; -class GR_CORE_API gr_base_error_handler : public gr_error_handler { +class GR_RUNTIME_API gr_base_error_handler : public gr_error_handler { int d_nwarnings; int d_nerrors; @@ -103,7 +103,7 @@ public: void count_error(seriousness s); }; -class GR_CORE_API gr_file_error_handler : public gr_base_error_handler { +class GR_RUNTIME_API gr_file_error_handler : public gr_base_error_handler { FILE *d_file; int d_fd; public: diff --git a/gnuradio-core/src/lib/general/gr_expj.h b/gnuradio-runtime/include/gr_expj.h index 1d8633242b..56291a0a6a 100644 --- a/gnuradio-core/src/lib/general/gr_expj.h +++ b/gnuradio-runtime/include/gr_expj.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_EXPJ_H #define INCLUDED_GR_EXPJ_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_sincos.h> #include <gr_types.h> diff --git a/gnuradio-core/src/lib/general/gr_feval.h b/gnuradio-runtime/include/gr_feval.h index a9bccfe51c..af11ca2a2a 100644 --- a/gnuradio-core/src/lib/general/gr_feval.h +++ b/gnuradio-runtime/include/gr_feval.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_FEVAL_H #define INCLUDED_GR_FEVAL_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_complex.h> #include <gruel/pmt.h> @@ -39,7 +39,7 @@ * Use calleval to invoke eval (this kludge is required to allow a * python specific "shim" to be inserted. */ -class GR_CORE_API gr_feval_dd +class GR_RUNTIME_API gr_feval_dd { protected: /*! @@ -67,7 +67,7 @@ public: * Use calleval to invoke eval (this kludge is required to allow a * python specific "shim" to be inserted. */ -class GR_CORE_API gr_feval_cc +class GR_RUNTIME_API gr_feval_cc { protected: /*! @@ -95,7 +95,7 @@ public: * Use calleval to invoke eval (this kludge is required to allow a * python specific "shim" to be inserted. */ -class GR_CORE_API gr_feval_ll +class GR_RUNTIME_API gr_feval_ll { protected: /*! @@ -123,7 +123,7 @@ public: * Use calleval to invoke eval (this kludge is required to allow a * python specific "shim" to be inserted. */ -class GR_CORE_API gr_feval +class GR_RUNTIME_API gr_feval { protected: /*! @@ -151,7 +151,7 @@ public: * Use calleval to invoke eval (this kludge is required to allow a * python specific "shim" to be inserted. */ -class GR_CORE_API gr_feval_p +class GR_RUNTIME_API gr_feval_p { protected: /*! @@ -169,9 +169,9 @@ public: /*! * \brief trivial examples / test cases showing C++ calling Python code */ -GR_CORE_API double gr_feval_dd_example(gr_feval_dd *f, double x); -GR_CORE_API gr_complex gr_feval_cc_example(gr_feval_cc *f, gr_complex x); -GR_CORE_API long gr_feval_ll_example(gr_feval_ll *f, long x); -GR_CORE_API void gr_feval_example(gr_feval *f); +GR_RUNTIME_API double gr_feval_dd_example(gr_feval_dd *f, double x); +GR_RUNTIME_API gr_complex gr_feval_cc_example(gr_feval_cc *f, gr_complex x); +GR_RUNTIME_API long gr_feval_ll_example(gr_feval_ll *f, long x); +GR_RUNTIME_API void gr_feval_example(gr_feval *f); #endif /* INCLUDED_GR_FEVAL_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_flowgraph.h b/gnuradio-runtime/include/gr_flowgraph.h index 40e9dc3675..107c50b7b6 100644 --- a/gnuradio-core/src/lib/runtime/gr_flowgraph.h +++ b/gnuradio-runtime/include/gr_flowgraph.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_FLOWGRAPH_H #define INCLUDED_GR_FLOWGRAPH_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_basic_block.h> #include <iostream> @@ -31,7 +31,7 @@ * \brief Class representing a specific input or output graph endpoint * \ingroup internal */ -class GR_CORE_API gr_endpoint +class GR_RUNTIME_API gr_endpoint { private: gr_basic_block_sptr d_basic_block; @@ -52,7 +52,7 @@ inline bool gr_endpoint::operator==(const gr_endpoint &other) const d_port == other.d_port); } -class GR_CORE_API gr_msg_endpoint +class GR_RUNTIME_API gr_msg_endpoint { private: gr_basic_block_sptr d_basic_block; @@ -85,7 +85,7 @@ typedef std::vector<gr_endpoint>::iterator gr_endpoint_viter_t; *\brief Class representing a connection between to graph endpoints * */ -class GR_CORE_API gr_edge +class GR_RUNTIME_API gr_edge { public: gr_edge() : d_src(), d_dst() { }; @@ -110,7 +110,7 @@ typedef std::vector<gr_edge>::iterator gr_edge_viter_t; *\brief Class representing a msg connection between to graph msg endpoints * */ -class GR_CORE_API gr_msg_edge +class GR_RUNTIME_API gr_msg_edge { public: gr_msg_edge() : d_src(), d_dst() { }; @@ -131,16 +131,16 @@ typedef std::vector<gr_msg_edge>::iterator gr_msg_edge_viter_t; // Create a shared pointer to a heap allocated flowgraph // (types defined in gr_runtime_types.h) -GR_CORE_API gr_flowgraph_sptr gr_make_flowgraph(); +GR_RUNTIME_API gr_flowgraph_sptr gr_make_flowgraph(); /*! * \brief Class representing a directed, acyclic graph of basic blocks * \ingroup internal */ -class GR_CORE_API gr_flowgraph +class GR_RUNTIME_API gr_flowgraph { public: - friend GR_CORE_API gr_flowgraph_sptr gr_make_flowgraph(); + friend GR_RUNTIME_API gr_flowgraph_sptr gr_make_flowgraph(); // Destruct an arbitrary flowgraph ~gr_flowgraph(); diff --git a/gnuradio-core/src/lib/general/gr_fxpt.h b/gnuradio-runtime/include/gr_fxpt.h index 9de6c0c18a..b7e3518ffb 100644 --- a/gnuradio-core/src/lib/general/gr_fxpt.h +++ b/gnuradio-runtime/include/gr_fxpt.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_FXPT_H #define INCLUDED_GR_FXPT_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_types.h> /*! @@ -36,7 +36,7 @@ * 2**31-1 pi - epsilon * */ -class GR_CORE_API gr_fxpt +class GR_RUNTIME_API gr_fxpt { static const int WORDBITS = 32; static const int NBITS = 10; diff --git a/gnuradio-core/src/lib/general/gr_fxpt_nco.h b/gnuradio-runtime/include/gr_fxpt_nco.h index 9defa083da..36b99ee132 100644 --- a/gnuradio-core/src/lib/general/gr_fxpt_nco.h +++ b/gnuradio-runtime/include/gr_fxpt_nco.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_FXPT_NCO_H #define INCLUDED_GR_FXPT_NCO_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_fxpt.h> #include <gr_complex.h> @@ -30,7 +30,7 @@ * \brief Numerically Controlled Oscillator (NCO) * \ingroup misc */ -class /*GR_CORE_API*/ gr_fxpt_nco { +class /*GR_RUNTIME_API*/ gr_fxpt_nco { gr_uint32 d_phase; gr_int32 d_phase_inc; diff --git a/gnuradio-core/src/lib/general/gr_fxpt_vco.h b/gnuradio-runtime/include/gr_fxpt_vco.h index 13be2526bd..15e7327f79 100644 --- a/gnuradio-core/src/lib/general/gr_fxpt_vco.h +++ b/gnuradio-runtime/include/gr_fxpt_vco.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_FXPT_VCO_H #define INCLUDED_GR_FXPT_VCO_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_fxpt.h> #include <gr_complex.h> @@ -30,7 +30,7 @@ * \brief Voltage Controlled Oscillator (VCO) * \ingroup misc */ -class /*GR_CORE_API*/ gr_fxpt_vco { +class /*GR_RUNTIME_API*/ gr_fxpt_vco { gr_int32 d_phase; public: diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.h b/gnuradio-runtime/include/gr_hier_block2.h index aa6b180cac..c39a98f6d7 100644 --- a/gnuradio-core/src/lib/runtime/gr_hier_block2.h +++ b/gnuradio-runtime/include/gr_hier_block2.h @@ -22,14 +22,14 @@ #ifndef INCLUDED_GR_HIER_BLOCK2_H #define INCLUDED_GR_HIER_BLOCK2_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_basic_block.h> /*! * \brief public constructor for gr_hier_block2 */ -GR_CORE_API gr_hier_block2_sptr gr_make_hier_block2(const std::string &name, +GR_RUNTIME_API gr_hier_block2_sptr gr_make_hier_block2(const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature); @@ -41,11 +41,11 @@ class gr_hier_block2_detail; * \ingroup base_blk * */ -class GR_CORE_API gr_hier_block2 : public gr_basic_block +class GR_RUNTIME_API gr_hier_block2 : public gr_basic_block { private: friend class gr_hier_block2_detail; - friend GR_CORE_API gr_hier_block2_sptr gr_make_hier_block2(const std::string &name, + friend GR_RUNTIME_API gr_hier_block2_sptr gr_make_hier_block2(const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature); diff --git a/gnuradio-core/src/lib/runtime/gr_io_signature.h b/gnuradio-runtime/include/gr_io_signature.h index fd18257973..345cd6b9d2 100644 --- a/gnuradio-core/src/lib/runtime/gr_io_signature.h +++ b/gnuradio-runtime/include/gr_io_signature.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_IO_SIGNATURE_H #define INCLUDED_IO_SIGNATURE_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> /*! @@ -34,7 +34,7 @@ * \param max_streams specify maximum number of streams (>= min_streams or -1 -> infinite) * \param sizeof_stream_item specify the size of the items in each stream */ -GR_CORE_API gr_io_signature_sptr +GR_RUNTIME_API gr_io_signature_sptr gr_make_io_signature(int min_streams, int max_streams, int sizeof_stream_item); @@ -46,7 +46,7 @@ gr_make_io_signature(int min_streams, int max_streams, * \param sizeof_stream_item1 specify the size of the items in the first stream * \param sizeof_stream_item2 specify the size of the items in the second and subsequent streams */ -GR_CORE_API gr_io_signature_sptr +GR_RUNTIME_API gr_io_signature_sptr gr_make_io_signature2(int min_streams, int max_streams, int sizeof_stream_item1, int sizeof_stream_item2 @@ -61,7 +61,7 @@ gr_make_io_signature2(int min_streams, int max_streams, * \param sizeof_stream_item2 specify the size of the items in the second stream * \param sizeof_stream_item3 specify the size of the items in the third and subsequent streams */ -GR_CORE_API gr_io_signature_sptr +GR_RUNTIME_API gr_io_signature_sptr gr_make_io_signature3(int min_streams, int max_streams, int sizeof_stream_item1, int sizeof_stream_item2, @@ -79,7 +79,7 @@ gr_make_io_signature3(int min_streams, int max_streams, * value of the last entry in sizeof_stream_items is used for the missing values. * sizeof_stream_items must contain at least 1 entry. */ -GR_CORE_API gr_io_signature_sptr +GR_RUNTIME_API gr_io_signature_sptr gr_make_io_signaturev(int min_streams, int max_streams, const std::vector<int> &sizeof_stream_items); @@ -88,7 +88,7 @@ gr_make_io_signaturev(int min_streams, int max_streams, * \brief i/o signature for input and output ports. * \brief misc */ -class GR_CORE_API gr_io_signature { +class GR_RUNTIME_API gr_io_signature { int d_min_streams; int d_max_streams; std::vector<int> d_sizeof_stream_item; @@ -96,7 +96,7 @@ class GR_CORE_API gr_io_signature { gr_io_signature(int min_streams, int max_streams, const std::vector<int> &sizeof_stream_items); - friend GR_CORE_API gr_io_signature_sptr + friend GR_RUNTIME_API gr_io_signature_sptr gr_make_io_signaturev(int min_streams, int max_streams, const std::vector<int> &sizeof_stream_items); diff --git a/gnuradio-core/src/lib/runtime/gr_logger.h b/gnuradio-runtime/include/gr_logger.h index db6df722ec..5898d0bfad 100644 --- a/gnuradio-core/src/lib/runtime/gr_logger.h +++ b/gnuradio-runtime/include/gr_logger.h @@ -36,11 +36,7 @@ * */ -#ifndef ENABLE_GR_LOG -#include "config.h" -#endif - -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <assert.h> #include <iostream> #include <time.h> @@ -327,7 +323,7 @@ public: * * \param name Name of the logger for which a pointer is requested */ -GR_CORE_API gr_logger_ptr logger_get_logger(std::string name); +GR_RUNTIME_API gr_logger_ptr logger_get_logger(std::string name); /*! * \brief Load logger's configuration file. @@ -338,14 +334,18 @@ GR_CORE_API gr_logger_ptr logger_get_logger(std::string name); * \param config_filename The configuration file. Set to "" for the * basic logger that outputs to the console. */ -GR_CORE_API void logger_load_config(const std::string &config_filename=""); +GR_RUNTIME_API void logger_load_config(const std::string &config_filename=""); /*! * \brief Reset logger's configuration file. * * Remove all appenders from loggers */ -GR_CORE_API void logger_reset_config(void); +GR_RUNTIME_API void logger_reset_config(void); + +GR_RUNTIME_API void logger_load_config_and_watch(const std::string &config_filename, + unsigned int watch_period); + /*! * \brief Set the logger's output level. @@ -367,7 +367,7 @@ GR_CORE_API void logger_reset_config(void); * \param logger the logger to set the level of. * \param level string to set the level to. */ -GR_CORE_API void logger_set_level(gr_logger_ptr logger, const std::string &level); +GR_RUNTIME_API void logger_set_level(gr_logger_ptr logger, const std::string &level); /*! * \brief Set the logger's output level. @@ -389,7 +389,7 @@ GR_CORE_API void logger_set_level(gr_logger_ptr logger, const std::string &level * \param logger the logger to set the level of. * \param level new logger level of type Log4cpp::Priority */ -GR_CORE_API void logger_set_level(gr_logger_ptr logger, log4cpp::Priority::Value level); +GR_RUNTIME_API void logger_set_level(gr_logger_ptr logger, log4cpp::Priority::Value level); /*! @@ -412,7 +412,7 @@ GR_CORE_API void logger_set_level(gr_logger_ptr logger, log4cpp::Priority::Value * \param logger the logger to get the level of. * \param level string to get the level into. */ -GR_CORE_API void logger_get_level(gr_logger_ptr logger, std::string &level); +GR_RUNTIME_API void logger_get_level(gr_logger_ptr logger, std::string &level); /*! * \brief Get the logger's output level. @@ -434,7 +434,7 @@ GR_CORE_API void logger_get_level(gr_logger_ptr logger, std::string &level); * \param logger the logger to get the level of. * \param level of the logger. */ -GR_CORE_API void logger_get_level(gr_logger_ptr logger, log4cpp::Priority::Value &level); +GR_RUNTIME_API void logger_get_level(gr_logger_ptr logger, log4cpp::Priority::Value &level); /*! * \brief Add console appender to a given logger @@ -445,7 +445,7 @@ GR_CORE_API void logger_get_level(gr_logger_ptr logger, log4cpp::Priority::Value * \param target Std target to write 'cout' or 'cerr' (default is cout) * \param pattern Formating pattern for log messages */ -GR_CORE_API void logger_add_console_appender(gr_logger_ptr logger,std::string target,std::string pattern); +GR_RUNTIME_API void logger_add_console_appender(gr_logger_ptr logger,std::string target,std::string pattern); /*! * \brief Add file appender to a given logger @@ -457,7 +457,7 @@ GR_CORE_API void logger_add_console_appender(gr_logger_ptr logger,std::string ta * \param append Overwrite or append to log file * \param pattern Formating pattern for log messages */ -GR_CORE_API void logger_add_file_appender(gr_logger_ptr logger,std::string filename,bool append,std::string pattern); +GR_RUNTIME_API void logger_add_file_appender(gr_logger_ptr logger,std::string filename,bool append,std::string pattern); /*! * \brief Add rolling file appender to a given logger @@ -472,9 +472,10 @@ GR_CORE_API void logger_add_file_appender(gr_logger_ptr logger,std::string filen * \param mode Permissions to set on log file * \param pattern Formating pattern for log messages */ -GR_CORE_API void logger_add_rollingfile_appender(gr_logger_ptr logger,std::string filename, +GR_RUNTIME_API void logger_add_rollingfile_appender(gr_logger_ptr logger,std::string filename, size_t filesize,int bkup_index,bool append,mode_t mode,std::string pattern); + /*! * \brief Add rolling file appender to a given logger * @@ -482,7 +483,7 @@ GR_CORE_API void logger_add_rollingfile_appender(gr_logger_ptr logger,std::strin * * \return vector of string names of loggers */ -GR_CORE_API std::vector<std::string> logger_get_logger_names(void); +GR_RUNTIME_API std::vector<std::string> logger_get_logger_names(void); #endif /* HAVE_LOG4CPP */ @@ -627,17 +628,17 @@ class gr_logger * \param watch_period Seconds to wait between checking for changes in conf file. * Watch_period defaults to 0 in which case the file is not watched for changes */ -GR_CORE_API void gr_logger_config(const std::string config_filename, unsigned int watch_period = 0); +GR_RUNTIME_API void gr_logger_config(const std::string config_filename, unsigned int watch_period = 0); /*! * \brief Function to return logger names to python * \return Vector of name strings * */ -GR_CORE_API std::vector<std::string> gr_logger_get_logger_names(void); +GR_RUNTIME_API std::vector<std::string> gr_logger_get_logger_names(void); /*! * \brief Function to reset logger configuration from python * */ -GR_CORE_API void gr_logger_reset_config(void); +GR_RUNTIME_API void gr_logger_reset_config(void); #endif /* INCLUDED_GR_LOGGER_H */ diff --git a/gnuradio-core/src/lib/general/gr_math.h b/gnuradio-runtime/include/gr_math.h index b9a802da84..c7efe8facb 100644 --- a/gnuradio-core/src/lib/general/gr_math.h +++ b/gnuradio-runtime/include/gr_math.h @@ -27,7 +27,7 @@ #ifndef _GR_MATH_H_ #define _GR_MATH_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_complex.h> static inline bool @@ -52,7 +52,7 @@ gr_is_power_of_2(long x) * to zero. This routine calculates the arc tangent with an average * error of +/- 0.045 degrees. */ -GR_CORE_API float gr_fast_atan2f(float y, float x); +GR_RUNTIME_API float gr_fast_atan2f(float y, float x); static inline float gr_fast_atan2f(gr_complex z) { diff --git a/gnuradio-core/src/lib/runtime/gr_message.h b/gnuradio-runtime/include/gr_message.h index d386ca0097..941821617b 100644 --- a/gnuradio-core/src/lib/runtime/gr_message.h +++ b/gnuradio-runtime/include/gr_message.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_MESSAGE_H #define INCLUDED_GR_MESSAGE_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_types.h> #include <string> @@ -32,10 +32,10 @@ typedef boost::shared_ptr<gr_message> gr_message_sptr; /*! * \brief public constructor for gr_message */ -GR_CORE_API gr_message_sptr +GR_RUNTIME_API gr_message_sptr gr_make_message(long type = 0, double arg1 = 0, double arg2 = 0, size_t length = 0); -GR_CORE_API gr_message_sptr +GR_RUNTIME_API gr_message_sptr gr_make_message_from_string(const std::string s, long type = 0, double arg1 = 0, double arg2 = 0); /*! @@ -45,7 +45,7 @@ gr_make_message_from_string(const std::string s, long type = 0, double arg1 = 0, * The ideas and method names for adjustable message length were * lifted from the click modular router "Packet" class. */ -class GR_CORE_API gr_message { +class GR_RUNTIME_API gr_message { gr_message_sptr d_next; // link field for msg queue long d_type; // type of the message double d_arg1; // optional arg1 @@ -58,10 +58,10 @@ class GR_CORE_API gr_message { gr_message (long type, double arg1, double arg2, size_t length); - friend GR_CORE_API gr_message_sptr + friend GR_RUNTIME_API gr_message_sptr gr_make_message (long type, double arg1, double arg2, size_t length); - friend GR_CORE_API gr_message_sptr + friend GR_RUNTIME_API gr_message_sptr gr_make_message_from_string (const std::string s, long type, double arg1, double arg2); friend class gr_msg_queue; @@ -86,6 +86,6 @@ public: }; -GR_CORE_API long gr_message_ncurrently_allocated (); +GR_RUNTIME_API long gr_message_ncurrently_allocated (); #endif /* INCLUDED_GR_MESSAGE_H */ diff --git a/gnuradio-core/src/lib/general/gr_misc.h b/gnuradio-runtime/include/gr_misc.h index 0c790e90ce..182ae87de6 100644 --- a/gnuradio-core/src/lib/general/gr_misc.h +++ b/gnuradio-runtime/include/gr_misc.h @@ -23,17 +23,17 @@ #ifndef INCLUDED_GR_MISC_H #define INCLUDED_GR_MISC_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_types.h> -GR_CORE_API unsigned int +GR_RUNTIME_API unsigned int gr_rounduppow2(unsigned int n); // FIXME should be template -GR_CORE_API void gr_zero_vector(std::vector<float> &v); -GR_CORE_API void gr_zero_vector(std::vector<double> &v); -GR_CORE_API void gr_zero_vector(std::vector<int> &v); -GR_CORE_API void gr_zero_vector(std::vector<gr_complex> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<float> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<double> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<int> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<gr_complex> &v); #endif /* INCLUDED_GR_MISC_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_msg_accepter.h b/gnuradio-runtime/include/gr_msg_accepter.h index a497ba6e7d..8db28bb747 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_accepter.h +++ b/gnuradio-runtime/include/gr_msg_accepter.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_MSG_ACCEPTER_H #define INCLUDED_GR_MSG_ACCEPTER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gruel/msg_accepter.h> #include <gruel/pmt.h> @@ -30,7 +30,7 @@ * \brief Accepts messages and inserts them into a message queue, then notifies * subclass gr_basic_block there is a message pending. */ -class GR_CORE_API gr_msg_accepter : public gruel::msg_accepter +class GR_RUNTIME_API gr_msg_accepter : public gruel::msg_accepter { public: gr_msg_accepter(); diff --git a/gnuradio-core/src/lib/runtime/gr_msg_handler.h b/gnuradio-runtime/include/gr_msg_handler.h index 57e8a95d62..06d583a38b 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_handler.h +++ b/gnuradio-runtime/include/gr_msg_handler.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_MSG_HANDLER_H #define INCLUDED_GR_MSG_HANDLER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_message.h> class gr_msg_handler; @@ -32,7 +32,7 @@ typedef boost::shared_ptr<gr_msg_handler> gr_msg_handler_sptr; * \brief abstract class of message handlers * \ingroup base */ -class GR_CORE_API gr_msg_handler { +class GR_RUNTIME_API gr_msg_handler { public: virtual ~gr_msg_handler (); diff --git a/gnuradio-core/src/lib/runtime/gr_msg_queue.h b/gnuradio-runtime/include/gr_msg_queue.h index 86440bbb01..127186ec51 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_queue.h +++ b/gnuradio-runtime/include/gr_msg_queue.h @@ -22,20 +22,20 @@ #ifndef INCLUDED_GR_MSG_QUEUE_H #define INCLUDED_GR_MSG_QUEUE_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_msg_handler.h> #include <gruel/thread.h> class gr_msg_queue; typedef boost::shared_ptr<gr_msg_queue> gr_msg_queue_sptr; -GR_CORE_API gr_msg_queue_sptr gr_make_msg_queue(unsigned int limit=0); +GR_RUNTIME_API gr_msg_queue_sptr gr_make_msg_queue(unsigned int limit=0); /*! * \brief thread-safe message queue * \ingroup misc */ -class GR_CORE_API gr_msg_queue : public gr_msg_handler { +class GR_RUNTIME_API gr_msg_queue : public gr_msg_handler { gruel::mutex d_mutex; gruel::condition_variable d_not_empty; diff --git a/gnuradio-core/src/lib/general/gr_nco.h b/gnuradio-runtime/include/gr_nco.h index fb51106aab..fb51106aab 100644 --- a/gnuradio-core/src/lib/general/gr_nco.h +++ b/gnuradio-runtime/include/gr_nco.h diff --git a/gnuradio-core/src/lib/runtime/gr_preferences.h b/gnuradio-runtime/include/gr_preferences.h index bfcc0424b6..df5aecacba 100644 --- a/gnuradio-core/src/lib/runtime/gr_preferences.h +++ b/gnuradio-runtime/include/gr_preferences.h @@ -23,9 +23,9 @@ #ifndef _GR_PREFERENCES_H_ #define _GR_PREFERENCES_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> -class GR_CORE_API gr_preferences { +class GR_RUNTIME_API gr_preferences { public: static const char *get (const char *key); static void set (const char *key, const char *value); diff --git a/gnuradio-core/src/lib/general/gr_prefs.h b/gnuradio-runtime/include/gr_prefs.h index 4e11d04c5b..7ca0991ca8 100644 --- a/gnuradio-core/src/lib/general/gr_prefs.h +++ b/gnuradio-runtime/include/gr_prefs.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_PREFS_H #define INCLUDED_GR_PREFS_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <string> #include <map> #include <gruel/thread.h> @@ -41,7 +41,7 @@ typedef std::map<std::string, std::string>::iterator gr_config_map_elem_itr; * via the magic of SWIG directors. */ -class GR_CORE_API gr_prefs +class GR_RUNTIME_API gr_prefs { public: static gr_prefs *singleton(); diff --git a/gnuradio-runtime/include/gr_py_feval.h b/gnuradio-runtime/include/gr_py_feval.h new file mode 100644 index 0000000000..cf7c7bfbe5 --- /dev/null +++ b/gnuradio-runtime/include/gr_py_feval.h @@ -0,0 +1,51 @@ +#include <gruel/pmt.h> + +class gr_py_feval_dd : public gr_feval_dd +{ + public: + double calleval(double x) + { + ensure_py_gil_state _lock; + return eval(x); + } +}; + +class gr_py_feval_cc : public gr_feval_cc +{ + public: + gr_complex calleval(gr_complex x) + { + ensure_py_gil_state _lock; + return eval(x); + } +}; + +class gr_py_feval_ll : public gr_feval_ll +{ + public: + long calleval(long x) + { + ensure_py_gil_state _lock; + return eval(x); + } +}; + +class gr_py_feval : public gr_feval +{ + public: + void calleval() + { + ensure_py_gil_state _lock; + eval(); + } +}; + +class gr_py_feval_p : public gr_feval_p +{ + public: + void calleval(pmt::pmt_t x) + { + ensure_py_gil_state _lock; + eval(x); + } +}; diff --git a/gnuradio-core/src/lib/general/gr_random.h b/gnuradio-runtime/include/gr_random.h index 96a8f44180..783c05f920 100644 --- a/gnuradio-core/src/lib/general/gr_random.h +++ b/gnuradio-runtime/include/gr_random.h @@ -23,14 +23,14 @@ #ifndef INCLUDED_GR_RANDOM_H #define INCLUDED_GR_RANDOM_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_complex.h> /*! * \brief pseudo random number generator * \ingroup math_blk */ -class GR_CORE_API gr_random { +class GR_RUNTIME_API gr_random { protected: static const int NTAB = 32; long d_seed; diff --git a/gnuradio-core/src/lib/runtime/gr_realtime.h b/gnuradio-runtime/include/gr_realtime.h index fe6549039f..fcdb5222cc 100644 --- a/gnuradio-core/src/lib/runtime/gr_realtime.h +++ b/gnuradio-runtime/include/gr_realtime.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_REALTIME_H #define INCLUDED_GR_REALTIME_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gruel/realtime.h> typedef gruel::rt_status_t gr_rt_status_t; @@ -32,6 +32,6 @@ typedef gruel::rt_status_t gr_rt_status_t; * \brief If possible, enable high-priority "real time" scheduling. * \ingroup misc */ -GR_CORE_API gr_rt_status_t gr_enable_realtime_scheduling(); +GR_RUNTIME_API gr_rt_status_t gr_enable_realtime_scheduling(); #endif /* INCLUDED_GR_REALTIME_H */ diff --git a/gnuradio-core/src/lib/general/gr_core_api.h b/gnuradio-runtime/include/gr_runtime_api.h index 74c802857b..32c53bd723 100644 --- a/gnuradio-core/src/lib/general/gr_core_api.h +++ b/gnuradio-runtime/include/gr_runtime_api.h @@ -19,15 +19,15 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_GR_CORE_API_H -#define INCLUDED_GR_CORE_API_H +#ifndef INCLUDED_GR_RUNTIME_API_H +#define INCLUDED_GR_RUNTIME_API_H #include <gruel/attributes.h> #ifdef gnuradio_core_EXPORTS -# define GR_CORE_API __GR_ATTR_EXPORT +# define GR_RUNTIME_API __GR_ATTR_EXPORT #else -# define GR_CORE_API __GR_ATTR_IMPORT +# define GR_RUNTIME_API __GR_ATTR_IMPORT #endif -#endif /* INCLUDED_GR_CORE_API_H */ +#endif /* INCLUDED_GR_RUNTIME_API_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_runtime_types.h b/gnuradio-runtime/include/gr_runtime_types.h index 0d61492881..9af745b3fa 100644 --- a/gnuradio-core/src/lib/runtime/gr_runtime_types.h +++ b/gnuradio-runtime/include/gr_runtime_types.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_RUNTIME_TYPES_H #define INCLUDED_GR_RUNTIME_TYPES_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_types.h> /* diff --git a/gnuradio-core/src/lib/runtime/gr_select_handler.h b/gnuradio-runtime/include/gr_select_handler.h index c4c3592132..ae4b9dfdb1 100644 --- a/gnuradio-core/src/lib/runtime/gr_select_handler.h +++ b/gnuradio-runtime/include/gr_select_handler.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SELECT_HANDLER_H #define INCLUDED_GR_SELECT_HANDLER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <boost/shared_ptr.hpp> class gr_select_handler; @@ -36,7 +36,7 @@ typedef boost::shared_ptr<gr_select_handler> gr_select_handler_sptr; * * \sa gr_dispatcher */ -class GR_CORE_API gr_select_handler +class GR_RUNTIME_API gr_select_handler { int d_fd; diff --git a/gnuradio-core/src/lib/general/gr_sincos.h b/gnuradio-runtime/include/gr_sincos.h index 516f43437a..5a182081de 100644 --- a/gnuradio-core/src/lib/general/gr_sincos.h +++ b/gnuradio-runtime/include/gr_sincos.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SINCOS_H #define INCLUDED_GR_SINCOS_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #ifdef __cplusplus extern "C" { @@ -31,8 +31,8 @@ extern "C" { // compute sine and cosine at the same time -GR_CORE_API void gr_sincos (double x, double *sin, double *cos); -GR_CORE_API void gr_sincosf (float x, float *sin, float *cos); +GR_RUNTIME_API void gr_sincos (double x, double *sin, double *cos); +GR_RUNTIME_API void gr_sincosf (float x, float *sin, float *cos); #ifdef __cplusplus }; diff --git a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.h b/gnuradio-runtime/include/gr_single_threaded_scheduler.h index 3a95c7194f..d538fa3921 100644 --- a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.h +++ b/gnuradio-runtime/include/gr_single_threaded_scheduler.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SINGLE_THREADED_SCHEDULER_H #define INCLUDED_GR_SINGLE_THREADED_SCHEDULER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> #include <fstream> @@ -36,7 +36,7 @@ typedef boost::shared_ptr<gr_single_threaded_scheduler> gr_single_threaded_sched * \ingroup internal */ -class GR_CORE_API gr_single_threaded_scheduler { +class GR_RUNTIME_API gr_single_threaded_scheduler { public: ~gr_single_threaded_scheduler (); @@ -52,11 +52,11 @@ class GR_CORE_API gr_single_threaded_scheduler { void main_loop (); - friend GR_CORE_API gr_single_threaded_scheduler_sptr + friend GR_RUNTIME_API gr_single_threaded_scheduler_sptr gr_make_single_threaded_scheduler (const std::vector<gr_block_sptr> &blocks); }; -GR_CORE_API gr_single_threaded_scheduler_sptr +GR_RUNTIME_API gr_single_threaded_scheduler_sptr gr_make_single_threaded_scheduler (const std::vector<gr_block_sptr> &blocks); #endif /* INCLUDED_GR_SINGLE_THREADED_SCHEDULER_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_sptr_magic.h b/gnuradio-runtime/include/gr_sptr_magic.h index 3d997539c0..2a94806d18 100644 --- a/gnuradio-core/src/lib/runtime/gr_sptr_magic.h +++ b/gnuradio-runtime/include/gr_sptr_magic.h @@ -21,7 +21,7 @@ #ifndef INCLUDED_GR_SPTR_MAGIC_H #define INCLUDED_GR_SPTR_MAGIC_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <boost/shared_ptr.hpp> class gr_basic_block; @@ -31,7 +31,7 @@ namespace gnuradio { namespace detail { - class GR_CORE_API sptr_magic { + class GR_RUNTIME_API sptr_magic { public: static boost::shared_ptr<gr_basic_block> fetch_initial_sptr(gr_basic_block *p); static void create_and_stash_initial_sptr(gr_hier_block2 *p); diff --git a/gnuradio-core/src/lib/runtime/gr_sync_block.h b/gnuradio-runtime/include/gr_sync_block.h index 1e4109b035..01eb646143 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_block.h +++ b/gnuradio-runtime/include/gr_sync_block.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SYNC_BLOCK_H #define INCLUDED_GR_SYNC_BLOCK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_block.h> /*! @@ -32,7 +32,7 @@ * * Override work to provide the signal processing implementation. */ -class GR_CORE_API gr_sync_block : public gr_block +class GR_RUNTIME_API gr_sync_block : public gr_block { protected: gr_sync_block (void){} //allows pure virtual interface sub-classes diff --git a/gnuradio-core/src/lib/runtime/gr_sync_decimator.h b/gnuradio-runtime/include/gr_sync_decimator.h index 657aba9852..c799ee0f7c 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_decimator.h +++ b/gnuradio-runtime/include/gr_sync_decimator.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SYNC_DECIMATOR_H #define INCLUDED_GR_SYNC_DECIMATOR_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_sync_block.h> /*! @@ -32,7 +32,7 @@ * * Override work to provide the signal processing implementation. */ -class GR_CORE_API gr_sync_decimator : public gr_sync_block +class GR_RUNTIME_API gr_sync_decimator : public gr_sync_block { private: unsigned d_decimation; diff --git a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.h b/gnuradio-runtime/include/gr_sync_interpolator.h index 86d2fde430..f219916743 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.h +++ b/gnuradio-runtime/include/gr_sync_interpolator.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_SYNC_INTERPOLATOR_H #define INCLUDED_GR_SYNC_INTERPOLATOR_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_sync_block.h> /*! @@ -32,7 +32,7 @@ * * Override work to provide the signal processing implementation. */ -class GR_CORE_API gr_sync_interpolator : public gr_sync_block +class GR_RUNTIME_API gr_sync_interpolator : public gr_sync_block { private: unsigned d_interpolation; diff --git a/gnuradio-core/src/lib/runtime/gr_sys_paths.h b/gnuradio-runtime/include/gr_sys_paths.h index bd51ebdf94..6235e0e78f 100644 --- a/gnuradio-core/src/lib/runtime/gr_sys_paths.h +++ b/gnuradio-runtime/include/gr_sys_paths.h @@ -22,12 +22,12 @@ #ifndef _GR_SYS_PATHS_H_ #define _GR_SYS_PATHS_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> //! directory to create temporary files -GR_CORE_API const char *gr_tmp_path(); +GR_RUNTIME_API const char *gr_tmp_path(); //! directory to store application data -GR_CORE_API const char *gr_appdata_path(); +GR_RUNTIME_API const char *gr_appdata_path(); #endif /* _GR_SYS_PATHS_H_ */ diff --git a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.h b/gnuradio-runtime/include/gr_tagged_stream_block.h index a9d396c06f..797845f8e2 100644 --- a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.h +++ b/gnuradio-runtime/include/gr_tagged_stream_block.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_TAGGED_STREAM_BLOCK_H #define INCLUDED_GR_TAGGED_STREAM_BLOCK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_block.h> /*! @@ -32,7 +32,7 @@ * * Override work to provide the signal processing implementation. */ -class GR_CORE_API gr_tagged_stream_block : public gr_block +class GR_RUNTIME_API gr_tagged_stream_block : public gr_block { private: pmt::pmt_t d_length_tag_key; //! This is the key for the tag that stores the PDU length diff --git a/gnuradio-core/src/lib/runtime/gr_tags.h b/gnuradio-runtime/include/gr_tags.h index a9ca902352..278a5a53ae 100644 --- a/gnuradio-core/src/lib/runtime/gr_tags.h +++ b/gnuradio-runtime/include/gr_tags.h @@ -22,10 +22,10 @@ #ifndef INCLUDED_GR_TAGS_H #define INCLUDED_GR_TAGS_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gruel/pmt.h> -struct GR_CORE_API gr_tag_t{ +struct GR_RUNTIME_API gr_tag_t{ //! the item \p tag occurred at (as a uint64_t) uint64_t offset; diff --git a/gnuradio-core/src/lib/runtime/gr_timer.h b/gnuradio-runtime/include/gr_timer.h index e0b4cc4378..45b663b368 100644 --- a/gnuradio-core/src/lib/runtime/gr_timer.h +++ b/gnuradio-runtime/include/gr_timer.h @@ -22,14 +22,14 @@ #ifndef INCLUDED_GR_TIMER_H #define INCLUDED_GR_TIMER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_types.h> class gr_timer; typedef boost::shared_ptr<gr_timer> gr_timer_sptr; -GR_CORE_API typedef void (*gr_timer_hook)(gr_timer *, void *); +GR_RUNTIME_API typedef void (*gr_timer_hook)(gr_timer *, void *); /*! * \brief create a timeout. @@ -37,18 +37,18 @@ GR_CORE_API typedef void (*gr_timer_hook)(gr_timer *, void *); * \ingroup misc * gr_timer_hook is called when timer fires. */ -GR_CORE_API gr_timer_sptr gr_make_timer (gr_timer_hook, void *); +GR_RUNTIME_API gr_timer_sptr gr_make_timer (gr_timer_hook, void *); /*! * \brief implement timeouts */ -class GR_CORE_API gr_timer { +class GR_RUNTIME_API gr_timer { double d_expiry; double d_period; gr_timer_hook d_hook; void *d_hook_arg; - friend GR_CORE_API gr_timer_sptr gr_make_timer (gr_timer_hook, void *); + friend GR_RUNTIME_API gr_timer_sptr gr_make_timer (gr_timer_hook, void *); gr_timer (...); diff --git a/gnuradio-core/src/lib/runtime/gr_top_block.h b/gnuradio-runtime/include/gr_top_block.h index 9634b53f3c..f523442cd0 100644 --- a/gnuradio-core/src/lib/runtime/gr_top_block.h +++ b/gnuradio-runtime/include/gr_top_block.h @@ -23,22 +23,22 @@ #ifndef INCLUDED_GR_TOP_BLOCK_H #define INCLUDED_GR_TOP_BLOCK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_hier_block2.h> class gr_top_block_impl; -GR_CORE_API gr_top_block_sptr gr_make_top_block(const std::string &name); +GR_RUNTIME_API gr_top_block_sptr gr_make_top_block(const std::string &name); /*! *\brief Top-level hierarchical block representing a flowgraph * \ingroup container_blk * */ -class GR_CORE_API gr_top_block : public gr_hier_block2 +class GR_RUNTIME_API gr_top_block : public gr_hier_block2 { private: - friend GR_CORE_API gr_top_block_sptr gr_make_top_block(const std::string &name); + friend GR_RUNTIME_API gr_top_block_sptr gr_make_top_block(const std::string &name); gr_top_block_impl *d_impl; diff --git a/gnuradio-core/src/lib/runtime/gr_tpb_detail.h b/gnuradio-runtime/include/gr_tpb_detail.h index 69feb60073..398e18cdc8 100644 --- a/gnuradio-core/src/lib/runtime/gr_tpb_detail.h +++ b/gnuradio-runtime/include/gr_tpb_detail.h @@ -21,7 +21,7 @@ #ifndef INCLUDED_GR_TPB_DETAIL_H #define INCLUDED_GR_TPB_DETAIL_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gruel/thread.h> #include <deque> #include <gruel/pmt.h> @@ -31,7 +31,7 @@ class gr_block_detail; /*! * \brief used by thread-per-block scheduler */ -struct GR_CORE_API gr_tpb_detail { +struct GR_RUNTIME_API gr_tpb_detail { gruel::mutex mutex; //< protects all vars bool input_changed; diff --git a/gnuradio-core/src/lib/runtime/gr_types.h b/gnuradio-runtime/include/gr_types.h index db13e456aa..47e22469b0 100644 --- a/gnuradio-core/src/lib/runtime/gr_types.h +++ b/gnuradio-runtime/include/gr_types.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2004,2013 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_TYPES_H #define INCLUDED_GR_TYPES_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <boost/shared_ptr.hpp> #include <vector> #include <stddef.h> // size_t diff --git a/gnuradio-core/src/lib/runtime/gr_unittests.h b/gnuradio-runtime/include/gr_unittests.h index 9fbf228cd0..d160ba3354 100644 --- a/gnuradio-core/src/lib/runtime/gr_unittests.h +++ b/gnuradio-runtime/include/gr_unittests.h @@ -20,11 +20,7 @@ * Boston, MA 02110-1301, USA. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/gnuradio-core/src/lib/runtime/ice_application_base.h b/gnuradio-runtime/include/ice_application_base.h index 799ab9c21e..f25c7272fc 100644 --- a/gnuradio-core/src/lib/runtime/ice_application_base.h +++ b/gnuradio-runtime/include/ice_application_base.h @@ -23,7 +23,7 @@ #ifndef ICE_APPLICATION_BASE_H #define ICE_APPLICATION_BASE_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_prefs.h> #include <Ice/Ice.h> #include <boost/thread.hpp> @@ -39,7 +39,7 @@ namespace { }; -class GR_CORE_API ice_application_common : public Ice::Application +class GR_RUNTIME_API ice_application_common : public Ice::Application { public: template<typename TserverBase, typename TserverClass> friend class ice_application_base; diff --git a/gnuradio-core/src/lib/runtime/ice_server_template.h b/gnuradio-runtime/include/ice_server_template.h index 8ddb03cc8e..8ddb03cc8e 100644 --- a/gnuradio-core/src/lib/runtime/ice_server_template.h +++ b/gnuradio-runtime/include/ice_server_template.h diff --git a/gnuradio-core/src/lib/runtime/pycallback_object.h b/gnuradio-runtime/include/pycallback_object.h index 922e03393e..23782a42be 100644 --- a/gnuradio-core/src/lib/runtime/pycallback_object.h +++ b/gnuradio-runtime/include/pycallback_object.h @@ -26,7 +26,6 @@ #include <IcePy_Communicator.h> #include <pythread.h> #include <boost/format.hpp> -#include <config.h> enum pyport_t { PYPORT_STRING, diff --git a/gnuradio-core/src/lib/general/random.h b/gnuradio-runtime/include/random.h index c643c3e422..c643c3e422 100644 --- a/gnuradio-core/src/lib/general/random.h +++ b/gnuradio-runtime/include/random.h diff --git a/gnuradio-core/src/lib/runtime/rpccallbackregister_base.h b/gnuradio-runtime/include/rpccallbackregister_base.h index dbfda4ed47..dbfda4ed47 100644 --- a/gnuradio-core/src/lib/runtime/rpccallbackregister_base.h +++ b/gnuradio-runtime/include/rpccallbackregister_base.h diff --git a/gnuradio-core/src/lib/runtime/rpcmanager.h b/gnuradio-runtime/include/rpcmanager.h index 8cb176b2e5..6e1e181c3c 100644 --- a/gnuradio-core/src/lib/runtime/rpcmanager.h +++ b/gnuradio-runtime/include/rpcmanager.h @@ -23,13 +23,13 @@ #ifndef RPCMANAGER_H #define RPCMANAGER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <rpcmanager_base.h> #include <rpcserver_booter_aggregator.h> #include <memory> #include <iostream> -class GR_CORE_API rpcmanager : public virtual rpcmanager_base +class GR_RUNTIME_API rpcmanager : public virtual rpcmanager_base { public: rpcmanager(); diff --git a/gnuradio-core/src/lib/runtime/rpcmanager_base.h b/gnuradio-runtime/include/rpcmanager_base.h index 60425c4a15..60425c4a15 100644 --- a/gnuradio-core/src/lib/runtime/rpcmanager_base.h +++ b/gnuradio-runtime/include/rpcmanager_base.h diff --git a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.h b/gnuradio-runtime/include/rpcpmtconverters_ice.h index 4403b96a2a..4403b96a2a 100644 --- a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.h +++ b/gnuradio-runtime/include/rpcpmtconverters_ice.h diff --git a/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h b/gnuradio-runtime/include/rpcregisterhelpers.h index 1be3769ac8..1be3769ac8 100644 --- a/gnuradio-core/src/lib/runtime/rpcregisterhelpers.h +++ b/gnuradio-runtime/include/rpcregisterhelpers.h diff --git a/gnuradio-core/src/lib/runtime/rpcserver_aggregator.h b/gnuradio-runtime/include/rpcserver_aggregator.h index 050d9bb1e5..050d9bb1e5 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_aggregator.h +++ b/gnuradio-runtime/include/rpcserver_aggregator.h diff --git a/gnuradio-core/src/lib/runtime/rpcserver_base.h b/gnuradio-runtime/include/rpcserver_base.h index bc985c8d53..bc985c8d53 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_base.h +++ b/gnuradio-runtime/include/rpcserver_base.h diff --git a/gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.h b/gnuradio-runtime/include/rpcserver_booter_aggregator.h index da190a0be1..38739a1b50 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.h +++ b/gnuradio-runtime/include/rpcserver_booter_aggregator.h @@ -23,7 +23,7 @@ #ifndef RPCSERVER_BOOTER_AGGREGATOR #define RPCSERVER_BOOTER_AGGREGATOR -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <rpcserver_booter_base.h> #include <rpcserver_aggregator.h> #include <boost/shared_ptr.hpp> @@ -31,7 +31,7 @@ class rpcserver_server; -class GR_CORE_API rpcserver_booter_aggregator : +class GR_RUNTIME_API rpcserver_booter_aggregator : public virtual rpcserver_booter_base { public: diff --git a/gnuradio-core/src/lib/runtime/rpcserver_booter_base.h b/gnuradio-runtime/include/rpcserver_booter_base.h index 682944dada..682944dada 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_booter_base.h +++ b/gnuradio-runtime/include/rpcserver_booter_base.h diff --git a/gnuradio-core/src/lib/runtime/rpcserver_booter_ice.h b/gnuradio-runtime/include/rpcserver_booter_ice.h index 69dfcc7602..69dfcc7602 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_booter_ice.h +++ b/gnuradio-runtime/include/rpcserver_booter_ice.h diff --git a/gnuradio-core/src/lib/runtime/rpcserver_ice.h b/gnuradio-runtime/include/rpcserver_ice.h index 66ed8d5156..198e565978 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_ice.h +++ b/gnuradio-runtime/include/rpcserver_ice.h @@ -29,6 +29,7 @@ #include <map> #include <gnuradio.h> #include <Ice/Exception.h> +#include <boost/format.hpp> class rpcserver_ice : public virtual rpcserver_base, public GNURadio::ControlPort { @@ -109,7 +110,9 @@ private: } } else { - throw IceUtil::NullHandleException(__FILE__, __LINE__); + std::cout << "Ctrlport Key called with unregistered key (" << p << ")\n"; + std::string tmpkey(p); + throw IceUtil::NullHandleException((boost::format("%s Ctrlport Key called with unregistered key = %s")%__FILE__%p).str().c_str(), __LINE__); } } diff --git a/gnuradio-core/src/lib/runtime/rpcserver_selector.h b/gnuradio-runtime/include/rpcserver_selector.h index fa63c9a2dc..fa63c9a2dc 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_selector.h +++ b/gnuradio-runtime/include/rpcserver_selector.h diff --git a/gnuradio-core/src/lib/general/gr_block_gateway.h b/gnuradio-runtime/include/runtime_block_gateway.h index ce87a76c25..390864376f 100644 --- a/gnuradio-core/src/lib/general/gr_block_gateway.h +++ b/gnuradio-runtime/include/runtime_block_gateway.h @@ -19,10 +19,10 @@ * Boston, MA 02110-1301, USA. */ -#ifndef INCLUDED_GRBLOCK_GATEWAY_H -#define INCLUDED_GRBLOCK_GATEWAY_H +#ifndef INCLUDED_RUNTIME_BLOCK_GATEWAY_H +#define INCLUDED_RUNTIME_BLOCK_GATEWAY_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_block.h> #include <gr_feval.h> @@ -79,7 +79,7 @@ struct gr_block_gw_message_type{ * The methods prefixed with gr_block__ are renamed * to class methods without the prefix in python. */ -class GR_CORE_API gr_block_gateway : virtual public gr_block{ +class GR_RUNTIME_API runtime_block_gateway : virtual public gr_block{ public: //! Provide access to the shared message object virtual gr_block_gw_message_type &gr_block_message(void) = 0; @@ -252,7 +252,8 @@ protected: * \param factor the decimation or interpolation factor * \return a new gateway block */ -GR_CORE_API boost::shared_ptr<gr_block_gateway> gr_make_block_gateway( +GR_RUNTIME_API boost::shared_ptr<runtime_block_gateway> +runtime_make_block_gateway( gr_feval_ll *handler, const std::string &name, gr_io_signature_sptr in_sig, @@ -261,4 +262,4 @@ GR_CORE_API boost::shared_ptr<gr_block_gateway> gr_make_block_gateway( const unsigned factor ); -#endif /* INCLUDED_GRBLOCK_GATEWAY_H */ +#endif /* INCLUDED_RUNTIME_BLOCK_GATEWAY_H */ diff --git a/gnuradio-runtime/lib/CMakeLists.txt b/gnuradio-runtime/lib/CMakeLists.txt new file mode 100644 index 0000000000..01b9b172b0 --- /dev/null +++ b/gnuradio-runtime/lib/CMakeLists.txt @@ -0,0 +1,257 @@ +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +include(GrMiscUtils) +GR_CHECK_HDR_N_DEF(sys/resource.h HAVE_SYS_RESOURCE_H) + +######################################################################## +# Handle the generated constants +######################################################################## +execute_process(COMMAND ${PYTHON_EXECUTABLE} -c + "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())" + OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE +) +message(STATUS "Loading build date ${BUILD_DATE} into gr_constants...") +message(STATUS "Loading version ${VERSION} into gr_constants...") + +#double escape for windows backslash path separators +string(REPLACE "\\" "\\\\" prefix ${prefix}) +string(REPLACE "\\" "\\\\" SYSCONFDIR ${SYSCONFDIR}) +string(REPLACE "\\" "\\\\" GR_PREFSDIR ${GR_PREFSDIR}) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/gr_constants.cc.in + ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc +@ONLY) + +list(APPEND gnuradio_runtime_sources ${CMAKE_CURRENT_BINARY_DIR}/gr_constants.cc) + +######################################################################## +# Include subdirs rather to populate to the sources lists. +######################################################################## +#GR_INCLUDE_SUBDIRECTORY(foo) + +######################################################################## +# Setup the include and linker paths +######################################################################## +include_directories(${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/../include/ + ${Boost_INCLUDE_DIRS} + ${GRUEL_INCLUDE_DIRS} + ${VOLK_INCLUDE_DIRS} +) + +######################################################################## +# Setup library +######################################################################## +list(APPEND gnuradio_runtime_sources + complex_vec_test.cc + gr_basic_block.cc + gr_block.cc + gr_block_detail.cc + gr_block_executor.cc + gr_block_registry.cc + gr_buffer.cc + gr_circular_file.cc + gr_dispatcher.cc + gr_error_handler.cc + gr_fast_atan2f.cc + gr_feval.cc + gr_flat_flowgraph.cc + gr_flowgraph.cc + gr_fxpt.cc + gr_hier_block2.cc + gr_hier_block2_detail.cc + gri_debugger_hook.cc + gr_io_signature.cc + gr_local_sighandler.cc + gr_logger.cc + gr_message.cc + gr_misc.cc + gr_msg_accepter.cc + gr_msg_handler.cc + gr_msg_queue.cc + gr_pagesize.cc + gr_preferences.cc + gr_prefs.cc + gr_random.cc + gr_realtime.cc + gr_reverse.cc + gr_scheduler.cc + gr_scheduler_sts.cc + gr_scheduler_tpb.cc + gr_select_handler.cc + gr_sincos.c + gr_single_threaded_scheduler.cc + gr_sptr_magic.cc + gr_sync_block.cc + gr_sync_decimator.cc + gr_sync_interpolator.cc + gr_sys_paths.cc + gr_tagged_stream_block.cc + gr_test.cc + gr_top_block.cc + gr_top_block_impl.cc + gr_tpb_detail.cc + gr_tpb_thread_body.cc + gr_vmcircbuf.cc + gr_vmcircbuf_createfilemapping.cc + gr_vmcircbuf_mmap_shm_open.cc + gr_vmcircbuf_mmap_tmpfile.cc + gr_vmcircbuf_sysv_shm.cc + malloc16.c + runtime_block_gateway.cc +) + +# PowerPC workaround for posix_memalign +# Might not be needed, but we'll keep it for now. +if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)") + list(APPEND gnuradio_core_sources + ${CMAKE_CURRENT_SOURCE_DIR}/posix_memalign.cc + ) +endif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)") + +list(APPEND gnuradio_runtime_libs + gruel + volk + ${Boost_LIBRARIES} + ${LOG4CPP_LIBRARIES} +) + +#need to link with librt on ubuntu 11.10 for shm_* +if(LINUX) + list(APPEND gnuradio_runtime_libs rt) +endif() + +if(ENABLE_GR_CTRLPORT) + +# Add definition so we can compile in ControlPort to the blocks. +ADD_DEFINITIONS(-DGR_CTRLPORT) + +######################################################################## +# Run ICE To compile Slice files +######################################################################## +EXECUTE_PROCESS( + COMMAND "${ICE_SLICE2CPP}" "-I${CMAKE_CURRENT_SOURCE_DIR}" + "--output-dir=${CMAKE_CURRENT_BINARY_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}/gnuradio.ice" + ) + +list(APPEND gnuradio_runtime_sources + ice_application_base.cc + rpcmanager.cc + rpcpmtconverters_ice.cc + rpcserver_aggregator.cc + rpcserver_booter_aggregator.cc + rpcserver_booter_ice.cc + rpcserver_ice.cc + rpcserver_selector.cc + rpcpmtconverters_ice.cc +) + +# Append generated file in build directory +list(APPEND gnuradio_runtime_sources + ${CMAKE_CURRENT_BINARY_DIR}/gnuradio.cpp +) + +######################################################################## +# Add controlport stuff to gnuradio-runtime +######################################################################## + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +list(APPEND gnuradio_runtime_libs + ${ICE_LIBRARIES} +) + +endif(ENABLE_GR_CTRLPORT) + +######################################################################## +# Control availability of vmcircbuf methods. +# For now, only allows disabling of shm methods, which cause uncatchable +# segmentation faults on Cygwin with gcc 4.x (x <= 5) +# Usage: +# GR_VMCIRCBUF() +# +# Will set TRY_SHM_VMCIRCBUF to 1 by default except on Windows machines. +# Can manually set with -DTRY_SHM_VMCIRCBUF=0|1 +######################################################################## + +if(WIN32) + OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" OFF) +else(WIN32) + OPTION(TRY_SHM_VMCIRCBUF "Try SHM VMCIRCBUF" ON) +endif(WIN32) + +message(STATUS "TRY_SHM_VMCIRCBUF set to ${TRY_SHM_VMCIRCBUF}.") + +if(TRY_SHM_VMCIRCBUF) + add_definitions( -DTRY_SHM_VMCIRCBUF ) +endif(TRY_SHM_VMCIRCBUF) + +add_library(gnuradio-runtime SHARED ${gnuradio_runtime_sources}) +target_link_libraries(gnuradio-runtime ${gnuradio_runtime_libs}) +GR_LIBRARY_FOO(gnuradio-runtime RUNTIME_COMPONENT "runtime" DEVEL_COMPONENT "runtime_devel") +set_target_properties(gnuradio-runtime PROPERTIES LINK_INTERFACE_LIBRARIES "gruel") + +add_dependencies(gnuradio-runtime + runtime_generated_includes +) + +######################################################################## +# Setup tests +######################################################################## +if(ENABLE_TESTING) +include(GrTest) + +######################################################################## +# Append gnuradio-runtime test sources +######################################################################## +list(APPEND test_gnuradio_runtime_sources + qa_gr_buffer.cc + qa_gr_circular_file.cc + qa_gr_fxpt.cc + qa_gr_fxpt_nco.cc + qa_gr_fxpt_vco.cc + qa_gr_io_signature.cc + qa_gr_logger.cc + qa_gr_math.cc + qa_gr_vmcircbuf.cc + qa_runtime.cc + qa_sincos.cc +) + +include_directories(${CPPUNIT_INCLUDE_DIRS}) +link_directories(${CPPUNIT_LIBRARY_DIRS}) + +add_library(test-gnuradio-runtime SHARED ${test_gnuradio_runtime_sources}) +target_link_libraries(test-gnuradio-runtime gnuradio-runtime ${CPPUNIT_LIBRARIES} ${Boost_LIBRARIES}) + +######################################################################## +# Build the test executable +# Set the test environment so the build libs will be found under MSVC. +######################################################################## +list(APPEND GR_TEST_TARGET_DEPS test-gnuradio-runtime) +add_executable(gr_runtime_test test_runtime.cc) +target_link_libraries(gr_runtime_test test-gnuradio-runtime) +GR_ADD_TEST(gr-runtime-test gr_runtime_test) + +endif(ENABLE_TESTING) + diff --git a/gnuradio-core/src/lib/runtime/ICE_LICENSE b/gnuradio-runtime/lib/ICE_LICENSE index 43ea7572d9..43ea7572d9 100644 --- a/gnuradio-core/src/lib/runtime/ICE_LICENSE +++ b/gnuradio-runtime/lib/ICE_LICENSE diff --git a/gnuradio-core/src/lib/general/complex_vec_test.cc b/gnuradio-runtime/lib/complex_vec_test.cc index 99acc2f355..99acc2f355 100644 --- a/gnuradio-core/src/lib/general/complex_vec_test.cc +++ b/gnuradio-runtime/lib/complex_vec_test.cc diff --git a/gnuradio-core/src/lib/general/complex_vec_test.h b/gnuradio-runtime/lib/complex_vec_test.h index be4de41fb0..bcfa732f41 100644 --- a/gnuradio-core/src/lib/general/complex_vec_test.h +++ b/gnuradio-runtime/lib/complex_vec_test.h @@ -1,28 +1,28 @@ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <vector> #include <complex> -GR_CORE_API std::vector<std::complex<float> > +GR_RUNTIME_API std::vector<std::complex<float> > complex_vec_test0(); -GR_CORE_API std::vector<std::complex<float> > +GR_RUNTIME_API std::vector<std::complex<float> > complex_vec_test1(const std::vector<std::complex<float> > &input); -GR_CORE_API std::complex<float> +GR_RUNTIME_API std::complex<float> complex_scalar_test0(); -GR_CORE_API std::complex<float> +GR_RUNTIME_API std::complex<float> complex_scalar_test1(std::complex<float> input); -GR_CORE_API std::vector<int> +GR_RUNTIME_API std::vector<int> int_vec_test0(); -GR_CORE_API std::vector<int> +GR_RUNTIME_API std::vector<int> int_vec_test1(const std::vector<int> &input); -GR_CORE_API std::vector<float> +GR_RUNTIME_API std::vector<float> float_vec_test0(); -GR_CORE_API std::vector<float> +GR_RUNTIME_API std::vector<float> float_vec_test1(const std::vector<float> &input); diff --git a/gnuradio-runtime/lib/frontend.ice b/gnuradio-runtime/lib/frontend.ice new file mode 100644 index 0000000000..87ffe55085 --- /dev/null +++ b/gnuradio-runtime/lib/frontend.ice @@ -0,0 +1,152 @@ +/* + * Copyright 2013 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include <gnuradio.ice> + +[["python:package:gnuradio.ctrlport"]] +module GNURadio { + module Frontend { + + // primitive types + dictionary<string, string> StrStrDict; + dictionary<string, string> TunerArgs; + struct F32Range + { + float min; + float max; + }; + + // exception types + exception NotSupported {}; + exception InvalidSetting { string msg; }; + exception ReceiverFailure { string msg; }; + exception NotExist {}; + + + // Status Types + struct TunerStatus { + float freq; + float rate; + int a2dbits; + float gain; + F32Range gainrange; + bool isInverted; + StrStrDict info; + }; + + struct StreamInfo { + string uri; + StrStrDict info; + }; + + struct ReceiverInfo { + string uid; + string name; + StrStrDict info; + }; + + struct ChannelStatus { + string uid; + string name; + bool active; + float freq; + float bandwidth; + bool isComplex; + StrStrDict info; + }; + + struct ChannelizerStatus { + string uid; + string name; + StrStrDict info; + }; + + // Interfaces + interface Component { + void setName(string newName); + }; + + interface AbstractReceiver extends Component { + idempotent ReceiverInfo getReceiverInfo(); + }; + + interface Tuner { + TunerStatus configureTuner(TunerArgs args) throws ReceiverFailure, InvalidSetting; + idempotent TunerStatus status(); + idempotent float setGain(float gain) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent bool setInversion(bool inverted) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent float setCenterFreq(float freq) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent float setBandwidth(float bw) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent void setInfo(string k, string v) throws ReceiverFailure, NotSupported, InvalidSetting; + }; + + interface Channel { + void start(); + void stop(); + void destroyChannel() throws NotSupported; + idempotent bool active(); + idempotent ChannelStatus status(); + idempotent StreamInfo stream(); + idempotent bool setComplex(bool complex) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent void setInfo(string k, string v) throws ReceiverFailure, NotSupported, InvalidSetting; + idempotent void setStreamInfo(string k, string v) throws ReceiverFailure, NotSupported, InvalidSetting; + }; + + sequence<Tuner*> TunerSeq; + sequence<Channel*> ChannelSeq; + + interface Channelizer extends AbstractReceiver { + idempotent ChannelizerStatus status(); + idempotent Tuner* getTuner(); + idempotent ChannelSeq getChannels(); + idempotent ChannelSeq getActiveChannels(); + idempotent ChannelSeq getInactiveChannels(); + Channel* createChannel(float freq, float bw, StrStrDict args) throws NotSupported; + }; + + sequence<Channelizer*> ChannelizerSeq; + + interface Receiver extends AbstractReceiver { + idempotent ChannelizerSeq getInputs(); + idempotent Channel* getChannelByID(string id) throws NotExist; + idempotent Channelizer* getChannelizerByID(string id) throws NotExist; + idempotent void setInfo(string k, string v) throws ReceiverFailure, NotSupported, InvalidSetting; + }; + + }; + + module Booter { + dictionary<string, string> WaveformArgs; + exception WaveformRunningError { + string waveformClass; + float centerFrequencyHz; + }; + exception SignalSourceError {string msg; }; + interface WaveformBooter extends Frontend::Receiver, ControlPort { + string launchWaveform(string waveformClass, WaveformArgs args) + throws WaveformRunningError, SignalSourceError; + WaveformArgMap getDriverEnum(); + WaveformArgMap getSourceInfo(); + idempotent bool waveformRunning(); + idempotent string getWaveformClass(); + }; + }; +}; diff --git a/gnuradio-core/src/lib/general/gen_sine_table.py b/gnuradio-runtime/lib/gen_sine_table.py index d7d11eff11..d7d11eff11 100755 --- a/gnuradio-core/src/lib/general/gen_sine_table.py +++ b/gnuradio-runtime/lib/gen_sine_table.py diff --git a/gnuradio-core/src/lib/runtime/gnuradio.ice b/gnuradio-runtime/lib/gnuradio.ice index e17d91901b..731cbea956 100644 --- a/gnuradio-core/src/lib/runtime/gnuradio.ice +++ b/gnuradio-runtime/lib/gnuradio.ice @@ -88,67 +88,8 @@ interface ControlPort { idempotent KnobMap get(KnobIDList knobs); idempotent KnobPropMap properties(KnobIDList knobs); void shutdown(); - -// string subscribe(StreamReceiver* proxy, string streamName, int requestedPeriod, int RequestedSize); -// idempotent void unsubscribe(string streamID); -}; - -struct FeedInfo { - string protocol; - string address; - string iface; - string port; -}; - -//TODO: convert this part to a Feed Info -struct ReceiverInfo { - string uid; - string signalType; - string signalName; - string allocatableObjectID; - string signalProtocol; - string signalAddress; - string signalInterface; - string signalPort; -}; - -interface Component { - void setName(string newName); }; -module Frontend { - interface AbstractReceiver extends Component { - idempotent ReceiverInfo getReceiverInfo(); - }; -}; - -module Booter { - dictionary<string, string> WaveformArgs; - - exception WaveformRunningError { - string waveformClass; - float centerFrequencyHz; - }; - exception SignalSourceError {string msg; }; - - interface WaveformBooter extends Frontend::AbstractReceiver { - string launchWaveform(string waveformClass, WaveformArgs args) - throws WaveformRunningError, SignalSourceError; - -// string launchWaveformWithSession(string waveformClass, WaveformArgs args, IceGrid::Session* session) -// throws WaveformRunningError; - WaveformArgMap getDriverEnum(); - WaveformArgMap getSourceInfo(); - idempotent bool waveformRunning(); - idempotent string getWaveformClass(); - void shutdown(); - }; -}; - -//interface Pingable { -// bool ping(); -//}; - }; #endif diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.cc b/gnuradio-runtime/lib/gr_basic_block.cc index 35ea797167..35ea797167 100644 --- a/gnuradio-core/src/lib/runtime/gr_basic_block.cc +++ b/gnuradio-runtime/lib/gr_basic_block.cc diff --git a/gnuradio-core/src/lib/runtime/gr_block.cc b/gnuradio-runtime/lib/gr_block.cc index 8c8b85dc7e..8c8b85dc7e 100644 --- a/gnuradio-core/src/lib/runtime/gr_block.cc +++ b/gnuradio-runtime/lib/gr_block.cc diff --git a/gnuradio-core/src/lib/runtime/gr_block_detail.cc b/gnuradio-runtime/lib/gr_block_detail.cc index c85c0e9fba..c85c0e9fba 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_detail.cc +++ b/gnuradio-runtime/lib/gr_block_detail.cc diff --git a/gnuradio-core/src/lib/runtime/gr_block_executor.cc b/gnuradio-runtime/lib/gr_block_executor.cc index e070f3c508..e070f3c508 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_executor.cc +++ b/gnuradio-runtime/lib/gr_block_executor.cc diff --git a/gnuradio-core/src/lib/runtime/gr_block_executor.h b/gnuradio-runtime/lib/gr_block_executor.h index fb7f9c2690..7d5c4949a3 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_executor.h +++ b/gnuradio-runtime/lib/gr_block_executor.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_BLOCK_EXECUTOR_H #define INCLUDED_GR_BLOCK_EXECUTOR_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_runtime_types.h> #include <fstream> #include <gr_tags.h> @@ -37,7 +37,7 @@ * \ingroup internal */ -class GR_CORE_API gr_block_executor { +class GR_RUNTIME_API gr_block_executor { protected: gr_block_sptr d_block; // The block we're trying to run std::ofstream *d_log; diff --git a/gnuradio-core/src/lib/runtime/gr_block_registry.cc b/gnuradio-runtime/lib/gr_block_registry.cc index eaa770dcaf..eaa770dcaf 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_registry.cc +++ b/gnuradio-runtime/lib/gr_block_registry.cc diff --git a/gnuradio-core/src/lib/runtime/gr_buffer.cc b/gnuradio-runtime/lib/gr_buffer.cc index 369959d65f..369959d65f 100644 --- a/gnuradio-core/src/lib/runtime/gr_buffer.cc +++ b/gnuradio-runtime/lib/gr_buffer.cc diff --git a/gnuradio-core/src/lib/general/gr_circular_file.cc b/gnuradio-runtime/lib/gr_circular_file.cc index 6f710c49b1..6f710c49b1 100644 --- a/gnuradio-core/src/lib/general/gr_circular_file.cc +++ b/gnuradio-runtime/lib/gr_circular_file.cc diff --git a/gnuradio-core/src/lib/general/gr_circular_file.h b/gnuradio-runtime/lib/gr_circular_file.h index ca1f793f37..2b61bf2711 100644 --- a/gnuradio-core/src/lib/general/gr_circular_file.h +++ b/gnuradio-runtime/lib/gr_circular_file.h @@ -23,7 +23,7 @@ #ifndef _GR_CIRCULAR_FILE_H_ #define _GR_CIRCULAR_FILE_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> /* * writes input data into a circular buffer on disk. @@ -37,7 +37,7 @@ * current start of data * */ -class GR_CORE_API gr_circular_file { +class GR_RUNTIME_API gr_circular_file { int d_fd; int *d_header; unsigned char *d_buffer; diff --git a/gnuradio-core/src/lib/general/gr_constants.cc.in b/gnuradio-runtime/lib/gr_constants.cc.in index b94f254d66..b94f254d66 100644 --- a/gnuradio-core/src/lib/general/gr_constants.cc.in +++ b/gnuradio-runtime/lib/gr_constants.cc.in diff --git a/gnuradio-core/src/lib/runtime/gr_dispatcher.cc b/gnuradio-runtime/lib/gr_dispatcher.cc index 96ebe9ad8b..96ebe9ad8b 100644 --- a/gnuradio-core/src/lib/runtime/gr_dispatcher.cc +++ b/gnuradio-runtime/lib/gr_dispatcher.cc diff --git a/gnuradio-core/src/lib/runtime/gr_error_handler.cc b/gnuradio-runtime/lib/gr_error_handler.cc index 448682966e..448682966e 100644 --- a/gnuradio-core/src/lib/runtime/gr_error_handler.cc +++ b/gnuradio-runtime/lib/gr_error_handler.cc diff --git a/gnuradio-core/src/lib/general/gr_fast_atan2f.cc b/gnuradio-runtime/lib/gr_fast_atan2f.cc index 8b7bfea12e..8b7bfea12e 100644 --- a/gnuradio-core/src/lib/general/gr_fast_atan2f.cc +++ b/gnuradio-runtime/lib/gr_fast_atan2f.cc diff --git a/gnuradio-core/src/lib/general/gr_feval.cc b/gnuradio-runtime/lib/gr_feval.cc index 89f09984cf..89f09984cf 100644 --- a/gnuradio-core/src/lib/general/gr_feval.cc +++ b/gnuradio-runtime/lib/gr_feval.cc diff --git a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc b/gnuradio-runtime/lib/gr_flat_flowgraph.cc index de1e227ef0..de1e227ef0 100644 --- a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.cc +++ b/gnuradio-runtime/lib/gr_flat_flowgraph.cc diff --git a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.h b/gnuradio-runtime/lib/gr_flat_flowgraph.h index 3cd3228f41..9c47a77e23 100644 --- a/gnuradio-core/src/lib/runtime/gr_flat_flowgraph.h +++ b/gnuradio-runtime/lib/gr_flat_flowgraph.h @@ -23,23 +23,23 @@ #ifndef INCLUDED_GR_FLAT_FLOWGRAPH_H #define INCLUDED_GR_FLAT_FLOWGRAPH_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_flowgraph.h> #include <gr_block.h> // Create a shared pointer to a heap allocated gr_flat_flowgraph // (types defined in gr_runtime_types.h) -GR_CORE_API gr_flat_flowgraph_sptr gr_make_flat_flowgraph(); +GR_RUNTIME_API gr_flat_flowgraph_sptr gr_make_flat_flowgraph(); /*! *\brief Class specializing gr_flat_flowgraph that has all nodes * as gr_blocks, with no hierarchy * \ingroup internal */ -class GR_CORE_API gr_flat_flowgraph : public gr_flowgraph +class GR_RUNTIME_API gr_flat_flowgraph : public gr_flowgraph { public: - friend GR_CORE_API gr_flat_flowgraph_sptr gr_make_flat_flowgraph(); + friend GR_RUNTIME_API gr_flat_flowgraph_sptr gr_make_flat_flowgraph(); // Destruct an arbitrary gr_flat_flowgraph ~gr_flat_flowgraph(); diff --git a/gnuradio-core/src/lib/runtime/gr_flowgraph.cc b/gnuradio-runtime/lib/gr_flowgraph.cc index 63a2084802..63a2084802 100644 --- a/gnuradio-core/src/lib/runtime/gr_flowgraph.cc +++ b/gnuradio-runtime/lib/gr_flowgraph.cc diff --git a/gnuradio-core/src/lib/general/gr_fxpt.cc b/gnuradio-runtime/lib/gr_fxpt.cc index 2ea8520e6b..2ea8520e6b 100644 --- a/gnuradio-core/src/lib/general/gr_fxpt.cc +++ b/gnuradio-runtime/lib/gr_fxpt.cc diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.cc b/gnuradio-runtime/lib/gr_hier_block2.cc index 9e924fdaf5..9e924fdaf5 100644 --- a/gnuradio-core/src/lib/runtime/gr_hier_block2.cc +++ b/gnuradio-runtime/lib/gr_hier_block2.cc diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc b/gnuradio-runtime/lib/gr_hier_block2_detail.cc index c8564f6698..c8564f6698 100644 --- a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc +++ b/gnuradio-runtime/lib/gr_hier_block2_detail.cc diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h b/gnuradio-runtime/lib/gr_hier_block2_detail.h index b38dae3016..d08fe20ac0 100644 --- a/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.h +++ b/gnuradio-runtime/lib/gr_hier_block2_detail.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_HIER_BLOCK2_DETAIL_H #define INCLUDED_GR_HIER_BLOCK2_DETAIL_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_hier_block2.h> #include <gr_flat_flowgraph.h> #include <boost/utility.hpp> @@ -30,7 +30,7 @@ /*! * \ingroup internal */ -class GR_CORE_API gr_hier_block2_detail : boost::noncopyable +class GR_RUNTIME_API gr_hier_block2_detail : boost::noncopyable { public: gr_hier_block2_detail(gr_hier_block2 *owner); diff --git a/gnuradio-core/src/lib/runtime/gr_io_signature.cc b/gnuradio-runtime/lib/gr_io_signature.cc index 6ac9acd17d..6ac9acd17d 100644 --- a/gnuradio-core/src/lib/runtime/gr_io_signature.cc +++ b/gnuradio-runtime/lib/gr_io_signature.cc diff --git a/gnuradio-core/src/lib/runtime/gr_local_sighandler.cc b/gnuradio-runtime/lib/gr_local_sighandler.cc index fb31742e13..fb31742e13 100644 --- a/gnuradio-core/src/lib/runtime/gr_local_sighandler.cc +++ b/gnuradio-runtime/lib/gr_local_sighandler.cc diff --git a/gnuradio-core/src/lib/runtime/gr_local_sighandler.h b/gnuradio-runtime/lib/gr_local_sighandler.h index a30e2c13a5..a49ee031ca 100644 --- a/gnuradio-core/src/lib/runtime/gr_local_sighandler.h +++ b/gnuradio-runtime/lib/gr_local_sighandler.h @@ -27,7 +27,7 @@ #include <signal.h> #endif -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <string> /*! @@ -37,7 +37,7 @@ * Constructor installs new handler, destructor reinstalls * original value. */ -class GR_CORE_API gr_local_sighandler { +class GR_RUNTIME_API gr_local_sighandler { int d_signum; #ifdef HAVE_SIGACTION struct sigaction d_old_action; @@ -53,7 +53,7 @@ public: /*! * \brief Representation of signal. */ -class GR_CORE_API gr_signal +class GR_RUNTIME_API gr_signal { int d_signum; public: diff --git a/gnuradio-core/src/lib/runtime/gr_logger.cc b/gnuradio-runtime/lib/gr_logger.cc index 7e0116d036..82737128bb 100644 --- a/gnuradio-core/src/lib/runtime/gr_logger.cc +++ b/gnuradio-runtime/lib/gr_logger.cc @@ -26,6 +26,10 @@ * The gr_log module wraps the log4cpp library for logging in gnuradio. *******************************************************************************/ +#ifndef ENABLE_GR_LOG +#include "config.h" +#endif + #include <gr_logger.h> #include <stdexcept> #include <algorithm> diff --git a/gnuradio-core/src/lib/runtime/gr_message.cc b/gnuradio-runtime/lib/gr_message.cc index a99dcd7653..a99dcd7653 100644 --- a/gnuradio-core/src/lib/runtime/gr_message.cc +++ b/gnuradio-runtime/lib/gr_message.cc diff --git a/gnuradio-core/src/lib/general/gr_misc.cc b/gnuradio-runtime/lib/gr_misc.cc index 1ed2a03d7f..1ed2a03d7f 100644 --- a/gnuradio-core/src/lib/general/gr_misc.cc +++ b/gnuradio-runtime/lib/gr_misc.cc diff --git a/gnuradio-core/src/lib/general/qa_general.h b/gnuradio-runtime/lib/gr_misc.h index bf52cddc1a..182ae87de6 100644 --- a/gnuradio-core/src/lib/general/qa_general.h +++ b/gnuradio-runtime/lib/gr_misc.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2002 Free Software Foundation, Inc. + * Copyright 2005 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -20,19 +20,20 @@ * Boston, MA 02110-1301, USA. */ -#ifndef _QA_GENERAL_H_ -#define _QA_GENERAL_H_ +#ifndef INCLUDED_GR_MISC_H +#define INCLUDED_GR_MISC_H -#include <gruel/attributes.h> -#include <cppunit/TestSuite.h> +#include <gr_runtime_api.h> +#include <gr_types.h> -//! collect all the tests for the gr directory +GR_RUNTIME_API unsigned int +gr_rounduppow2(unsigned int n); -class __GR_ATTR_EXPORT qa_general { - public: - //! return suite of tests for all of gr directory - static CppUnit::TestSuite *suite (); -}; +// FIXME should be template +GR_RUNTIME_API void gr_zero_vector(std::vector<float> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<double> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<int> &v); +GR_RUNTIME_API void gr_zero_vector(std::vector<gr_complex> &v); -#endif /* _QA_GENERAL_H_ */ +#endif /* INCLUDED_GR_MISC_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_msg_accepter.cc b/gnuradio-runtime/lib/gr_msg_accepter.cc index 93d5fb20e8..93d5fb20e8 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_accepter.cc +++ b/gnuradio-runtime/lib/gr_msg_accepter.cc diff --git a/gnuradio-core/src/lib/runtime/gr_msg_handler.cc b/gnuradio-runtime/lib/gr_msg_handler.cc index 0f93497088..0f93497088 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_handler.cc +++ b/gnuradio-runtime/lib/gr_msg_handler.cc diff --git a/gnuradio-core/src/lib/runtime/gr_msg_queue.cc b/gnuradio-runtime/lib/gr_msg_queue.cc index 0cf0467715..0cf0467715 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_queue.cc +++ b/gnuradio-runtime/lib/gr_msg_queue.cc diff --git a/gnuradio-core/src/lib/runtime/gr_pagesize.cc b/gnuradio-runtime/lib/gr_pagesize.cc index e31e05ca70..e31e05ca70 100644 --- a/gnuradio-core/src/lib/runtime/gr_pagesize.cc +++ b/gnuradio-runtime/lib/gr_pagesize.cc diff --git a/gnuradio-core/src/lib/runtime/gr_pagesize.h b/gnuradio-runtime/lib/gr_pagesize.h index 3e2daa9255..d14cb22b1b 100644 --- a/gnuradio-core/src/lib/runtime/gr_pagesize.h +++ b/gnuradio-runtime/lib/gr_pagesize.h @@ -22,13 +22,13 @@ #ifndef _GR_PAGESIZE_H_ #define _GR_PAGESIZE_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> /*! * \brief return the page size in bytes */ -GR_CORE_API int gr_pagesize (); +GR_RUNTIME_API int gr_pagesize (); #endif /* _GR_PAGESIZE_H_ */
\ No newline at end of file diff --git a/gnuradio-core/src/lib/runtime/gr_preferences.cc b/gnuradio-runtime/lib/gr_preferences.cc index a0f5616603..a0f5616603 100644 --- a/gnuradio-core/src/lib/runtime/gr_preferences.cc +++ b/gnuradio-runtime/lib/gr_preferences.cc diff --git a/gnuradio-core/src/lib/general/gr_prefs.cc b/gnuradio-runtime/lib/gr_prefs.cc index 8a79c3335f..8a79c3335f 100644 --- a/gnuradio-core/src/lib/general/gr_prefs.cc +++ b/gnuradio-runtime/lib/gr_prefs.cc diff --git a/gnuradio-core/src/lib/general/gr_random.cc b/gnuradio-runtime/lib/gr_random.cc index 323839acc7..323839acc7 100644 --- a/gnuradio-core/src/lib/general/gr_random.cc +++ b/gnuradio-runtime/lib/gr_random.cc diff --git a/gnuradio-core/src/lib/general/qa_general.cc b/gnuradio-runtime/lib/gr_random.h index 121551b050..783c05f920 100644 --- a/gnuradio-core/src/lib/general/qa_general.cc +++ b/gnuradio-runtime/lib/gr_random.h @@ -1,3 +1,4 @@ +/* -*- c++ -*- */ /* * Copyright 2002 Free Software Foundation, Inc. * @@ -19,31 +20,46 @@ * Boston, MA 02110-1301, USA. */ -/* - * This class gathers together all the test cases for the gr - * directory into a single test suite. As you create new test cases, - * add them here. +#ifndef INCLUDED_GR_RANDOM_H +#define INCLUDED_GR_RANDOM_H + +#include <gr_runtime_api.h> +#include <gr_complex.h> + +/*! + * \brief pseudo random number generator + * \ingroup math_blk */ +class GR_RUNTIME_API gr_random { +protected: + static const int NTAB = 32; + long d_seed; + long d_iy; + long d_iv[NTAB]; + int d_iset; + float d_gset; + + +public: + gr_random (long seed=3021); + + void reseed (long seed); + + /*! + * \brief uniform random deviate in the range [0.0, 1.0) + */ + float ran1 (); + + /*! + * \brief normally distributed deviate with zero mean and variance 1 + */ + float gasdev (); + + float laplacian (); + float impulse (float factor); + float rayleigh (); + gr_complex rayleigh_complex (); +}; + +#endif /* INCLUDED_GR_RANDOM_H */ -#include <qa_general.h> -#include <qa_gr_circular_file.h> -#include <qa_gr_fxpt.h> -#include <qa_gr_fxpt_nco.h> -#include <qa_gr_fxpt_vco.h> -#include <qa_gr_math.h> -#include <qa_sincos.h> - -CppUnit::TestSuite * -qa_general::suite () -{ - CppUnit::TestSuite *s = new CppUnit::TestSuite ("general"); - - s->addTest (qa_gr_circular_file::suite ()); - s->addTest (qa_gr_fxpt::suite ()); - s->addTest (qa_gr_fxpt_nco::suite ()); - s->addTest (qa_gr_fxpt_vco::suite ()); - s->addTest (qa_gr_math::suite ()); - s->addTest(gr::analog::qa_sincos::suite()); - - return s; -} diff --git a/gnuradio-core/src/lib/runtime/gr_realtime.cc b/gnuradio-runtime/lib/gr_realtime.cc index 75b497999d..75b497999d 100644 --- a/gnuradio-core/src/lib/runtime/gr_realtime.cc +++ b/gnuradio-runtime/lib/gr_realtime.cc diff --git a/gnuradio-core/src/lib/general/gr_reverse.cc b/gnuradio-runtime/lib/gr_reverse.cc index 08c588cb55..08c588cb55 100644 --- a/gnuradio-core/src/lib/general/gr_reverse.cc +++ b/gnuradio-runtime/lib/gr_reverse.cc diff --git a/gnuradio-core/src/lib/general/gr_reverse.h b/gnuradio-runtime/lib/gr_reverse.h index 15bf3cb73a..aa8619619f 100644 --- a/gnuradio-core/src/lib/general/gr_reverse.h +++ b/gnuradio-runtime/lib/gr_reverse.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_REVERSE_H #define INCLUDED_GR_REVERSE_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <vector> #include <gr_complex.h> diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler.cc b/gnuradio-runtime/lib/gr_scheduler.cc index c691f5d99f..c691f5d99f 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler.cc +++ b/gnuradio-runtime/lib/gr_scheduler.cc diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler.h b/gnuradio-runtime/lib/gr_scheduler.h index 6d130327fc..097f575c21 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler.h +++ b/gnuradio-runtime/lib/gr_scheduler.h @@ -22,7 +22,7 @@ #ifndef INCLUDED_GR_SCHEDULER_H #define INCLUDED_GR_SCHEDULER_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <boost/utility.hpp> #include <gr_block.h> #include <gr_flat_flowgraph.h> @@ -37,7 +37,7 @@ typedef boost::shared_ptr<gr_scheduler> gr_scheduler_sptr; * * Preconditions: details, buffers and buffer readers have been assigned. */ -class GR_CORE_API gr_scheduler : boost::noncopyable +class GR_RUNTIME_API gr_scheduler : boost::noncopyable { public: diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler_sts.cc b/gnuradio-runtime/lib/gr_scheduler_sts.cc index 2c96def6d1..2c96def6d1 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler_sts.cc +++ b/gnuradio-runtime/lib/gr_scheduler_sts.cc diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler_sts.h b/gnuradio-runtime/lib/gr_scheduler_sts.h index 011874ec0a..43b97b62c1 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler_sts.h +++ b/gnuradio-runtime/lib/gr_scheduler_sts.h @@ -21,14 +21,14 @@ #ifndef INCLUDED_GR_SCHEDULER_STS_H #define INCLUDED_GR_SCHEDULER_STS_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_scheduler.h> #include <gruel/thread_group.h> /*! * \brief Concrete scheduler that uses the single_threaded_scheduler */ -class GR_CORE_API gr_scheduler_sts : public gr_scheduler +class GR_RUNTIME_API gr_scheduler_sts : public gr_scheduler { gruel::thread_group d_threads; diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler_tpb.cc b/gnuradio-runtime/lib/gr_scheduler_tpb.cc index 2824eb1b3b..2824eb1b3b 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler_tpb.cc +++ b/gnuradio-runtime/lib/gr_scheduler_tpb.cc diff --git a/gnuradio-core/src/lib/runtime/gr_scheduler_tpb.h b/gnuradio-runtime/lib/gr_scheduler_tpb.h index a9b3abcfa6..d978dd28e1 100644 --- a/gnuradio-core/src/lib/runtime/gr_scheduler_tpb.h +++ b/gnuradio-runtime/lib/gr_scheduler_tpb.h @@ -21,14 +21,14 @@ #ifndef INCLUDED_GR_SCHEDULER_TPB_H #define INCLUDED_GR_SCHEDULER_TPB_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_scheduler.h> #include <gruel/thread_group.h> /*! * \brief Concrete scheduler that uses a kernel thread-per-block */ -class GR_CORE_API gr_scheduler_tpb : public gr_scheduler +class GR_RUNTIME_API gr_scheduler_tpb : public gr_scheduler { gruel::thread_group d_threads; diff --git a/gnuradio-core/src/lib/runtime/gr_select_handler.cc b/gnuradio-runtime/lib/gr_select_handler.cc index 0fc86354a6..0fc86354a6 100644 --- a/gnuradio-core/src/lib/runtime/gr_select_handler.cc +++ b/gnuradio-runtime/lib/gr_select_handler.cc diff --git a/gnuradio-core/src/lib/general/gr_sincos.c b/gnuradio-runtime/lib/gr_sincos.c index a8d01b0da4..a8d01b0da4 100644 --- a/gnuradio-core/src/lib/general/gr_sincos.c +++ b/gnuradio-runtime/lib/gr_sincos.c diff --git a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.cc b/gnuradio-runtime/lib/gr_single_threaded_scheduler.cc index 1bb9e9b0a8..1bb9e9b0a8 100644 --- a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.cc +++ b/gnuradio-runtime/lib/gr_single_threaded_scheduler.cc diff --git a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc b/gnuradio-runtime/lib/gr_sptr_magic.cc index 7fdadf24a2..7fdadf24a2 100644 --- a/gnuradio-core/src/lib/runtime/gr_sptr_magic.cc +++ b/gnuradio-runtime/lib/gr_sptr_magic.cc diff --git a/gnuradio-core/src/lib/runtime/gr_sync_block.cc b/gnuradio-runtime/lib/gr_sync_block.cc index 94efcdc8ee..94efcdc8ee 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_block.cc +++ b/gnuradio-runtime/lib/gr_sync_block.cc diff --git a/gnuradio-core/src/lib/runtime/gr_sync_decimator.cc b/gnuradio-runtime/lib/gr_sync_decimator.cc index a0f907db53..a0f907db53 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_decimator.cc +++ b/gnuradio-runtime/lib/gr_sync_decimator.cc diff --git a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc b/gnuradio-runtime/lib/gr_sync_interpolator.cc index ece873c14a..ece873c14a 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.cc +++ b/gnuradio-runtime/lib/gr_sync_interpolator.cc diff --git a/gnuradio-core/src/lib/runtime/gr_sys_paths.cc b/gnuradio-runtime/lib/gr_sys_paths.cc index b4918af33d..b4918af33d 100644 --- a/gnuradio-core/src/lib/runtime/gr_sys_paths.cc +++ b/gnuradio-runtime/lib/gr_sys_paths.cc diff --git a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.cc b/gnuradio-runtime/lib/gr_tagged_stream_block.cc index 32b6a09033..32b6a09033 100644 --- a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.cc +++ b/gnuradio-runtime/lib/gr_tagged_stream_block.cc diff --git a/gnuradio-core/src/lib/general/gr_test.cc b/gnuradio-runtime/lib/gr_test.cc index cd5ef83611..cd5ef83611 100644 --- a/gnuradio-core/src/lib/general/gr_test.cc +++ b/gnuradio-runtime/lib/gr_test.cc diff --git a/gnuradio-core/src/lib/general/gr_test.h b/gnuradio-runtime/lib/gr_test.h index caeba4c511..2276ab1967 100644 --- a/gnuradio-core/src/lib/general/gr_test.h +++ b/gnuradio-runtime/lib/gr_test.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_TEST_H #define INCLUDED_GR_TEST_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_block.h> #include <string> #include "gr_test_types.h" @@ -32,7 +32,7 @@ class gr_test; typedef boost::shared_ptr<gr_test> gr_test_sptr; // public constructor -GR_CORE_API gr_test_sptr gr_make_test (const std::string &name=std::string("gr_test"), +GR_RUNTIME_API gr_test_sptr gr_make_test (const std::string &name=std::string("gr_test"), int min_inputs=1, int max_inputs=1, unsigned int sizeof_input_item=1, int min_outputs=1, int max_outputs=1, unsigned int sizeof_output_item=1, unsigned int history=1,unsigned int output_multiple=1,double relative_rate=1.0, @@ -51,7 +51,7 @@ GR_CORE_API gr_test_sptr gr_make_test (const std::string &name=std::string("gr_t * The runtime system should detect this and create large enough buffers * all through the signal chain. */ -class GR_CORE_API gr_test : public gr_block { +class GR_RUNTIME_API gr_test : public gr_block { public: @@ -184,7 +184,7 @@ int general_work (int noutput_items, - friend GR_CORE_API gr_test_sptr gr_make_test (const std::string &name,int min_inputs, int max_inputs, unsigned int sizeof_input_item, + friend GR_RUNTIME_API gr_test_sptr gr_make_test (const std::string &name,int min_inputs, int max_inputs, unsigned int sizeof_input_item, int min_outputs, int max_outputs, unsigned int sizeof_output_item, unsigned int history,unsigned int output_multiple,double relative_rate, bool fixed_rate,gr_consume_type_t cons_type, gr_produce_type_t prod_type); diff --git a/gnuradio-core/src/lib/general/gr_test_types.h b/gnuradio-runtime/lib/gr_test_types.h index 04f38f7b26..04f38f7b26 100644 --- a/gnuradio-core/src/lib/general/gr_test_types.h +++ b/gnuradio-runtime/lib/gr_test_types.h diff --git a/gnuradio-core/src/lib/runtime/gr_top_block.cc b/gnuradio-runtime/lib/gr_top_block.cc index c6118bcfdd..c6118bcfdd 100644 --- a/gnuradio-core/src/lib/runtime/gr_top_block.cc +++ b/gnuradio-runtime/lib/gr_top_block.cc diff --git a/gnuradio-core/src/lib/runtime/gr_top_block_impl.cc b/gnuradio-runtime/lib/gr_top_block_impl.cc index b6d427ce27..b6d427ce27 100644 --- a/gnuradio-core/src/lib/runtime/gr_top_block_impl.cc +++ b/gnuradio-runtime/lib/gr_top_block_impl.cc diff --git a/gnuradio-core/src/lib/runtime/gr_top_block_impl.h b/gnuradio-runtime/lib/gr_top_block_impl.h index 3e4da332ae..7293531090 100644 --- a/gnuradio-core/src/lib/runtime/gr_top_block_impl.h +++ b/gnuradio-runtime/lib/gr_top_block_impl.h @@ -23,7 +23,7 @@ #ifndef INCLUDED_GR_TOP_BLOCK_IMPL_H #define INCLUDED_GR_TOP_BLOCK_IMPL_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_scheduler.h> #include <gruel/thread.h> @@ -35,7 +35,7 @@ * decoupling of changes from dependent classes. * */ -class GR_CORE_API gr_top_block_impl +class GR_RUNTIME_API gr_top_block_impl { public: gr_top_block_impl(gr_top_block *owner); diff --git a/gnuradio-core/src/lib/runtime/gr_tpb_detail.cc b/gnuradio-runtime/lib/gr_tpb_detail.cc index 46eb6bbe0d..46eb6bbe0d 100644 --- a/gnuradio-core/src/lib/runtime/gr_tpb_detail.cc +++ b/gnuradio-runtime/lib/gr_tpb_detail.cc diff --git a/gnuradio-core/src/lib/runtime/gr_tpb_thread_body.cc b/gnuradio-runtime/lib/gr_tpb_thread_body.cc index 679fd15124..679fd15124 100644 --- a/gnuradio-core/src/lib/runtime/gr_tpb_thread_body.cc +++ b/gnuradio-runtime/lib/gr_tpb_thread_body.cc diff --git a/gnuradio-core/src/lib/runtime/gr_tpb_thread_body.h b/gnuradio-runtime/lib/gr_tpb_thread_body.h index f920663a2a..6ecb022f69 100644 --- a/gnuradio-core/src/lib/runtime/gr_tpb_thread_body.h +++ b/gnuradio-runtime/lib/gr_tpb_thread_body.h @@ -21,7 +21,7 @@ #ifndef INCLUDED_GR_TPB_THREAD_BODY_H #define INCLUDED_GR_TPB_THREAD_BODY_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_block_executor.h> #include <gr_block.h> #include <gr_block_detail.h> @@ -34,7 +34,7 @@ * done or is interrupted. */ -class GR_CORE_API gr_tpb_thread_body { +class GR_RUNTIME_API gr_tpb_thread_body { gr_block_executor d_exec; public: diff --git a/gnuradio-core/src/lib/general/gr_vco.h b/gnuradio-runtime/lib/gr_vco.h index 3ceaf15dd4..3ceaf15dd4 100644 --- a/gnuradio-core/src/lib/general/gr_vco.h +++ b/gnuradio-runtime/lib/gr_vco.h diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc b/gnuradio-runtime/lib/gr_vmcircbuf.cc index 522d9515d0..522d9515d0 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc +++ b/gnuradio-runtime/lib/gr_vmcircbuf.cc diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf.h b/gnuradio-runtime/lib/gr_vmcircbuf.h index 45c6f969c1..e7f492a8bd 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf.h +++ b/gnuradio-runtime/lib/gr_vmcircbuf.h @@ -23,14 +23,14 @@ #ifndef _GR_VMCIRCBUF_H_ #define _GR_VMCIRCBUF_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <vector> /*! * \brief abstract class to implement doubly mapped virtual memory circular buffers * \ingroup internal */ -class GR_CORE_API gr_vmcircbuf { +class GR_RUNTIME_API gr_vmcircbuf { protected: int d_size; char *d_base; @@ -49,7 +49,7 @@ class GR_CORE_API gr_vmcircbuf { /*! * \brief abstract factory for creating circular buffers */ -class GR_CORE_API gr_vmcircbuf_factory { +class GR_RUNTIME_API gr_vmcircbuf_factory { protected: gr_vmcircbuf_factory () {}; virtual ~gr_vmcircbuf_factory (); @@ -77,7 +77,7 @@ class GR_CORE_API gr_vmcircbuf_factory { /* * \brief pulls together all implementations of gr_vmcircbuf */ -class GR_CORE_API gr_vmcircbuf_sysconfig { +class GR_RUNTIME_API gr_vmcircbuf_sysconfig { public: /* diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc b/gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.cc index 1b4d9700a5..1b4d9700a5 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.cc +++ b/gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.cc diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.h b/gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.h index 5ef31f5c65..a4bb5cbe92 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_createfilemapping.h +++ b/gnuradio-runtime/lib/gr_vmcircbuf_createfilemapping.h @@ -23,7 +23,7 @@ #ifndef _GR_VMCIRCBUF_CREATEFILEMAPPING_H_ #define _GR_VMCIRCBUF_CREATEFILEMAPPING_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_vmcircbuf.h> #ifdef HAVE_CREATEFILEMAPPING @@ -33,7 +33,7 @@ * \brief concrete class to implement circular buffers with mmap and shm_open * \ingroup internal */ -class GR_CORE_API gr_vmcircbuf_createfilemapping : public gr_vmcircbuf +class GR_RUNTIME_API gr_vmcircbuf_createfilemapping : public gr_vmcircbuf { public: // CREATORS @@ -50,7 +50,7 @@ class GR_CORE_API gr_vmcircbuf_createfilemapping : public gr_vmcircbuf /*! * \brief concrete factory for circular buffers built using mmap and shm_open */ -class GR_CORE_API gr_vmcircbuf_createfilemapping_factory : public gr_vmcircbuf_factory +class GR_RUNTIME_API gr_vmcircbuf_createfilemapping_factory : public gr_vmcircbuf_factory { private: static gr_vmcircbuf_factory *s_the_factory; diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.cc b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.cc index 3d170081d0..3d170081d0 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.cc +++ b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.cc diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.h b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.h index bcbbbac424..d35df80839 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_shm_open.h +++ b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_shm_open.h @@ -23,14 +23,14 @@ #ifndef _GR_VMCIRCBUF_MMAP_SHM_OPEN_H_ #define _GR_VMCIRCBUF_MMAP_SHM_OPEN_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_vmcircbuf.h> /*! * \brief concrete class to implement circular buffers with mmap and shm_open * \ingroup internal */ -class GR_CORE_API gr_vmcircbuf_mmap_shm_open : public gr_vmcircbuf { +class GR_RUNTIME_API gr_vmcircbuf_mmap_shm_open : public gr_vmcircbuf { public: // CREATORS @@ -42,7 +42,7 @@ class GR_CORE_API gr_vmcircbuf_mmap_shm_open : public gr_vmcircbuf { /*! * \brief concrete factory for circular buffers built using mmap and shm_open */ -class GR_CORE_API gr_vmcircbuf_mmap_shm_open_factory : public gr_vmcircbuf_factory { +class GR_RUNTIME_API gr_vmcircbuf_mmap_shm_open_factory : public gr_vmcircbuf_factory { private: static gr_vmcircbuf_factory *s_the_factory; diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.cc b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.cc index 35de64699e..35de64699e 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.cc +++ b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.cc diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.h b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.h index 28ff314908..cd865734f2 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_mmap_tmpfile.h +++ b/gnuradio-runtime/lib/gr_vmcircbuf_mmap_tmpfile.h @@ -23,14 +23,14 @@ #ifndef _GR_VMCIRCBUF_MMAP_TMPFILE_H_ #define _GR_VMCIRCBUF_MMAP_TMPFILE_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_vmcircbuf.h> /*! * \brief concrete class to implement circular buffers with mmap and shm_open * \ingroup internal */ -class GR_CORE_API gr_vmcircbuf_mmap_tmpfile : public gr_vmcircbuf { +class GR_RUNTIME_API gr_vmcircbuf_mmap_tmpfile : public gr_vmcircbuf { public: // CREATORS @@ -42,7 +42,7 @@ class GR_CORE_API gr_vmcircbuf_mmap_tmpfile : public gr_vmcircbuf { /*! * \brief concrete factory for circular buffers built using mmap and shm_open */ -class GR_CORE_API gr_vmcircbuf_mmap_tmpfile_factory : public gr_vmcircbuf_factory { +class GR_RUNTIME_API gr_vmcircbuf_mmap_tmpfile_factory : public gr_vmcircbuf_factory { private: static gr_vmcircbuf_factory *s_the_factory; diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc b/gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.cc index d9cf75e70f..d9cf75e70f 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.cc +++ b/gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.cc diff --git a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.h b/gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.h index 9f5c04f0d6..abebd93f1c 100644 --- a/gnuradio-core/src/lib/runtime/gr_vmcircbuf_sysv_shm.h +++ b/gnuradio-runtime/lib/gr_vmcircbuf_sysv_shm.h @@ -23,14 +23,14 @@ #ifndef _GR_VMCIRCBUF_SYSV_SHM_H_ #define _GR_VMCIRCBUF_SYSV_SHM_H_ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #include <gr_vmcircbuf.h> /*! * \brief concrete class to implement circular buffers with mmap and shm_open * \ingroup internal */ -class GR_CORE_API gr_vmcircbuf_sysv_shm : public gr_vmcircbuf { +class GR_RUNTIME_API gr_vmcircbuf_sysv_shm : public gr_vmcircbuf { public: // CREATORS @@ -42,7 +42,7 @@ class GR_CORE_API gr_vmcircbuf_sysv_shm : public gr_vmcircbuf { /*! * \brief concrete factory for circular buffers built using mmap and shm_open */ -class GR_CORE_API gr_vmcircbuf_sysv_shm_factory : public gr_vmcircbuf_factory { +class GR_RUNTIME_API gr_vmcircbuf_sysv_shm_factory : public gr_vmcircbuf_factory { private: static gr_vmcircbuf_factory *s_the_factory; diff --git a/gnuradio-core/src/lib/general/gri_debugger_hook.cc b/gnuradio-runtime/lib/gri_debugger_hook.cc index d9270c435f..d9270c435f 100644 --- a/gnuradio-core/src/lib/general/gri_debugger_hook.cc +++ b/gnuradio-runtime/lib/gri_debugger_hook.cc diff --git a/gnuradio-core/src/lib/general/gri_debugger_hook.h b/gnuradio-runtime/lib/gri_debugger_hook.h index c871c7bf67..6d31ed1b2c 100644 --- a/gnuradio-core/src/lib/general/gri_debugger_hook.h +++ b/gnuradio-runtime/lib/gri_debugger_hook.h @@ -23,8 +23,8 @@ #ifndef INCLUDED_GRI_DEBUGGER_HOOK_H #define INCLUDED_GRI_DEBUGGER_HOOK_H -#include <gr_core_api.h> +#include <gr_runtime_api.h> -GR_CORE_API void gri_debugger_hook (); +GR_RUNTIME_API void gri_debugger_hook (); #endif /* INCLUDED_GRI_DEBUGGER_HOOK_H */
\ No newline at end of file diff --git a/gnuradio-core/src/lib/runtime/ice_application_base.cc b/gnuradio-runtime/lib/ice_application_base.cc index 88db6056c1..88db6056c1 100644 --- a/gnuradio-core/src/lib/runtime/ice_application_base.cc +++ b/gnuradio-runtime/lib/ice_application_base.cc diff --git a/gnuradio-core/src/lib/general/malloc16.c b/gnuradio-runtime/lib/malloc16.c index 2cc6135e77..2cc6135e77 100644 --- a/gnuradio-core/src/lib/general/malloc16.c +++ b/gnuradio-runtime/lib/malloc16.c diff --git a/gnuradio-core/src/lib/general/malloc16.h b/gnuradio-runtime/lib/malloc16.h index eaa32c6251..90d1eca77a 100644 --- a/gnuradio-core/src/lib/general/malloc16.h +++ b/gnuradio-runtime/lib/malloc16.h @@ -20,7 +20,7 @@ * Boston, MA 02110-1301, USA. */ -#include <gr_core_api.h> +#include <gr_runtime_api.h> #ifdef __cplusplus extern "C" { @@ -28,9 +28,9 @@ extern "C" { #include <stdlib.h> -GR_CORE_API void *malloc16Align(int size); -GR_CORE_API void *calloc16Align(size_t nmemb,size_t size); -GR_CORE_API void free16Align(void *p); +GR_RUNTIME_API void *malloc16Align(int size); +GR_RUNTIME_API void *calloc16Align(size_t nmemb,size_t size); +GR_RUNTIME_API void free16Align(void *p); #ifdef __cplusplus } diff --git a/gnuradio-core/src/lib/missing/posix_memalign.cc b/gnuradio-runtime/lib/posix_memalign.cc index aaeff78042..aaeff78042 100644 --- a/gnuradio-core/src/lib/missing/posix_memalign.cc +++ b/gnuradio-runtime/lib/posix_memalign.cc diff --git a/gnuradio-core/src/lib/missing/posix_memalign.h b/gnuradio-runtime/lib/posix_memalign.h index ea79ced2ef..ea79ced2ef 100644 --- a/gnuradio-core/src/lib/missing/posix_memalign.h +++ b/gnuradio-runtime/lib/posix_memalign.h diff --git a/gnuradio-core/src/lib/runtime/qa_gr_buffer.cc b/gnuradio-runtime/lib/qa_gr_buffer.cc index c74baf398e..c74baf398e 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_buffer.cc +++ b/gnuradio-runtime/lib/qa_gr_buffer.cc diff --git a/gnuradio-core/src/lib/runtime/qa_gr_buffer.h b/gnuradio-runtime/lib/qa_gr_buffer.h index 2937c24b68..2937c24b68 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_buffer.h +++ b/gnuradio-runtime/lib/qa_gr_buffer.h diff --git a/gnuradio-core/src/lib/general/qa_gr_circular_file.cc b/gnuradio-runtime/lib/qa_gr_circular_file.cc index 243e44784b..243e44784b 100644 --- a/gnuradio-core/src/lib/general/qa_gr_circular_file.cc +++ b/gnuradio-runtime/lib/qa_gr_circular_file.cc diff --git a/gnuradio-core/src/lib/general/qa_gr_circular_file.h b/gnuradio-runtime/lib/qa_gr_circular_file.h index df35ab077b..df35ab077b 100644 --- a/gnuradio-core/src/lib/general/qa_gr_circular_file.h +++ b/gnuradio-runtime/lib/qa_gr_circular_file.h diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt.cc b/gnuradio-runtime/lib/qa_gr_fxpt.cc index 7eac0d8964..7eac0d8964 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt.cc +++ b/gnuradio-runtime/lib/qa_gr_fxpt.cc diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt.h b/gnuradio-runtime/lib/qa_gr_fxpt.h index 72211563e7..72211563e7 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt.h +++ b/gnuradio-runtime/lib/qa_gr_fxpt.h diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt_nco.cc b/gnuradio-runtime/lib/qa_gr_fxpt_nco.cc index 6f208eac80..6f208eac80 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt_nco.cc +++ b/gnuradio-runtime/lib/qa_gr_fxpt_nco.cc diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt_nco.h b/gnuradio-runtime/lib/qa_gr_fxpt_nco.h index 8998922bbb..8998922bbb 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt_nco.h +++ b/gnuradio-runtime/lib/qa_gr_fxpt_nco.h diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt_vco.cc b/gnuradio-runtime/lib/qa_gr_fxpt_vco.cc index 5b6993a30c..5b6993a30c 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt_vco.cc +++ b/gnuradio-runtime/lib/qa_gr_fxpt_vco.cc diff --git a/gnuradio-core/src/lib/general/qa_gr_fxpt_vco.h b/gnuradio-runtime/lib/qa_gr_fxpt_vco.h index fab8022e36..fab8022e36 100644 --- a/gnuradio-core/src/lib/general/qa_gr_fxpt_vco.h +++ b/gnuradio-runtime/lib/qa_gr_fxpt_vco.h diff --git a/gnuradio-core/src/lib/runtime/qa_gr_io_signature.cc b/gnuradio-runtime/lib/qa_gr_io_signature.cc index c1737ffb8e..c1737ffb8e 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_io_signature.cc +++ b/gnuradio-runtime/lib/qa_gr_io_signature.cc diff --git a/gnuradio-core/src/lib/runtime/qa_gr_io_signature.h b/gnuradio-runtime/lib/qa_gr_io_signature.h index 9cd6bb5247..9cd6bb5247 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_io_signature.h +++ b/gnuradio-runtime/lib/qa_gr_io_signature.h diff --git a/gnuradio-core/src/lib/runtime/qa_gr_logger.cc b/gnuradio-runtime/lib/qa_gr_logger.cc index a8e4a1d766..a8e4a1d766 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_logger.cc +++ b/gnuradio-runtime/lib/qa_gr_logger.cc diff --git a/gnuradio-core/src/lib/runtime/qa_gr_logger.h b/gnuradio-runtime/lib/qa_gr_logger.h index b0d3711523..b0d3711523 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_logger.h +++ b/gnuradio-runtime/lib/qa_gr_logger.h diff --git a/gnuradio-core/src/lib/general/qa_gr_math.cc b/gnuradio-runtime/lib/qa_gr_math.cc index 74d51b536e..74d51b536e 100644 --- a/gnuradio-core/src/lib/general/qa_gr_math.cc +++ b/gnuradio-runtime/lib/qa_gr_math.cc diff --git a/gnuradio-core/src/lib/general/qa_gr_math.h b/gnuradio-runtime/lib/qa_gr_math.h index 86858c03d5..86858c03d5 100644 --- a/gnuradio-core/src/lib/general/qa_gr_math.h +++ b/gnuradio-runtime/lib/qa_gr_math.h diff --git a/gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.cc b/gnuradio-runtime/lib/qa_gr_vmcircbuf.cc index e3b36d8829..e3b36d8829 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.cc +++ b/gnuradio-runtime/lib/qa_gr_vmcircbuf.cc diff --git a/gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.h b/gnuradio-runtime/lib/qa_gr_vmcircbuf.h index 3576660d5a..3576660d5a 100644 --- a/gnuradio-core/src/lib/runtime/qa_gr_vmcircbuf.h +++ b/gnuradio-runtime/lib/qa_gr_vmcircbuf.h diff --git a/gnuradio-core/src/lib/runtime/qa_runtime.cc b/gnuradio-runtime/lib/qa_runtime.cc index f02fbd7d66..b15051c2ad 100644 --- a/gnuradio-core/src/lib/runtime/qa_runtime.cc +++ b/gnuradio-runtime/lib/qa_runtime.cc @@ -30,28 +30,32 @@ #endif #include <qa_runtime.h> -#include <qa_gr_vmcircbuf.h> +#include <qa_gr_buffer.h> +#include <qa_gr_circular_file.h> +#include <qa_gr_fxpt.h> +#include <qa_gr_fxpt_nco.h> +#include <qa_gr_fxpt_vco.h> #include <qa_gr_io_signature.h> #include <qa_gr_logger.h> -#include <qa_gr_buffer.h> -#include <qa_set_msg_handler.h> +#include <qa_gr_math.h> +#include <qa_gr_vmcircbuf.h> +#include <qa_sincos.h> CppUnit::TestSuite * qa_runtime::suite () { CppUnit::TestSuite *s = new CppUnit::TestSuite ("runtime"); - s->addTest (qa_gr_vmcircbuf::suite ()); + s->addTest (qa_gr_buffer::suite ()); + s->addTest (qa_gr_circular_file::suite ()); + s->addTest (qa_gr_fxpt::suite ()); + s->addTest (qa_gr_fxpt_nco::suite ()); + s->addTest (qa_gr_fxpt_vco::suite ()); s->addTest (qa_gr_io_signature::suite ()); - s->addTest (qa_gr_block::suite ()); - s->addTest (qa_gr_flowgraph::suite ()); s->addTest (qa_gr_logger::suite ()); - s->addTest (qa_gr_top_block::suite ()); - s->addTest (qa_gr_hier_block2::suite ()); - s->addTest (qa_gr_hier_block2_derived::suite ()); - s->addTest (qa_gr_buffer::suite ()); - s->addTest (qa_block_tags::suite ()); - s->addTest (qa_set_msg_handler::suite ()); + s->addTest (qa_gr_math::suite ()); + s->addTest (qa_gr_vmcircbuf::suite ()); + s->addTest (qa_sincos::suite ()); return s; } diff --git a/gnuradio-core/src/lib/runtime/qa_runtime.h b/gnuradio-runtime/lib/qa_runtime.h index da71cbd0f4..da71cbd0f4 100644 --- a/gnuradio-core/src/lib/runtime/qa_runtime.h +++ b/gnuradio-runtime/lib/qa_runtime.h diff --git a/gnuradio-core/src/lib/general/qa_sincos.cc b/gnuradio-runtime/lib/qa_sincos.cc index 0066ff6b92..54be957546 100644 --- a/gnuradio-core/src/lib/general/qa_sincos.cc +++ b/gnuradio-runtime/lib/qa_sincos.cc @@ -30,46 +30,40 @@ #include <cppunit/TestAssert.h> #include <cmath> -namespace gr { - namespace analog { +void +qa_sincos::t1() +{ + static const unsigned int N = 1000; + double c_sin, c_cos; + double gr_sin, gr_cos; + + for(unsigned i = 0; i < N; i++) { + double x = i/100.0; + c_sin = sin(x); + c_cos = cos(x); + + gr_sincos(x, &gr_sin, &gr_cos); + + CPPUNIT_ASSERT_DOUBLES_EQUAL(c_sin, gr_sin, 0.0001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(c_cos, gr_cos, 0.0001); + } +} - void - qa_sincos::t1() - { - static const unsigned int N = 1000; - double c_sin, c_cos; - double gr_sin, gr_cos; - - for(unsigned i = 0; i < N; i++) { - double x = i/100.0; - c_sin = sin(x); - c_cos = cos(x); - - gr_sincos(x, &gr_sin, &gr_cos); - - CPPUNIT_ASSERT_DOUBLES_EQUAL(c_sin, gr_sin, 0.0001); - CPPUNIT_ASSERT_DOUBLES_EQUAL(c_cos, gr_cos, 0.0001); - } - } - - void - qa_sincos::t2() - { - static const unsigned int N = 1000; - float c_sin, c_cos; - float gr_sin, gr_cos; - - for(unsigned i = 0; i < N; i++) { - float x = i/100.0; - c_sin = sinf(x); - c_cos = cosf(x); - - gr_sincosf(x, &gr_sin, &gr_cos); - - CPPUNIT_ASSERT_DOUBLES_EQUAL(c_sin, gr_sin, 0.0001); - CPPUNIT_ASSERT_DOUBLES_EQUAL(c_cos, gr_cos, 0.0001); - } - } - - } /* namespace analog */ -} /* namespace gr */ +void +qa_sincos::t2() +{ + static const unsigned int N = 1000; + float c_sin, c_cos; + float gr_sin, gr_cos; + + for(unsigned i = 0; i < N; i++) { + float x = i/100.0; + c_sin = sinf(x); + c_cos = cosf(x); + + gr_sincosf(x, &gr_sin, &gr_cos); + + CPPUNIT_ASSERT_DOUBLES_EQUAL(c_sin, gr_sin, 0.0001); + CPPUNIT_ASSERT_DOUBLES_EQUAL(c_cos, gr_cos, 0.0001); + } +} diff --git a/gr-howto-write-a-block/lib/qa_howto.h b/gnuradio-runtime/lib/qa_sincos.h index 8eff956b61..c54b75f97f 100644 --- a/gr-howto-write-a-block/lib/qa_howto.h +++ b/gnuradio-runtime/lib/qa_sincos.h @@ -20,19 +20,22 @@ * Boston, MA 02110-1301, USA. */ -#ifndef _QA_HOWTO_H_ -#define _QA_HOWTO_H_ +#ifndef _QA_SINCOS_H_ +#define _QA_SINCOS_H_ -#include <gruel/attributes.h> -#include <cppunit/TestSuite.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestCase.h> -//! collect all the tests for the gr-filter directory - -class __GR_ATTR_EXPORT qa_howto +class qa_sincos : public CppUnit::TestCase { - public: - //! return suite of tests for all of gr-filter directory - static CppUnit::TestSuite *suite(); + CPPUNIT_TEST_SUITE(qa_sincos); + CPPUNIT_TEST(t1); + CPPUNIT_TEST(t2); + CPPUNIT_TEST_SUITE_END(); + +private: + void t1(); + void t2(); }; -#endif /* _QA_HOWTO_H_ */ +#endif /* _QA_SINCOS_H_ */ diff --git a/gnuradio-core/src/lib/general/qa_sincos.h b/gnuradio-runtime/lib/random.h index f18e879dd8..c643c3e422 100644 --- a/gnuradio-core/src/lib/general/qa_sincos.h +++ b/gnuradio-runtime/lib/random.h @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2012 Free Software Foundation, Inc. + * Copyright 2003, 2008 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -20,28 +20,19 @@ * Boston, MA 02110-1301, USA. */ -#ifndef _QA_ANALOG_SINCOS_H_ -#define _QA_ANALOG_SINCOS_H_ +#ifndef _RANDOM_H_ +#define _RANDOM_H_ -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCase.h> +// While rand(3) specifies RAND_MAX, random(3) says that the output +// ranges from 0 to 2^31-1 but does not specify a macro to denote +// this. We define RANDOM_MAX for cleanliness. We must omit the +// definition for systems that have made the same choice. (Note that +// random(3) is from 4.2BSD, and not specified by POSIX.) -namespace gr { - namespace analog { +#ifndef RANDOM_MAX +static const int RANDOM_MAX = 2147483647; // 2^31-1 +#endif /* RANDOM_MAX */ - class qa_sincos : public CppUnit::TestCase - { - CPPUNIT_TEST_SUITE(qa_sincos); - CPPUNIT_TEST(t1); - CPPUNIT_TEST(t2); - CPPUNIT_TEST_SUITE_END(); +#include <stdlib.h> - private: - void t1(); - void t2(); - }; - - } /* namespace analog */ -} /* namespace gr */ - -#endif /* _QA_ANALOG_SINCOS_H_ */ +#endif // _RANDOM_H_ diff --git a/gnuradio-core/src/lib/runtime/rpcmanager.cc b/gnuradio-runtime/lib/rpcmanager.cc index 4d164b63f3..4d164b63f3 100644 --- a/gnuradio-core/src/lib/runtime/rpcmanager.cc +++ b/gnuradio-runtime/lib/rpcmanager.cc diff --git a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc b/gnuradio-runtime/lib/rpcpmtconverters_ice.cc index 7c8b6041e9..7c8b6041e9 100644 --- a/gnuradio-core/src/lib/runtime/rpcpmtconverters_ice.cc +++ b/gnuradio-runtime/lib/rpcpmtconverters_ice.cc diff --git a/gnuradio-core/src/lib/runtime/rpcserver_aggregator.cc b/gnuradio-runtime/lib/rpcserver_aggregator.cc index d750d64905..d750d64905 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_aggregator.cc +++ b/gnuradio-runtime/lib/rpcserver_aggregator.cc diff --git a/gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.cc b/gnuradio-runtime/lib/rpcserver_booter_aggregator.cc index c4c1b03c15..c4c1b03c15 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_booter_aggregator.cc +++ b/gnuradio-runtime/lib/rpcserver_booter_aggregator.cc diff --git a/gnuradio-core/src/lib/runtime/rpcserver_booter_ice.cc b/gnuradio-runtime/lib/rpcserver_booter_ice.cc index 7cc8cc8938..7cc8cc8938 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_booter_ice.cc +++ b/gnuradio-runtime/lib/rpcserver_booter_ice.cc diff --git a/gnuradio-core/src/lib/runtime/rpcserver_ice.cc b/gnuradio-runtime/lib/rpcserver_ice.cc index 12229a0688..12229a0688 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_ice.cc +++ b/gnuradio-runtime/lib/rpcserver_ice.cc diff --git a/gnuradio-core/src/lib/runtime/rpcserver_selector.cc b/gnuradio-runtime/lib/rpcserver_selector.cc index 362d5f060a..362d5f060a 100644 --- a/gnuradio-core/src/lib/runtime/rpcserver_selector.cc +++ b/gnuradio-runtime/lib/rpcserver_selector.cc diff --git a/gnuradio-core/src/lib/general/gr_block_gateway.cc b/gnuradio-runtime/lib/runtime_block_gateway.cc index 79b42803af..11d16af41e 100644 --- a/gnuradio-core/src/lib/general/gr_block_gateway.cc +++ b/gnuradio-runtime/lib/runtime_block_gateway.cc @@ -19,7 +19,7 @@ * Boston, MA 02110-1301, USA. */ -#include <gr_block_gateway.h> +#include <runtime_block_gateway.h> #include <gr_io_signature.h> #include <iostream> #include <boost/bind.hpp> @@ -38,9 +38,9 @@ void copy_pointers(OutType &out, const InType &in){ /*********************************************************************** * The gr_block gateway implementation class **********************************************************************/ -class gr_block_gateway_impl : public gr_block_gateway{ +class runtime_block_gateway_impl : public runtime_block_gateway{ public: - gr_block_gateway_impl( + runtime_block_gateway_impl( gr_feval_ll *handler, const std::string &name, gr_io_signature_sptr in_sig, @@ -170,7 +170,7 @@ private: unsigned _decim, _interp; }; -boost::shared_ptr<gr_block_gateway> gr_make_block_gateway( +boost::shared_ptr<runtime_block_gateway> runtime_make_block_gateway( gr_feval_ll *handler, const std::string &name, gr_io_signature_sptr in_sig, @@ -178,7 +178,8 @@ boost::shared_ptr<gr_block_gateway> gr_make_block_gateway( const gr_block_gw_work_type work_type, const unsigned factor ){ - return boost::shared_ptr<gr_block_gateway>( - new gr_block_gateway_impl(handler, name, in_sig, out_sig, work_type, factor) + return boost::shared_ptr<runtime_block_gateway>( + new runtime_block_gateway_impl(handler, name, in_sig, out_sig, + work_type, factor) ); } diff --git a/gnuradio-core/src/lib/general/sine_table.h b/gnuradio-runtime/lib/sine_table.h index 69834943bc..69834943bc 100644 --- a/gnuradio-core/src/lib/general/sine_table.h +++ b/gnuradio-runtime/lib/sine_table.h diff --git a/gnuradio-core/src/tests/test_general.cc b/gnuradio-runtime/lib/test_runtime.cc index 32fac1b35a..783cbebc0b 100644 --- a/gnuradio-core/src/tests/test_general.cc +++ b/gnuradio-runtime/lib/test_runtime.cc @@ -20,20 +20,24 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> #include <gr_unittests.h> -#include <qa_general.h> +#include <qa_runtime.h> int main (int argc, char **argv) { CppUnit::TextTestRunner runner; - std::ofstream xmlfile(get_unittest_path("gnuradio_core_general.xml").c_str()); + std::ofstream xmlfile(get_unittest_path("gnuradio_core_runtime.xml").c_str()); CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile); - runner.addTest (qa_general::suite ()); + runner.addTest (qa_runtime::suite ()); runner.setOutputter(xmlout); bool was_successful = runner.run ("", false); diff --git a/gr-howto-write-a-block/apps/CMakeLists.txt b/gnuradio-runtime/python/CMakeLists.txt index 875b6b4ce9..74adec3f11 100644 --- a/gr-howto-write-a-block/apps/CMakeLists.txt +++ b/gnuradio-runtime/python/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2012 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -17,10 +17,7 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +######################################################################## include(GrPython) -GR_PYTHON_INSTALL( - PROGRAMS - howto_square.py - DESTINATION bin -) +add_subdirectory(gnuradio) diff --git a/gnuradio-core/src/python/build_utils.py b/gnuradio-runtime/python/build_utils.py index cf58a97637..cf58a97637 100644 --- a/gnuradio-core/src/python/build_utils.py +++ b/gnuradio-runtime/python/build_utils.py diff --git a/gnuradio-core/src/python/build_utils_codes.py b/gnuradio-runtime/python/build_utils_codes.py index 9ea96baae4..9ea96baae4 100644 --- a/gnuradio-core/src/python/build_utils_codes.py +++ b/gnuradio-runtime/python/build_utils_codes.py diff --git a/gnuradio-core/src/python/gnuradio/CMakeLists.txt b/gnuradio-runtime/python/gnuradio/CMakeLists.txt index 9b75f20f33..bd566edf14 100644 --- a/gnuradio-core/src/python/gnuradio/CMakeLists.txt +++ b/gnuradio-runtime/python/gnuradio/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. +# Copyright 2012 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -17,14 +17,14 @@ # the Free Software Foundation, Inc., 51 Franklin Street, # Boston, MA 02110-1301, USA. +######################################################################## include(GrPython) add_subdirectory(gr) add_subdirectory(gru) -add_subdirectory(gruimpl) if(ENABLE_GR_CTRLPORT) -add_subdirectory(ctrlport) + add_subdirectory(ctrlport) endif(ENABLE_GR_CTRLPORT) GR_PYTHON_INSTALL(FILES @@ -34,5 +34,5 @@ GR_PYTHON_INSTALL(FILES gr_unittest.py gr_xmlrunner.py DESTINATION ${GR_PYTHON_DIR}/gnuradio - COMPONENT "core_python" + COMPONENT "runtime_python" ) diff --git a/gnuradio-core/src/python/gnuradio/__init__.py b/gnuradio-runtime/python/gnuradio/__init__.py index d55dac79db..d55dac79db 100644 --- a/gnuradio-core/src/python/gnuradio/__init__.py +++ b/gnuradio-runtime/python/gnuradio/__init__.py diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/CMakeLists.txt b/gnuradio-runtime/python/gnuradio/ctrlport/CMakeLists.txt index 994e3a48cf..c68694785f 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/CMakeLists.txt +++ b/gnuradio-runtime/python/gnuradio/ctrlport/CMakeLists.txt @@ -21,15 +21,15 @@ include(GrPython) EXECUTE_PROCESS( - COMMAND ${ICE_SLICE2PY} -I${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime - --output-dir=${CMAKE_BINARY_DIR}/gnuradio-core/src/python - ${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime/gnuradio.ice + COMMAND ${ICE_SLICE2PY} -I${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib + --output-dir=${CMAKE_BINARY_DIR}/gnuradio-runtime/python + ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/gnuradio.ice ) EXECUTE_PROCESS( - COMMAND ${ICE_SLICE2PY} -I${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime - --output-dir=${CMAKE_BINARY_DIR}/gnuradio-core/src/python - ${CMAKE_SOURCE_DIR}/gnuradio-core/src/lib/runtime/frontend.ice + COMMAND ${ICE_SLICE2PY} -I${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib + --output-dir=${CMAKE_BINARY_DIR}/gnuradio-runtime/python + ${CMAKE_SOURCE_DIR}/gnuradio-runtime/lib/frontend.ice ) GR_PYTHON_INSTALL( @@ -45,8 +45,8 @@ GR_PYTHON_INSTALL( # information. GR_PYTHON_INSTALL( FILES - ${CMAKE_BINARY_DIR}/gnuradio-core/src/python/gnuradio_ice.py - ${CMAKE_BINARY_DIR}/gnuradio-core/src/python/frontend_ice.py + ${CMAKE_BINARY_DIR}/gnuradio-runtime/python/gnuradio_ice.py + ${CMAKE_BINARY_DIR}/gnuradio-runtime/python/frontend_ice.py DESTINATION ${GR_PYTHON_DIR} COMPONENT "core_python" ) @@ -95,18 +95,3 @@ GR_PYTHON_INSTALL( PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE COMPONENT "core_python" ) - -######################################################################## -# Handle the unit tests -######################################################################## -if(ENABLE_GR_CTRLPORT) - if(ENABLE_TESTING) - include(GrTest) - file(GLOB py_qa_test_files "qa_*.py") - foreach(py_qa_test_file ${py_qa_test_files}) - get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE) - set(GR_TEST_TARGET_DEPS gruel gnuradio-core) - GR_ADD_TEST(${py_qa_test_name} ${PYTHON_EXECUTABLE} ${py_qa_test_file}) - endforeach(py_qa_test_file) - endif(ENABLE_TESTING) -endif(ENABLE_GR_CTRLPORT) diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/GrDataPlotter.py b/gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py index 8597ca6497..8597ca6497 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/GrDataPlotter.py +++ b/gnuradio-runtime/python/gnuradio/ctrlport/GrDataPlotter.py diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/IceRadioClient.py b/gnuradio-runtime/python/gnuradio/ctrlport/IceRadioClient.py index 0964b5a4ba..0964b5a4ba 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/IceRadioClient.py +++ b/gnuradio-runtime/python/gnuradio/ctrlport/IceRadioClient.py diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/__init__.py b/gnuradio-runtime/python/gnuradio/ctrlport/__init__.py index 031c3b424e..031c3b424e 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/__init__.py +++ b/gnuradio-runtime/python/gnuradio/ctrlport/__init__.py diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-curses b/gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-curses index 1bee3b1a1e..1bee3b1a1e 100755 --- a/gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-curses +++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-curses diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-monitor b/gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor index e71cd92ab7..e71cd92ab7 100755 --- a/gnuradio-core/src/python/gnuradio/ctrlport/gr-ctrlport-monitor +++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-ctrlport-monitor diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitor b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitor index f2c01691a1..f2c01691a1 100755 --- a/gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitor +++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitor diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitorx b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx index a65b0406e4..a65b0406e4 100755 --- a/gnuradio-core/src/python/gnuradio/ctrlport/gr-perf-monitorx +++ b/gnuradio-runtime/python/gnuradio/ctrlport/gr-perf-monitorx diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/icon.png b/gnuradio-runtime/python/gnuradio/ctrlport/icon.png Binary files differindex 4beb204428..4beb204428 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/icon.png +++ b/gnuradio-runtime/python/gnuradio/ctrlport/icon.png diff --git a/gnuradio-core/src/python/gnuradio/ctrlport/monitor.py b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py index 53a571a698..53a571a698 100644 --- a/gnuradio-core/src/python/gnuradio/ctrlport/monitor.py +++ b/gnuradio-runtime/python/gnuradio/ctrlport/monitor.py diff --git a/gnuradio-core/src/python/gnuradio/eng_notation.py b/gnuradio-runtime/python/gnuradio/eng_notation.py index d23f9005f0..d23f9005f0 100644 --- a/gnuradio-core/src/python/gnuradio/eng_notation.py +++ b/gnuradio-runtime/python/gnuradio/eng_notation.py diff --git a/gnuradio-core/src/python/gnuradio/eng_option.py b/gnuradio-runtime/python/gnuradio/eng_option.py index 5d8660f0f2..5d8660f0f2 100644 --- a/gnuradio-core/src/python/gnuradio/eng_option.py +++ b/gnuradio-runtime/python/gnuradio/eng_option.py diff --git a/gnuradio-core/src/python/gnuradio/gr/CMakeLists.txt b/gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt index da22a5f987..cd57704930 100644 --- a/gnuradio-core/src/python/gnuradio/gr/CMakeLists.txt +++ b/gnuradio-runtime/python/gnuradio/gr/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2010-2012 Free Software Foundation, Inc. +# Copyright 2012 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -22,18 +22,15 @@ include(GrPython) GR_PYTHON_INSTALL(FILES __init__.py - exceptions.py gateway.py gr_threading.py gr_threading_23.py gr_threading_24.py hier_block2.py - prefs.py tag_utils.py top_block.py - pubsub.py DESTINATION ${GR_PYTHON_DIR}/gnuradio/gr - COMPONENT "core_python" + COMPONENT "runtime_python" ) ######################################################################## diff --git a/gnuradio-core/src/python/gnuradio/gr/__init__.py b/gnuradio-runtime/python/gnuradio/gr/__init__.py index c468437db7..c1d6c87629 100644 --- a/gnuradio-core/src/python/gnuradio/gr/__init__.py +++ b/gnuradio-runtime/python/gnuradio/gr/__init__.py @@ -28,12 +28,12 @@ Core contents. # This is the main GNU Radio python module. # We pull the swig output and the other modules into the gnuradio.gr namespace -from gnuradio_core import * +from runtime_swig import * from exceptions import * -from hier_block2 import * from top_block import * +from hier_block2 import * +from tag_utils import * from gateway import basic_block, sync_block, decim_block, interp_block -from tag_utils import tag_to_python, tag_to_pmt # Force the preference database to be initialized prefs = gr_prefs.singleton diff --git a/gnuradio-core/src/python/gnuradio/gr/exceptions.py b/gnuradio-runtime/python/gnuradio/gr/exceptions.py index dba04750bc..dba04750bc 100644 --- a/gnuradio-core/src/python/gnuradio/gr/exceptions.py +++ b/gnuradio-runtime/python/gnuradio/gr/exceptions.py diff --git a/gnuradio-core/src/python/gnuradio/gr/gateway.py b/gnuradio-runtime/python/gnuradio/gr/gateway.py index c25755bb57..b595959494 100644 --- a/gnuradio-core/src/python/gnuradio/gr/gateway.py +++ b/gnuradio-runtime/python/gnuradio/gr/gateway.py @@ -19,10 +19,10 @@ # Boston, MA 02110-1301, USA. # -import gnuradio_core as gr_core -from gnuradio_core import io_signature, io_signaturev -from gnuradio_core import gr_block_gw_message_type -from gnuradio_core import block_gateway +import runtime_swig as gr +from runtime_swig import io_signature, io_signaturev +from runtime_swig import gr_block_gw_message_type +from runtime_swig import block_gateway import numpy ######################################################################## @@ -44,7 +44,7 @@ def pointer_to_ndarray(addr, dtype, nitems): ######################################################################## # Handler that does callbacks from C++ ######################################################################## -class gateway_handler(gr_core.feval_ll): +class gateway_handler(gr.feval_ll): #dont put a constructor, it wont work @@ -62,7 +62,7 @@ class gateway_handler(gr_core.feval_ll): ######################################################################## # Handler that does callbacks from C++ ######################################################################## -class msg_handler(gr_core.feval_p): +class msg_handler(gr.feval_p): #dont put a constructor, it wont work @@ -116,7 +116,7 @@ class gateway_block(object): prefix = 'gr_block__' for attr in [x for x in dir(self.__gateway) if x.startswith(prefix)]: setattr(self, attr.replace(prefix, ''), getattr(self.__gateway, attr)) - self.pop_msg_queue = lambda: gr_core.gr_block_gw_pop_msg_queue_safe(self.__gateway) + self.pop_msg_queue = lambda: gr.gr_block_gw_pop_msg_queue_safe(self.__gateway) def to_basic_block(self): """ @@ -208,7 +208,7 @@ class basic_block(gateway_block): name=name, in_sig=in_sig, out_sig=out_sig, - work_type=gr_core.GR_BLOCK_GW_WORK_GENERAL, + work_type=gr.GR_BLOCK_GW_WORK_GENERAL, factor=1, #not relevant factor ) @@ -218,7 +218,7 @@ class sync_block(gateway_block): name=name, in_sig=in_sig, out_sig=out_sig, - work_type=gr_core.GR_BLOCK_GW_WORK_SYNC, + work_type=gr.GR_BLOCK_GW_WORK_SYNC, factor=1, ) @@ -228,7 +228,7 @@ class decim_block(gateway_block): name=name, in_sig=in_sig, out_sig=out_sig, - work_type=gr_core.GR_BLOCK_GW_WORK_DECIM, + work_type=gr.GR_BLOCK_GW_WORK_DECIM, factor=decim, ) @@ -238,6 +238,6 @@ class interp_block(gateway_block): name=name, in_sig=in_sig, out_sig=out_sig, - work_type=gr_core.GR_BLOCK_GW_WORK_INTERP, + work_type=gr.GR_BLOCK_GW_WORK_INTERP, factor=interp, ) diff --git a/gnuradio-core/src/python/gnuradio/gr/gr_threading.py b/gnuradio-runtime/python/gnuradio/gr/gr_threading.py index 5d6f0fdaf9..5d6f0fdaf9 100644 --- a/gnuradio-core/src/python/gnuradio/gr/gr_threading.py +++ b/gnuradio-runtime/python/gnuradio/gr/gr_threading.py diff --git a/gnuradio-core/src/python/gnuradio/gr/gr_threading_23.py b/gnuradio-runtime/python/gnuradio/gr/gr_threading_23.py index dee8034c1c..dee8034c1c 100644 --- a/gnuradio-core/src/python/gnuradio/gr/gr_threading_23.py +++ b/gnuradio-runtime/python/gnuradio/gr/gr_threading_23.py diff --git a/gnuradio-core/src/python/gnuradio/gr/gr_threading_24.py b/gnuradio-runtime/python/gnuradio/gr/gr_threading_24.py index 8539bfc047..8539bfc047 100644 --- a/gnuradio-core/src/python/gnuradio/gr/gr_threading_24.py +++ b/gnuradio-runtime/python/gnuradio/gr/gr_threading_24.py diff --git a/gnuradio-core/src/python/gnuradio/gr/hier_block2.py b/gnuradio-runtime/python/gnuradio/gr/hier_block2.py index ff39b3e709..31e4065a25 100644 --- a/gnuradio-core/src/python/gnuradio/gr/hier_block2.py +++ b/gnuradio-runtime/python/gnuradio/gr/hier_block2.py @@ -19,7 +19,7 @@ # Boston, MA 02110-1301, USA. # -from gnuradio_core import hier_block2_swig +from runtime_swig import hier_block2_swig try: import pmt diff --git a/gnuradio-core/src/python/gnuradio/gr/prefs.py b/gnuradio-runtime/python/gnuradio/gr/prefs.py index 25fa8cd6ae..25fa8cd6ae 100644 --- a/gnuradio-core/src/python/gnuradio/gr/prefs.py +++ b/gnuradio-runtime/python/gnuradio/gr/prefs.py diff --git a/gnuradio-core/src/python/gnuradio/gr/pubsub.py b/gnuradio-runtime/python/gnuradio/gr/pubsub.py index 90568418fc..90568418fc 100644 --- a/gnuradio-core/src/python/gnuradio/gr/pubsub.py +++ b/gnuradio-runtime/python/gnuradio/gr/pubsub.py diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_feval.py b/gnuradio-runtime/python/gnuradio/gr/qa_feval.py index 9018e12f36..9018e12f36 100755 --- a/gnuradio-core/src/python/gnuradio/gr/qa_feval.py +++ b/gnuradio-runtime/python/gnuradio/gr/qa_feval.py diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py b/gnuradio-runtime/python/gnuradio/gr/qa_kludged_imports.py index f80188c9fc..f80188c9fc 100755 --- a/gnuradio-core/src/python/gnuradio/gr/qa_kludged_imports.py +++ b/gnuradio-runtime/python/gnuradio/gr/qa_kludged_imports.py diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_tag_utils.py b/gnuradio-runtime/python/gnuradio/gr/qa_tag_utils.py index de1b5aa002..de1b5aa002 100755 --- a/gnuradio-core/src/python/gnuradio/gr/qa_tag_utils.py +++ b/gnuradio-runtime/python/gnuradio/gr/qa_tag_utils.py diff --git a/gnuradio-core/src/python/gnuradio/gr/tag_utils.py b/gnuradio-runtime/python/gnuradio/gr/tag_utils.py index 923718fc98..1c9594d6d0 100644 --- a/gnuradio-core/src/python/gnuradio/gr/tag_utils.py +++ b/gnuradio-runtime/python/gnuradio/gr/tag_utils.py @@ -23,7 +23,10 @@ try: import pmt except: from gruel import pmt -from gnuradio_core import gr_tag_t +try: + from gnuradio import gr +except ImportError: + from runtime_swig import gr_tag_t class PythonTag(object): " Python container for tags " diff --git a/gnuradio-core/src/python/gnuradio/gr/top_block.py b/gnuradio-runtime/python/gnuradio/gr/top_block.py index 947e46bc55..944e95e5ae 100644 --- a/gnuradio-core/src/python/gnuradio/gr/top_block.py +++ b/gnuradio-runtime/python/gnuradio/gr/top_block.py @@ -19,13 +19,12 @@ # Boston, MA 02110-1301, USA. # -from gnuradio_core import top_block_swig, \ +from runtime_swig import top_block_swig, \ top_block_wait_unlocked, top_block_run_unlocked #import gnuradio.gr.gr_threading as _threading import gr_threading as _threading - # # There is no problem that can't be solved with an additional # level of indirection... diff --git a/gnuradio-core/src/python/gnuradio/gr_unittest.py b/gnuradio-runtime/python/gnuradio/gr_unittest.py index c729566e88..c729566e88 100755 --- a/gnuradio-core/src/python/gnuradio/gr_unittest.py +++ b/gnuradio-runtime/python/gnuradio/gr_unittest.py diff --git a/gnuradio-core/src/python/gnuradio/gr_xmlrunner.py b/gnuradio-runtime/python/gnuradio/gr_xmlrunner.py index 31298197ff..31298197ff 100644 --- a/gnuradio-core/src/python/gnuradio/gr_xmlrunner.py +++ b/gnuradio-runtime/python/gnuradio/gr_xmlrunner.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/CMakeLists.txt b/gnuradio-runtime/python/gnuradio/gru/CMakeLists.txt index d77da24073..c147981472 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/CMakeLists.txt +++ b/gnuradio-runtime/python/gnuradio/gru/CMakeLists.txt @@ -31,6 +31,6 @@ GR_PYTHON_INSTALL(FILES seq_with_cursor.py socket_stuff.py daemon.py - DESTINATION ${GR_PYTHON_DIR}/gnuradio/gruimpl + DESTINATION ${GR_PYTHON_DIR}/gnuradio/gru COMPONENT "core_python" ) diff --git a/gnuradio-runtime/python/gnuradio/gru/__init__.py b/gnuradio-runtime/python/gnuradio/gru/__init__.py new file mode 100644 index 0000000000..4e41d03a74 --- /dev/null +++ b/gnuradio-runtime/python/gnuradio/gru/__init__.py @@ -0,0 +1,13 @@ +# make this a package + +# Import gru stuff +from daemon import * +from freqz import * +from gnuplot_freqz import * +from hexint import * +from listmisc import * +from mathmisc import * +from msgq_runner import * +from os_read_exactly import * +from seq_with_cursor import * +from socket_stuff import * diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/daemon.py b/gnuradio-runtime/python/gnuradio/gru/daemon.py index e04702152d..e04702152d 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/daemon.py +++ b/gnuradio-runtime/python/gnuradio/gru/daemon.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/freqz.py b/gnuradio-runtime/python/gnuradio/gru/freqz.py index 60dca64a58..60dca64a58 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/freqz.py +++ b/gnuradio-runtime/python/gnuradio/gru/freqz.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/gnuplot_freqz.py b/gnuradio-runtime/python/gnuradio/gru/gnuplot_freqz.py index 18dcbec3eb..dd483e4277 100755 --- a/gnuradio-core/src/python/gnuradio/gruimpl/gnuplot_freqz.py +++ b/gnuradio-runtime/python/gnuradio/gru/gnuplot_freqz.py @@ -28,7 +28,7 @@ import math import numpy from gnuradio import gr -from gnuradio.gruimpl.freqz import freqz +from gnuradio.gru.freqz import freqz def gnuplot_freqz (hw, Fs=None, logfreq=False): diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py b/gnuradio-runtime/python/gnuradio/gru/hexint.py index 0fb5ecde04..0fb5ecde04 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/hexint.py +++ b/gnuradio-runtime/python/gnuradio/gru/hexint.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/listmisc.py b/gnuradio-runtime/python/gnuradio/gru/listmisc.py index 9e70eb863c..9e70eb863c 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/listmisc.py +++ b/gnuradio-runtime/python/gnuradio/gru/listmisc.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/mathmisc.py b/gnuradio-runtime/python/gnuradio/gru/mathmisc.py index 7e6f23a346..7e6f23a346 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/mathmisc.py +++ b/gnuradio-runtime/python/gnuradio/gru/mathmisc.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/msgq_runner.py b/gnuradio-runtime/python/gnuradio/gru/msgq_runner.py index 767a74a717..767a74a717 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/msgq_runner.py +++ b/gnuradio-runtime/python/gnuradio/gru/msgq_runner.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/os_read_exactly.py b/gnuradio-runtime/python/gnuradio/gru/os_read_exactly.py index 40b053770e..40b053770e 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/os_read_exactly.py +++ b/gnuradio-runtime/python/gnuradio/gru/os_read_exactly.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/seq_with_cursor.py b/gnuradio-runtime/python/gnuradio/gru/seq_with_cursor.py index def3299b69..def3299b69 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/seq_with_cursor.py +++ b/gnuradio-runtime/python/gnuradio/gru/seq_with_cursor.py diff --git a/gnuradio-core/src/python/gnuradio/gruimpl/socket_stuff.py b/gnuradio-runtime/python/gnuradio/gru/socket_stuff.py index 489b6ab255..489b6ab255 100644 --- a/gnuradio-core/src/python/gnuradio/gruimpl/socket_stuff.py +++ b/gnuradio-runtime/python/gnuradio/gru/socket_stuff.py diff --git a/gnuradio-runtime/swig/CMakeLists.txt b/gnuradio-runtime/swig/CMakeLists.txt new file mode 100644 index 0000000000..cccb9a5741 --- /dev/null +++ b/gnuradio-runtime/swig/CMakeLists.txt @@ -0,0 +1,101 @@ +# Copyright 2013 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. + +######################################################################## +# Setup swig generation +######################################################################## +include(GrPython) +include(GrSwig) + +set(GR_SWIG_INCLUDE_DIRS + ${GRUEL_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} + ${CMAKE_CURRENT_BINARY_DIR} + ${LOG4CPP_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} +) + +link_directories(${Boost_LIBRARY_DIRS}) + +set(GR_SWIG_LIBRARIES + gnuradio-runtime + ${LOG4CPP_LIBRARIES} +) + +# Only use if log4cpp is installed +# Define ENABLE_GR_LOG for the .i file to ignore it. +if(ENABLE_GR_LOG) + SET(GR_SWIG_FLAGS "-DENABLE_GR_LOG") +endif(ENABLE_GR_LOG) + +if(ENABLE_GR_CTRLPORT) + list(APPEND GR_SWIG_FLAGS -DGR_CTRLPORT) + list(APPEND GR_SWIG_LIBRARIES ${ICE_LIBRARIES}) + list(APPEND GR_SWIG_INCLUDE_DIRS ${ICE_INCLUDE_DIR}) +endif(ENABLE_GR_CTRLPORT) + +set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/runtime_swig_doc.i) +set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../lib) +set(GR_RUNTIME_SWIG_DOC_FILE ${GR_SWIG_DOC_FILE}) + +GR_SWIG_MAKE(runtime_swig runtime_swig.i) + +GR_SWIG_INSTALL( + TARGETS runtime_swig + DESTINATION ${GR_PYTHON_DIR}/gnuradio/gr + COMPONENT "runtime_python" +) + +install( + FILES + gnuradio_swig_bug_workaround.h + complex_vec_test.i + gnuradio.i + gr_basic_block.i + gr_block_detail.i + gr_block.i + gr_buffer.i + gr_constants.i + gr_dispatcher.i + gr_error_handler.i + gr_feval.i + gr_hier_block2.i + gr_io_signature.i + gr_logger.i + gr_message.i + gr_msg_handler.i + gr_msg_queue.i + gr_prefs.i + gr_realtime.i + gr_shared_ptr.i + gr_single_threaded_scheduler.i + gr_swig_block_magic.i + gr_sync_block.i + gr_sync_decimator.i + gr_sync_interpolator.i + gr_tagged_stream_block.i + gr_tags.i + gr_top_block.i + runtime_block_gateway.i + runtime_swig.i + ${CMAKE_CURRENT_BINARY_DIR}/runtime_swig_doc.i + DESTINATION ${GR_INCLUDE_DIR}/gnuradio/swig + COMPONENT "runtime_swig" +) diff --git a/gnuradio-core/src/lib/general/complex_vec_test.i b/gnuradio-runtime/swig/complex_vec_test.i index 4b95633be7..4b95633be7 100644 --- a/gnuradio-core/src/lib/general/complex_vec_test.i +++ b/gnuradio-runtime/swig/complex_vec_test.i diff --git a/gnuradio-core/src/lib/swig/gen-swig-bug-fix b/gnuradio-runtime/swig/gen-swig-bug-fix index 5e9f82e7d7..5e9f82e7d7 100755 --- a/gnuradio-core/src/lib/swig/gen-swig-bug-fix +++ b/gnuradio-runtime/swig/gen-swig-bug-fix diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-runtime/swig/gnuradio.i index 03b7817e22..d85082aae2 100644 --- a/gnuradio-core/src/lib/swig/gnuradio.i +++ b/gnuradio-runtime/swig/gnuradio.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2003,2004,2009 Free Software Foundation, Inc. + * Copyright 2003,2004,2009,2012 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -38,7 +38,6 @@ #include <gr_types.h> #include <stddef.h> // size_t #include <complex> -#include <string.h> %} %feature("autodoc","1"); @@ -50,7 +49,6 @@ %include <std_vector.i> %include <stl.i> %include <std_except.i> -%include <std_string.i> typedef std::complex<float> gr_complex; typedef std::complex<double> gr_complexd; @@ -67,8 +65,7 @@ namespace std { %template() vector<int>; %template() vector<float>; %template() vector<double>; - %template() vector<std::string>; - %template() vector<gr_tag_t>; + // %template() std::complex<float>; %template() vector< std::complex<float> >; %template() vector< std::vector< unsigned char > >; @@ -83,8 +80,8 @@ namespace std { //////////////////////////////////////////////////////////////////////// #ifndef SW_RUNTIME -// import runtime.i for all but sw_runtime, since it needs to %include -%import <runtime.i> +// import runtime_swig.i for all but sw_runtime, since it needs to %include +%import <runtime_swig.i> #endif //////////////////////////////////////////////////////////////////////// diff --git a/gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h b/gnuradio-runtime/swig/gnuradio_swig_bug_workaround.h index bbbabaf07b..1994f06609 100644 --- a/gnuradio-core/src/lib/swig/gnuradio_swig_bug_workaround.h +++ b/gnuradio-runtime/swig/gnuradio_swig_bug_workaround.h @@ -40,7 +40,6 @@ class gr_msg_queue; class gr_sync_block; class gr_sync_decimator; class gr_sync_interpolator; -class gr_tagged_stream_block; class gr_top_block; #endif /* INCLUDED_GNURADIO_SWIG_BUG_WORKAROUND_H */ diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.i b/gnuradio-runtime/swig/gr_basic_block.i index 62f16462d6..62f16462d6 100644 --- a/gnuradio-core/src/lib/runtime/gr_basic_block.i +++ b/gnuradio-runtime/swig/gr_basic_block.i diff --git a/gnuradio-core/src/lib/runtime/gr_block.i b/gnuradio-runtime/swig/gr_block.i index a80f64d027..a80f64d027 100644 --- a/gnuradio-core/src/lib/runtime/gr_block.i +++ b/gnuradio-runtime/swig/gr_block.i diff --git a/gnuradio-core/src/lib/runtime/gr_block_detail.i b/gnuradio-runtime/swig/gr_block_detail.i index 74ff463604..74ff463604 100644 --- a/gnuradio-core/src/lib/runtime/gr_block_detail.i +++ b/gnuradio-runtime/swig/gr_block_detail.i diff --git a/gnuradio-core/src/lib/runtime/gr_buffer.i b/gnuradio-runtime/swig/gr_buffer.i index 390a94e050..390a94e050 100644 --- a/gnuradio-core/src/lib/runtime/gr_buffer.i +++ b/gnuradio-runtime/swig/gr_buffer.i diff --git a/gnuradio-core/src/lib/general/gr_constants.i b/gnuradio-runtime/swig/gr_constants.i index a5aef14925..a5aef14925 100644 --- a/gnuradio-core/src/lib/general/gr_constants.i +++ b/gnuradio-runtime/swig/gr_constants.i diff --git a/gnuradio-core/src/lib/runtime/gr_dispatcher.i b/gnuradio-runtime/swig/gr_dispatcher.i index 28737cd317..28737cd317 100644 --- a/gnuradio-core/src/lib/runtime/gr_dispatcher.i +++ b/gnuradio-runtime/swig/gr_dispatcher.i diff --git a/gnuradio-core/src/lib/runtime/gr_error_handler.i b/gnuradio-runtime/swig/gr_error_handler.i index 072394a727..072394a727 100644 --- a/gnuradio-core/src/lib/runtime/gr_error_handler.i +++ b/gnuradio-runtime/swig/gr_error_handler.i diff --git a/gnuradio-core/src/lib/general/gr_feval.i b/gnuradio-runtime/swig/gr_feval.i index bcf4f1e646..bcf4f1e646 100644 --- a/gnuradio-core/src/lib/general/gr_feval.i +++ b/gnuradio-runtime/swig/gr_feval.i diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.i b/gnuradio-runtime/swig/gr_hier_block2.i index a857394ca7..a857394ca7 100644 --- a/gnuradio-core/src/lib/runtime/gr_hier_block2.i +++ b/gnuradio-runtime/swig/gr_hier_block2.i diff --git a/gnuradio-core/src/lib/runtime/gr_io_signature.i b/gnuradio-runtime/swig/gr_io_signature.i index fe1707e410..fe1707e410 100644 --- a/gnuradio-core/src/lib/runtime/gr_io_signature.i +++ b/gnuradio-runtime/swig/gr_io_signature.i diff --git a/gnuradio-core/src/lib/runtime/gr_logger.i b/gnuradio-runtime/swig/gr_logger.i index b43bff5a89..b43bff5a89 100644 --- a/gnuradio-core/src/lib/runtime/gr_logger.i +++ b/gnuradio-runtime/swig/gr_logger.i diff --git a/gnuradio-core/src/lib/runtime/gr_message.i b/gnuradio-runtime/swig/gr_message.i index 356bba5b58..356bba5b58 100644 --- a/gnuradio-core/src/lib/runtime/gr_message.i +++ b/gnuradio-runtime/swig/gr_message.i diff --git a/gnuradio-core/src/lib/runtime/gr_msg_handler.i b/gnuradio-runtime/swig/gr_msg_handler.i index f493dac1b2..f493dac1b2 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_handler.i +++ b/gnuradio-runtime/swig/gr_msg_handler.i diff --git a/gnuradio-core/src/lib/runtime/gr_msg_queue.i b/gnuradio-runtime/swig/gr_msg_queue.i index 65cbe782b9..65cbe782b9 100644 --- a/gnuradio-core/src/lib/runtime/gr_msg_queue.i +++ b/gnuradio-runtime/swig/gr_msg_queue.i diff --git a/gnuradio-core/src/lib/general/gr_prefs.i b/gnuradio-runtime/swig/gr_prefs.i index adf567a135..c8c4242002 100644 --- a/gnuradio-core/src/lib/general/gr_prefs.i +++ b/gnuradio-runtime/swig/gr_prefs.i @@ -29,10 +29,10 @@ public: virtual ~gr_prefs(); std::string to_string(); + void save(); virtual bool has_section(const std::string §ion); - virtual bool has_option(const std::string §ion, const std::string &option); virtual const std::string get_string(const std::string §ion, @@ -41,21 +41,18 @@ public: virtual void set_string(const std::string §ion, const std::string &option, const std::string &val); - virtual bool get_bool(const std::string §ion, const std::string &option, bool default_val); virtual void set_bool(const std::string §ion, const std::string &option, bool val); - virtual long get_long(const std::string §ion, const std::string &option, long default_val); virtual void set_long(const std::string §ion, const std::string &option, long val); - virtual double get_double(const std::string §ion, const std::string &option, double default_val); diff --git a/gnuradio-core/src/lib/runtime/gr_realtime.i b/gnuradio-runtime/swig/gr_realtime.i index 1051d3e2b3..1051d3e2b3 100644 --- a/gnuradio-core/src/lib/runtime/gr_realtime.i +++ b/gnuradio-runtime/swig/gr_realtime.i diff --git a/gnuradio-core/src/lib/swig/gr_shared_ptr.i b/gnuradio-runtime/swig/gr_shared_ptr.i index 323d33ad73..323d33ad73 100644 --- a/gnuradio-core/src/lib/swig/gr_shared_ptr.i +++ b/gnuradio-runtime/swig/gr_shared_ptr.i diff --git a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.i b/gnuradio-runtime/swig/gr_single_threaded_scheduler.i index 7305cc9ada..7305cc9ada 100644 --- a/gnuradio-core/src/lib/runtime/gr_single_threaded_scheduler.i +++ b/gnuradio-runtime/swig/gr_single_threaded_scheduler.i diff --git a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i b/gnuradio-runtime/swig/gr_swig_block_magic.i index 6d1af6136d..6d1af6136d 100644 --- a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i +++ b/gnuradio-runtime/swig/gr_swig_block_magic.i diff --git a/gnuradio-core/src/lib/runtime/gr_sync_block.i b/gnuradio-runtime/swig/gr_sync_block.i index d3e1bb9578..d3e1bb9578 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_block.i +++ b/gnuradio-runtime/swig/gr_sync_block.i diff --git a/gnuradio-core/src/lib/runtime/gr_sync_decimator.i b/gnuradio-runtime/swig/gr_sync_decimator.i index af4574b193..af4574b193 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_decimator.i +++ b/gnuradio-runtime/swig/gr_sync_decimator.i diff --git a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.i b/gnuradio-runtime/swig/gr_sync_interpolator.i index 6f8b08252f..6f8b08252f 100644 --- a/gnuradio-core/src/lib/runtime/gr_sync_interpolator.i +++ b/gnuradio-runtime/swig/gr_sync_interpolator.i diff --git a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.i b/gnuradio-runtime/swig/gr_tagged_stream_block.i index 9fc803dca1..9fc803dca1 100644 --- a/gnuradio-core/src/lib/runtime/gr_tagged_stream_block.i +++ b/gnuradio-runtime/swig/gr_tagged_stream_block.i diff --git a/gnuradio-core/src/lib/runtime/gr_tags.i b/gnuradio-runtime/swig/gr_tags.i index 828d0147ce..828d0147ce 100644 --- a/gnuradio-core/src/lib/runtime/gr_tags.i +++ b/gnuradio-runtime/swig/gr_tags.i diff --git a/gnuradio-core/src/lib/runtime/gr_top_block.i b/gnuradio-runtime/swig/gr_top_block.i index 1612ddf8c5..1612ddf8c5 100644 --- a/gnuradio-core/src/lib/runtime/gr_top_block.i +++ b/gnuradio-runtime/swig/gr_top_block.i diff --git a/gnuradio-core/src/lib/general/gr_block_gateway.i b/gnuradio-runtime/swig/runtime_block_gateway.i index 8adafdfea3..94428c0d5e 100644 --- a/gnuradio-core/src/lib/general/gr_block_gateway.i +++ b/gnuradio-runtime/swig/runtime_block_gateway.i @@ -27,20 +27,20 @@ %include <gr_feval.i> //////////////////////////////////////////////////////////////////////// -// block headers -//////////////////////////////////////////////////////////////////////// -%{ -#include <gr_block_gateway.h> -%} - -//////////////////////////////////////////////////////////////////////// // data type support //////////////////////////////////////////////////////////////////////// %template(int_vector_t) std::vector<int>; %template(void_star_vector_t) std::vector<void *>; //////////////////////////////////////////////////////////////////////// +// block headers +//////////////////////////////////////////////////////////////////////// +%{ +#include <runtime_block_gateway.h> +%} + +//////////////////////////////////////////////////////////////////////// // block magic //////////////////////////////////////////////////////////////////////// -GR_SWIG_BLOCK_MAGIC(gr,block_gateway); -%include <gr_block_gateway.h> +GR_SWIG_BLOCK_MAGIC(runtime, block_gateway); +%include <runtime_block_gateway.h> diff --git a/gnuradio-core/src/lib/runtime/runtime.i b/gnuradio-runtime/swig/runtime_swig.i index ac0092f917..5b84a71c9f 100644 --- a/gnuradio-core/src/lib/runtime/runtime.i +++ b/gnuradio-runtime/swig/runtime_swig.i @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2004 Free Software Foundation, Inc. + * Copyright 2013 Free Software Foundation, Inc. * * This file is part of GNU Radio * @@ -20,28 +20,42 @@ * Boston, MA 02110-1301, USA. */ -#define GR_CORE_API +#define GR_RUNTIME_API + +#ifndef SWIGIMPORTED +%include "runtime_swig_doc.i" +%module(directors="1") gnuradio_runtime +#endif + +//%feature("autodoc", "1"); // generate python docstrings + +#define SW_RUNTIME +%include "gnuradio.i" // the common stuff %{ -#include <gr_runtime_types.h> -#include <gr_io_signature.h> -#include <gr_buffer.h> +#include <gr_endianness.h> #include <gr_block.h> #include <gr_block_detail.h> +#include <gr_buffer.h> +#include <gr_constants.h> +#include <gr_dispatcher.h> +#include <gr_error_handler.h> +#include <gr_feval.h> #include <gr_hier_block2.h> -#include <gr_single_threaded_scheduler.h> +#include <gr_io_signature.h> #include <gr_message.h> #include <gr_msg_handler.h> #include <gr_msg_queue.h> -#include <gr_dispatcher.h> -#include <gr_error_handler.h> +#include <gr_prefs.h> #include <gr_realtime.h> +#include <gr_runtime_types.h> +#include <gr_single_threaded_scheduler.h> #include <gr_sync_block.h> #include <gr_sync_decimator.h> #include <gr_sync_interpolator.h> #include <gr_tagged_stream_block.h> +#include <gr_tags.h> #include <gr_top_block.h> -#include <gr_logger.h> %} %constant int sizeof_char = sizeof(char); @@ -51,26 +65,31 @@ %constant int sizeof_double = sizeof(double); %constant int sizeof_gr_complex = sizeof(gr_complex); -%include <gr_io_signature.i> -%include <gr_buffer.i> +%include <gr_endianness.h> %include <gr_basic_block.i> %include <gr_block.i> %include <gr_block_detail.i> +%include <gr_buffer.i> +%include <gr_constants.i> +%include <gr_dispatcher.i> +%include <gr_error_handler.i> +%include <gr_feval.i> %include <gr_hier_block2.i> -%include <gr_swig_block_magic.i> -%include <gr_single_threaded_scheduler.i> +%include <gr_io_signature.i> %include <gr_message.i> %include <gr_msg_handler.i> %include <gr_msg_queue.i> -%include <gr_dispatcher.i> -%include <gr_error_handler.i> +%include <gr_prefs.i> %include <gr_realtime.i> +%include <gr_single_threaded_scheduler.i> +%include <gr_swig_block_magic.i> %include <gr_sync_block.i> %include <gr_sync_decimator.i> %include <gr_sync_interpolator.i> %include <gr_tagged_stream_block.i> +%include <gr_tags.i> %include <gr_top_block.i> -%include <gr_logger.i> +%include <runtime_block_gateway.i> #ifdef GR_CTRLPORT @@ -118,7 +137,7 @@ enum KnobType { // Declare this class here but without the nested templated class // inside (replaces include of rpcmanager.h) -class GR_CORE_API rpcmanager : public virtual rpcmanager_base +class GR_RUNTIME_API rpcmanager : public virtual rpcmanager_base { public: rpcmanager(); diff --git a/gr-analog/CMakeLists.txt b/gr-analog/CMakeLists.txt index 8186de0fa9..24b202dce7 100644 --- a/gr-analog/CMakeLists.txt +++ b/gr-analog/CMakeLists.txt @@ -29,7 +29,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-analog" ENABLE_GR_ANALOG Boost_FOUND ENABLE_VOLK - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_FILTER ) diff --git a/gr-analog/gnuradio-analog.pc.in b/gr-analog/gnuradio-analog.pc.in index 675c7ee20a..2461fc3fdd 100644 --- a/gr-analog/gnuradio-analog.pc.in +++ b/gr-analog/gnuradio-analog.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-analog Description: GNU Radio blocks for analog communications -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-analog Cflags: -I${includedir} diff --git a/gr-analog/include/analog/CMakeLists.txt b/gr-analog/include/analog/CMakeLists.txt index 9c752ee157..0343abcd85 100644 --- a/gr-analog/include/analog/CMakeLists.txt +++ b/gr-analog/include/analog/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-analog/lib/CMakeLists.txt b/gr-analog/lib/CMakeLists.txt index c86ced6ac7..5cb00e9f94 100644 --- a/gr-analog/lib/CMakeLists.txt +++ b/gr-analog/lib/CMakeLists.txt @@ -28,7 +28,7 @@ include_directories( ${GR_FILTER_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -50,7 +50,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -158,7 +158,7 @@ ENDIF(MSVC) list(APPEND analog_libs volk - gnuradio-core + gnuradio-runtime gnuradio-filter ${Boost_LIBRARIES} ) @@ -187,7 +187,7 @@ if(ENABLE_TESTING) target_link_libraries( test-gr-analog - gnuradio-core + gnuradio-runtime gnuradio-analog ${Boost_LIBRARIES} ${CPPUNIT_LIBRARIES} diff --git a/gr-analog/lib/test_gr_analog.cc b/gr-analog/lib/test_gr_analog.cc index 00d6242699..95ee3aa8cb 100644 --- a/gr-analog/lib/test_gr_analog.cc +++ b/gr-analog/lib/test_gr_analog.cc @@ -20,6 +20,10 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> diff --git a/gr-analog/swig/CMakeLists.txt b/gr-analog/swig/CMakeLists.txt index eede32c4ec..8b56be500c 100644 --- a/gr-analog/swig/CMakeLists.txt +++ b/gr-analog/swig/CMakeLists.txt @@ -27,7 +27,7 @@ set(GR_SWIG_INCLUDE_DIRS ${GR_BLOCKS_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-analog/swig/analog_swig.i b/gr-analog/swig/analog_swig.i index e74a1a8d85..9ae019ad8e 100644 --- a/gr-analog/swig/analog_swig.i +++ b/gr-analog/swig/analog_swig.i @@ -22,7 +22,7 @@ #define ANALOG_API #define BLOCKS_API -%include "gnuradio.i" +%include "runtime_swig.i" %include "stdint.i" //load generated python docstrings diff --git a/gr-atsc/CMakeLists.txt b/gr-atsc/CMakeLists.txt index d46f109be7..a281cc8401 100644 --- a/gr-atsc/CMakeLists.txt +++ b/gr-atsc/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-atsc" ENABLE_GR_ATSC Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_BLOCKS ENABLE_GR_FEC diff --git a/gr-atsc/gnuradio-atsc.pc.in b/gr-atsc/gnuradio-atsc.pc.in index 4413bfc82d..c58edcdd22 100644 --- a/gr-atsc/gnuradio-atsc.pc.in +++ b/gr-atsc/gnuradio-atsc.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-atsc Description: The GNU Radio blocks for ATSC decoding -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-atsc Cflags: -I${includedir} diff --git a/gr-atsc/lib/CMakeLists.txt b/gr-atsc/lib/CMakeLists.txt index df9cc7c396..b3aa626cb5 100644 --- a/gr-atsc/lib/CMakeLists.txt +++ b/gr-atsc/lib/CMakeLists.txt @@ -27,7 +27,7 @@ include_directories( ${GR_FILTER_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} ${GR_FEC_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -118,7 +118,7 @@ ENDIF(MSVC) list(APPEND atsc_libs gnuradio-filter gnuradio-analog - gnuradio-core + gnuradio-runtime gnuradio-fec ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES} @@ -156,7 +156,7 @@ list(APPEND test_atsci_sources include(GrTest) list(APPEND GR_TEST_TARGET_DEPS gnuradio-atsc gnuradio-fec gnuradio-filter gnuradio-analog gnuradio-fft) add_executable(test_atsci ${test_atsci_sources} test_atsci.cc) -target_link_libraries(test_atsci gnuradio-atsc gnuradio-core ${CPPUNIT_LIBRARIES}) +target_link_libraries(test_atsci gnuradio-atsc gnuradio-runtime ${CPPUNIT_LIBRARIES}) GR_ADD_TEST(atsci-test test_atsci) endif(ENABLE_TESTING) diff --git a/gr-atsc/lib/test_atsci.cc b/gr-atsc/lib/test_atsci.cc index 9aeb718cb8..a3703d4d31 100644 --- a/gr-atsc/lib/test_atsci.cc +++ b/gr-atsc/lib/test_atsci.cc @@ -20,6 +20,10 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <gr_unittests.h> #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> diff --git a/gr-atsc/swig/CMakeLists.txt b/gr-atsc/swig/CMakeLists.txt index 71039f80aa..37da95dce1 100644 --- a/gr-atsc/swig/CMakeLists.txt +++ b/gr-atsc/swig/CMakeLists.txt @@ -28,7 +28,7 @@ set(GR_SWIG_INCLUDE_DIRS ${GR_FILTER_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS} diff --git a/gr-atsc/swig/atsc_swig.i b/gr-atsc/swig/atsc_swig.i index 4711d497eb..6ca65a6c69 100644 --- a/gr-atsc/swig/atsc_swig.i +++ b/gr-atsc/swig/atsc_swig.i @@ -20,7 +20,7 @@ * Boston, MA 02110-1301, USA. */ -%include "gnuradio.i" // the common stuff +%include "runtime_swig.i" // the common stuff //load generated python docstrings %include "atsc_swig_doc.i" diff --git a/gr-audio/CMakeLists.txt b/gr-audio/CMakeLists.txt index 1da6635ec0..9aa343b45e 100644 --- a/gr-audio/CMakeLists.txt +++ b/gr-audio/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-audio" ENABLE_GR_AUDIO Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ) GR_SET_GLOBAL(GR_AUDIO_INCLUDE_DIRS diff --git a/gr-audio/examples/c++/CMakeLists.txt b/gr-audio/examples/c++/CMakeLists.txt index ee98f78e72..a91dafed78 100644 --- a/gr-audio/examples/c++/CMakeLists.txt +++ b/gr-audio/examples/c++/CMakeLists.txt @@ -20,7 +20,7 @@ include_directories( ${GR_AUDIO_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-audio/gnuradio-audio.pc.in b/gr-audio/gnuradio-audio.pc.in index 1cd6d40513..c7c91b814e 100644 --- a/gr-audio/gnuradio-audio.pc.in +++ b/gr-audio/gnuradio-audio.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-audio Description: The GNU Radio block for all supported audio sound systems -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-audio Cflags: -I${includedir} diff --git a/gr-audio/lib/CMakeLists.txt b/gr-audio/lib/CMakeLists.txt index 73977752f3..8390f85e63 100644 --- a/gr-audio/lib/CMakeLists.txt +++ b/gr-audio/lib/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${GR_AUDIO_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -32,7 +32,7 @@ include_directories( link_directories(${Boost_LIBRARY_DIRS}) link_directories(${LOG4CPP_LIBRARY_DIRS}) -list(APPEND gr_audio_libs gnuradio-core ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES}) +list(APPEND gr_audio_libs gnuradio-runtime ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES}) list(APPEND gr_audio_sources audio_registry.cc) list(APPEND gr_audio_confs ${CMAKE_CURRENT_SOURCE_DIR}/gr-audio.conf) diff --git a/gr-audio/swig/CMakeLists.txt b/gr-audio/swig/CMakeLists.txt index 4f98328a7b..e9bc9ddead 100644 --- a/gr-audio/swig/CMakeLists.txt +++ b/gr-audio/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_AUDIO_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-audio/swig/audio_swig.i b/gr-audio/swig/audio_swig.i index 449fb5da51..d675df0f95 100644 --- a/gr-audio/swig/audio_swig.i +++ b/gr-audio/swig/audio_swig.i @@ -22,7 +22,7 @@ #define GR_AUDIO_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "audio_swig_doc.i" diff --git a/gr-blocks/CMakeLists.txt b/gr-blocks/CMakeLists.txt index c4821da2b8..c39337d0d5 100644 --- a/gr-blocks/CMakeLists.txt +++ b/gr-blocks/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-blocks" ENABLE_GR_BLOCKS Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ) GR_SET_GLOBAL(GR_BLOCKS_INCLUDE_DIRS diff --git a/gr-blocks/gnuradio-blocks.pc.in b/gr-blocks/gnuradio-blocks.pc.in index c24564157e..5e6dea231e 100644 --- a/gr-blocks/gnuradio-blocks.pc.in +++ b/gr-blocks/gnuradio-blocks.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-blocks Description: GNU Radio basic block library -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-blocks Cflags: -I${includedir} diff --git a/gr-blocks/include/blocks/CMakeLists.txt b/gr-blocks/include/blocks/CMakeLists.txt index d5dbe41253..14346f9c15 100644 --- a/gr-blocks/include/blocks/CMakeLists.txt +++ b/gr-blocks/include/blocks/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-blocks/include/blocks/pdu.h b/gr-blocks/include/blocks/pdu.h index de0999c574..ffcfbb9abb 100644 --- a/gr-blocks/include/blocks/pdu.h +++ b/gr-blocks/include/blocks/pdu.h @@ -38,7 +38,7 @@ namespace gr { BLOCKS_API size_t itemsize(vector_type type); BLOCKS_API bool type_matches(vector_type type, pmt::pmt_t v); - BLOCKS_API pmt::pmt_t make_vector(vector_type type, const uint8_t* buf, size_t items); + BLOCKS_API pmt::pmt_t make_pdu_vector(vector_type type, const uint8_t* buf, size_t items); BLOCKS_API vector_type type_from_pmt(pmt::pmt_t vector); } /* namespace pdu */ diff --git a/gr-blocks/lib/CMakeLists.txt b/gr-blocks/lib/CMakeLists.txt index acf542328f..8a91c5111d 100644 --- a/gr-blocks/lib/CMakeLists.txt +++ b/gr-blocks/lib/CMakeLists.txt @@ -31,7 +31,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -126,7 +126,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -272,7 +272,7 @@ IF(MSVC) ENDIF(MSVC) list(APPEND blocks_libs - gnuradio-core + gnuradio-runtime volk ${Boost_LIBRARIES} ${BLOCKS_LIBRARIES} @@ -313,7 +313,7 @@ if(ENABLE_TESTING) target_link_libraries( test-gr-blocks - gnuradio-core + gnuradio-runtime gnuradio-blocks ${Boost_LIBRARIES} ${CPPUNIT_LIBRARIES} diff --git a/gr-blocks/lib/pdu.cc b/gr-blocks/lib/pdu.cc index ae4b17aecc..9d5322bfe3 100644 --- a/gr-blocks/lib/pdu.cc +++ b/gr-blocks/lib/pdu.cc @@ -61,7 +61,7 @@ namespace gr { } pmt::pmt_t - make_vector(vector_type type, const uint8_t *buf, size_t items) + make_pdu_vector(vector_type type, const uint8_t *buf, size_t items) { switch(type) { case byte_t: diff --git a/gr-blocks/lib/tagged_stream_to_pdu_impl.cc b/gr-blocks/lib/tagged_stream_to_pdu_impl.cc index fc5c8f6424..4abc5818b0 100644 --- a/gr-blocks/lib/tagged_stream_to_pdu_impl.cc +++ b/gr-blocks/lib/tagged_stream_to_pdu_impl.cc @@ -93,14 +93,14 @@ namespace gr { // copy samples for this vector into either a pmt or our save buffer if (ncopy == d_pdu_remain) { // we will send this pdu if (d_save.size() == 0) { - d_pdu_vector = pdu::make_vector(d_type, in, ncopy); + d_pdu_vector = pdu::make_pdu_vector(d_type, in, ncopy); send_message(); } else { size_t oldsize = d_save.size(); d_save.resize((oldsize + ncopy)*d_itemsize, 0); memcpy(&d_save[oldsize*d_itemsize], in, ncopy*d_itemsize); - d_pdu_vector = pdu::make_vector(d_type, &d_save[0], d_pdu_length); + d_pdu_vector = pdu::make_pdu_vector(d_type, &d_save[0], d_pdu_length); send_message(); d_save.clear(); } diff --git a/gr-blocks/lib/test_gr_blocks.cc b/gr-blocks/lib/test_gr_blocks.cc index f03745dc99..14f047fb7b 100644 --- a/gr-blocks/lib/test_gr_blocks.cc +++ b/gr-blocks/lib/test_gr_blocks.cc @@ -20,6 +20,10 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> diff --git a/gr-blocks/python/CMakeLists.txt b/gr-blocks/python/CMakeLists.txt index 841588799b..7440e4e9df 100644 --- a/gr-blocks/python/CMakeLists.txt +++ b/gr-blocks/python/CMakeLists.txt @@ -41,9 +41,22 @@ list(APPEND GR_TEST_PYTHON_DIRS list(APPEND GR_TEST_TARGET_DEPS gnuradio-blocks) include(GrTest) + +# Grab all QA test blocks. file(GLOB py_qa_test_files "qa_*.py") + +# Force out the controlport QA tests if we've disabled it. +if(NOT ENABLE_GR_CTRLPORT) + list(REMOVE_ITEM py_qa_test_files + ${CMAKE_CURRENT_SOURCE_DIR}/qa_cpp_py_binding.py + ${CMAKE_CURRENT_SOURCE_DIR}/qa_cpp_py_binding_set.py + ) +endif(NOT ENABLE_GR_CTRLPORT) + +# Setup tests for all valid QA files. foreach(py_qa_test_file ${py_qa_test_files}) get_filename_component(py_qa_test_name ${py_qa_test_file} NAME_WE) GR_ADD_TEST(${py_qa_test_name} ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${py_qa_test_file}) endforeach(py_qa_test_file) + endif(ENABLE_TESTING) diff --git a/gr-blocks/swig/CMakeLists.txt b/gr-blocks/swig/CMakeLists.txt index 1e4213fdc2..94495688d8 100644 --- a/gr-blocks/swig/CMakeLists.txt +++ b/gr-blocks/swig/CMakeLists.txt @@ -26,7 +26,8 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-blocks/swig/blocks_swig.i b/gr-blocks/swig/blocks_swig.i index 72f70ac475..fa0cbf76a0 100644 --- a/gr-blocks/swig/blocks_swig.i +++ b/gr-blocks/swig/blocks_swig.i @@ -22,7 +22,7 @@ #define BLOCKS_API -%include "gnuradio.i" +%include "runtime_swig.i" %include "blocks/pdu.h" //load generated python docstrings diff --git a/gr-blocks/tests/CMakeLists.txt b/gr-blocks/tests/CMakeLists.txt index ec17c017f1..0e7feec1b2 100644 --- a/gr-blocks/tests/CMakeLists.txt +++ b/gr-blocks/tests/CMakeLists.txt @@ -26,7 +26,7 @@ GR_CHECK_HDR_N_DEF(sys/resource.h HAVE_SYS_RESOURCE_H) ######################################################################## include_directories( ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS} @@ -51,6 +51,6 @@ set(tests_not_run #single source per test foreach(test_not_run_src ${tests_not_run}) get_filename_component(name ${test_not_run_src} NAME_WE) add_executable(${name} ${test_not_run_src}) - target_link_libraries(${name} test-gnuradio-core gnuradio-blocks ${LOG4CPP_LIBRARIES}) + target_link_libraries(${name} test-gnuradio-runtime gnuradio-blocks ${LOG4CPP_LIBRARIES}) endforeach(test_not_run_src) diff --git a/gr-channels/CMakeLists.txt b/gr-channels/CMakeLists.txt index 6a5d20edef..666a837d10 100644 --- a/gr-channels/CMakeLists.txt +++ b/gr-channels/CMakeLists.txt @@ -31,7 +31,7 @@ GR_REGISTER_COMPONENT("gr-channels" ENABLE_GR_CHANNELS ENABLE_GRUEL ENABLE_VOLK Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS ENABLE_GR_FFT ENABLE_GR_FILTER diff --git a/gr-channels/gnuradio-channels.pc.in b/gr-channels/gnuradio-channels.pc.in index 9e6192db2b..b730517984 100644 --- a/gr-channels/gnuradio-channels.pc.in +++ b/gr-channels/gnuradio-channels.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-channels Description: GNU Radio's channel model blocks -Requires: gnuradio-core gnuradio-filter +Requires: gnuradio-runtime gnuradio-filter Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-channels -lgnuradio-filter Cflags: -I${includedir} diff --git a/gr-channels/lib/CMakeLists.txt b/gr-channels/lib/CMakeLists.txt index e7a4622017..30ff3ebdd2 100644 --- a/gr-channels/lib/CMakeLists.txt +++ b/gr-channels/lib/CMakeLists.txt @@ -27,7 +27,7 @@ include_directories( ${GR_BLOCKS_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) @@ -63,7 +63,7 @@ endif(MSVC) list(APPEND channels_libs volk - gnuradio-core + gnuradio-runtime gnuradio-filter gnuradio-analog gnuradio-blocks @@ -75,4 +75,4 @@ target_link_libraries(gnuradio-channels ${channels_libs}) GR_LIBRARY_FOO(gnuradio-channels RUNTIME_COMPONENT "channels_runtime" DEVEL_COMPONENT "channels_devel") add_dependencies(gnuradio-channels channels_generated_includes channels_generated_swigs - gnuradio-core gnuradio-filter gnuradio-analog gnuradio-blocks) + gnuradio-runtime gnuradio-filter gnuradio-analog gnuradio-blocks) diff --git a/gr-channels/swig/CMakeLists.txt b/gr-channels/swig/CMakeLists.txt index 1d5028172b..c1bd4bb9f8 100644 --- a/gr-channels/swig/CMakeLists.txt +++ b/gr-channels/swig/CMakeLists.txt @@ -26,7 +26,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_CHANNELS_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-channels/swig/channels_swig.i b/gr-channels/swig/channels_swig.i index fb284a74bd..bfd0f9a10a 100644 --- a/gr-channels/swig/channels_swig.i +++ b/gr-channels/swig/channels_swig.i @@ -22,7 +22,7 @@ #define CHANNELS_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "channels_swig_doc.i" diff --git a/gr-comedi/CMakeLists.txt b/gr-comedi/CMakeLists.txt index f0ddff9d50..ac6cd203b2 100644 --- a/gr-comedi/CMakeLists.txt +++ b/gr-comedi/CMakeLists.txt @@ -32,7 +32,7 @@ GR_REGISTER_COMPONENT("gr-comedi" ENABLE_GR_COMEDI COMEDI_FOUND LINUX #comedi uses linux specific device noces Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ) GR_SET_GLOBAL(GR_COMEDI_INCLUDE_DIRS diff --git a/gr-comedi/gnuradio-comedi.pc.in b/gr-comedi/gnuradio-comedi.pc.in index 205b40e37c..0f3ac4cae4 100644 --- a/gr-comedi/gnuradio-comedi.pc.in +++ b/gr-comedi/gnuradio-comedi.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-comedi Description: GNU Radio blocks for the comedi library -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-comedi Cflags: -I${includedir} diff --git a/gr-comedi/lib/CMakeLists.txt b/gr-comedi/lib/CMakeLists.txt index 53a0ae9ff6..0179c8f537 100644 --- a/gr-comedi/lib/CMakeLists.txt +++ b/gr-comedi/lib/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_COMEDI_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -49,7 +49,7 @@ list(APPEND comedi_sources ) list(APPEND comedi_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${COMEDI_LIBRARIES} ) diff --git a/gr-comedi/src/CMakeLists.txt b/gr-comedi/src/CMakeLists.txt index 0dc0960016..4895c622a9 100644 --- a/gr-comedi/src/CMakeLists.txt +++ b/gr-comedi/src/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_COMEDI_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${COMEDI_INCLUDE_DIRS} @@ -46,7 +46,7 @@ list(APPEND gr_comedi_sources ) list(APPEND comedi_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${COMEDI_LIBRARIES} ${LOG4CPP_LIBRARIES} @@ -75,7 +75,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_COMEDI_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-comedi/swig/CMakeLists.txt b/gr-comedi/swig/CMakeLists.txt index 1c88a4eb94..5e7cc15229 100644 --- a/gr-comedi/swig/CMakeLists.txt +++ b/gr-comedi/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_COMEDI_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-comedi/swig/comedi_swig.i b/gr-comedi/swig/comedi_swig.i index c8a1fff392..179882991a 100644 --- a/gr-comedi/swig/comedi_swig.i +++ b/gr-comedi/swig/comedi_swig.i @@ -22,7 +22,7 @@ #define COMEDI_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "comedi_swig_doc.i" diff --git a/gr-digital/CMakeLists.txt b/gr-digital/CMakeLists.txt index 1ef84d5654..171ea635b8 100644 --- a/gr-digital/CMakeLists.txt +++ b/gr-digital/CMakeLists.txt @@ -29,7 +29,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-digital" ENABLE_GR_DIGITAL Boost_FOUND ENABLE_VOLK - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_FILTER ENABLE_GR_BLOCKS diff --git a/gr-digital/gnuradio-digital.pc.in b/gr-digital/gnuradio-digital.pc.in index 6c0a7ccf8e..9c7247c755 100644 --- a/gr-digital/gnuradio-digital.pc.in +++ b/gr-digital/gnuradio-digital.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-digital Description: GNU Radio blocks for digital communications -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-digital Cflags: -I${includedir} diff --git a/gr-digital/include/digital/CMakeLists.txt b/gr-digital/include/digital/CMakeLists.txt index 3babcbad44..275da16d87 100644 --- a/gr-digital/include/digital/CMakeLists.txt +++ b/gr-digital/include/digital/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-digital/lib/CMakeLists.txt b/gr-digital/lib/CMakeLists.txt index d0a9132250..faa10c6b65 100644 --- a/gr-digital/lib/CMakeLists.txt +++ b/gr-digital/lib/CMakeLists.txt @@ -27,7 +27,7 @@ include_directories( ${GR_FFT_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} @@ -51,7 +51,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -189,7 +189,7 @@ ENDIF(MSVC) list(APPEND digital_libs volk - gnuradio-core + gnuradio-runtime gnuradio-filter gnuradio-blocks gnuradio-analog @@ -206,7 +206,7 @@ add_dependencies( gnuradio-digital digital_generated_includes digital_generated_swigs - gnuradio-core + gnuradio-runtime gnuradio-filter gnuradio-analog gnuradio-blocks diff --git a/gr-digital/swig/CMakeLists.txt b/gr-digital/swig/CMakeLists.txt index cbef8da888..6f49298209 100644 --- a/gr-digital/swig/CMakeLists.txt +++ b/gr-digital/swig/CMakeLists.txt @@ -29,7 +29,7 @@ set(GR_SWIG_INCLUDE_DIRS ${GR_ANALOG_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-digital/swig/digital_swig.i b/gr-digital/swig/digital_swig.i index b9a9dd617a..275496a5c6 100644 --- a/gr-digital/swig/digital_swig.i +++ b/gr-digital/swig/digital_swig.i @@ -23,7 +23,7 @@ #define ANALOG_API #define BLOCKS_API -%include "gnuradio.i" +%include "runtime_swig.i" %include "stdint.i" //load generated python docstrings diff --git a/gr-fcd/CMakeLists.txt b/gr-fcd/CMakeLists.txt index 810e79e6eb..ede4425a4c 100644 --- a/gr-fcd/CMakeLists.txt +++ b/gr-fcd/CMakeLists.txt @@ -34,7 +34,7 @@ include(GrComponent) if (LINUX) GR_REGISTER_COMPONENT("gr-fcd" ENABLE_GR_FCD Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS ENABLE_GR_AUDIO LIBUSB_FOUND @@ -42,7 +42,7 @@ if (LINUX) else() GR_REGISTER_COMPONENT("gr-fcd" ENABLE_GR_FCD Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_AUDIO ) endif() diff --git a/gr-fcd/examples/c++/CMakeLists.txt b/gr-fcd/examples/c++/CMakeLists.txt index 977e9e4e68..ff2c3d8bb2 100644 --- a/gr-fcd/examples/c++/CMakeLists.txt +++ b/gr-fcd/examples/c++/CMakeLists.txt @@ -22,7 +22,7 @@ include_directories( ${GR_FILTER_INCLUDE_DIRS} ${GR_ANALOG_INCLUDE_DIRS} ${GR_AUDIO_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-fcd/gnuradio-fcd.pc.in b/gr-fcd/gnuradio-fcd.pc.in index 6b8ce134eb..a8c8282e27 100644 --- a/gr-fcd/gnuradio-fcd.pc.in +++ b/gr-fcd/gnuradio-fcd.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-fcd Description: Funcube Dongle source block for GNU Radio -Requires: gnuradio-core gnuradio-audio +Requires: gnuradio-runtime gnuradio-audio Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-fcd Cflags: -I${includedir} diff --git a/gr-fcd/lib/CMakeLists.txt b/gr-fcd/lib/CMakeLists.txt index 35cefedffb..f12842d6b8 100644 --- a/gr-fcd/lib/CMakeLists.txt +++ b/gr-fcd/lib/CMakeLists.txt @@ -29,7 +29,7 @@ include_directories( ${GR_FCD_INCLUDE_DIRS} ${GR_AUDIO_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${LIBUSB_INCLUDE_DIR} @@ -56,7 +56,7 @@ list(APPEND gr_fcd_sources ) list(APPEND fcd_libs - gnuradio-core + gnuradio-runtime gnuradio-blocks gnuradio-audio ${Boost_LIBRARIES} diff --git a/gr-fcd/swig/CMakeLists.txt b/gr-fcd/swig/CMakeLists.txt index c170f3f663..370a82bef2 100644 --- a/gr-fcd/swig/CMakeLists.txt +++ b/gr-fcd/swig/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_FCD_INCLUDE_DIRS} ${GR_AUDIO_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-fcd/swig/fcd_swig.i b/gr-fcd/swig/fcd_swig.i index f4ad1b3202..d1dcca83ba 100644 --- a/gr-fcd/swig/fcd_swig.i +++ b/gr-fcd/swig/fcd_swig.i @@ -25,7 +25,7 @@ //suppress 319. No access specifier given for base class name (ignored). #pragma SWIG nowarn=319 -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "fcd_swig_doc.i" diff --git a/gr-fec/CMakeLists.txt b/gr-fec/CMakeLists.txt index ad9418334e..a63cf9cd14 100644 --- a/gr-fec/CMakeLists.txt +++ b/gr-fec/CMakeLists.txt @@ -30,7 +30,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-fec" ENABLE_GR_FEC Boost_FOUND ENABLE_GRUEL - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS ) diff --git a/gr-fec/gnuradio-fec.pc.in b/gr-fec/gnuradio-fec.pc.in index 3e0d308da7..3089ec32fd 100644 --- a/gr-fec/gnuradio-fec.pc.in +++ b/gr-fec/gnuradio-fec.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-fec Description: GNU Radio's FEC signal processing blocks -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-fec Cflags: -I${includedir} diff --git a/gr-fec/include/fec/CMakeLists.txt b/gr-fec/include/fec/CMakeLists.txt index 2d49dbe301..7ab0498000 100644 --- a/gr-fec/include/fec/CMakeLists.txt +++ b/gr-fec/include/fec/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-fec/lib/CMakeLists.txt b/gr-fec/lib/CMakeLists.txt index 566bb37072..d6c273aa9f 100644 --- a/gr-fec/lib/CMakeLists.txt +++ b/gr-fec/lib/CMakeLists.txt @@ -29,7 +29,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${GR_FEC_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) @@ -59,7 +59,7 @@ if(MSVC) endif(MSVC) list(APPEND gnuradio_fec_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ) diff --git a/gr-fec/lib/viterbi/CMakeLists.txt b/gr-fec/lib/viterbi/CMakeLists.txt index 6605556a84..3697787bcc 100644 --- a/gr-fec/lib/viterbi/CMakeLists.txt +++ b/gr-fec/lib/viterbi/CMakeLists.txt @@ -41,7 +41,7 @@ list(APPEND viterbi_sources ${CMAKE_CURRENT_BINARY_DIR}/boost_math_erf.cc) endif(MSVC) ######################################################################## -# Append gnuradio-core library sources +# Append gnuradio-runtime library sources ######################################################################## list(APPEND gnuradio_fec_sources ${viterbi_sources}) diff --git a/gr-fec/swig/CMakeLists.txt b/gr-fec/swig/CMakeLists.txt index 60178827e5..e071386237 100644 --- a/gr-fec/swig/CMakeLists.txt +++ b/gr-fec/swig/CMakeLists.txt @@ -26,7 +26,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_FEC_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-fec/swig/fec_swig.i b/gr-fec/swig/fec_swig.i index 3ffed89d27..5a50b63777 100644 --- a/gr-fec/swig/fec_swig.i +++ b/gr-fec/swig/fec_swig.i @@ -22,7 +22,7 @@ #define FEC_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "fec_swig_doc.i" diff --git a/gr-fft/CMakeLists.txt b/gr-fft/CMakeLists.txt index 6b37bd3caa..9133303d9b 100644 --- a/gr-fft/CMakeLists.txt +++ b/gr-fft/CMakeLists.txt @@ -33,7 +33,7 @@ GR_REGISTER_COMPONENT("gr-fft" ENABLE_GR_FFT ENABLE_GRUEL ENABLE_VOLK Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS FFTW3F_FOUND ) diff --git a/gr-fft/gnuradio-fft.pc.in b/gr-fft/gnuradio-fft.pc.in index eb4ddfd9fa..ae3476fcf8 100644 --- a/gr-fft/gnuradio-fft.pc.in +++ b/gr-fft/gnuradio-fft.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-fft Description: GNU Radio's FFT signal processing blocks -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-fft Cflags: -I${includedir} diff --git a/gr-fft/lib/CMakeLists.txt b/gr-fft/lib/CMakeLists.txt index 6516ad42d4..6c0c18eaa0 100644 --- a/gr-fft/lib/CMakeLists.txt +++ b/gr-fft/lib/CMakeLists.txt @@ -24,7 +24,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${GR_FFT_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS} @@ -50,7 +50,7 @@ list(APPEND fft_sources ) list(APPEND fft_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${FFTW3F_LIBRARIES} ) diff --git a/gr-fft/swig/CMakeLists.txt b/gr-fft/swig/CMakeLists.txt index 13ade2c908..2545edece4 100644 --- a/gr-fft/swig/CMakeLists.txt +++ b/gr-fft/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_FFT_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS} diff --git a/gr-fft/swig/fft_swig.i b/gr-fft/swig/fft_swig.i index 07fab34d4e..51e44cfe49 100644 --- a/gr-fft/swig/fft_swig.i +++ b/gr-fft/swig/fft_swig.i @@ -22,7 +22,7 @@ #define FFT_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "fft_swig_doc.i" diff --git a/gr-filter/CMakeLists.txt b/gr-filter/CMakeLists.txt index adfb92b1c9..2b83542e6f 100644 --- a/gr-filter/CMakeLists.txt +++ b/gr-filter/CMakeLists.txt @@ -31,7 +31,7 @@ GR_REGISTER_COMPONENT("gr-filter" ENABLE_GR_FILTER ENABLE_GRUEL ENABLE_VOLK Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_BLOCKS ) diff --git a/gr-filter/gnuradio-filter.pc.in b/gr-filter/gnuradio-filter.pc.in index e4e83b350c..9281768250 100644 --- a/gr-filter/gnuradio-filter.pc.in +++ b/gr-filter/gnuradio-filter.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-filter Description: GNU Radio's filter signal processing blocks -Requires: gnuradio-core gnuradio-fft +Requires: gnuradio-runtime gnuradio-fft Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-filter Cflags: -I${includedir} diff --git a/gr-filter/include/filter/CMakeLists.txt b/gr-filter/include/filter/CMakeLists.txt index 269c2192f2..d81f6b6607 100644 --- a/gr-filter/include/filter/CMakeLists.txt +++ b/gr-filter/include/filter/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-filter/lib/CMakeLists.txt b/gr-filter/lib/CMakeLists.txt index 3164e7ad54..2a32debd9a 100644 --- a/gr-filter/lib/CMakeLists.txt +++ b/gr-filter/lib/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -95,7 +95,7 @@ include_directories( ${GR_FILTER_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} @@ -162,7 +162,7 @@ if(MSVC) endif(MSVC) list(APPEND filter_libs - gnuradio-core + gnuradio-runtime gnuradio-fft gnuradio-blocks volk @@ -175,7 +175,7 @@ target_link_libraries(gnuradio-filter ${filter_libs}) GR_LIBRARY_FOO(gnuradio-filter RUNTIME_COMPONENT "filter_runtime" DEVEL_COMPONENT "filter_devel") add_dependencies(gnuradio-filter filter_generated_includes filter_generated_swigs - gnuradio-core gnuradio-fft) + gnuradio-runtime gnuradio-fft) ######################################################################## # QA C++ Code for gr-filter @@ -201,7 +201,7 @@ if(ENABLE_TESTING) target_link_libraries( test-gr-filter - gnuradio-core + gnuradio-runtime gnuradio-filter ${Boost_LIBRARIES} ${CPPUNIT_LIBRARIES} diff --git a/gr-filter/lib/test_gr_filter.cc b/gr-filter/lib/test_gr_filter.cc index 915b6286bd..32978bd317 100644 --- a/gr-filter/lib/test_gr_filter.cc +++ b/gr-filter/lib/test_gr_filter.cc @@ -20,6 +20,10 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> diff --git a/gr-filter/swig/CMakeLists.txt b/gr-filter/swig/CMakeLists.txt index ea8c010e07..5656c07877 100644 --- a/gr-filter/swig/CMakeLists.txt +++ b/gr-filter/swig/CMakeLists.txt @@ -26,13 +26,13 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_FILTER_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${FFTW3F_INCLUDE_DIRS} ) -# FIXME: rename to filter_swig_doc.i when gnuradio-core is updated +# FIXME: rename to filter_swig_doc.i when gnuradio-runtime is updated set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/gr_filter_swig_doc.i) set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../lib) set(GR_SWIG_TARGET_DEPS filter_generated_includes) diff --git a/gr-filter/swig/filter_swig.i b/gr-filter/swig/filter_swig.i index bb4eab381a..066a2e2aab 100644 --- a/gr-filter/swig/filter_swig.i +++ b/gr-filter/swig/filter_swig.i @@ -22,7 +22,7 @@ #define FILTER_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "gr_filter_swig_doc.i" diff --git a/gr-howto-write-a-block/CMakeLists.txt b/gr-howto-write-a-block/CMakeLists.txt deleted file mode 100644 index 760a7b62ea..0000000000 --- a/gr-howto-write-a-block/CMakeLists.txt +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - - -######################################################################## -# Project setup -######################################################################## -cmake_minimum_required(VERSION 2.6) -project(gr-howto-write-a-block CXX C) -enable_testing() - -#select the release build type by default to get optimization flags -if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Release") - message(STATUS "Build type not specified: defaulting to release.") -endif(NOT CMAKE_BUILD_TYPE) -set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") - -list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) - -######################################################################## -# Compiler specific setup -######################################################################## -if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32) - #http://gcc.gnu.org/wiki/Visibility - add_definitions(-fvisibility=hidden) -endif() - -######################################################################## -# Find boost -######################################################################## -if(UNIX AND EXISTS "/usr/lib64") - list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix -endif(UNIX AND EXISTS "/usr/lib64") -set(Boost_ADDITIONAL_VERSIONS - "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39" - "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44" - "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49" - "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" - "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" - "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" - "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" -) -find_package(Boost "1.35" COMPONENTS filesystem system) - -if(NOT Boost_FOUND) - message(FATAL_ERROR "Boost required to compile howto") -endif() - -######################################################################## -# Install directories -######################################################################## -include(GrPlatform) #define LIB_SUFFIX -set(GR_RUNTIME_DIR bin) -set(GR_LIBRARY_DIR lib${LIB_SUFFIX}) -set(GR_INCLUDE_DIR include/howto) -set(GR_DATA_DIR share) -set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_DOC_DIR ${GR_DATA_DIR}/doc) -set(GR_PKG_DOC_DIR ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME}) -set(GR_CONF_DIR etc) -set(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d) -set(GR_LIBEXEC_DIR libexec) -set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME}) -set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) - -######################################################################## -# Find gnuradio build dependencies -######################################################################## -find_package(Gruel) -find_package(GnuradioCore) -find_package(CppUnit) - -if(NOT GRUEL_FOUND) - message(FATAL_ERROR "Gruel required to compile howto") -endif() - -if(NOT GNURADIO_CORE_FOUND) - message(FATAL_ERROR "GnuRadio Core required to compile howto") -endif() - -if(NOT CPPUNIT_FOUND) - message(FATAL_ERROR "CppUnit required to compile howto") -endif() - -# Handle gr_log enable/disable -include(GrMiscUtils) #define LIB_SUFFIX -GR_LOGGING() - -######################################################################## -# Setup the include and linker paths -######################################################################## -include_directories( - ${CMAKE_SOURCE_DIR}/include - ${GNURADIO_CORE_INCLUDE_DIRS} - ${GRUEL_INCLUDE_DIRS} - ${LOG4CPP_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${CPPUNIT_INCLUDE_DIRS} -) - -link_directories( - ${GNURADIO_CORE_LIBRARY_DIRS} - ${GRUEL_LIBRARY_DIRS} - ${LOG4CPP_LIBRARY_DIRS} - ${Boost_LIBRARY_DIRS} - ${CPPUNIT_LIBRARY_DIRS} -) - -# Set component parameters -set(GR_HOWTO_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include CACHE INTERNAL "" FORCE) -set(GR_HOWTO_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/swig CACHE INTERNAL "" FORCE) - -######################################################################## -# Create uninstall target -######################################################################## -configure_file( - ${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -@ONLY) - -add_custom_target(uninstall - ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -) - -######################################################################## -# Add subdirectories -######################################################################## -add_subdirectory(include/howto) -add_subdirectory(lib) -add_subdirectory(swig) -add_subdirectory(python) -add_subdirectory(grc) -add_subdirectory(apps) -add_subdirectory(docs) diff --git a/gr-howto-write-a-block/apps/howto_square.grc b/gr-howto-write-a-block/apps/howto_square.grc deleted file mode 100644 index 0eea15426c..0000000000 --- a/gr-howto-write-a-block/apps/howto_square.grc +++ /dev/null @@ -1,345 +0,0 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Sun Sep 30 13:32:27 2012</timestamp> - <block> - <key>options</key> - <param> - <key>id</key> - <value>howto_square</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value></value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>wx_gui</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(10, 10)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>samp_rate</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>10e3</value> - </param> - <param> - <key>_coordinate</key> - <value>(176, 11)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>wxgui_scopesink2</key> - <param> - <key>id</key> - <value>sink</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>title</key> - <value>Input</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate</value> - </param> - <param> - <key>v_scale</key> - <value>20</value> - </param> - <param> - <key>v_offset</key> - <value>0</value> - </param> - <param> - <key>t_scale</key> - <value>0.002</value> - </param> - <param> - <key>ac_couple</key> - <value>False</value> - </param> - <param> - <key>xy_mode</key> - <value>False</value> - </param> - <param> - <key>num_inputs</key> - <value>1</value> - </param> - <param> - <key>win_size</key> - <value></value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> - </param> - <param> - <key>trig_mode</key> - <value>wxgui.TRIG_MODE_AUTO</value> - </param> - <param> - <key>y_axis_label</key> - <value>Counts</value> - </param> - <param> - <key>_coordinate</key> - <value>(645, 11)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>howto_square_ff</key> - <param> - <key>id</key> - <value>sqr</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(484, 163)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_throttle</key> - <param> - <key>id</key> - <value>thr</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(272, 159)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_vector_source_x</key> - <param> - <key>id</key> - <value>src</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>vector</key> - <value>[float(n)-50 for n in range(100)]</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(21, 151)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>wxgui_scopesink2</key> - <param> - <key>id</key> - <value>sink2</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>title</key> - <value>Output</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate</value> - </param> - <param> - <key>v_scale</key> - <value>0</value> - </param> - <param> - <key>v_offset</key> - <value>0</value> - </param> - <param> - <key>t_scale</key> - <value>0.002</value> - </param> - <param> - <key>ac_couple</key> - <value>False</value> - </param> - <param> - <key>xy_mode</key> - <value>False</value> - </param> - <param> - <key>num_inputs</key> - <value>1</value> - </param> - <param> - <key>win_size</key> - <value></value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> - </param> - <param> - <key>trig_mode</key> - <value>wxgui.TRIG_MODE_AUTO</value> - </param> - <param> - <key>y_axis_label</key> - <value>Counts</value> - </param> - <param> - <key>_coordinate</key> - <value>(644, 150)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <connection> - <source_block_id>thr</source_block_id> - <sink_block_id>sqr</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>src</source_block_id> - <sink_block_id>thr</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>thr</source_block_id> - <sink_block_id>sink</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>sqr</source_block_id> - <sink_block_id>sink2</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> diff --git a/gr-howto-write-a-block/apps/howto_square.py b/gr-howto-write-a-block/apps/howto_square.py deleted file mode 100755 index 818e776232..0000000000 --- a/gr-howto-write-a-block/apps/howto_square.py +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env python -################################################## -# Gnuradio Python Flow Graph -# Title: Howto Square -# Generated: Sun Sep 30 13:32:52 2012 -################################################## - -from gnuradio import eng_notation -from gnuradio import gr -from gnuradio import blocks -from gnuradio.eng_option import eng_option -from gnuradio.filter import firdes -from gnuradio.wxgui import scopesink2 -from grc_gnuradio import wxgui as grc_wxgui -from optparse import OptionParser -import howto -import wx - -class howto_square(grc_wxgui.top_block_gui): - - def __init__(self): - grc_wxgui.top_block_gui.__init__(self, title="Howto Square") - - ################################################## - # Variables - ################################################## - self.samp_rate = samp_rate = 10e3 - - ################################################## - # Blocks - ################################################## - self.thr = blocks.throttle(gr.sizeof_float*1, samp_rate) - self.src = blocks.vector_source_f(([float(n)-50 for n in range(100)]), True, 1) - self.sqr = howto.square_ff() - self.sink2 = scopesink2.scope_sink_f( - self.GetWin(), - title="Output", - sample_rate=samp_rate, - v_scale=0, - v_offset=0, - t_scale=0.002, - ac_couple=False, - xy_mode=False, - num_inputs=1, - trig_mode=wxgui.TRIG_MODE_AUTO, - y_axis_label="Counts", - ) - self.Add(self.sink2.win) - self.sink = scopesink2.scope_sink_f( - self.GetWin(), - title="Input", - sample_rate=samp_rate, - v_scale=20, - v_offset=0, - t_scale=0.002, - ac_couple=False, - xy_mode=False, - num_inputs=1, - trig_mode=wxgui.TRIG_MODE_AUTO, - y_axis_label="Counts", - ) - self.Add(self.sink.win) - - ################################################## - # Connections - ################################################## - self.connect((self.thr, 0), (self.sqr, 0)) - self.connect((self.src, 0), (self.thr, 0)) - self.connect((self.thr, 0), (self.sink, 0)) - self.connect((self.sqr, 0), (self.sink2, 0)) - -# QT sink close method reimplementation - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.sink.set_sample_rate(self.samp_rate) - self.sink2.set_sample_rate(self.samp_rate) - -if __name__ == '__main__': - parser = OptionParser(option_class=eng_option, usage="%prog: [options]") - (options, args) = parser.parse_args() - tb = howto_square() - tb.Run(True) - diff --git a/gr-howto-write-a-block/apps/howto_square_qt.grc b/gr-howto-write-a-block/apps/howto_square_qt.grc deleted file mode 100644 index c4c72adca0..0000000000 --- a/gr-howto-write-a-block/apps/howto_square_qt.grc +++ /dev/null @@ -1,285 +0,0 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Sat Nov 10 15:23:43 2012</timestamp> - <block> - <key>options</key> - <param> - <key>id</key> - <value>howto_square_qt</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value></value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>qt_gui</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(10, 10)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>samp_rate</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>32000</value> - </param> - <param> - <key>_coordinate</key> - <value>(183, 12)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>howto_square2_ff</key> - <param> - <key>id</key> - <value>howto_square2_ff_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(445, 100)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>howto_square_ff</key> - <param> - <key>id</key> - <value>howto_square_ff_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(445, 168)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>name</key> - <value>QT GUI Plot</value> - </param> - <param> - <key>size</key> - <value>1024</value> - </param> - <param> - <key>srate</key> - <value>samp_rate</value> - </param> - <param> - <key>ymin</key> - <value>-1</value> - </param> - <param> - <key>ymax</key> - <value>1</value> - </param> - <param> - <key>nconnections</key> - <value>3</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(608, 100)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_throttle</key> - <param> - <key>id</key> - <value>blocks_throttle_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(212, 130)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>analog_sig_source_x</key> - <param> - <key>id</key> - <value>analog_sig_source_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate</value> - </param> - <param> - <key>waveform</key> - <value>analog.GR_COS_WAVE</value> - </param> - <param> - <key>freq</key> - <value>1000</value> - </param> - <param> - <key>amp</key> - <value>1</value> - </param> - <param> - <key>offset</key> - <value>0</value> - </param> - <param> - <key>_coordinate</key> - <value>(15, 98)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <connection> - <source_block_id>howto_square2_ff_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>howto_square2_ff_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>howto_square_ff_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>howto_square_ff_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>analog_sig_source_x_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> diff --git a/gr-howto-write-a-block/apps/howto_square_qt.py b/gr-howto-write-a-block/apps/howto_square_qt.py deleted file mode 100755 index c8ab2e9066..0000000000 --- a/gr-howto-write-a-block/apps/howto_square_qt.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python -################################################## -# Gnuradio Python Flow Graph -# Title: Howto Square Qt -# Generated: Sat Nov 10 15:23:43 2012 -################################################## - -from PyQt4 import Qt -from gnuradio import analog -from gnuradio import blocks -from gnuradio import eng_notation -from gnuradio import gr -from gnuradio import qtgui -from gnuradio.eng_option import eng_option -from gnuradio.filter import firdes -from optparse import OptionParser -import howto -import sip -import sys - -class howto_square_qt(gr.top_block, Qt.QWidget): - - def __init__(self): - gr.top_block.__init__(self, "Howto Square Qt") - Qt.QWidget.__init__(self) - self.setWindowTitle("Howto Square Qt") - self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) - self.top_scroll_layout = Qt.QVBoxLayout() - self.setLayout(self.top_scroll_layout) - self.top_scroll = Qt.QScrollArea() - self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) - self.top_scroll_layout.addWidget(self.top_scroll) - self.top_scroll.setWidgetResizable(True) - self.top_widget = Qt.QWidget() - self.top_scroll.setWidget(self.top_widget) - self.top_layout = Qt.QVBoxLayout(self.top_widget) - self.top_grid_layout = Qt.QGridLayout() - self.top_layout.addLayout(self.top_grid_layout) - - self.settings = Qt.QSettings("GNU Radio", "howto_square_qt") - self.restoreGeometry(self.settings.value("geometry").toByteArray()) - - - ################################################## - # Variables - ################################################## - self.samp_rate = samp_rate = 32000 - - ################################################## - # Blocks - ################################################## - self.qtgui_time_sink_x_0 = qtgui.time_sink_f( - 1024, #size - samp_rate, #samp_rate - "QT GUI Plot", #name - 3 #number of inputs - ) - self.qtgui_time_sink_x_0.set_y_axis(-1, 1) - self._qtgui_time_sink_x_0_win = sip.wrapinstance(self.qtgui_time_sink_x_0.pyqwidget(), Qt.QWidget) - self.top_layout.addWidget(self._qtgui_time_sink_x_0_win) - self.howto_square_ff_0 = howto.square_ff() - self.howto_square2_ff_0 = howto.square2_ff() - self.blocks_throttle_0 = blocks.throttle(gr.sizeof_float*1, samp_rate) - self.analog_sig_source_x_0 = analog.sig_source_f(samp_rate, analog.GR_COS_WAVE, 1000, 1, 0) - - ################################################## - # Connections - ################################################## - self.connect((self.howto_square2_ff_0, 0), (self.qtgui_time_sink_x_0, 0)) - self.connect((self.blocks_throttle_0, 0), (self.howto_square2_ff_0, 0)) - self.connect((self.blocks_throttle_0, 0), (self.howto_square_ff_0, 0)) - self.connect((self.blocks_throttle_0, 0), (self.qtgui_time_sink_x_0, 1)) - self.connect((self.howto_square_ff_0, 0), (self.qtgui_time_sink_x_0, 2)) - self.connect((self.analog_sig_source_x_0, 0), (self.blocks_throttle_0, 0)) - -# QT sink close method reimplementation - def closeEvent(self, event): - self.settings = Qt.QSettings("GNU Radio", "howto_square_qt") - self.settings.setValue("geometry", self.saveGeometry()) - event.accept() - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - self.qtgui_time_sink_x_0.set_samp_rate(self.samp_rate) - self.analog_sig_source_x_0.set_sampling_freq(self.samp_rate) - -if __name__ == '__main__': - parser = OptionParser(option_class=eng_option, usage="%prog: [options]") - (options, args) = parser.parse_args() - qapp = Qt.QApplication(sys.argv) - tb = howto_square_qt() - tb.start() - tb.show() - qapp.exec_() - tb.stop() - tb = None #to clean up Qt widgets - diff --git a/gr-howto-write-a-block/cmake/Modules/CMakeParseArgumentsCopy.cmake b/gr-howto-write-a-block/cmake/Modules/CMakeParseArgumentsCopy.cmake deleted file mode 100644 index 7ce4c49ae5..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/CMakeParseArgumentsCopy.cmake +++ /dev/null @@ -1,138 +0,0 @@ -# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...) -# -# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for -# parsing the arguments given to that macro or function. -# It processes the arguments and defines a set of variables which hold the -# values of the respective options. -# -# The <options> argument contains all options for the respective macro, -# i.e. keywords which can be used when calling the macro without any value -# following, like e.g. the OPTIONAL keyword of the install() command. -# -# The <one_value_keywords> argument contains all keywords for this macro -# which are followed by one value, like e.g. DESTINATION keyword of the -# install() command. -# -# The <multi_value_keywords> argument contains all keywords for this macro -# which can be followed by more than one value, like e.g. the TARGETS or -# FILES keywords of the install() command. -# -# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the -# keywords listed in <options>, <one_value_keywords> and -# <multi_value_keywords> a variable composed of the given <prefix> -# followed by "_" and the name of the respective keyword. -# These variables will then hold the respective value from the argument list. -# For the <options> keywords this will be TRUE or FALSE. -# -# All remaining arguments are collected in a variable -# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether -# your macro was called with unrecognized parameters. -# -# As an example here a my_install() macro, which takes similar arguments as the -# real install() command: -# -# function(MY_INSTALL) -# set(options OPTIONAL FAST) -# set(oneValueArgs DESTINATION RENAME) -# set(multiValueArgs TARGETS CONFIGURATIONS) -# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) -# ... -# -# Assume my_install() has been called like this: -# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub) -# -# After the cmake_parse_arguments() call the macro will have set the following -# variables: -# MY_INSTALL_OPTIONAL = TRUE -# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install() -# MY_INSTALL_DESTINATION = "bin" -# MY_INSTALL_RENAME = "" (was not used) -# MY_INSTALL_TARGETS = "foo;bar" -# MY_INSTALL_CONFIGURATIONS = "" (was not used) -# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL" -# -# You can the continue and process these variables. -# -# Keywords terminate lists of values, e.g. if directly after a one_value_keyword -# another recognized keyword follows, this is interpreted as the beginning of -# the new option. -# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in -# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would -# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor. - -#============================================================================= -# Copyright 2010 Alexander Neundorf <neundorf@kde.org> -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - - -if(__CMAKE_PARSE_ARGUMENTS_INCLUDED) - return() -endif() -set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE) - - -function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames) - # first set all result variables to empty/FALSE - foreach(arg_name ${_singleArgNames} ${_multiArgNames}) - set(${prefix}_${arg_name}) - endforeach(arg_name) - - foreach(option ${_optionNames}) - set(${prefix}_${option} FALSE) - endforeach(option) - - set(${prefix}_UNPARSED_ARGUMENTS) - - set(insideValues FALSE) - set(currentArgName) - - # now iterate over all arguments and fill the result variables - foreach(currentArg ${ARGN}) - list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword - list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword - - if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1) - if(insideValues) - if("${insideValues}" STREQUAL "SINGLE") - set(${prefix}_${currentArgName} ${currentArg}) - set(insideValues FALSE) - elseif("${insideValues}" STREQUAL "MULTI") - list(APPEND ${prefix}_${currentArgName} ${currentArg}) - endif() - else(insideValues) - list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg}) - endif(insideValues) - else() - if(NOT ${optionIndex} EQUAL -1) - set(${prefix}_${currentArg} TRUE) - set(insideValues FALSE) - elseif(NOT ${singleArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "SINGLE") - elseif(NOT ${multiArgIndex} EQUAL -1) - set(currentArgName ${currentArg}) - set(${prefix}_${currentArgName}) - set(insideValues "MULTI") - endif() - endif() - - endforeach(currentArg) - - # propagate the result variables to the caller: - foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames}) - set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE) - endforeach(arg_name) - set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE) - -endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs) diff --git a/gr-howto-write-a-block/cmake/Modules/FindCppUnit.cmake b/gr-howto-write-a-block/cmake/Modules/FindCppUnit.cmake deleted file mode 100644 index 9af308f84b..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/FindCppUnit.cmake +++ /dev/null @@ -1,36 +0,0 @@ -# http://www.cmake.org/pipermail/cmake/2006-October/011446.html -# Modified to use pkg config and use standard var names - -# -# Find the CppUnit includes and library -# -# This module defines -# CPPUNIT_INCLUDE_DIR, where to find tiff.h, etc. -# CPPUNIT_LIBRARIES, the libraries to link against to use CppUnit. -# CPPUNIT_FOUND, If false, do not try to use CppUnit. - -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_CPPUNIT "cppunit") - -FIND_PATH(CPPUNIT_INCLUDE_DIRS - NAMES cppunit/TestCase.h - HINTS ${PC_CPPUNIT_INCLUDE_DIR} - PATHS - /usr/local/include - /usr/include -) - -FIND_LIBRARY(CPPUNIT_LIBRARIES - NAMES cppunit - HINTS ${PC_CPPUNIT_LIBDIR} - PATHS - ${CPPUNIT_INCLUDE_DIRS}/../lib - /usr/local/lib - /usr/lib -) - -LIST(APPEND CPPUNIT_LIBRARIES ${CMAKE_DL_LIBS}) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS) -MARK_AS_ADVANCED(CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS) diff --git a/gr-howto-write-a-block/cmake/Modules/FindGnuradioCore.cmake b/gr-howto-write-a-block/cmake/Modules/FindGnuradioCore.cmake deleted file mode 100644 index 3773588a70..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/FindGnuradioCore.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_CORE gnuradio-core) - -FIND_PATH( - GNURADIO_CORE_INCLUDE_DIRS - NAMES gr_random.h - HINTS $ENV{GNURADIO_CORE_DIR}/include/gnuradio - ${PC_GNURADIO_CORE_INCLUDEDIR} - PATHS /usr/local/include/gnuradio - /usr/include/gnuradio -) - -FIND_LIBRARY( - GNURADIO_CORE_LIBRARIES - NAMES gnuradio-core - HINTS $ENV{GNURADIO_CORE_DIR}/lib - ${PC_GNURADIO_CORE_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_CORE DEFAULT_MSG GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) -MARK_AS_ADVANCED(GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) diff --git a/gr-howto-write-a-block/cmake/Modules/FindGruel.cmake b/gr-howto-write-a-block/cmake/Modules/FindGruel.cmake deleted file mode 100644 index 58dff70444..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/FindGruel.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GRUEL gruel) - -FIND_PATH( - GRUEL_INCLUDE_DIRS - NAMES gruel/attributes.h - HINTS $ENV{GRUEL_DIR}/include - ${PC_GRUEL_INCLUDEDIR} - PATHS /usr/local/include - /usr/include -) - -FIND_LIBRARY( - GRUEL_LIBRARIES - NAMES gruel - HINTS $ENV{GRUEL_DIR}/lib - ${PC_GRUEL_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GRUEL DEFAULT_MSG GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) -MARK_AS_ADVANCED(GRUEL_LIBRARIES GRUEL_INCLUDE_DIRS) diff --git a/gr-howto-write-a-block/cmake/Modules/FindLog4cpp.cmake b/gr-howto-write-a-block/cmake/Modules/FindLog4cpp.cmake deleted file mode 100644 index 0b7208630f..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/FindLog4cpp.cmake +++ /dev/null @@ -1,58 +0,0 @@ -# - Find Log4cpp -# Find the native LOG4CPP includes and library -# -# LOG4CPP_INCLUDE_DIR - where to find LOG4CPP.h, etc. -# LOG4CPP_LIBRARIES - List of libraries when using LOG4CPP. -# LOG4CPP_FOUND - True if LOG4CPP found. - - -if (LOG4CPP_INCLUDE_DIR) - # Already in cache, be silent - set(LOG4CPP_FIND_QUIETLY TRUE) -endif () - -find_path(LOG4CPP_INCLUDE_DIR log4cpp/Category.hh - /opt/local/include - /usr/local/include - /usr/include -) - -set(LOG4CPP_NAMES log4cpp) -find_library(LOG4CPP_LIBRARY - NAMES ${LOG4CPP_NAMES} - PATHS /usr/lib /usr/local/lib /opt/local/lib -) - -message("#####################") -message("LOG INCLEUDE :${LOG4CPP_INCLUDE_DIR}") -message("LOG LIBRARY :${LOG4CPP_LIBRARY}") - - -message("#####################") - -if (LOG4CPP_INCLUDE_DIR AND LOG4CPP_LIBRARY) - set(LOG4CPP_FOUND TRUE) - set(LOG4CPP_LIBRARIES ${LOG4CPP_LIBRARY} ) -else () - set(LOG4CPP_FOUND FALSE) - set(LOG4CPP_LIBRARIES ) -endif () - -if (LOG4CPP_FOUND) - if (NOT LOG4CPP_FIND_QUIETLY) - message(STATUS "Found LOG4CPP: ${LOG4CPP_LIBRARIES}") - endif () -else () - if (LOG4CPP_FIND_REQUIRED) - message(STATUS "Looked for LOG4CPP libraries named ${LOG4CPPS_NAMES}.") - message(FATAL_ERROR "Could NOT find LOG4CPP library") - endif () -endif () - -message("internal libs: ${LOG4CPP_LIBRARIES}") - -mark_as_advanced( - LOG4CPP_LIBRARY - LOG4CPP_LIBRARIES - LOG4CPP_INCLUDE_DIR - ) diff --git a/gr-howto-write-a-block/cmake/Modules/GrMiscUtils.cmake b/gr-howto-write-a-block/cmake/Modules/GrMiscUtils.cmake deleted file mode 100644 index 876e71687f..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/GrMiscUtils.cmake +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_MISC_UTILS_CMAKE) - return() -endif() -set(__INCLUDED_GR_MISC_UTILS_CMAKE TRUE) - -######################################################################## -# Set global variable macro. -# Used for subdirectories to export settings. -# Example: include and library paths. -######################################################################## -function(GR_SET_GLOBAL var) - set(${var} ${ARGN} CACHE INTERNAL "" FORCE) -endfunction(GR_SET_GLOBAL) - -######################################################################## -# Set the pre-processor definition if the condition is true. -# - def the pre-processor definition to set and condition name -######################################################################## -function(GR_ADD_COND_DEF def) - if(${def}) - add_definitions(-D${def}) - endif(${def}) -endfunction(GR_ADD_COND_DEF) - -######################################################################## -# Check for a header and conditionally set a compile define. -# - hdr the relative path to the header file -# - def the pre-processor definition to set -######################################################################## -function(GR_CHECK_HDR_N_DEF hdr def) - include(CheckIncludeFileCXX) - CHECK_INCLUDE_FILE_CXX(${hdr} ${def}) - GR_ADD_COND_DEF(${def}) -endfunction(GR_CHECK_HDR_N_DEF) - -######################################################################## -# Include subdirectory macro. -# Sets the CMake directory variables, -# includes the subdirectory CMakeLists.txt, -# resets the CMake directory variables. -# -# This macro includes subdirectories rather than adding them -# so that the subdirectory can affect variables in the level above. -# This provides a work-around for the lack of convenience libraries. -# This way a subdirectory can append to the list of library sources. -######################################################################## -macro(GR_INCLUDE_SUBDIRECTORY subdir) - #insert the current directories on the front of the list - list(INSERT _cmake_source_dirs 0 ${CMAKE_CURRENT_SOURCE_DIR}) - list(INSERT _cmake_binary_dirs 0 ${CMAKE_CURRENT_BINARY_DIR}) - - #set the current directories to the names of the subdirs - set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${subdir}) - set(CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${subdir}) - - #include the subdirectory CMakeLists to run it - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - include(${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt) - - #reset the value of the current directories - list(GET _cmake_source_dirs 0 CMAKE_CURRENT_SOURCE_DIR) - list(GET _cmake_binary_dirs 0 CMAKE_CURRENT_BINARY_DIR) - - #pop the subdir names of the front of the list - list(REMOVE_AT _cmake_source_dirs 0) - list(REMOVE_AT _cmake_binary_dirs 0) -endmacro(GR_INCLUDE_SUBDIRECTORY) - -######################################################################## -# Check if a compiler flag works and conditionally set a compile define. -# - flag the compiler flag to check for -# - have the variable to set with result -######################################################################## -macro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE flag have) - include(CheckCXXCompilerFlag) - CHECK_CXX_COMPILER_FLAG(${flag} ${have}) - if(${have}) - add_definitions(${flag}) - endif(${have}) -endmacro(GR_ADD_CXX_COMPILER_FLAG_IF_AVAILABLE) - -######################################################################## -# Generates the .la libtool file -# This appears to generate libtool files that cannot be used by auto*. -# Usage GR_LIBTOOL(TARGET [target] DESTINATION [dest]) -# Notice: there is not COMPONENT option, these will not get distributed. -######################################################################## -function(GR_LIBTOOL) - if(NOT DEFINED GENERATE_LIBTOOL) - set(GENERATE_LIBTOOL OFF) #disabled by default - endif() - - if(GENERATE_LIBTOOL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBTOOL "" "TARGET;DESTINATION" "" ${ARGN}) - - find_program(LIBTOOL libtool) - if(LIBTOOL) - include(CMakeMacroLibtoolFile) - CREATE_LIBTOOL_FILE(${GR_LIBTOOL_TARGET} /${GR_LIBTOOL_DESTINATION}) - endif(LIBTOOL) - endif(GENERATE_LIBTOOL) - -endfunction(GR_LIBTOOL) - -######################################################################## -# Do standard things to the library target -# - set target properties -# - make install rules -# Also handle gnuradio custom naming conventions w/ extras mode. -######################################################################## -function(GR_LIBRARY_FOO target) - #parse the arguments for component names - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_LIBRARY "" "RUNTIME_COMPONENT;DEVEL_COMPONENT" "" ${ARGN}) - - #set additional target properties - set_target_properties(${target} PROPERTIES SOVERSION ${LIBVER}) - - #install the generated files like so... - install(TARGETS ${target} - LIBRARY DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .so/.dylib file - ARCHIVE DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_DEVEL_COMPONENT} # .lib file - RUNTIME DESTINATION ${GR_RUNTIME_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} # .dll file - ) - - #extras mode enabled automatically on linux - if(NOT DEFINED LIBRARY_EXTRAS) - set(LIBRARY_EXTRAS ${LINUX}) - endif() - - #special extras mode to enable alternative naming conventions - if(LIBRARY_EXTRAS) - - #create .la file before changing props - GR_LIBTOOL(TARGET ${target} DESTINATION ${GR_LIBRARY_DIR}) - - #give the library a special name with ultra-zero soversion - set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_NAME ${target}-${LIBVER} SOVERSION "0.0.0") - set(target_name lib${target}-${LIBVER}.so.0.0.0) - - #custom command to generate symlinks - add_custom_command( - TARGET ${target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - COMMAND ${CMAKE_COMMAND} -E create_symlink ${target_name} ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - COMMAND ${CMAKE_COMMAND} -E touch ${target_name} #so the symlinks point to something valid so cmake 2.6 will install - ) - - #and install the extra symlinks - install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}.so - ${CMAKE_CURRENT_BINARY_DIR}/lib${target}-${LIBVER}.so.0 - DESTINATION ${GR_LIBRARY_DIR} COMPONENT ${GR_LIBRARY_RUNTIME_COMPONENT} - ) - - endif(LIBRARY_EXTRAS) -endfunction(GR_LIBRARY_FOO) - -######################################################################## -# Create a dummy custom command that depends on other targets. -# Usage: -# GR_GEN_TARGET_DEPS(unique_name target_deps <target1> <target2> ...) -# ADD_CUSTOM_COMMAND(<the usual args> ${target_deps}) -# -# Custom command cant depend on targets, but can depend on executables, -# and executables can depend on targets. So this is the process: -######################################################################## -function(GR_GEN_TARGET_DEPS name var) - file( - WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - "int main(void){return 0;}\n" - ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp.in - ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp - ) - add_executable(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}.cpp) - if(ARGN) - add_dependencies(${name} ${ARGN}) - endif(ARGN) - - if(CMAKE_CROSSCOMPILING) - set(${var} "DEPENDS;${name}" PARENT_SCOPE) #cant call command when cross - else() - set(${var} "DEPENDS;${name};COMMAND;${name}" PARENT_SCOPE) - endif() -endfunction(GR_GEN_TARGET_DEPS) - - -######################################################################## -# Control use of gr_logger -# Usage: -# GR_LOGGING() -# -# Will set ENABLE_GR_LOG to 1 by default. -# Can manually set with -DENABLE_GR_LOG=0|1 -######################################################################## -function(GR_LOGGING) - find_package(Log4cpp) - - OPTION(ENABLE_GR_LOG "Use gr_logger" ON) - if(ENABLE_GR_LOG) - # If gr_logger is enabled, make it usable - add_definitions( -DENABLE_GR_LOG ) - - # also test LOG4CPP; if we have it, use this version of the logger - # otherwise, default to the stdout/stderr model. - if(LOG4CPP_FOUND) - SET(HAVE_LOG4CPP True) - add_definitions( -DHAVE_LOG4CPP ) - else(LOG4CPP_FOUND) - SET(HAVE_LOG4CPP False) - SET(LOG4CPP_INCLUDE_DIRS "") - SET(LOG4CPP_LIBRARY_DIRS "") - SET(LOG4CPP_LIBRARIES "") - endif(LOG4CPP_FOUND) - - SET(ENABLE_GR_LOG ${ENABLE_GR_LOG} CACHE INTERNAL "" FORCE) - - else(ENABLE_GR_LOG) - SET(HAVE_LOG4CPP False) - SET(LOG4CPP_INCLUDE_DIRS) - SET(LOG4CPP_LIBRARY_DIRS) - SET(LOG4CPP_LIBRARIES) - endif(ENABLE_GR_LOG) - - message(STATUS "ENABLE_GR_LOG set to ${ENABLE_GR_LOG}.") - message(STATUS "HAVE_LOG4CPP set to ${HAVE_LOG4CPP}.") - -endfunction(GR_LOGGING) diff --git a/gr-howto-write-a-block/cmake/Modules/GrPlatform.cmake b/gr-howto-write-a-block/cmake/Modules/GrPlatform.cmake deleted file mode 100644 index a2e4f3b34e..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/GrPlatform.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PLATFORM_CMAKE) - return() -endif() -set(__INCLUDED_GR_PLATFORM_CMAKE TRUE) - -######################################################################## -# Setup additional defines for OS types -######################################################################## -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(LINUX TRUE) -endif() - -if(LINUX AND EXISTS "/etc/debian_version") - set(DEBIAN TRUE) -endif() - -if(LINUX AND EXISTS "/etc/redhat-release") - set(REDHAT TRUE) -endif() - -######################################################################## -# when the library suffix should be 64 (applies to redhat linux family) -######################################################################## -if(NOT DEFINED LIB_SUFFIX AND REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") - set(LIB_SUFFIX 64) -endif() -set(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") diff --git a/gr-howto-write-a-block/cmake/Modules/GrPython.cmake b/gr-howto-write-a-block/cmake/Modules/GrPython.cmake deleted file mode 100644 index efdddf371f..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/GrPython.cmake +++ /dev/null @@ -1,227 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_PYTHON_CMAKE) - return() -endif() -set(__INCLUDED_GR_PYTHON_CMAKE TRUE) - -######################################################################## -# Setup the python interpreter: -# This allows the user to specify a specific interpreter, -# or finds the interpreter via the built-in cmake module. -######################################################################## -#this allows the user to override PYTHON_EXECUTABLE -if(PYTHON_EXECUTABLE) - - set(PYTHONINTERP_FOUND TRUE) - -#otherwise if not set, try to automatically find it -else(PYTHON_EXECUTABLE) - - #use the built-in find script - find_package(PythonInterp) - - #and if that fails use the find program routine - if(NOT PYTHONINTERP_FOUND) - find_program(PYTHON_EXECUTABLE NAMES python python2.7 python2.6 python2.5) - if(PYTHON_EXECUTABLE) - set(PYTHONINTERP_FOUND TRUE) - endif(PYTHON_EXECUTABLE) - endif(NOT PYTHONINTERP_FOUND) - -endif(PYTHON_EXECUTABLE) - -#make the path to the executable appear in the cmake gui -set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "python interpreter") - -#make sure we can use -B with python (introduced in 2.6) -if(PYTHON_EXECUTABLE) - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -B -c "" - OUTPUT_QUIET ERROR_QUIET - RESULT_VARIABLE PYTHON_HAS_DASH_B_RESULT - ) - if(PYTHON_HAS_DASH_B_RESULT EQUAL 0) - set(PYTHON_DASH_B "-B") - endif() -endif(PYTHON_EXECUTABLE) - -######################################################################## -# Check for the existence of a python module: -# - desc a string description of the check -# - mod the name of the module to import -# - cmd an additional command to run -# - have the result variable to set -######################################################################## -macro(GR_PYTHON_CHECK_MODULE desc mod cmd have) - message(STATUS "") - message(STATUS "Python checking for ${desc}") - execute_process( - COMMAND ${PYTHON_EXECUTABLE} -c " -######################################### -try: import ${mod} -except: exit(-1) -try: assert ${cmd} -except: exit(-1) -#########################################" - RESULT_VARIABLE ${have} - ) - if(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - found") - set(${have} TRUE) - else(${have} EQUAL 0) - message(STATUS "Python checking for ${desc} - not found") - set(${have} FALSE) - endif(${have} EQUAL 0) -endmacro(GR_PYTHON_CHECK_MODULE) - -######################################################################## -# Sets the python installation directory GR_PYTHON_DIR -######################################################################## -execute_process(COMMAND ${PYTHON_EXECUTABLE} -c " -from distutils import sysconfig -print sysconfig.get_python_lib(plat_specific=True, prefix='') -" OUTPUT_VARIABLE GR_PYTHON_DIR OUTPUT_STRIP_TRAILING_WHITESPACE -) -file(TO_CMAKE_PATH ${GR_PYTHON_DIR} GR_PYTHON_DIR) - -######################################################################## -# Create an always-built target with a unique name -# Usage: GR_UNIQUE_TARGET(<description> <dependencies list>) -######################################################################## -function(GR_UNIQUE_TARGET desc) - file(RELATIVE_PATH reldir ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import re, hashlib -unique = hashlib.md5('${reldir}${ARGN}').hexdigest()[:5] -print(re.sub('\\W', '_', '${desc} ${reldir} ' + unique))" - OUTPUT_VARIABLE _target OUTPUT_STRIP_TRAILING_WHITESPACE) - add_custom_target(${_target} ALL DEPENDS ${ARGN}) -endfunction(GR_UNIQUE_TARGET) - -######################################################################## -# Install python sources (also builds and installs byte-compiled python) -######################################################################## -function(GR_PYTHON_INSTALL) - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_PYTHON_INSTALL "" "DESTINATION;COMPONENT" "FILES;PROGRAMS" ${ARGN}) - - #################################################################### - if(GR_PYTHON_INSTALL_FILES) - #################################################################### - install(${ARGN}) #installs regular python files - - #create a list of all generated files - unset(pysrcfiles) - unset(pycfiles) - unset(pyofiles) - foreach(pyfile ${GR_PYTHON_INSTALL_FILES}) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - list(APPEND pysrcfiles ${pyfile}) - - #determine if this file is in the source or binary directory - file(RELATIVE_PATH source_rel_path ${CMAKE_CURRENT_SOURCE_DIR} ${pyfile}) - string(LENGTH "${source_rel_path}" source_rel_path_len) - file(RELATIVE_PATH binary_rel_path ${CMAKE_CURRENT_BINARY_DIR} ${pyfile}) - string(LENGTH "${binary_rel_path}" binary_rel_path_len) - - #and set the generated path appropriately - if(${source_rel_path_len} GREATER ${binary_rel_path_len}) - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${binary_rel_path}) - else() - set(pygenfile ${CMAKE_CURRENT_BINARY_DIR}/${source_rel_path}) - endif() - list(APPEND pycfiles ${pygenfile}c) - list(APPEND pyofiles ${pygenfile}o) - - #ensure generation path exists - get_filename_component(pygen_path ${pygenfile} PATH) - file(MAKE_DIRECTORY ${pygen_path}) - - endforeach(pyfile) - - #the command to generate the pyc files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pycfiles} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pycfiles} - ) - - #the command to generate the pyo files - add_custom_command( - DEPENDS ${pysrcfiles} OUTPUT ${pyofiles} - COMMAND ${PYTHON_EXECUTABLE} -O ${CMAKE_BINARY_DIR}/python_compile_helper.py ${pysrcfiles} ${pyofiles} - ) - - #create install rule and add generated files to target list - set(python_install_gen_targets ${pycfiles} ${pyofiles}) - install(FILES ${python_install_gen_targets} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - - - #################################################################### - elseif(GR_PYTHON_INSTALL_PROGRAMS) - #################################################################### - file(TO_NATIVE_PATH ${PYTHON_EXECUTABLE} pyexe_native) - - foreach(pyfile ${GR_PYTHON_INSTALL_PROGRAMS}) - get_filename_component(pyfile_name ${pyfile} NAME) - get_filename_component(pyfile ${pyfile} ABSOLUTE) - string(REPLACE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" pyexefile "${pyfile}.exe") - list(APPEND python_install_gen_targets ${pyexefile}) - - get_filename_component(pyexefile_path ${pyexefile} PATH) - file(MAKE_DIRECTORY ${pyexefile_path}) - - add_custom_command( - OUTPUT ${pyexefile} DEPENDS ${pyfile} - COMMAND ${PYTHON_EXECUTABLE} -c - \"open('${pyexefile}', 'w').write('\#!${pyexe_native}\\n'+open('${pyfile}').read())\" - COMMENT "Shebangin ${pyfile_name}" - ) - - #on windows, python files need an extension to execute - get_filename_component(pyfile_ext ${pyfile} EXT) - if(WIN32 AND NOT pyfile_ext) - set(pyfile_name "${pyfile_name}.py") - endif() - - install(PROGRAMS ${pyexefile} RENAME ${pyfile_name} - DESTINATION ${GR_PYTHON_INSTALL_DESTINATION} - COMPONENT ${GR_PYTHON_INSTALL_COMPONENT} - ) - endforeach(pyfile) - - endif() - - GR_UNIQUE_TARGET("pygen" ${python_install_gen_targets}) - -endfunction(GR_PYTHON_INSTALL) - -######################################################################## -# Write the python helper script that generates byte code files -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/python_compile_helper.py " -import sys, py_compile -files = sys.argv[1:] -srcs, gens = files[:len(files)/2], files[len(files)/2:] -for src, gen in zip(srcs, gens): - py_compile.compile(file=src, cfile=gen, doraise=True) -") diff --git a/gr-howto-write-a-block/cmake/Modules/GrSwig.cmake b/gr-howto-write-a-block/cmake/Modules/GrSwig.cmake deleted file mode 100644 index 51a753ec54..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/GrSwig.cmake +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_SWIG_CMAKE) - return() -endif() -set(__INCLUDED_GR_SWIG_CMAKE TRUE) - -include(GrPython) - -######################################################################## -# Builds a swig documentation file to be generated into python docstrings -# Usage: GR_SWIG_MAKE_DOCS(output_file input_path input_path....) -# -# Set the following variable to specify extra dependent targets: -# - GR_SWIG_DOCS_SOURCE_DEPS -# - GR_SWIG_DOCS_TARGET_DEPS -######################################################################## -function(GR_SWIG_MAKE_DOCS output_file) - find_package(Doxygen) - if(DOXYGEN_FOUND) - - #setup the input files variable list, quote formated - set(input_files) - unset(INPUT_PATHS) - foreach(input_path ${ARGN}) - if (IS_DIRECTORY ${input_path}) #when input path is a directory - file(GLOB input_path_h_files ${input_path}/*.h) - else() #otherwise its just a file, no glob - set(input_path_h_files ${input_path}) - endif() - list(APPEND input_files ${input_path_h_files}) - set(INPUT_PATHS "${INPUT_PATHS} \"${input_path}\"") - endforeach(input_path) - - #determine the output directory - get_filename_component(name ${output_file} NAME_WE) - get_filename_component(OUTPUT_DIRECTORY ${output_file} PATH) - set(OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}/${name}_swig_docs) - make_directory(${OUTPUT_DIRECTORY}) - - #generate the Doxyfile used by doxygen - configure_file( - ${CMAKE_SOURCE_DIR}/docs/doxygen/Doxyfile.swig_doc.in - ${OUTPUT_DIRECTORY}/Doxyfile - @ONLY) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_tag tag_deps ${GR_SWIG_DOCS_TARGET_DEPS}) - - #call doxygen on the Doxyfile + input headers - add_custom_command( - OUTPUT ${OUTPUT_DIRECTORY}/xml/index.xml - DEPENDS ${input_files} ${GR_SWIG_DOCS_SOURCE_DEPS} ${tag_deps} - COMMAND ${DOXYGEN_EXECUTABLE} ${OUTPUT_DIRECTORY}/Doxyfile - COMMENT "Generating doxygen xml for ${name} docs" - ) - - #call the swig_doc script on the xml files - add_custom_command( - OUTPUT ${output_file} - DEPENDS ${input_files} ${OUTPUT_DIRECTORY}/xml/index.xml - COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} - ${CMAKE_SOURCE_DIR}/docs/doxygen/swig_doc.py - ${OUTPUT_DIRECTORY}/xml - ${output_file} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs/doxygen - ) - - else(DOXYGEN_FOUND) - file(WRITE ${output_file} "\n") #no doxygen -> empty file - endif(DOXYGEN_FOUND) -endfunction(GR_SWIG_MAKE_DOCS) - -######################################################################## -# Build a swig target for the common gnuradio use case. Usage: -# GR_SWIG_MAKE(target ifile ifile ifile...) -# -# Set the following variables before calling: -# - GR_SWIG_FLAGS -# - GR_SWIG_INCLUDE_DIRS -# - GR_SWIG_LIBRARIES -# - GR_SWIG_SOURCE_DEPS -# - GR_SWIG_TARGET_DEPS -# - GR_SWIG_DOC_FILE -# - GR_SWIG_DOC_DIRS -######################################################################## -macro(GR_SWIG_MAKE name) - set(ifiles ${ARGN}) - - #do swig doc generation if specified - if (GR_SWIG_DOC_FILE) - set(GR_SWIG_DOCS_SOURCE_DEPS ${GR_SWIG_SOURCE_DEPS}) - set(GR_SWIG_DOCS_TARGET_DEPS ${GR_SWIG_TARGET_DEPS}) - GR_SWIG_MAKE_DOCS(${GR_SWIG_DOC_FILE} ${GR_SWIG_DOC_DIRS}) - list(APPEND GR_SWIG_SOURCE_DEPS ${GR_SWIG_DOC_FILE}) - endif() - - #append additional include directories - find_package(PythonLibs) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH}) #deprecated name (now dirs) - list(APPEND GR_SWIG_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}) - - #determine include dependencies for swig file - execute_process( - COMMAND ${PYTHON_EXECUTABLE} - ${CMAKE_BINARY_DIR}/get_swig_deps.py - "${ifiles}" "${GR_SWIG_INCLUDE_DIRS}" - OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE SWIG_MODULE_${name}_EXTRA_DEPS - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - ) - - #Create a dummy custom command that depends on other targets - include(GrMiscUtils) - GR_GEN_TARGET_DEPS(_${name}_swig_tag tag_deps ${GR_SWIG_TARGET_DEPS}) - set(tag_file ${CMAKE_CURRENT_BINARY_DIR}/${name}.tag) - add_custom_command( - OUTPUT ${tag_file} - DEPENDS ${GR_SWIG_SOURCE_DEPS} ${tag_deps} - COMMAND ${CMAKE_COMMAND} -E touch ${tag_file} - ) - - #append the specified include directories - include_directories(${GR_SWIG_INCLUDE_DIRS}) - list(APPEND SWIG_MODULE_${name}_EXTRA_DEPS ${tag_file}) - - #setup the swig flags with flags and include directories - set(CMAKE_SWIG_FLAGS -fvirtual -modern -keyword -w511 -module ${name} ${GR_SWIG_FLAGS}) - foreach(dir ${GR_SWIG_INCLUDE_DIRS}) - list(APPEND CMAKE_SWIG_FLAGS "-I${dir}") - endforeach(dir) - - #set the C++ property on the swig .i file so it builds - set_source_files_properties(${ifiles} PROPERTIES CPLUSPLUS ON) - - #setup the actual swig library target to be built - include(UseSWIG) - SWIG_ADD_MODULE(${name} python ${ifiles}) - SWIG_LINK_LIBRARIES(${name} ${PYTHON_LIBRARIES} ${GR_SWIG_LIBRARIES}) - -endmacro(GR_SWIG_MAKE) - -######################################################################## -# Install swig targets generated by GR_SWIG_MAKE. Usage: -# GR_SWIG_INSTALL( -# TARGETS target target target... -# [DESTINATION destination] -# [COMPONENT component] -# ) -######################################################################## -macro(GR_SWIG_INSTALL) - - include(CMakeParseArgumentsCopy) - CMAKE_PARSE_ARGUMENTS(GR_SWIG_INSTALL "" "DESTINATION;COMPONENT" "TARGETS" ${ARGN}) - - foreach(name ${GR_SWIG_INSTALL_TARGETS}) - install(TARGETS ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - include(GrPython) - GR_PYTHON_INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}.py - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - COMPONENT ${GR_SWIG_INSTALL_COMPONENT} - ) - - GR_LIBTOOL( - TARGET ${SWIG_MODULE_${name}_REAL_NAME} - DESTINATION ${GR_SWIG_INSTALL_DESTINATION} - ) - - endforeach(name) - -endmacro(GR_SWIG_INSTALL) - -######################################################################## -# Generate a python file that can determine swig dependencies. -# Used by the make macro above to determine extra dependencies. -# When you build C++, CMake figures out the header dependencies. -# This code essentially performs that logic for swig includes. -######################################################################## -file(WRITE ${CMAKE_BINARY_DIR}/get_swig_deps.py " - -import os, sys, re - -include_matcher = re.compile('[#|%]include\\s*[<|\"](.*)[>|\"]') -include_dirs = sys.argv[2].split(';') - -def get_swig_incs(file_path): - file_contents = open(file_path, 'r').read() - return include_matcher.findall(file_contents, re.MULTILINE) - -def get_swig_deps(file_path, level): - deps = [file_path] - if level == 0: return deps - for inc_file in get_swig_incs(file_path): - for inc_dir in include_dirs: - inc_path = os.path.join(inc_dir, inc_file) - if not os.path.exists(inc_path): continue - deps.extend(get_swig_deps(inc_path, level-1)) - return deps - -if __name__ == '__main__': - ifiles = sys.argv[1].split(';') - deps = sum([get_swig_deps(ifile, 3) for ifile in ifiles], []) - #sys.stderr.write(';'.join(set(deps)) + '\\n\\n') - print(';'.join(set(deps))) -") diff --git a/gr-howto-write-a-block/cmake/Modules/GrTest.cmake b/gr-howto-write-a-block/cmake/Modules/GrTest.cmake deleted file mode 100644 index 6174c034e9..0000000000 --- a/gr-howto-write-a-block/cmake/Modules/GrTest.cmake +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2010-2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -if(DEFINED __INCLUDED_GR_TEST_CMAKE) - return() -endif() -set(__INCLUDED_GR_TEST_CMAKE TRUE) - -######################################################################## -# Add a unit test and setup the environment for a unit test. -# Takes the same arguments as the ADD_TEST function. -# -# Before calling set the following variables: -# GR_TEST_TARGET_DEPS - built targets for the library path -# GR_TEST_LIBRARY_DIRS - directories for the library path -# GR_TEST_PYTHON_DIRS - directories for the python path -######################################################################## -function(GR_ADD_TEST test_name) - - if(WIN32) - #Ensure that the build exe also appears in the PATH. - list(APPEND GR_TEST_TARGET_DEPS ${ARGN}) - - #In the land of windows, all libraries must be in the PATH. - #Since the dependent libraries are not yet installed, - #we must manually set them in the PATH to run tests. - #The following appends the path of a target dependency. - foreach(target ${GR_TEST_TARGET_DEPS}) - get_target_property(location ${target} LOCATION) - if(location) - get_filename_component(path ${location} PATH) - string(REGEX REPLACE "\\$\\(.*\\)" ${CMAKE_BUILD_TYPE} path ${path}) - list(APPEND GR_TEST_LIBRARY_DIRS ${path}) - endif(location) - endforeach(target) - - #SWIG generates the python library files into a subdirectory. - #Therefore, we must append this subdirectory into PYTHONPATH. - #Only do this for the python directories matching the following: - foreach(pydir ${GR_TEST_PYTHON_DIRS}) - get_filename_component(name ${pydir} NAME) - if(name MATCHES "^(swig|lib|src)$") - list(APPEND GR_TEST_PYTHON_DIRS ${pydir}/${CMAKE_BUILD_TYPE}) - endif() - endforeach(pydir) - endif(WIN32) - - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} srcdir) - file(TO_NATIVE_PATH "${GR_TEST_LIBRARY_DIRS}" libpath) #ok to use on dir list? - file(TO_NATIVE_PATH "${GR_TEST_PYTHON_DIRS}" pypath) #ok to use on dir list? - - set(environs "GR_DONT_LOAD_PREFS=1" "srcdir=${srcdir}") - - #http://www.cmake.org/pipermail/cmake/2009-May/029464.html - #Replaced this add test + set environs code with the shell script generation. - #Its nicer to be able to manually run the shell script to diagnose problems. - #ADD_TEST(${ARGV}) - #SET_TESTS_PROPERTIES(${test_name} PROPERTIES ENVIRONMENT "${environs}") - - if(UNIX) - set(binpath "${CMAKE_CURRENT_BINARY_DIR}:$PATH") - #set both LD and DYLD paths to cover multiple UNIX OS library paths - list(APPEND libpath "$LD_LIBRARY_PATH" "$DYLD_LIBRARY_PATH") - list(APPEND pypath "$PYTHONPATH") - - #replace list separator with the path separator - string(REPLACE ";" ":" libpath "${libpath}") - string(REPLACE ";" ":" pypath "${pypath}") - list(APPEND environs "PATH=${binpath}" "LD_LIBRARY_PATH=${libpath}" "DYLD_LIBRARY_PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - find_program(SHELL sh) - set(sh_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.sh) - file(WRITE ${sh_file} "#!${SHELL}\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${sh_file} "export ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${sh_file} "${arg} ") - endforeach(arg) - file(APPEND ${sh_file} "\n") - - #make the shell file executable - execute_process(COMMAND chmod +x ${sh_file}) - - add_test(${test_name} ${SHELL} ${sh_file}) - - endif(UNIX) - - if(WIN32) - list(APPEND libpath ${DLL_PATHS} "%PATH%") - list(APPEND pypath "%PYTHONPATH%") - - #replace list separator with the path separator (escaped) - string(REPLACE ";" "\\;" libpath "${libpath}") - string(REPLACE ";" "\\;" pypath "${pypath}") - list(APPEND environs "PATH=${libpath}" "PYTHONPATH=${pypath}") - - #generate a bat file that sets the environment and runs the test - set(bat_file ${CMAKE_CURRENT_BINARY_DIR}/${test_name}_test.bat) - file(WRITE ${bat_file} "@echo off\n") - #each line sets an environment variable - foreach(environ ${environs}) - file(APPEND ${bat_file} "SET ${environ}\n") - endforeach(environ) - #load the command to run with its arguments - foreach(arg ${ARGN}) - file(APPEND ${bat_file} "${arg} ") - endforeach(arg) - file(APPEND ${bat_file} "\n") - - add_test(${test_name} ${bat_file}) - endif(WIN32) - -endfunction(GR_ADD_TEST) diff --git a/gr-howto-write-a-block/cmake/cmake_uninstall.cmake.in b/gr-howto-write-a-block/cmake/cmake_uninstall.cmake.in deleted file mode 100644 index 9ae1ae4bd6..0000000000 --- a/gr-howto-write-a-block/cmake/cmake_uninstall.cmake.in +++ /dev/null @@ -1,32 +0,0 @@ -# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F - -IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") -ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -STRING(REGEX REPLACE "\n" ";" files "${files}") -FOREACH(file ${files}) - MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") - IF(EXISTS "$ENV{DESTDIR}${file}") - EXEC_PROGRAM( - "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - IF(NOT "${rm_retval}" STREQUAL 0) - MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - ENDIF(NOT "${rm_retval}" STREQUAL 0) - ELSEIF(IS_SYMLINK "$ENV{DESTDIR}${file}") - EXEC_PROGRAM( - "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - IF(NOT "${rm_retval}" STREQUAL 0) - MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - ENDIF(NOT "${rm_retval}" STREQUAL 0) - ELSE(EXISTS "$ENV{DESTDIR}${file}") - MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") - ENDIF(EXISTS "$ENV{DESTDIR}${file}") -ENDFOREACH(file) diff --git a/gr-howto-write-a-block/docs/README.howto b/gr-howto-write-a-block/docs/README.howto deleted file mode 100644 index a0a6c0f19d..0000000000 --- a/gr-howto-write-a-block/docs/README.howto +++ /dev/null @@ -1,11 +0,0 @@ -This is the howto-write-a-block package meant as a guide to building -out-of-tree packages. To use the howto blocks, the Python namespaces -is in 'howto', which is imported as: - - import howto - -See the Doxygen documentation for details about the blocks available -in this package. A quick listing of the details can be found in Python -after importing by using: - - help(howto) diff --git a/gr-howto-write-a-block/docs/doxygen/CMakeLists.txt b/gr-howto-write-a-block/docs/doxygen/CMakeLists.txt deleted file mode 100644 index 1b4479929b..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/CMakeLists.txt +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Create the doxygen configuration file -######################################################################## -file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} top_srcdir) -file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} top_builddir) -file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} abs_top_srcdir) -file(TO_NATIVE_PATH ${CMAKE_BINARY_DIR} abs_top_builddir) - -set(HAVE_DOT ${DOXYGEN_DOT_FOUND}) -set(enable_html_docs YES) -set(enable_latex_docs NO) -set(enable_xml_docs YES) - -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in - ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile -@ONLY) - -set(BUILT_DIRS ${CMAKE_CURRENT_BINARY_DIR}/xml ${CMAKE_CURRENT_BINARY_DIR}/html) - -######################################################################## -# Make and install doxygen docs -######################################################################## -add_custom_command( - OUTPUT ${BUILT_DIRS} - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating documentation with doxygen" -) - -add_custom_target(doxygen_target ALL DEPENDS ${BUILT_DIRS}) - -install(DIRECTORY ${BUILT_DIRS} DESTINATION ${GR_PKG_DOC_DIR}) diff --git a/gr-howto-write-a-block/docs/doxygen/Doxyfile.in b/gr-howto-write-a-block/docs/doxygen/Doxyfile.in deleted file mode 100644 index 6ee69ee35b..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/Doxyfile.in +++ /dev/null @@ -1,1492 +0,0 @@ -# Doxyfile 1.5.7.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "GNU Radio's HOWTO Package" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, -# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, -# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene, -# Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 4 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= NO - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text " - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @top_srcdir@ @top_builddir@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h \ - *.dox - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = @abs_top_builddir@/docs/doxygen/html \ - @abs_top_builddir@/docs/doxygen/xml \ - @abs_top_builddir@/docs/doxygen/other/doxypy.py \ - @abs_top_builddir@/_CPack_Packages \ - @abs_top_srcdir@/cmake - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = */.deps/* \ - */.libs/* \ - */.svn/* \ - */CVS/* \ - */__init__.py \ - */qa_*.cc \ - */qa_*.h \ - */qa_*.py - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = ad9862 \ - numpy \ - *swig* \ - *Swig* \ - *my_top_block* \ - *my_graph* \ - *app_top_block* \ - *am_rx_graph* \ - *_queue_watcher_thread* \ - *parse* \ - *MyFrame* \ - *MyApp* \ - *PyObject* \ - *wfm_rx_block* \ - *_sptr* \ - *debug* \ - *wfm_rx_sca_block* \ - *tv_rx_block* \ - *wxapt_rx_block* \ - *example_signal* - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = *.py=@top_srcdir@/gnuradio-core/doc/other/doxypy.py - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = @enable_html_docs@ - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = YES - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help Project / Namespace</a>. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>. - -QHP_VIRTUAL_FOLDER = doc - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file . - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = YES - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to FRAME, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. Other possible values -# for this tag are: HIERARCHIES, which will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list; -# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which -# disables this behavior completely. For backwards compatibility with previous -# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE -# respectively. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 180 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = @enable_latex_docs@ - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = letter - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = @enable_xml_docs@ - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = NO - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = @HAVE_DOT@ - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/gr-howto-write-a-block/docs/doxygen/Doxyfile.swig_doc.in b/gr-howto-write-a-block/docs/doxygen/Doxyfile.swig_doc.in deleted file mode 100644 index 121c3e8585..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/Doxyfile.swig_doc.in +++ /dev/null @@ -1,1497 +0,0 @@ -# Doxyfile 1.6.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = @CPACK_PACKAGE_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @CPACK_PACKAGE_VERSION@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @OUTPUT_DIRECTORY@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @INPUT_PATHS@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = NO - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP) -# there is already a search function so this one should typically -# be disabled. - -SEARCHENGINE = YES - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = YES - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/__init__.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/__init__.py deleted file mode 100644 index 5cd0b3c6c5..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/__init__.py +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -""" -Python interface to contents of doxygen xml documentation. - -Example use: -See the contents of the example folder for the C++ and -doxygen-generated xml used in this example. - ->>> # Parse the doxygen docs. ->>> import os ->>> this_dir = os.path.dirname(globals()['__file__']) ->>> xml_path = this_dir + "/example/xml/" ->>> di = DoxyIndex(xml_path) - -Get a list of all top-level objects. - ->>> print([mem.name() for mem in di.members()]) -[u'Aadvark', u'aadvarky_enough', u'main'] - -Get all functions. - ->>> print([mem.name() for mem in di.in_category(DoxyFunction)]) -[u'aadvarky_enough', u'main'] - -Check if an object is present. - ->>> di.has_member(u'Aadvark') -True ->>> di.has_member(u'Fish') -False - -Get an item by name and check its properties. - ->>> aad = di.get_member(u'Aadvark') ->>> print(aad.brief_description) -Models the mammal Aadvark. ->>> print(aad.detailed_description) -Sadly the model is incomplete and cannot capture all aspects of an aadvark yet. -<BLANKLINE> -This line is uninformative and is only to test line breaks in the comments. ->>> [mem.name() for mem in aad.members()] -[u'aadvarkness', u'print', u'Aadvark', u'get_aadvarkness'] ->>> aad.get_member(u'print').brief_description -u'Outputs the vital aadvark statistics.' - -""" - -from doxyindex import DoxyIndex, DoxyFunction, DoxyParam, DoxyClass, DoxyFile, DoxyNamespace, DoxyGroup, DoxyFriend, DoxyOther - -def _test(): - import os - this_dir = os.path.dirname(globals()['__file__']) - xml_path = this_dir + "/example/xml/" - di = DoxyIndex(xml_path) - # Get the Aadvark class - aad = di.get_member('Aadvark') - aad.brief_description - import doctest - return doctest.testmod() - -if __name__ == "__main__": - _test() - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/base.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/base.py deleted file mode 100644 index e8f026ab90..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/base.py +++ /dev/null @@ -1,219 +0,0 @@ -# -# Copyright 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -""" -A base class is created. - -Classes based upon this are used to make more user-friendly interfaces -to the doxygen xml docs than the generated classes provide. -""" - -import os -import pdb - -from xml.parsers.expat import ExpatError - -from generated import compound - - -class Base(object): - - class Duplicate(StandardError): - pass - - class NoSuchMember(StandardError): - pass - - class ParsingError(StandardError): - pass - - def __init__(self, parse_data, top=None): - self._parsed = False - self._error = False - self._parse_data = parse_data - self._members = [] - self._dict_members = {} - self._in_category = {} - self._data = {} - if top is not None: - self._xml_path = top._xml_path - # Set up holder of references - else: - top = self - self._refs = {} - self._xml_path = parse_data - self.top = top - - @classmethod - def from_refid(cls, refid, top=None): - """ Instantiate class from a refid rather than parsing object. """ - # First check to see if its already been instantiated. - if top is not None and refid in top._refs: - return top._refs[refid] - # Otherwise create a new instance and set refid. - inst = cls(None, top=top) - inst.refid = refid - inst.add_ref(inst) - return inst - - @classmethod - def from_parse_data(cls, parse_data, top=None): - refid = getattr(parse_data, 'refid', None) - if refid is not None and top is not None and refid in top._refs: - return top._refs[refid] - inst = cls(parse_data, top=top) - if refid is not None: - inst.refid = refid - inst.add_ref(inst) - return inst - - def add_ref(self, obj): - if hasattr(obj, 'refid'): - self.top._refs[obj.refid] = obj - - mem_classes = [] - - def get_cls(self, mem): - for cls in self.mem_classes: - if cls.can_parse(mem): - return cls - raise StandardError(("Did not find a class for object '%s'." \ - % (mem.get_name()))) - - def convert_mem(self, mem): - try: - cls = self.get_cls(mem) - converted = cls.from_parse_data(mem, self.top) - if converted is None: - raise StandardError('No class matched this object.') - self.add_ref(converted) - return converted - except StandardError, e: - print e - - @classmethod - def includes(cls, inst): - return isinstance(inst, cls) - - @classmethod - def can_parse(cls, obj): - return False - - def _parse(self): - self._parsed = True - - def _get_dict_members(self, cat=None): - """ - For given category a dictionary is returned mapping member names to - members of that category. For names that are duplicated the name is - mapped to None. - """ - self.confirm_no_error() - if cat not in self._dict_members: - new_dict = {} - for mem in self.in_category(cat): - if mem.name() not in new_dict: - new_dict[mem.name()] = mem - else: - new_dict[mem.name()] = self.Duplicate - self._dict_members[cat] = new_dict - return self._dict_members[cat] - - def in_category(self, cat): - self.confirm_no_error() - if cat is None: - return self._members - if cat not in self._in_category: - self._in_category[cat] = [mem for mem in self._members - if cat.includes(mem)] - return self._in_category[cat] - - def get_member(self, name, cat=None): - self.confirm_no_error() - # Check if it's in a namespace or class. - bits = name.split('::') - first = bits[0] - rest = '::'.join(bits[1:]) - member = self._get_dict_members(cat).get(first, self.NoSuchMember) - # Raise any errors that are returned. - if member in set([self.NoSuchMember, self.Duplicate]): - raise member() - if rest: - return member.get_member(rest, cat=cat) - return member - - def has_member(self, name, cat=None): - try: - mem = self.get_member(name, cat=cat) - return True - except self.NoSuchMember: - return False - - def data(self): - self.confirm_no_error() - return self._data - - def members(self): - self.confirm_no_error() - return self._members - - def process_memberdefs(self): - mdtss = [] - for sec in self._retrieved_data.compounddef.sectiondef: - mdtss += sec.memberdef - # At the moment we lose all information associated with sections. - # Sometimes a memberdef is in several sectiondef. - # We make sure we don't get duplicates here. - uniques = set([]) - for mem in mdtss: - converted = self.convert_mem(mem) - pair = (mem.name, mem.__class__) - if pair not in uniques: - uniques.add(pair) - self._members.append(converted) - - def retrieve_data(self): - filename = os.path.join(self._xml_path, self.refid + '.xml') - try: - self._retrieved_data = compound.parse(filename) - except ExpatError: - print('Error in xml in file %s' % filename) - self._error = True - self._retrieved_data = None - - def check_parsed(self): - if not self._parsed: - self._parse() - - def confirm_no_error(self): - self.check_parsed() - if self._error: - raise self.ParsingError() - - def error(self): - self.check_parsed() - return self._error - - def name(self): - # first see if we can do it without processing. - if self._parse_data is not None: - return self._parse_data.name - self.check_parsed() - return self._retrieved_data.compounddef.name diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/doxyindex.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/doxyindex.py deleted file mode 100644 index 304109a8e5..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/doxyindex.py +++ /dev/null @@ -1,288 +0,0 @@ -# -# Copyright 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -""" -Classes providing more user-friendly interfaces to the doxygen xml -docs than the generated classes provide. -""" - -import os - -from generated import index -from base import Base -from text import description - -class DoxyIndex(Base): - """ - Parses a doxygen xml directory. - """ - - __module__ = "gnuradio.utils.doxyxml" - - def _parse(self): - if self._parsed: - return - super(DoxyIndex, self)._parse() - self._root = index.parse(os.path.join(self._xml_path, 'index.xml')) - for mem in self._root.compound: - converted = self.convert_mem(mem) - # For files we want the contents to be accessible directly - # from the parent rather than having to go through the file - # object. - if self.get_cls(mem) == DoxyFile: - if mem.name.endswith('.h'): - self._members += converted.members() - self._members.append(converted) - else: - self._members.append(converted) - - -def generate_swig_doc_i(self): - """ - %feature("docstring") gr_make_align_on_samplenumbers_ss::align_state " - Wraps the C++: gr_align_on_samplenumbers_ss::align_state"; - """ - pass - - -class DoxyCompMem(Base): - - - kind = None - - def __init__(self, *args, **kwargs): - super(DoxyCompMem, self).__init__(*args, **kwargs) - - @classmethod - def can_parse(cls, obj): - return obj.kind == cls.kind - - def set_descriptions(self, parse_data): - bd = description(getattr(parse_data, 'briefdescription', None)) - dd = description(getattr(parse_data, 'detaileddescription', None)) - self._data['brief_description'] = bd - self._data['detailed_description'] = dd - - def set_parameters(self, data): - vs = [ddc.value for ddc in data.detaileddescription.content_] - pls = [] - for v in vs: - if hasattr(v, 'parameterlist'): - pls += v.parameterlist - pis = [] - for pl in pls: - pis += pl.parameteritem - dpis = [] - for pi in pis: - dpi = DoxyParameterItem(pi) - dpi._parse() - dpis.append(dpi) - self._data['params'] = dpis - - -class DoxyCompound(DoxyCompMem): - pass - -class DoxyMember(DoxyCompMem): - pass - -class DoxyFunction(DoxyMember): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'function' - - def _parse(self): - if self._parsed: - return - super(DoxyFunction, self)._parse() - self.set_descriptions(self._parse_data) - self.set_parameters(self._parse_data) - if not self._data['params']: - # If the params weren't set by a comment then just grab the names. - self._data['params'] = [] - prms = self._parse_data.param - for prm in prms: - self._data['params'].append(DoxyParam(prm)) - - brief_description = property(lambda self: self.data()['brief_description']) - detailed_description = property(lambda self: self.data()['detailed_description']) - params = property(lambda self: self.data()['params']) - -Base.mem_classes.append(DoxyFunction) - - -class DoxyParam(DoxyMember): - - __module__ = "gnuradio.utils.doxyxml" - - def _parse(self): - if self._parsed: - return - super(DoxyParam, self)._parse() - self.set_descriptions(self._parse_data) - self._data['declname'] = self._parse_data.declname - - @property - def description(self): - descriptions = [] - if self.brief_description: - descriptions.append(self.brief_description) - if self.detailed_description: - descriptions.append(self.detailed_description) - return '\n\n'.join(descriptions) - - brief_description = property(lambda self: self.data()['brief_description']) - detailed_description = property(lambda self: self.data()['detailed_description']) - name = property(lambda self: self.data()['declname']) - -class DoxyParameterItem(DoxyMember): - """A different representation of a parameter in Doxygen.""" - - def _parse(self): - if self._parsed: - return - super(DoxyParameterItem, self)._parse() - names = [] - for nl in self._parse_data.parameternamelist: - for pn in nl.parametername: - names.append(description(pn)) - # Just take first name - self._data['name'] = names[0] - # Get description - pd = description(self._parse_data.get_parameterdescription()) - self._data['description'] = pd - - description = property(lambda self: self.data()['description']) - name = property(lambda self: self.data()['name']) - - -class DoxyClass(DoxyCompound): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'class' - - def _parse(self): - if self._parsed: - return - super(DoxyClass, self)._parse() - self.retrieve_data() - if self._error: - return - self.set_descriptions(self._retrieved_data.compounddef) - self.set_parameters(self._retrieved_data.compounddef) - # Sectiondef.kind tells about whether private or public. - # We just ignore this for now. - self.process_memberdefs() - - brief_description = property(lambda self: self.data()['brief_description']) - detailed_description = property(lambda self: self.data()['detailed_description']) - params = property(lambda self: self.data()['params']) - -Base.mem_classes.append(DoxyClass) - - -class DoxyFile(DoxyCompound): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'file' - - def _parse(self): - if self._parsed: - return - super(DoxyFile, self)._parse() - self.retrieve_data() - self.set_descriptions(self._retrieved_data.compounddef) - if self._error: - return - self.process_memberdefs() - - brief_description = property(lambda self: self.data()['brief_description']) - detailed_description = property(lambda self: self.data()['detailed_description']) - -Base.mem_classes.append(DoxyFile) - - -class DoxyNamespace(DoxyCompound): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'namespace' - -Base.mem_classes.append(DoxyNamespace) - - -class DoxyGroup(DoxyCompound): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'group' - - def _parse(self): - if self._parsed: - return - super(DoxyGroup, self)._parse() - self.retrieve_data() - if self._error: - return - cdef = self._retrieved_data.compounddef - self._data['title'] = description(cdef.title) - # Process inner groups - grps = cdef.innergroup - for grp in grps: - converted = DoxyGroup.from_refid(grp.refid, top=self.top) - self._members.append(converted) - # Process inner classes - klasses = cdef.innerclass - for kls in klasses: - converted = DoxyClass.from_refid(kls.refid, top=self.top) - self._members.append(converted) - # Process normal members - self.process_memberdefs() - - title = property(lambda self: self.data()['title']) - - -Base.mem_classes.append(DoxyGroup) - - -class DoxyFriend(DoxyMember): - - __module__ = "gnuradio.utils.doxyxml" - - kind = 'friend' - -Base.mem_classes.append(DoxyFriend) - - -class DoxyOther(Base): - - __module__ = "gnuradio.utils.doxyxml" - - kinds = set(['variable', 'struct', 'union', 'define', 'typedef', 'enum', 'dir', 'page']) - - @classmethod - def can_parse(cls, obj): - return obj.kind in cls.kinds - -Base.mem_classes.append(DoxyOther) - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/Doxyfile b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/Doxyfile deleted file mode 100644 index dd2e5c77eb..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/Doxyfile +++ /dev/null @@ -1,1534 +0,0 @@ -# Doxyfile 1.6.3 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = YES - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.cc b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.cc deleted file mode 100644 index f91c1ba562..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.cc +++ /dev/null @@ -1,50 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2010 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -#include <iostream> -#include "aadvark.h" - -void Aadvark::print() { - std::cout << "aadvark is " << aadvarkness << "/10 aadvarky" << std::endl; -} - -Aadvark::Aadvark(int aaness): aadvarkness(aaness) {} - -bool aadvarky_enough(Aadvark aad) { - if (aad.get_aadvarkness() > 6) - return true; - else - return false; -} - -int Aadvark::get_aadvarkness() { - return aadvarkness; -} - -int main() { - Aadvark arold = Aadvark(6); - arold.print(); - if (aadvarky_enough(arold)) - std::cout << "He is aadvarky enough" << std::endl; - else - std::cout << "He is not aadvarky enough" << std::endl; -} - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.h b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.h deleted file mode 100644 index d3c17445e8..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/aadvark.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2010 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ -#include <iostream> - -/*! - * \brief Models the mammal Aadvark. - * - * Sadly the model is incomplete and cannot capture all aspects of an aadvark yet. - * - * This line is uninformative and is only to test line breaks in the comments. - */ -class Aadvark { -public: - //! \brief Outputs the vital aadvark statistics. - void print(); - //! \param aaness The aadvarkness of an aadvark is a measure of how aadvarky it is. - Aadvark(int aaness); - int get_aadvarkness(); -private: - int aadvarkness; -}; - -bool aadvarky_enough(Aadvark aad); - -int main(); diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml deleted file mode 100644 index f031e01ace..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8cc.xml +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version='1.0' encoding='UTF-8' standalone='no'?> -<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3"> - <compounddef id="aadvark_8cc" kind="file"> - <compoundname>aadvark.cc</compoundname> - <includes local="no">iostream</includes> - <includes refid="aadvark_8cc" local="yes">aadvark.h</includes> - <includedby refid="aadvark_8cc" local="yes">aadvark.cc</includedby> - <incdepgraph> - <node id="0"> - <label>aadvark.cc</label> - <link refid="aadvark.cc"/> - <childnode refid="1" relation="include"> - </childnode> - </node> - <node id="1"> - <label>iostream</label> - </node> - </incdepgraph> - <sectiondef kind="func"> - <memberdef kind="function" id="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>bool</type> - <definition>bool aadvarky_enough</definition> - <argsstring>(Aadvark aad)</argsstring> - <name>aadvarky_enough</name> - <param> - <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type> - <declname>aad</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/> - </memberdef> - <memberdef kind="function" id="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int main</definition> - <argsstring>()</argsstring> - <name>main</name> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/> - </memberdef> - </sectiondef> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <programlisting> -<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline> -<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>"aadvark.h"</highlight><highlight class="normal"></highlight></codeline> -<codeline lineno="3"><highlight class="normal"></highlight></codeline> -<codeline lineno="4"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">Aadvark::print</ref>()<sp/>{</highlight></codeline> -<codeline lineno="5"><highlight class="normal"><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"aadvark<sp/>is<sp/>"</highlight><highlight class="normal"><sp/><<<sp/>aadvarkness<sp/><<<sp/></highlight><highlight class="stringliteral">"/10<sp/>aadvarky"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline> -<codeline lineno="6"><highlight class="normal">}</highlight></codeline> -<codeline lineno="7"><highlight class="normal"></highlight></codeline> -<codeline lineno="8"><highlight class="normal"><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark::Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness):<sp/>aadvarkness(aaness)<sp/>{}</highlight></codeline> -<codeline lineno="9"><highlight class="normal"></highlight></codeline> -<codeline lineno="10"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad)<sp/>{</highlight></codeline> -<codeline lineno="11"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aad.get_aadvarkness()<sp/>><sp/>6)</highlight></codeline> -<codeline lineno="12"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline> -<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline> -<codeline lineno="14"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline> -<codeline lineno="15"><highlight class="normal">}</highlight></codeline> -<codeline lineno="16"><highlight class="normal"></highlight></codeline> -<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>Aadvark::get_aadvarkness()<sp/>{</highlight></codeline> -<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline> -<codeline lineno="19"><highlight class="normal">}</highlight></codeline> -<codeline lineno="20"><highlight class="normal"></highlight></codeline> -<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main()<sp/>{</highlight></codeline> -<codeline lineno="22"><highlight class="normal"><sp/><sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>arold<sp/>=<sp/><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref>(6);</highlight></codeline> -<codeline lineno="23"><highlight class="normal"><sp/><sp/>arold.<ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline> -<codeline lineno="24"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(aadvarky_enough(arold))</highlight></codeline> -<codeline lineno="25"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline> -<codeline lineno="26"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline> -<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/>std::cout<sp/><<<sp/></highlight><highlight class="stringliteral">"He<sp/>is<sp/>not<sp/>aadvarky<sp/>enough"</highlight><highlight class="normal"><sp/><<<sp/>std::endl;</highlight></codeline> -<codeline lineno="28"><highlight class="normal">}</highlight></codeline> -<codeline lineno="29"><highlight class="normal"></highlight></codeline> - </programlisting> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc"/> - </compounddef> -</doxygen> diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml deleted file mode 100644 index a1854b6851..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/aadvark_8h.xml +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version='1.0' encoding='UTF-8' standalone='no'?> -<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3"> - <compounddef id="aadvark_8h" kind="file"> - <compoundname>aadvark.h</compoundname> - <includes local="no">iostream</includes> - <incdepgraph> - <node id="3"> - <label>aadvark.h</label> - <link refid="aadvark.h"/> - <childnode refid="4" relation="include"> - </childnode> - </node> - <node id="4"> - <label>iostream</label> - </node> - </incdepgraph> - <innerclass refid="classAadvark" prot="public">Aadvark</innerclass> - <sectiondef kind="func"> - <memberdef kind="function" id="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>bool</type> - <definition>bool aadvarky_enough</definition> - <argsstring>(Aadvark aad)</argsstring> - <name>aadvarky_enough</name> - <param> - <type><ref refid="classAadvark" kindref="compound">Aadvark</ref></type> - <declname>aad</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="21" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="10" bodyend="15"/> - </memberdef> - <memberdef kind="function" id="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int main</definition> - <argsstring>()</argsstring> - <name>main</name> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="23" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="21" bodyend="28"/> - </memberdef> - </sectiondef> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <programlisting> -<codeline lineno="1"><highlight class="preprocessor">#include<sp/><iostream></highlight><highlight class="normal"></highlight></codeline> -<codeline lineno="2"><highlight class="normal"></highlight></codeline> -<codeline lineno="10" refid="classAadvark" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>{</highlight></codeline> -<codeline lineno="11"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline> -<codeline lineno="13"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kindref="member" tooltip="Outputs the vital aadvark statistics.">print</ref>();</highlight></codeline> -<codeline lineno="15"><highlight class="normal"><sp/><sp/><ref refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kindref="member">Aadvark</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aaness);</highlight></codeline> -<codeline lineno="16"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>get_aadvarkness();</highlight></codeline> -<codeline lineno="17"><highlight class="normal"></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline> -<codeline lineno="18"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>aadvarkness;</highlight></codeline> -<codeline lineno="19"><highlight class="normal">};</highlight></codeline> -<codeline lineno="20"><highlight class="normal"></highlight></codeline> -<codeline lineno="21"><highlight class="normal"></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>aadvarky_enough(<ref refid="classAadvark" kindref="compound" tooltip="Models the mammal Aadvark.">Aadvark</ref><sp/>aad);</highlight></codeline> -<codeline lineno="22"><highlight class="normal"></highlight></codeline> -<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>main();</highlight></codeline> - </programlisting> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h"/> - </compounddef> -</doxygen> diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/classAadvark.xml b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/classAadvark.xml deleted file mode 100644 index 54fe8b32ca..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/classAadvark.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version='1.0' encoding='UTF-8' standalone='no'?> -<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.6.3"> - <compounddef id="classAadvark" kind="class" prot="public"> - <compoundname>Aadvark</compoundname> - <includes refid="aadvark_8h" local="no">aadvark.h</includes> - <sectiondef kind="private-attrib"> - <memberdef kind="variable" id="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" static="no" mutable="no"> - <type>int</type> - <definition>int Aadvark::aadvarkness</definition> - <argsstring></argsstring> - <name>aadvarkness</name> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="18" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="18" bodyend="-1"/> - </memberdef> - </sectiondef> - <sectiondef kind="public-func"> - <memberdef kind="function" id="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>void</type> - <definition>void Aadvark::print</definition> - <argsstring>()</argsstring> - <name>print</name> - <briefdescription> -<para>Outputs the vital aadvark statistics. </para> </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="13" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="4" bodyend="6"/> - </memberdef> - <memberdef kind="function" id="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type></type> - <definition>Aadvark::Aadvark</definition> - <argsstring>(int aaness)</argsstring> - <name>Aadvark</name> - <param> - <type>int</type> - <declname>aaness</declname> - </param> - <briefdescription> - </briefdescription> - <detaileddescription> -<para><parameterlist kind="param"><parameteritem> -<parameternamelist> -<parametername>aaness</parametername> -</parameternamelist> -<parameterdescription> -<para>The aadvarkness of an aadvark is a measure of how aadvarky it is. </para></parameterdescription> -</parameteritem> -</parameterlist> -</para> </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="15" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="8" bodyend="8"/> - </memberdef> - <memberdef kind="function" id="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual"> - <type>int</type> - <definition>int Aadvark::get_aadvarkness</definition> - <argsstring>()</argsstring> - <name>get_aadvarkness</name> - <briefdescription> - </briefdescription> - <detaileddescription> - </detaileddescription> - <inbodydescription> - </inbodydescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="16" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.cc" bodystart="17" bodyend="19"/> - </memberdef> - </sectiondef> - <briefdescription> -<para>Models the mammal <ref refid="classAadvark" kindref="compound">Aadvark</ref>. </para> </briefdescription> - <detaileddescription> -<para>Sadly the model is incomplete and cannot capture all aspects of an aadvark yet.</para><para>This line is uninformative and is only to test line breaks in the comments. </para> </detaileddescription> - <location file="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" line="10" bodyfile="/home/ben/gnuradio/gnuradio-core/src/python/gnuradio/utils/doxyxml/example/aadvark.h" bodystart="10" bodyend="19"/> - <listofallmembers> - <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>Aadvark</name></member> - <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" prot="private" virt="non-virtual"><scope>Aadvark</scope><name>aadvarkness</name></member> - <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>get_aadvarkness</name></member> - <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" prot="public" virt="non-virtual"><scope>Aadvark</scope><name>print</name></member> - </listofallmembers> - </compounddef> -</doxygen> diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/combine.xslt b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/combine.xslt deleted file mode 100644 index 6de203a2b0..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/combine.xslt +++ /dev/null @@ -1,15 +0,0 @@ -<!-- XSLT script to combine the generated output into a single file. - If you have xsltproc you could use: - xsltproc combine.xslt index.xml >all.xml ---> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - <xsl:output method="xml" version="1.0" indent="yes" standalone="yes" /> - <xsl:template match="/"> - <doxygen version="{doxygenindex/@version}"> - <!-- Load all doxgen generated xml files --> - <xsl:for-each select="doxygenindex/compound"> - <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" /> - </xsl:for-each> - </doxygen> - </xsl:template> -</xsl:stylesheet> diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/compound.xsd b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/compound.xsd deleted file mode 100644 index 5bb567052a..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/compound.xsd +++ /dev/null @@ -1,814 +0,0 @@ -<?xml version='1.0' encoding='utf-8' ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <xsd:element name="doxygen" type="DoxygenType"/> - - <!-- Complex types --> - - <xsd:complexType name="DoxygenType"> - <xsd:sequence maxOccurs="unbounded"> - <xsd:element name="compounddef" type="compounddefType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="version" type="DoxVersionNumber" use="required" /> - </xsd:complexType> - - <xsd:complexType name="compounddefType"> - <xsd:sequence> - <xsd:element name="compoundname" type="xsd:string"/> - <xsd:element name="title" type="xsd:string" minOccurs="0" /> - <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="incdepgraph" type="graphType" minOccurs="0" /> - <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" /> - <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" /> - <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" /> - <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" /> - <xsd:element name="programlisting" type="listingType" minOccurs="0" /> - <xsd:element name="location" type="locationType" minOccurs="0" /> - <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - <xsd:attribute name="kind" type="DoxCompoundKind" /> - <xsd:attribute name="prot" type="DoxProtectionKind" /> - </xsd:complexType> - - <xsd:complexType name="listofallmembersType"> - <xsd:sequence> - <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="memberRefType"> - <xsd:sequence> - <xsd:element name="scope" /> - <xsd:element name="name" /> - </xsd:sequence> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="prot" type="DoxProtectionKind" /> - <xsd:attribute name="virt" type="DoxVirtualKind" /> - <xsd:attribute name="ambiguityscope" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="compoundRefType" mixed="true"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="refid" type="xsd:string" use="optional" /> - <xsd:attribute name="prot" type="DoxProtectionKind" /> - <xsd:attribute name="virt" type="DoxVirtualKind" /> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="reimplementType" mixed="true"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="refid" type="xsd:string" /> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="incType" mixed="true"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="local" type="DoxBool" /> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="refType" mixed="true"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="refTextType" mixed="true"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="kindref" type="DoxRefKind" /> - <xsd:attribute name="external" type="xsd:string" use="optional"/> - <xsd:attribute name="tooltip" type="xsd:string" use="optional"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="sectiondefType"> - <xsd:sequence> - <xsd:element name="header" type="xsd:string" minOccurs="0" /> - <xsd:element name="description" type="descriptionType" minOccurs="0" /> - <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="kind" type="DoxSectionKind" /> - </xsd:complexType> - - <xsd:complexType name="memberdefType"> - <xsd:sequence> - <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" /> - <xsd:element name="type" type="linkedTextType" minOccurs="0" /> - <xsd:element name="definition" minOccurs="0" /> - <xsd:element name="argsstring" minOccurs="0" /> - <xsd:element name="name" /> - <xsd:element name="read" minOccurs="0" /> - <xsd:element name="write" minOccurs="0" /> - <xsd:element name="bitfield" minOccurs="0" /> - <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="initializer" type="linkedTextType" minOccurs="0" /> - <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" /> - <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="location" type="locationType" /> - <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="kind" type="DoxMemberKind" /> - <xsd:attribute name="id" type="xsd:string" /> - <xsd:attribute name="prot" type="DoxProtectionKind" /> - <xsd:attribute name="static" type="DoxBool" /> - <xsd:attribute name="const" type="DoxBool" /> - <xsd:attribute name="explicit" type="DoxBool" /> - <xsd:attribute name="inline" type="DoxBool" /> - <xsd:attribute name="virt" type="DoxVirtualKind" /> - <xsd:attribute name="volatile" type="DoxBool" /> - <xsd:attribute name="mutable" type="DoxBool" /> - <!-- Qt property --> - <xsd:attribute name="readable" type="DoxBool" use="optional"/> - <xsd:attribute name="writable" type="DoxBool" use="optional"/> - <!-- C++/CLI variable --> - <xsd:attribute name="initonly" type="DoxBool" use="optional"/> - <!-- C++/CLI and C# property --> - <xsd:attribute name="settable" type="DoxBool" use="optional"/> - <xsd:attribute name="gettable" type="DoxBool" use="optional"/> - <!-- C++/CLI function --> - <xsd:attribute name="final" type="DoxBool" use="optional"/> - <xsd:attribute name="sealed" type="DoxBool" use="optional"/> - <xsd:attribute name="new" type="DoxBool" use="optional"/> - <!-- C++/CLI event --> - <xsd:attribute name="add" type="DoxBool" use="optional"/> - <xsd:attribute name="remove" type="DoxBool" use="optional"/> - <xsd:attribute name="raise" type="DoxBool" use="optional"/> - <!-- Objective-C 2.0 protocol method --> - <xsd:attribute name="optional" type="DoxBool" use="optional"/> - <xsd:attribute name="required" type="DoxBool" use="optional"/> - <!-- Objective-C 2.0 property accessor --> - <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/> - </xsd:complexType> - - <xsd:complexType name="descriptionType" mixed="true"> - <xsd:sequence> - <xsd:element name="title" type="xsd:string" minOccurs="0"/> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalType" minOccurs="0" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="enumvalueType" mixed="true"> - <xsd:sequence> - <xsd:element name="name" /> - <xsd:element name="initializer" type="linkedTextType" minOccurs="0" /> - <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" /> - <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - <xsd:attribute name="prot" type="DoxProtectionKind" /> - </xsd:complexType> - - <xsd:complexType name="templateparamlistType"> - <xsd:sequence> - <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="paramType"> - <xsd:sequence> - <xsd:element name="type" type="linkedTextType" minOccurs="0" /> - <xsd:element name="declname" minOccurs="0" /> - <xsd:element name="defname" minOccurs="0" /> - <xsd:element name="array" minOccurs="0" /> - <xsd:element name="defval" type="linkedTextType" minOccurs="0" /> - <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="linkedTextType" mixed="true"> - <xsd:sequence> - <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="graphType"> - <xsd:sequence> - <xsd:element name="node" type="nodeType" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="nodeType"> - <xsd:sequence> - <xsd:element name="label" /> - <xsd:element name="link" type="linkType" minOccurs="0" /> - <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="childnodeType"> - <xsd:sequence> - <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="relation" type="DoxGraphRelation" /> - </xsd:complexType> - - <xsd:complexType name="linkType"> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="external" type="xsd:string" use="optional"/> - </xsd:complexType> - - <xsd:complexType name="listingType"> - <xsd:sequence> - <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="codelineType"> - <xsd:sequence> - <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="lineno" type="xsd:integer" /> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="refkind" type="DoxRefKind" /> - <xsd:attribute name="external" type="DoxBool" /> - </xsd:complexType> - - <xsd:complexType name="highlightType" mixed="true"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="sp" /> - <xsd:element name="ref" type="refTextType" /> - </xsd:choice> - <xsd:attribute name="class" type="DoxHighlightClass" /> - </xsd:complexType> - - <xsd:complexType name="referenceType" mixed="true"> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="compoundref" type="xsd:string" use="optional" /> - <xsd:attribute name="startline" type="xsd:integer" /> - <xsd:attribute name="endline" type="xsd:integer" /> - </xsd:complexType> - - <xsd:complexType name="locationType"> - <xsd:attribute name="file" type="xsd:string" /> - <xsd:attribute name="line" type="xsd:integer" /> - <xsd:attribute name="bodyfile" type="xsd:string" /> - <xsd:attribute name="bodystart" type="xsd:integer" /> - <xsd:attribute name="bodyend" type="xsd:integer" /> - </xsd:complexType> - - <xsd:complexType name="docSect1Type" mixed="true"> - <xsd:sequence> - <xsd:element name="title" type="xsd:string" /> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docSect2Type" mixed="true"> - <xsd:sequence> - <xsd:element name="title" type="xsd:string" /> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docSect3Type" mixed="true"> - <xsd:sequence> - <xsd:element name="title" type="xsd:string" /> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docSect4Type" mixed="true"> - <xsd:sequence> - <xsd:element name="title" type="xsd:string" /> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docInternalType" mixed="true"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docInternalS1Type" mixed="true"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docInternalS2Type" mixed="true"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docInternalS3Type" mixed="true"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docInternalS4Type" mixed="true"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:group name="docTitleCmdGroup"> - <xsd:choice> - <xsd:element name="ulink" type="docURLLink" /> - <xsd:element name="bold" type="docMarkupType" /> - <xsd:element name="emphasis" type="docMarkupType" /> - <xsd:element name="computeroutput" type="docMarkupType" /> - <xsd:element name="subscript" type="docMarkupType" /> - <xsd:element name="superscript" type="docMarkupType" /> - <xsd:element name="center" type="docMarkupType" /> - <xsd:element name="small" type="docMarkupType" /> - <xsd:element name="htmlonly" type="xsd:string" /> - <xsd:element name="latexonly" type="xsd:string" /> - <xsd:element name="dot" type="xsd:string" /> - <xsd:element name="anchor" type="docAnchorType" /> - <xsd:element name="formula" type="docFormulaType" /> - <xsd:element name="ref" type="docRefTextType" /> - <xsd:element name="copy" type="docEmptyType" /> - <xsd:element name="trademark" type="docEmptyType" /> - <xsd:element name="registered" type="docEmptyType" /> - <xsd:element name="lsquo" type="docEmptyType" /> - <xsd:element name="rsquo" type="docEmptyType" /> - <xsd:element name="ldquo" type="docEmptyType" /> - <xsd:element name="rdquo" type="docEmptyType" /> - <xsd:element name="ndash" type="docEmptyType" /> - <xsd:element name="mdash" type="docEmptyType" /> - <xsd:element name="umlaut" type="docCharType" /> - <xsd:element name="acute" type="docCharType" /> - <xsd:element name="grave" type="docCharType" /> - <xsd:element name="circ" type="docCharType" /> - <xsd:element name="slash" type="docCharType" /> - <xsd:element name="tilde" type="docCharType" /> - <xsd:element name="cedil" type="docCharType" /> - <xsd:element name="ring" type="docCharType" /> - <xsd:element name="szlig" type="docEmptyType" /> - <xsd:element name="nonbreakablespace" type="docEmptyType" /> - </xsd:choice> - </xsd:group> - - <xsd:complexType name="docTitleType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - </xsd:complexType> - - <xsd:group name="docCmdGroup"> - <xsd:choice> - <xsd:group ref="docTitleCmdGroup"/> - <xsd:element name="linebreak" type="docEmptyType" /> - <xsd:element name="hruler" type="docEmptyType" /> - <xsd:element name="preformatted" type="docMarkupType" /> - <xsd:element name="programlisting" type="listingType" /> - <xsd:element name="verbatim" type="xsd:string" /> - <xsd:element name="indexentry" type="docIndexEntryType" /> - <xsd:element name="orderedlist" type="docListType" /> - <xsd:element name="itemizedlist" type="docListType" /> - <xsd:element name="simplesect" type="docSimpleSectType" /> - <xsd:element name="title" type="docTitleType" /> - <xsd:element name="variablelist" type="docVariableListType" /> - <xsd:element name="table" type="docTableType" /> - <xsd:element name="heading" type="docHeadingType" /> - <xsd:element name="image" type="docImageType" /> - <xsd:element name="dotfile" type="docDotFileType" /> - <xsd:element name="toclist" type="docTocListType" /> - <xsd:element name="language" type="docLanguageType" /> - <xsd:element name="parameterlist" type="docParamListType" /> - <xsd:element name="xrefsect" type="docXRefSectType" /> - <xsd:element name="copydoc" type="docCopyType" /> - </xsd:choice> - </xsd:group> - - <xsd:complexType name="docParaType" mixed="true"> - <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - </xsd:complexType> - - <xsd:complexType name="docMarkupType" mixed="true"> - <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - </xsd:complexType> - - <xsd:complexType name="docURLLink" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="url" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docAnchorType" mixed="true"> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docFormulaType" mixed="true"> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docIndexEntryType"> - <xsd:sequence> - <xsd:element name="primaryie" type="xsd:string" /> - <xsd:element name="secondaryie" type="xsd:string" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docListType"> - <xsd:sequence> - <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docListItemType"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docSimpleSectType"> - <xsd:sequence> - <xsd:element name="title" type="docTitleType" minOccurs="0" /> - <xsd:sequence minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" /> - <xsd:element name="simplesectsep" type="docEmptyType" minOccurs="0"/> - </xsd:sequence> - </xsd:sequence> - <xsd:attribute name="kind" type="DoxSimpleSectKind" /> - </xsd:complexType> - - <xsd:complexType name="docVarListEntryType"> - <xsd:sequence> - <xsd:element name="term" type="docTitleType" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:group name="docVariableListGroup"> - <xsd:sequence> - <xsd:element name="varlistentry" type="docVarListEntryType" /> - <xsd:element name="listitem" type="docListItemType" /> - </xsd:sequence> - </xsd:group> - - <xsd:complexType name="docVariableListType"> - <xsd:sequence> - <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docRefTextType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="refid" type="xsd:string" /> - <xsd:attribute name="kindref" type="DoxRefKind" /> - <xsd:attribute name="external" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docTableType"> - <xsd:sequence> - <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="caption" type="docCaptionType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="rows" type="xsd:integer" /> - <xsd:attribute name="cols" type="xsd:integer" /> - </xsd:complexType> - - <xsd:complexType name="docRowType"> - <xsd:sequence> - <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docEntryType"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="thead" type="DoxBool" /> - </xsd:complexType> - - <xsd:complexType name="docCaptionType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - </xsd:complexType> - - <xsd:complexType name="docHeadingType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 --> - </xsd:complexType> - - <xsd:complexType name="docImageType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="type" type="DoxImageKind" /> - <xsd:attribute name="name" type="xsd:string" /> - <xsd:attribute name="width" type="xsd:string" /> - <xsd:attribute name="height" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docDotFileType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="name" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docTocItemType" mixed="true"> - <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" /> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docTocListType"> - <xsd:sequence> - <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docLanguageType"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="langid" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docParamListType"> - <xsd:sequence> - <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:attribute name="kind" type="DoxParamListKind" /> - </xsd:complexType> - - <xsd:complexType name="docParamListItem"> - <xsd:sequence> - <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="parameterdescription" type="descriptionType" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docParamNameList"> - <xsd:sequence> - <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" /> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="docParamName" mixed="true"> - <xsd:sequence> - <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" /> - </xsd:sequence> - <xsd:attribute name="direction" type="DoxParamDir" use="optional" /> - </xsd:complexType> - - <xsd:complexType name="docXRefSectType"> - <xsd:sequence> - <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="xrefdescription" type="descriptionType" /> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docCopyType"> - <xsd:sequence> - <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" /> - <xsd:element name="internal" type="docInternalType" minOccurs="0" /> - </xsd:sequence> - <xsd:attribute name="link" type="xsd:string" /> - </xsd:complexType> - - <xsd:complexType name="docCharType"> - <xsd:attribute name="char" type="DoxCharRange"/> - </xsd:complexType> - - <xsd:complexType name="docEmptyType"/> - - <!-- Simple types --> - - <xsd:simpleType name="DoxBool"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="yes" /> - <xsd:enumeration value="no" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxGraphRelation"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="include" /> - <xsd:enumeration value="usage" /> - <xsd:enumeration value="template-instance" /> - <xsd:enumeration value="public-inheritance" /> - <xsd:enumeration value="protected-inheritance" /> - <xsd:enumeration value="private-inheritance" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxRefKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="compound" /> - <xsd:enumeration value="member" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxMemberKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="define" /> - <xsd:enumeration value="property" /> - <xsd:enumeration value="event" /> - <xsd:enumeration value="variable" /> - <xsd:enumeration value="typedef" /> - <xsd:enumeration value="enum" /> - <xsd:enumeration value="function" /> - <xsd:enumeration value="signal" /> - <xsd:enumeration value="prototype" /> - <xsd:enumeration value="friend" /> - <xsd:enumeration value="dcop" /> - <xsd:enumeration value="slot" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxProtectionKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="public" /> - <xsd:enumeration value="protected" /> - <xsd:enumeration value="private" /> - <xsd:enumeration value="package" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxVirtualKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="non-virtual" /> - <xsd:enumeration value="virtual" /> - <xsd:enumeration value="pure-virtual" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxCompoundKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="class" /> - <xsd:enumeration value="struct" /> - <xsd:enumeration value="union" /> - <xsd:enumeration value="interface" /> - <xsd:enumeration value="protocol" /> - <xsd:enumeration value="category" /> - <xsd:enumeration value="exception" /> - <xsd:enumeration value="file" /> - <xsd:enumeration value="namespace" /> - <xsd:enumeration value="group" /> - <xsd:enumeration value="page" /> - <xsd:enumeration value="example" /> - <xsd:enumeration value="dir" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxSectionKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="user-defined" /> - <xsd:enumeration value="public-type" /> - <xsd:enumeration value="public-func" /> - <xsd:enumeration value="public-attrib" /> - <xsd:enumeration value="public-slot" /> - <xsd:enumeration value="signal" /> - <xsd:enumeration value="dcop-func" /> - <xsd:enumeration value="property" /> - <xsd:enumeration value="event" /> - <xsd:enumeration value="public-static-func" /> - <xsd:enumeration value="public-static-attrib" /> - <xsd:enumeration value="protected-type" /> - <xsd:enumeration value="protected-func" /> - <xsd:enumeration value="protected-attrib" /> - <xsd:enumeration value="protected-slot" /> - <xsd:enumeration value="protected-static-func" /> - <xsd:enumeration value="protected-static-attrib" /> - <xsd:enumeration value="package-type" /> - <xsd:enumeration value="package-func" /> - <xsd:enumeration value="package-attrib" /> - <xsd:enumeration value="package-static-func" /> - <xsd:enumeration value="package-static-attrib" /> - <xsd:enumeration value="private-type" /> - <xsd:enumeration value="private-func" /> - <xsd:enumeration value="private-attrib" /> - <xsd:enumeration value="private-slot" /> - <xsd:enumeration value="private-static-func" /> - <xsd:enumeration value="private-static-attrib" /> - <xsd:enumeration value="friend" /> - <xsd:enumeration value="related" /> - <xsd:enumeration value="define" /> - <xsd:enumeration value="prototype" /> - <xsd:enumeration value="typedef" /> - <xsd:enumeration value="enum" /> - <xsd:enumeration value="func" /> - <xsd:enumeration value="var" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxHighlightClass"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="comment" /> - <xsd:enumeration value="normal" /> - <xsd:enumeration value="preprocessor" /> - <xsd:enumeration value="keyword" /> - <xsd:enumeration value="keywordtype" /> - <xsd:enumeration value="keywordflow" /> - <xsd:enumeration value="stringliteral" /> - <xsd:enumeration value="charliteral" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxSimpleSectKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="see" /> - <xsd:enumeration value="return" /> - <xsd:enumeration value="author" /> - <xsd:enumeration value="authors" /> - <xsd:enumeration value="version" /> - <xsd:enumeration value="since" /> - <xsd:enumeration value="date" /> - <xsd:enumeration value="note" /> - <xsd:enumeration value="warning" /> - <xsd:enumeration value="pre" /> - <xsd:enumeration value="post" /> - <xsd:enumeration value="invariant" /> - <xsd:enumeration value="remark" /> - <xsd:enumeration value="attention" /> - <xsd:enumeration value="par" /> - <xsd:enumeration value="rcs" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxVersionNumber"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="\d+\.\d+.*" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxImageKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="html" /> - <xsd:enumeration value="latex" /> - <xsd:enumeration value="rtf" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxParamListKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="param" /> - <xsd:enumeration value="retval" /> - <xsd:enumeration value="exception" /> - <xsd:enumeration value="templateparam" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxCharRange"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="[aeiouncAEIOUNC]" /> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxParamDir"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="in"/> - <xsd:enumeration value="out"/> - <xsd:enumeration value="inout"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="DoxAccessor"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="retain"/> - <xsd:enumeration value="copy"/> - <xsd:enumeration value="assign"/> - </xsd:restriction> - </xsd:simpleType> - -</xsd:schema> - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xml b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xml deleted file mode 100644 index 13fd53f900..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version='1.0' encoding='UTF-8' standalone='no'?> -<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.6.3"> - <compound refid="classAadvark" kind="class"><name>Aadvark</name> - <member refid="classAadvark_1ab79eb58d7bb9d5ddfa5d6f783836cab9" kind="variable"><name>aadvarkness</name></member> - <member refid="classAadvark_1abd061aa5f998002e72080a34f512a059" kind="function"><name>print</name></member> - <member refid="classAadvark_1adf1a4b97a641411a74a04ab312484462" kind="function"><name>Aadvark</name></member> - <member refid="classAadvark_1affd2ada0a85807efcbe26615a848f53e" kind="function"><name>get_aadvarkness</name></member> - </compound> - <compound refid="aadvark_8cc" kind="file"><name>aadvark.cc</name> - <member refid="aadvark_8cc_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member> - <member refid="aadvark_8cc_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member> - </compound> - <compound refid="aadvark_8h" kind="file"><name>aadvark.h</name> - <member refid="aadvark_8h_1acb52858524210ec6dddc3e16d1e52946" kind="function"><name>aadvarky_enough</name></member> - <member refid="aadvark_8h_1ae66f6b31b5ad750f1fe042a706a4e3d4" kind="function"><name>main</name></member> - </compound> -</doxygenindex> diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xsd b/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xsd deleted file mode 100644 index bfe960c0fd..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/example/xml/index.xsd +++ /dev/null @@ -1,66 +0,0 @@ -<?xml version='1.0' encoding='utf-8' ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <xsd:element name="doxygenindex" type="DoxygenType"/> - - <xsd:complexType name="DoxygenType"> - <xsd:sequence> - <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="version" type="xsd:string" use="required"/> - </xsd:complexType> - - <xsd:complexType name="CompoundType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="refid" type="xsd:string" use="required"/> - <xsd:attribute name="kind" type="CompoundKind" use="required"/> - </xsd:complexType> - - <xsd:complexType name="MemberType"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="refid" type="xsd:string" use="required"/> - <xsd:attribute name="kind" type="MemberKind" use="required"/> - </xsd:complexType> - - <xsd:simpleType name="CompoundKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="class"/> - <xsd:enumeration value="struct"/> - <xsd:enumeration value="union"/> - <xsd:enumeration value="interface"/> - <xsd:enumeration value="protocol"/> - <xsd:enumeration value="category"/> - <xsd:enumeration value="exception"/> - <xsd:enumeration value="file"/> - <xsd:enumeration value="namespace"/> - <xsd:enumeration value="group"/> - <xsd:enumeration value="page"/> - <xsd:enumeration value="example"/> - <xsd:enumeration value="dir"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="MemberKind"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="define"/> - <xsd:enumeration value="property"/> - <xsd:enumeration value="event"/> - <xsd:enumeration value="variable"/> - <xsd:enumeration value="typedef"/> - <xsd:enumeration value="enum"/> - <xsd:enumeration value="enumvalue"/> - <xsd:enumeration value="function"/> - <xsd:enumeration value="signal"/> - <xsd:enumeration value="prototype"/> - <xsd:enumeration value="friend"/> - <xsd:enumeration value="dcop"/> - <xsd:enumeration value="slot"/> - </xsd:restriction> - </xsd:simpleType> - -</xsd:schema> - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/__init__.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/__init__.py deleted file mode 100644 index 39823979f6..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -""" -Contains generated files produced by generateDS.py. - -These do the real work of parsing the doxygen xml files but the -resultant classes are not very friendly to navigate so the rest of the -doxyxml module processes them further. -""" diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compound.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compound.py deleted file mode 100644 index 1522ac23f1..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compound.py +++ /dev/null @@ -1,503 +0,0 @@ -#!/usr/bin/env python - -""" -Generated Mon Feb 9 19:08:05 2009 by generateDS.py. -""" - -from string import lower as str_lower -from xml.dom import minidom -from xml.dom import Node - -import sys - -import compoundsuper as supermod -from compoundsuper import MixedContainer - - -class DoxygenTypeSub(supermod.DoxygenType): - def __init__(self, version=None, compounddef=None): - supermod.DoxygenType.__init__(self, version, compounddef) - - def find(self, details): - - return self.compounddef.find(details) - -supermod.DoxygenType.subclass = DoxygenTypeSub -# end class DoxygenTypeSub - - -class compounddefTypeSub(supermod.compounddefType): - def __init__(self, kind=None, prot=None, id=None, compoundname='', title='', basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None): - supermod.compounddefType.__init__(self, kind, prot, id, compoundname, title, basecompoundref, derivedcompoundref, includes, includedby, incdepgraph, invincdepgraph, innerdir, innerfile, innerclass, innernamespace, innerpage, innergroup, templateparamlist, sectiondef, briefdescription, detaileddescription, inheritancegraph, collaborationgraph, programlisting, location, listofallmembers) - - def find(self, details): - - if self.id == details.refid: - return self - - for sectiondef in self.sectiondef: - result = sectiondef.find(details) - if result: - return result - - -supermod.compounddefType.subclass = compounddefTypeSub -# end class compounddefTypeSub - - -class listofallmembersTypeSub(supermod.listofallmembersType): - def __init__(self, member=None): - supermod.listofallmembersType.__init__(self, member) -supermod.listofallmembersType.subclass = listofallmembersTypeSub -# end class listofallmembersTypeSub - - -class memberRefTypeSub(supermod.memberRefType): - def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope='', name=''): - supermod.memberRefType.__init__(self, virt, prot, refid, ambiguityscope, scope, name) -supermod.memberRefType.subclass = memberRefTypeSub -# end class memberRefTypeSub - - -class compoundRefTypeSub(supermod.compoundRefType): - def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - supermod.compoundRefType.__init__(self, mixedclass_, content_) -supermod.compoundRefType.subclass = compoundRefTypeSub -# end class compoundRefTypeSub - - -class reimplementTypeSub(supermod.reimplementType): - def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None): - supermod.reimplementType.__init__(self, mixedclass_, content_) -supermod.reimplementType.subclass = reimplementTypeSub -# end class reimplementTypeSub - - -class incTypeSub(supermod.incType): - def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - supermod.incType.__init__(self, mixedclass_, content_) -supermod.incType.subclass = incTypeSub -# end class incTypeSub - - -class refTypeSub(supermod.refType): - def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - supermod.refType.__init__(self, mixedclass_, content_) -supermod.refType.subclass = refTypeSub -# end class refTypeSub - - - -class refTextTypeSub(supermod.refTextType): - def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): - supermod.refTextType.__init__(self, mixedclass_, content_) - -supermod.refTextType.subclass = refTextTypeSub -# end class refTextTypeSub - -class sectiondefTypeSub(supermod.sectiondefType): - - - def __init__(self, kind=None, header='', description=None, memberdef=None): - supermod.sectiondefType.__init__(self, kind, header, description, memberdef) - - def find(self, details): - - for memberdef in self.memberdef: - if memberdef.id == details.refid: - return memberdef - - return None - - -supermod.sectiondefType.subclass = sectiondefTypeSub -# end class sectiondefTypeSub - - -class memberdefTypeSub(supermod.memberdefType): - def __init__(self, initonly=None, kind=None, volatile=None, const=None, raise_=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition='', argsstring='', name='', read='', write='', bitfield='', reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None): - supermod.memberdefType.__init__(self, initonly, kind, volatile, const, raise_, virt, readable, prot, explicit, new, final, writable, add, static, remove, sealed, mutable, gettable, inline, settable, id, templateparamlist, type_, definition, argsstring, name, read, write, bitfield, reimplements, reimplementedby, param, enumvalue, initializer, exceptions, briefdescription, detaileddescription, inbodydescription, location, references, referencedby) -supermod.memberdefType.subclass = memberdefTypeSub -# end class memberdefTypeSub - - -class descriptionTypeSub(supermod.descriptionType): - def __init__(self, title='', para=None, sect1=None, internal=None, mixedclass_=None, content_=None): - supermod.descriptionType.__init__(self, mixedclass_, content_) -supermod.descriptionType.subclass = descriptionTypeSub -# end class descriptionTypeSub - - -class enumvalueTypeSub(supermod.enumvalueType): - def __init__(self, prot=None, id=None, name='', initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None): - supermod.enumvalueType.__init__(self, mixedclass_, content_) -supermod.enumvalueType.subclass = enumvalueTypeSub -# end class enumvalueTypeSub - - -class templateparamlistTypeSub(supermod.templateparamlistType): - def __init__(self, param=None): - supermod.templateparamlistType.__init__(self, param) -supermod.templateparamlistType.subclass = templateparamlistTypeSub -# end class templateparamlistTypeSub - - -class paramTypeSub(supermod.paramType): - def __init__(self, type_=None, declname='', defname='', array='', defval=None, briefdescription=None): - supermod.paramType.__init__(self, type_, declname, defname, array, defval, briefdescription) -supermod.paramType.subclass = paramTypeSub -# end class paramTypeSub - - -class linkedTextTypeSub(supermod.linkedTextType): - def __init__(self, ref=None, mixedclass_=None, content_=None): - supermod.linkedTextType.__init__(self, mixedclass_, content_) -supermod.linkedTextType.subclass = linkedTextTypeSub -# end class linkedTextTypeSub - - -class graphTypeSub(supermod.graphType): - def __init__(self, node=None): - supermod.graphType.__init__(self, node) -supermod.graphType.subclass = graphTypeSub -# end class graphTypeSub - - -class nodeTypeSub(supermod.nodeType): - def __init__(self, id=None, label='', link=None, childnode=None): - supermod.nodeType.__init__(self, id, label, link, childnode) -supermod.nodeType.subclass = nodeTypeSub -# end class nodeTypeSub - - -class childnodeTypeSub(supermod.childnodeType): - def __init__(self, relation=None, refid=None, edgelabel=None): - supermod.childnodeType.__init__(self, relation, refid, edgelabel) -supermod.childnodeType.subclass = childnodeTypeSub -# end class childnodeTypeSub - - -class linkTypeSub(supermod.linkType): - def __init__(self, refid=None, external=None, valueOf_=''): - supermod.linkType.__init__(self, refid, external) -supermod.linkType.subclass = linkTypeSub -# end class linkTypeSub - - -class listingTypeSub(supermod.listingType): - def __init__(self, codeline=None): - supermod.listingType.__init__(self, codeline) -supermod.listingType.subclass = listingTypeSub -# end class listingTypeSub - - -class codelineTypeSub(supermod.codelineType): - def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None): - supermod.codelineType.__init__(self, external, lineno, refkind, refid, highlight) -supermod.codelineType.subclass = codelineTypeSub -# end class codelineTypeSub - - -class highlightTypeSub(supermod.highlightType): - def __init__(self, class_=None, sp=None, ref=None, mixedclass_=None, content_=None): - supermod.highlightType.__init__(self, mixedclass_, content_) -supermod.highlightType.subclass = highlightTypeSub -# end class highlightTypeSub - - -class referenceTypeSub(supermod.referenceType): - def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None): - supermod.referenceType.__init__(self, mixedclass_, content_) -supermod.referenceType.subclass = referenceTypeSub -# end class referenceTypeSub - - -class locationTypeSub(supermod.locationType): - def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''): - supermod.locationType.__init__(self, bodystart, line, bodyend, bodyfile, file) -supermod.locationType.subclass = locationTypeSub -# end class locationTypeSub - - -class docSect1TypeSub(supermod.docSect1Type): - def __init__(self, id=None, title='', para=None, sect2=None, internal=None, mixedclass_=None, content_=None): - supermod.docSect1Type.__init__(self, mixedclass_, content_) -supermod.docSect1Type.subclass = docSect1TypeSub -# end class docSect1TypeSub - - -class docSect2TypeSub(supermod.docSect2Type): - def __init__(self, id=None, title='', para=None, sect3=None, internal=None, mixedclass_=None, content_=None): - supermod.docSect2Type.__init__(self, mixedclass_, content_) -supermod.docSect2Type.subclass = docSect2TypeSub -# end class docSect2TypeSub - - -class docSect3TypeSub(supermod.docSect3Type): - def __init__(self, id=None, title='', para=None, sect4=None, internal=None, mixedclass_=None, content_=None): - supermod.docSect3Type.__init__(self, mixedclass_, content_) -supermod.docSect3Type.subclass = docSect3TypeSub -# end class docSect3TypeSub - - -class docSect4TypeSub(supermod.docSect4Type): - def __init__(self, id=None, title='', para=None, internal=None, mixedclass_=None, content_=None): - supermod.docSect4Type.__init__(self, mixedclass_, content_) -supermod.docSect4Type.subclass = docSect4TypeSub -# end class docSect4TypeSub - - -class docInternalTypeSub(supermod.docInternalType): - def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None): - supermod.docInternalType.__init__(self, mixedclass_, content_) -supermod.docInternalType.subclass = docInternalTypeSub -# end class docInternalTypeSub - - -class docInternalS1TypeSub(supermod.docInternalS1Type): - def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None): - supermod.docInternalS1Type.__init__(self, mixedclass_, content_) -supermod.docInternalS1Type.subclass = docInternalS1TypeSub -# end class docInternalS1TypeSub - - -class docInternalS2TypeSub(supermod.docInternalS2Type): - def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): - supermod.docInternalS2Type.__init__(self, mixedclass_, content_) -supermod.docInternalS2Type.subclass = docInternalS2TypeSub -# end class docInternalS2TypeSub - - -class docInternalS3TypeSub(supermod.docInternalS3Type): - def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): - supermod.docInternalS3Type.__init__(self, mixedclass_, content_) -supermod.docInternalS3Type.subclass = docInternalS3TypeSub -# end class docInternalS3TypeSub - - -class docInternalS4TypeSub(supermod.docInternalS4Type): - def __init__(self, para=None, mixedclass_=None, content_=None): - supermod.docInternalS4Type.__init__(self, mixedclass_, content_) -supermod.docInternalS4Type.subclass = docInternalS4TypeSub -# end class docInternalS4TypeSub - - -class docURLLinkSub(supermod.docURLLink): - def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docURLLink.__init__(self, mixedclass_, content_) -supermod.docURLLink.subclass = docURLLinkSub -# end class docURLLinkSub - - -class docAnchorTypeSub(supermod.docAnchorType): - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docAnchorType.__init__(self, mixedclass_, content_) -supermod.docAnchorType.subclass = docAnchorTypeSub -# end class docAnchorTypeSub - - -class docFormulaTypeSub(supermod.docFormulaType): - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docFormulaType.__init__(self, mixedclass_, content_) -supermod.docFormulaType.subclass = docFormulaTypeSub -# end class docFormulaTypeSub - - -class docIndexEntryTypeSub(supermod.docIndexEntryType): - def __init__(self, primaryie='', secondaryie=''): - supermod.docIndexEntryType.__init__(self, primaryie, secondaryie) -supermod.docIndexEntryType.subclass = docIndexEntryTypeSub -# end class docIndexEntryTypeSub - - -class docListTypeSub(supermod.docListType): - def __init__(self, listitem=None): - supermod.docListType.__init__(self, listitem) -supermod.docListType.subclass = docListTypeSub -# end class docListTypeSub - - -class docListItemTypeSub(supermod.docListItemType): - def __init__(self, para=None): - supermod.docListItemType.__init__(self, para) -supermod.docListItemType.subclass = docListItemTypeSub -# end class docListItemTypeSub - - -class docSimpleSectTypeSub(supermod.docSimpleSectType): - def __init__(self, kind=None, title=None, para=None): - supermod.docSimpleSectType.__init__(self, kind, title, para) -supermod.docSimpleSectType.subclass = docSimpleSectTypeSub -# end class docSimpleSectTypeSub - - -class docVarListEntryTypeSub(supermod.docVarListEntryType): - def __init__(self, term=None): - supermod.docVarListEntryType.__init__(self, term) -supermod.docVarListEntryType.subclass = docVarListEntryTypeSub -# end class docVarListEntryTypeSub - - -class docRefTextTypeSub(supermod.docRefTextType): - def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docRefTextType.__init__(self, mixedclass_, content_) -supermod.docRefTextType.subclass = docRefTextTypeSub -# end class docRefTextTypeSub - - -class docTableTypeSub(supermod.docTableType): - def __init__(self, rows=None, cols=None, row=None, caption=None): - supermod.docTableType.__init__(self, rows, cols, row, caption) -supermod.docTableType.subclass = docTableTypeSub -# end class docTableTypeSub - - -class docRowTypeSub(supermod.docRowType): - def __init__(self, entry=None): - supermod.docRowType.__init__(self, entry) -supermod.docRowType.subclass = docRowTypeSub -# end class docRowTypeSub - - -class docEntryTypeSub(supermod.docEntryType): - def __init__(self, thead=None, para=None): - supermod.docEntryType.__init__(self, thead, para) -supermod.docEntryType.subclass = docEntryTypeSub -# end class docEntryTypeSub - - -class docHeadingTypeSub(supermod.docHeadingType): - def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docHeadingType.__init__(self, mixedclass_, content_) -supermod.docHeadingType.subclass = docHeadingTypeSub -# end class docHeadingTypeSub - - -class docImageTypeSub(supermod.docImageType): - def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docImageType.__init__(self, mixedclass_, content_) -supermod.docImageType.subclass = docImageTypeSub -# end class docImageTypeSub - - -class docDotFileTypeSub(supermod.docDotFileType): - def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docDotFileType.__init__(self, mixedclass_, content_) -supermod.docDotFileType.subclass = docDotFileTypeSub -# end class docDotFileTypeSub - - -class docTocItemTypeSub(supermod.docTocItemType): - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - supermod.docTocItemType.__init__(self, mixedclass_, content_) -supermod.docTocItemType.subclass = docTocItemTypeSub -# end class docTocItemTypeSub - - -class docTocListTypeSub(supermod.docTocListType): - def __init__(self, tocitem=None): - supermod.docTocListType.__init__(self, tocitem) -supermod.docTocListType.subclass = docTocListTypeSub -# end class docTocListTypeSub - - -class docLanguageTypeSub(supermod.docLanguageType): - def __init__(self, langid=None, para=None): - supermod.docLanguageType.__init__(self, langid, para) -supermod.docLanguageType.subclass = docLanguageTypeSub -# end class docLanguageTypeSub - - -class docParamListTypeSub(supermod.docParamListType): - def __init__(self, kind=None, parameteritem=None): - supermod.docParamListType.__init__(self, kind, parameteritem) -supermod.docParamListType.subclass = docParamListTypeSub -# end class docParamListTypeSub - - -class docParamListItemSub(supermod.docParamListItem): - def __init__(self, parameternamelist=None, parameterdescription=None): - supermod.docParamListItem.__init__(self, parameternamelist, parameterdescription) -supermod.docParamListItem.subclass = docParamListItemSub -# end class docParamListItemSub - - -class docParamNameListSub(supermod.docParamNameList): - def __init__(self, parametername=None): - supermod.docParamNameList.__init__(self, parametername) -supermod.docParamNameList.subclass = docParamNameListSub -# end class docParamNameListSub - - -class docParamNameSub(supermod.docParamName): - def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None): - supermod.docParamName.__init__(self, mixedclass_, content_) -supermod.docParamName.subclass = docParamNameSub -# end class docParamNameSub - - -class docXRefSectTypeSub(supermod.docXRefSectType): - def __init__(self, id=None, xreftitle=None, xrefdescription=None): - supermod.docXRefSectType.__init__(self, id, xreftitle, xrefdescription) -supermod.docXRefSectType.subclass = docXRefSectTypeSub -# end class docXRefSectTypeSub - - -class docCopyTypeSub(supermod.docCopyType): - def __init__(self, link=None, para=None, sect1=None, internal=None): - supermod.docCopyType.__init__(self, link, para, sect1, internal) -supermod.docCopyType.subclass = docCopyTypeSub -# end class docCopyTypeSub - - -class docCharTypeSub(supermod.docCharType): - def __init__(self, char=None, valueOf_=''): - supermod.docCharType.__init__(self, char) -supermod.docCharType.subclass = docCharTypeSub -# end class docCharTypeSub - -class docParaTypeSub(supermod.docParaType): - def __init__(self, char=None, valueOf_=''): - supermod.docParaType.__init__(self, char) - - self.parameterlist = [] - self.simplesects = [] - self.content = [] - - def buildChildren(self, child_, nodeName_): - supermod.docParaType.buildChildren(self, child_, nodeName_) - - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == "ref": - obj_ = supermod.docRefTextType.factory() - obj_.build(child_) - self.content.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'parameterlist': - obj_ = supermod.docParamListType.factory() - obj_.build(child_) - self.parameterlist.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'simplesect': - obj_ = supermod.docSimpleSectType.factory() - obj_.build(child_) - self.simplesects.append(obj_) - - -supermod.docParaType.subclass = docParaTypeSub -# end class docParaTypeSub - - - -def parse(inFilename): - doc = minidom.parse(inFilename) - rootNode = doc.documentElement - rootObj = supermod.DoxygenType.factory() - rootObj.build(rootNode) - return rootObj - - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compoundsuper.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compoundsuper.py deleted file mode 100644 index 6255dda163..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/compoundsuper.py +++ /dev/null @@ -1,8342 +0,0 @@ -#!/usr/bin/env python - -# -# Generated Thu Jun 11 18:44:25 2009 by generateDS.py. -# - -import sys -import getopt -from string import lower as str_lower -from xml.dom import minidom -from xml.dom import Node - -# -# User methods -# -# Calls to the methods in these classes are generated by generateDS.py. -# You can replace these methods by re-implementing the following class -# in a module named generatedssuper.py. - -try: - from generatedssuper import GeneratedsSuper -except ImportError, exp: - - class GeneratedsSuper: - def format_string(self, input_data, input_name=''): - return input_data - def format_integer(self, input_data, input_name=''): - return '%d' % input_data - def format_float(self, input_data, input_name=''): - return '%f' % input_data - def format_double(self, input_data, input_name=''): - return '%e' % input_data - def format_boolean(self, input_data, input_name=''): - return '%s' % input_data - - -# -# If you have installed IPython you can uncomment and use the following. -# IPython is available from http://ipython.scipy.org/. -# - -## from IPython.Shell import IPShellEmbed -## args = '' -## ipshell = IPShellEmbed(args, -## banner = 'Dropping into IPython', -## exit_msg = 'Leaving Interpreter, back to program.') - -# Then use the following line where and when you want to drop into the -# IPython shell: -# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit') - -# -# Globals -# - -ExternalEncoding = 'ascii' - -# -# Support/utility functions. -# - -def showIndent(outfile, level): - for idx in range(level): - outfile.write(' ') - -def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or - '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - return s1 - -def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or - '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - if '"' in s1: - if "'" in s1: - s1 = '"%s"' % s1.replace('"', """) - else: - s1 = "'%s'" % s1 - else: - s1 = '"%s"' % s1 - return s1 - -def quote_python(inStr): - s1 = inStr - if s1.find("'") == -1: - if s1.find('\n') == -1: - return "'%s'" % s1 - else: - return "'''%s'''" % s1 - else: - if s1.find('"') != -1: - s1 = s1.replace('"', '\\"') - if s1.find('\n') == -1: - return '"%s"' % s1 - else: - return '"""%s"""' % s1 - - -class MixedContainer: - # Constants for category: - CategoryNone = 0 - CategoryText = 1 - CategorySimple = 2 - CategoryComplex = 3 - # Constants for content_type: - TypeNone = 0 - TypeText = 1 - TypeString = 2 - TypeInteger = 3 - TypeFloat = 4 - TypeDecimal = 5 - TypeDouble = 6 - TypeBoolean = 7 - def __init__(self, category, content_type, name, value): - self.category = category - self.content_type = content_type - self.name = name - self.value = value - def getCategory(self): - return self.category - def getContenttype(self, content_type): - return self.content_type - def getValue(self): - return self.value - def getName(self): - return self.name - def export(self, outfile, level, name, namespace): - if self.category == MixedContainer.CategoryText: - outfile.write(self.value) - elif self.category == MixedContainer.CategorySimple: - self.exportSimple(outfile, level, name) - else: # category == MixedContainer.CategoryComplex - self.value.export(outfile, level, namespace,name) - def exportSimple(self, outfile, level, name): - if self.content_type == MixedContainer.TypeString: - outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeInteger or \ - self.content_type == MixedContainer.TypeBoolean: - outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeFloat or \ - self.content_type == MixedContainer.TypeDecimal: - outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeDouble: - outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name)) - def exportLiteral(self, outfile, level, name): - if self.category == MixedContainer.CategoryText: - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \ - (self.category, self.content_type, self.name, self.value)) - elif self.category == MixedContainer.CategorySimple: - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \ - (self.category, self.content_type, self.name, self.value)) - else: # category == MixedContainer.CategoryComplex - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s",\n' % \ - (self.category, self.content_type, self.name,)) - self.value.exportLiteral(outfile, level + 1) - showIndent(outfile, level) - outfile.write(')\n') - - -class _MemberSpec(object): - def __init__(self, name='', data_type='', container=0): - self.name = name - self.data_type = data_type - self.container = container - def set_name(self, name): self.name = name - def get_name(self): return self.name - def set_data_type(self, data_type): self.data_type = data_type - def get_data_type(self): return self.data_type - def set_container(self, container): self.container = container - def get_container(self): return self.container - - -# -# Data representation classes. -# - -class DoxygenType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, version=None, compounddef=None): - self.version = version - self.compounddef = compounddef - def factory(*args_, **kwargs_): - if DoxygenType.subclass: - return DoxygenType.subclass(*args_, **kwargs_) - else: - return DoxygenType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_compounddef(self): return self.compounddef - def set_compounddef(self, compounddef): self.compounddef = compounddef - def get_version(self): return self.version - def set_version(self, version): self.version = version - def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='DoxygenType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'): - outfile.write(' version=%s' % (quote_attrib(self.version), )) - def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'): - if self.compounddef: - self.compounddef.export(outfile, level, namespace_, name_='compounddef') - def hasContent_(self): - if ( - self.compounddef is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='DoxygenType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.version is not None: - showIndent(outfile, level) - outfile.write('version = "%s",\n' % (self.version,)) - def exportLiteralChildren(self, outfile, level, name_): - if self.compounddef: - showIndent(outfile, level) - outfile.write('compounddef=model_.compounddefType(\n') - self.compounddef.exportLiteral(outfile, level, name_='compounddef') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('version'): - self.version = attrs.get('version').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'compounddef': - obj_ = compounddefType.factory() - obj_.build(child_) - self.set_compounddef(obj_) -# end class DoxygenType - - -class compounddefType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, prot=None, id=None, compoundname=None, title=None, basecompoundref=None, derivedcompoundref=None, includes=None, includedby=None, incdepgraph=None, invincdepgraph=None, innerdir=None, innerfile=None, innerclass=None, innernamespace=None, innerpage=None, innergroup=None, templateparamlist=None, sectiondef=None, briefdescription=None, detaileddescription=None, inheritancegraph=None, collaborationgraph=None, programlisting=None, location=None, listofallmembers=None): - self.kind = kind - self.prot = prot - self.id = id - self.compoundname = compoundname - self.title = title - if basecompoundref is None: - self.basecompoundref = [] - else: - self.basecompoundref = basecompoundref - if derivedcompoundref is None: - self.derivedcompoundref = [] - else: - self.derivedcompoundref = derivedcompoundref - if includes is None: - self.includes = [] - else: - self.includes = includes - if includedby is None: - self.includedby = [] - else: - self.includedby = includedby - self.incdepgraph = incdepgraph - self.invincdepgraph = invincdepgraph - if innerdir is None: - self.innerdir = [] - else: - self.innerdir = innerdir - if innerfile is None: - self.innerfile = [] - else: - self.innerfile = innerfile - if innerclass is None: - self.innerclass = [] - else: - self.innerclass = innerclass - if innernamespace is None: - self.innernamespace = [] - else: - self.innernamespace = innernamespace - if innerpage is None: - self.innerpage = [] - else: - self.innerpage = innerpage - if innergroup is None: - self.innergroup = [] - else: - self.innergroup = innergroup - self.templateparamlist = templateparamlist - if sectiondef is None: - self.sectiondef = [] - else: - self.sectiondef = sectiondef - self.briefdescription = briefdescription - self.detaileddescription = detaileddescription - self.inheritancegraph = inheritancegraph - self.collaborationgraph = collaborationgraph - self.programlisting = programlisting - self.location = location - self.listofallmembers = listofallmembers - def factory(*args_, **kwargs_): - if compounddefType.subclass: - return compounddefType.subclass(*args_, **kwargs_) - else: - return compounddefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_compoundname(self): return self.compoundname - def set_compoundname(self, compoundname): self.compoundname = compoundname - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_basecompoundref(self): return self.basecompoundref - def set_basecompoundref(self, basecompoundref): self.basecompoundref = basecompoundref - def add_basecompoundref(self, value): self.basecompoundref.append(value) - def insert_basecompoundref(self, index, value): self.basecompoundref[index] = value - def get_derivedcompoundref(self): return self.derivedcompoundref - def set_derivedcompoundref(self, derivedcompoundref): self.derivedcompoundref = derivedcompoundref - def add_derivedcompoundref(self, value): self.derivedcompoundref.append(value) - def insert_derivedcompoundref(self, index, value): self.derivedcompoundref[index] = value - def get_includes(self): return self.includes - def set_includes(self, includes): self.includes = includes - def add_includes(self, value): self.includes.append(value) - def insert_includes(self, index, value): self.includes[index] = value - def get_includedby(self): return self.includedby - def set_includedby(self, includedby): self.includedby = includedby - def add_includedby(self, value): self.includedby.append(value) - def insert_includedby(self, index, value): self.includedby[index] = value - def get_incdepgraph(self): return self.incdepgraph - def set_incdepgraph(self, incdepgraph): self.incdepgraph = incdepgraph - def get_invincdepgraph(self): return self.invincdepgraph - def set_invincdepgraph(self, invincdepgraph): self.invincdepgraph = invincdepgraph - def get_innerdir(self): return self.innerdir - def set_innerdir(self, innerdir): self.innerdir = innerdir - def add_innerdir(self, value): self.innerdir.append(value) - def insert_innerdir(self, index, value): self.innerdir[index] = value - def get_innerfile(self): return self.innerfile - def set_innerfile(self, innerfile): self.innerfile = innerfile - def add_innerfile(self, value): self.innerfile.append(value) - def insert_innerfile(self, index, value): self.innerfile[index] = value - def get_innerclass(self): return self.innerclass - def set_innerclass(self, innerclass): self.innerclass = innerclass - def add_innerclass(self, value): self.innerclass.append(value) - def insert_innerclass(self, index, value): self.innerclass[index] = value - def get_innernamespace(self): return self.innernamespace - def set_innernamespace(self, innernamespace): self.innernamespace = innernamespace - def add_innernamespace(self, value): self.innernamespace.append(value) - def insert_innernamespace(self, index, value): self.innernamespace[index] = value - def get_innerpage(self): return self.innerpage - def set_innerpage(self, innerpage): self.innerpage = innerpage - def add_innerpage(self, value): self.innerpage.append(value) - def insert_innerpage(self, index, value): self.innerpage[index] = value - def get_innergroup(self): return self.innergroup - def set_innergroup(self, innergroup): self.innergroup = innergroup - def add_innergroup(self, value): self.innergroup.append(value) - def insert_innergroup(self, index, value): self.innergroup[index] = value - def get_templateparamlist(self): return self.templateparamlist - def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist - def get_sectiondef(self): return self.sectiondef - def set_sectiondef(self, sectiondef): self.sectiondef = sectiondef - def add_sectiondef(self, value): self.sectiondef.append(value) - def insert_sectiondef(self, index, value): self.sectiondef[index] = value - def get_briefdescription(self): return self.briefdescription - def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription - def get_detaileddescription(self): return self.detaileddescription - def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription - def get_inheritancegraph(self): return self.inheritancegraph - def set_inheritancegraph(self, inheritancegraph): self.inheritancegraph = inheritancegraph - def get_collaborationgraph(self): return self.collaborationgraph - def set_collaborationgraph(self, collaborationgraph): self.collaborationgraph = collaborationgraph - def get_programlisting(self): return self.programlisting - def set_programlisting(self, programlisting): self.programlisting = programlisting - def get_location(self): return self.location - def set_location(self, location): self.location = location - def get_listofallmembers(self): return self.listofallmembers - def set_listofallmembers(self, listofallmembers): self.listofallmembers = listofallmembers - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='compounddefType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='compounddefType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='compounddefType'): - if self.kind is not None: - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='compounddefType'): - if self.compoundname is not None: - showIndent(outfile, level) - outfile.write('<%scompoundname>%s</%scompoundname>\n' % (namespace_, self.format_string(quote_xml(self.compoundname).encode(ExternalEncoding), input_name='compoundname'), namespace_)) - if self.title is not None: - showIndent(outfile, level) - outfile.write('<%stitle>%s</%stitle>\n' % (namespace_, self.format_string(quote_xml(self.title).encode(ExternalEncoding), input_name='title'), namespace_)) - for basecompoundref_ in self.basecompoundref: - basecompoundref_.export(outfile, level, namespace_, name_='basecompoundref') - for derivedcompoundref_ in self.derivedcompoundref: - derivedcompoundref_.export(outfile, level, namespace_, name_='derivedcompoundref') - for includes_ in self.includes: - includes_.export(outfile, level, namespace_, name_='includes') - for includedby_ in self.includedby: - includedby_.export(outfile, level, namespace_, name_='includedby') - if self.incdepgraph: - self.incdepgraph.export(outfile, level, namespace_, name_='incdepgraph') - if self.invincdepgraph: - self.invincdepgraph.export(outfile, level, namespace_, name_='invincdepgraph') - for innerdir_ in self.innerdir: - innerdir_.export(outfile, level, namespace_, name_='innerdir') - for innerfile_ in self.innerfile: - innerfile_.export(outfile, level, namespace_, name_='innerfile') - for innerclass_ in self.innerclass: - innerclass_.export(outfile, level, namespace_, name_='innerclass') - for innernamespace_ in self.innernamespace: - innernamespace_.export(outfile, level, namespace_, name_='innernamespace') - for innerpage_ in self.innerpage: - innerpage_.export(outfile, level, namespace_, name_='innerpage') - for innergroup_ in self.innergroup: - innergroup_.export(outfile, level, namespace_, name_='innergroup') - if self.templateparamlist: - self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist') - for sectiondef_ in self.sectiondef: - sectiondef_.export(outfile, level, namespace_, name_='sectiondef') - if self.briefdescription: - self.briefdescription.export(outfile, level, namespace_, name_='briefdescription') - if self.detaileddescription: - self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription') - if self.inheritancegraph: - self.inheritancegraph.export(outfile, level, namespace_, name_='inheritancegraph') - if self.collaborationgraph: - self.collaborationgraph.export(outfile, level, namespace_, name_='collaborationgraph') - if self.programlisting: - self.programlisting.export(outfile, level, namespace_, name_='programlisting') - if self.location: - self.location.export(outfile, level, namespace_, name_='location') - if self.listofallmembers: - self.listofallmembers.export(outfile, level, namespace_, name_='listofallmembers') - def hasContent_(self): - if ( - self.compoundname is not None or - self.title is not None or - self.basecompoundref is not None or - self.derivedcompoundref is not None or - self.includes is not None or - self.includedby is not None or - self.incdepgraph is not None or - self.invincdepgraph is not None or - self.innerdir is not None or - self.innerfile is not None or - self.innerclass is not None or - self.innernamespace is not None or - self.innerpage is not None or - self.innergroup is not None or - self.templateparamlist is not None or - self.sectiondef is not None or - self.briefdescription is not None or - self.detaileddescription is not None or - self.inheritancegraph is not None or - self.collaborationgraph is not None or - self.programlisting is not None or - self.location is not None or - self.listofallmembers is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='compounddefType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('compoundname=%s,\n' % quote_python(self.compoundname).encode(ExternalEncoding)) - if self.title: - showIndent(outfile, level) - outfile.write('title=model_.xsd_string(\n') - self.title.exportLiteral(outfile, level, name_='title') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('basecompoundref=[\n') - level += 1 - for basecompoundref in self.basecompoundref: - showIndent(outfile, level) - outfile.write('model_.basecompoundref(\n') - basecompoundref.exportLiteral(outfile, level, name_='basecompoundref') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('derivedcompoundref=[\n') - level += 1 - for derivedcompoundref in self.derivedcompoundref: - showIndent(outfile, level) - outfile.write('model_.derivedcompoundref(\n') - derivedcompoundref.exportLiteral(outfile, level, name_='derivedcompoundref') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('includes=[\n') - level += 1 - for includes in self.includes: - showIndent(outfile, level) - outfile.write('model_.includes(\n') - includes.exportLiteral(outfile, level, name_='includes') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('includedby=[\n') - level += 1 - for includedby in self.includedby: - showIndent(outfile, level) - outfile.write('model_.includedby(\n') - includedby.exportLiteral(outfile, level, name_='includedby') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.incdepgraph: - showIndent(outfile, level) - outfile.write('incdepgraph=model_.graphType(\n') - self.incdepgraph.exportLiteral(outfile, level, name_='incdepgraph') - showIndent(outfile, level) - outfile.write('),\n') - if self.invincdepgraph: - showIndent(outfile, level) - outfile.write('invincdepgraph=model_.graphType(\n') - self.invincdepgraph.exportLiteral(outfile, level, name_='invincdepgraph') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('innerdir=[\n') - level += 1 - for innerdir in self.innerdir: - showIndent(outfile, level) - outfile.write('model_.innerdir(\n') - innerdir.exportLiteral(outfile, level, name_='innerdir') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('innerfile=[\n') - level += 1 - for innerfile in self.innerfile: - showIndent(outfile, level) - outfile.write('model_.innerfile(\n') - innerfile.exportLiteral(outfile, level, name_='innerfile') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('innerclass=[\n') - level += 1 - for innerclass in self.innerclass: - showIndent(outfile, level) - outfile.write('model_.innerclass(\n') - innerclass.exportLiteral(outfile, level, name_='innerclass') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('innernamespace=[\n') - level += 1 - for innernamespace in self.innernamespace: - showIndent(outfile, level) - outfile.write('model_.innernamespace(\n') - innernamespace.exportLiteral(outfile, level, name_='innernamespace') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('innerpage=[\n') - level += 1 - for innerpage in self.innerpage: - showIndent(outfile, level) - outfile.write('model_.innerpage(\n') - innerpage.exportLiteral(outfile, level, name_='innerpage') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('innergroup=[\n') - level += 1 - for innergroup in self.innergroup: - showIndent(outfile, level) - outfile.write('model_.innergroup(\n') - innergroup.exportLiteral(outfile, level, name_='innergroup') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.templateparamlist: - showIndent(outfile, level) - outfile.write('templateparamlist=model_.templateparamlistType(\n') - self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('sectiondef=[\n') - level += 1 - for sectiondef in self.sectiondef: - showIndent(outfile, level) - outfile.write('model_.sectiondef(\n') - sectiondef.exportLiteral(outfile, level, name_='sectiondef') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.briefdescription: - showIndent(outfile, level) - outfile.write('briefdescription=model_.descriptionType(\n') - self.briefdescription.exportLiteral(outfile, level, name_='briefdescription') - showIndent(outfile, level) - outfile.write('),\n') - if self.detaileddescription: - showIndent(outfile, level) - outfile.write('detaileddescription=model_.descriptionType(\n') - self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription') - showIndent(outfile, level) - outfile.write('),\n') - if self.inheritancegraph: - showIndent(outfile, level) - outfile.write('inheritancegraph=model_.graphType(\n') - self.inheritancegraph.exportLiteral(outfile, level, name_='inheritancegraph') - showIndent(outfile, level) - outfile.write('),\n') - if self.collaborationgraph: - showIndent(outfile, level) - outfile.write('collaborationgraph=model_.graphType(\n') - self.collaborationgraph.exportLiteral(outfile, level, name_='collaborationgraph') - showIndent(outfile, level) - outfile.write('),\n') - if self.programlisting: - showIndent(outfile, level) - outfile.write('programlisting=model_.listingType(\n') - self.programlisting.exportLiteral(outfile, level, name_='programlisting') - showIndent(outfile, level) - outfile.write('),\n') - if self.location: - showIndent(outfile, level) - outfile.write('location=model_.locationType(\n') - self.location.exportLiteral(outfile, level, name_='location') - showIndent(outfile, level) - outfile.write('),\n') - if self.listofallmembers: - showIndent(outfile, level) - outfile.write('listofallmembers=model_.listofallmembersType(\n') - self.listofallmembers.exportLiteral(outfile, level, name_='listofallmembers') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'compoundname': - compoundname_ = '' - for text__content_ in child_.childNodes: - compoundname_ += text__content_.nodeValue - self.compoundname = compoundname_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - obj_ = docTitleType.factory() - obj_.build(child_) - self.set_title(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'basecompoundref': - obj_ = compoundRefType.factory() - obj_.build(child_) - self.basecompoundref.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'derivedcompoundref': - obj_ = compoundRefType.factory() - obj_.build(child_) - self.derivedcompoundref.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'includes': - obj_ = incType.factory() - obj_.build(child_) - self.includes.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'includedby': - obj_ = incType.factory() - obj_.build(child_) - self.includedby.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'incdepgraph': - obj_ = graphType.factory() - obj_.build(child_) - self.set_incdepgraph(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'invincdepgraph': - obj_ = graphType.factory() - obj_.build(child_) - self.set_invincdepgraph(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innerdir': - obj_ = refType.factory() - obj_.build(child_) - self.innerdir.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innerfile': - obj_ = refType.factory() - obj_.build(child_) - self.innerfile.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innerclass': - obj_ = refType.factory() - obj_.build(child_) - self.innerclass.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innernamespace': - obj_ = refType.factory() - obj_.build(child_) - self.innernamespace.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innerpage': - obj_ = refType.factory() - obj_.build(child_) - self.innerpage.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'innergroup': - obj_ = refType.factory() - obj_.build(child_) - self.innergroup.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'templateparamlist': - obj_ = templateparamlistType.factory() - obj_.build(child_) - self.set_templateparamlist(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sectiondef': - obj_ = sectiondefType.factory() - obj_.build(child_) - self.sectiondef.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'briefdescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_briefdescription(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'detaileddescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_detaileddescription(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'inheritancegraph': - obj_ = graphType.factory() - obj_.build(child_) - self.set_inheritancegraph(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'collaborationgraph': - obj_ = graphType.factory() - obj_.build(child_) - self.set_collaborationgraph(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'programlisting': - obj_ = listingType.factory() - obj_.build(child_) - self.set_programlisting(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'location': - obj_ = locationType.factory() - obj_.build(child_) - self.set_location(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'listofallmembers': - obj_ = listofallmembersType.factory() - obj_.build(child_) - self.set_listofallmembers(obj_) -# end class compounddefType - - -class listofallmembersType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, member=None): - if member is None: - self.member = [] - else: - self.member = member - def factory(*args_, **kwargs_): - if listofallmembersType.subclass: - return listofallmembersType.subclass(*args_, **kwargs_) - else: - return listofallmembersType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_member(self): return self.member - def set_member(self, member): self.member = member - def add_member(self, value): self.member.append(value) - def insert_member(self, index, value): self.member[index] = value - def export(self, outfile, level, namespace_='', name_='listofallmembersType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='listofallmembersType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='listofallmembersType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='listofallmembersType'): - for member_ in self.member: - member_.export(outfile, level, namespace_, name_='member') - def hasContent_(self): - if ( - self.member is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='listofallmembersType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('member=[\n') - level += 1 - for member in self.member: - showIndent(outfile, level) - outfile.write('model_.member(\n') - member.exportLiteral(outfile, level, name_='member') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'member': - obj_ = memberRefType.factory() - obj_.build(child_) - self.member.append(obj_) -# end class listofallmembersType - - -class memberRefType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, virt=None, prot=None, refid=None, ambiguityscope=None, scope=None, name=None): - self.virt = virt - self.prot = prot - self.refid = refid - self.ambiguityscope = ambiguityscope - self.scope = scope - self.name = name - def factory(*args_, **kwargs_): - if memberRefType.subclass: - return memberRefType.subclass(*args_, **kwargs_) - else: - return memberRefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_scope(self): return self.scope - def set_scope(self, scope): self.scope = scope - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_virt(self): return self.virt - def set_virt(self, virt): self.virt = virt - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def get_ambiguityscope(self): return self.ambiguityscope - def set_ambiguityscope(self, ambiguityscope): self.ambiguityscope = ambiguityscope - def export(self, outfile, level, namespace_='', name_='memberRefType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='memberRefType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='memberRefType'): - if self.virt is not None: - outfile.write(' virt=%s' % (quote_attrib(self.virt), )) - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - if self.ambiguityscope is not None: - outfile.write(' ambiguityscope=%s' % (self.format_string(quote_attrib(self.ambiguityscope).encode(ExternalEncoding), input_name='ambiguityscope'), )) - def exportChildren(self, outfile, level, namespace_='', name_='memberRefType'): - if self.scope is not None: - showIndent(outfile, level) - outfile.write('<%sscope>%s</%sscope>\n' % (namespace_, self.format_string(quote_xml(self.scope).encode(ExternalEncoding), input_name='scope'), namespace_)) - if self.name is not None: - showIndent(outfile, level) - outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_)) - def hasContent_(self): - if ( - self.scope is not None or - self.name is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='memberRefType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.virt is not None: - showIndent(outfile, level) - outfile.write('virt = "%s",\n' % (self.virt,)) - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - if self.ambiguityscope is not None: - showIndent(outfile, level) - outfile.write('ambiguityscope = %s,\n' % (self.ambiguityscope,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('scope=%s,\n' % quote_python(self.scope).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('virt'): - self.virt = attrs.get('virt').value - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - if attrs.get('ambiguityscope'): - self.ambiguityscope = attrs.get('ambiguityscope').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'scope': - scope_ = '' - for text__content_ in child_.childNodes: - scope_ += text__content_.nodeValue - self.scope = scope_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'name': - name_ = '' - for text__content_ in child_.childNodes: - name_ += text__content_.nodeValue - self.name = name_ -# end class memberRefType - - -class scope(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if scope.subclass: - return scope.subclass(*args_, **kwargs_) - else: - return scope(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='scope', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='scope') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='scope'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='scope'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='scope'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class scope - - -class name(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if name.subclass: - return name.subclass(*args_, **kwargs_) - else: - return name(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='name', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='name') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='name'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='name'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='name'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class name - - -class compoundRefType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, virt=None, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - self.virt = virt - self.prot = prot - self.refid = refid - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if compoundRefType.subclass: - return compoundRefType.subclass(*args_, **kwargs_) - else: - return compoundRefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_virt(self): return self.virt - def set_virt(self, virt): self.virt = virt - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='compoundRefType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='compoundRefType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='compoundRefType'): - if self.virt is not None: - outfile.write(' virt=%s' % (quote_attrib(self.virt), )) - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='compoundRefType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='compoundRefType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.virt is not None: - showIndent(outfile, level) - outfile.write('virt = "%s",\n' % (self.virt,)) - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('virt'): - self.virt = attrs.get('virt').value - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class compoundRefType - - -class reimplementType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, refid=None, valueOf_='', mixedclass_=None, content_=None): - self.refid = refid - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if reimplementType.subclass: - return reimplementType.subclass(*args_, **kwargs_) - else: - return reimplementType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='reimplementType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='reimplementType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='reimplementType'): - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='reimplementType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='reimplementType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class reimplementType - - -class incType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, local=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - self.local = local - self.refid = refid - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if incType.subclass: - return incType.subclass(*args_, **kwargs_) - else: - return incType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_local(self): return self.local - def set_local(self, local): self.local = local - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='incType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='incType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='incType'): - if self.local is not None: - outfile.write(' local=%s' % (quote_attrib(self.local), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='incType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='incType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.local is not None: - showIndent(outfile, level) - outfile.write('local = "%s",\n' % (self.local,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('local'): - self.local = attrs.get('local').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class incType - - -class refType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, prot=None, refid=None, valueOf_='', mixedclass_=None, content_=None): - self.prot = prot - self.refid = refid - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if refType.subclass: - return refType.subclass(*args_, **kwargs_) - else: - return refType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='refType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='refType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='refType'): - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='refType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='refType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class refType - - -class refTextType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): - self.refid = refid - self.kindref = kindref - self.external = external - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if refTextType.subclass: - return refTextType.subclass(*args_, **kwargs_) - else: - return refTextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def get_kindref(self): return self.kindref - def set_kindref(self, kindref): self.kindref = kindref - def get_external(self): return self.external - def set_external(self, external): self.external = external - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='refTextType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='refTextType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='refTextType'): - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - if self.kindref is not None: - outfile.write(' kindref=%s' % (quote_attrib(self.kindref), )) - if self.external is not None: - outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), )) - def exportChildren(self, outfile, level, namespace_='', name_='refTextType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='refTextType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - if self.kindref is not None: - showIndent(outfile, level) - outfile.write('kindref = "%s",\n' % (self.kindref,)) - if self.external is not None: - showIndent(outfile, level) - outfile.write('external = %s,\n' % (self.external,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('refid'): - self.refid = attrs.get('refid').value - if attrs.get('kindref'): - self.kindref = attrs.get('kindref').value - if attrs.get('external'): - self.external = attrs.get('external').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class refTextType - - -class sectiondefType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, header=None, description=None, memberdef=None): - self.kind = kind - self.header = header - self.description = description - if memberdef is None: - self.memberdef = [] - else: - self.memberdef = memberdef - def factory(*args_, **kwargs_): - if sectiondefType.subclass: - return sectiondefType.subclass(*args_, **kwargs_) - else: - return sectiondefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_header(self): return self.header - def set_header(self, header): self.header = header - def get_description(self): return self.description - def set_description(self, description): self.description = description - def get_memberdef(self): return self.memberdef - def set_memberdef(self, memberdef): self.memberdef = memberdef - def add_memberdef(self, value): self.memberdef.append(value) - def insert_memberdef(self, index, value): self.memberdef[index] = value - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def export(self, outfile, level, namespace_='', name_='sectiondefType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='sectiondefType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='sectiondefType'): - if self.kind is not None: - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - def exportChildren(self, outfile, level, namespace_='', name_='sectiondefType'): - if self.header is not None: - showIndent(outfile, level) - outfile.write('<%sheader>%s</%sheader>\n' % (namespace_, self.format_string(quote_xml(self.header).encode(ExternalEncoding), input_name='header'), namespace_)) - if self.description: - self.description.export(outfile, level, namespace_, name_='description') - for memberdef_ in self.memberdef: - memberdef_.export(outfile, level, namespace_, name_='memberdef') - def hasContent_(self): - if ( - self.header is not None or - self.description is not None or - self.memberdef is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='sectiondefType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('header=%s,\n' % quote_python(self.header).encode(ExternalEncoding)) - if self.description: - showIndent(outfile, level) - outfile.write('description=model_.descriptionType(\n') - self.description.exportLiteral(outfile, level, name_='description') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('memberdef=[\n') - level += 1 - for memberdef in self.memberdef: - showIndent(outfile, level) - outfile.write('model_.memberdef(\n') - memberdef.exportLiteral(outfile, level, name_='memberdef') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'header': - header_ = '' - for text__content_ in child_.childNodes: - header_ += text__content_.nodeValue - self.header = header_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'description': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_description(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'memberdef': - obj_ = memberdefType.factory() - obj_.build(child_) - self.memberdef.append(obj_) -# end class sectiondefType - - -class memberdefType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, initonly=None, kind=None, volatile=None, const=None, raisexx=None, virt=None, readable=None, prot=None, explicit=None, new=None, final=None, writable=None, add=None, static=None, remove=None, sealed=None, mutable=None, gettable=None, inline=None, settable=None, id=None, templateparamlist=None, type_=None, definition=None, argsstring=None, name=None, read=None, write=None, bitfield=None, reimplements=None, reimplementedby=None, param=None, enumvalue=None, initializer=None, exceptions=None, briefdescription=None, detaileddescription=None, inbodydescription=None, location=None, references=None, referencedby=None): - self.initonly = initonly - self.kind = kind - self.volatile = volatile - self.const = const - self.raisexx = raisexx - self.virt = virt - self.readable = readable - self.prot = prot - self.explicit = explicit - self.new = new - self.final = final - self.writable = writable - self.add = add - self.static = static - self.remove = remove - self.sealed = sealed - self.mutable = mutable - self.gettable = gettable - self.inline = inline - self.settable = settable - self.id = id - self.templateparamlist = templateparamlist - self.type_ = type_ - self.definition = definition - self.argsstring = argsstring - self.name = name - self.read = read - self.write = write - self.bitfield = bitfield - if reimplements is None: - self.reimplements = [] - else: - self.reimplements = reimplements - if reimplementedby is None: - self.reimplementedby = [] - else: - self.reimplementedby = reimplementedby - if param is None: - self.param = [] - else: - self.param = param - if enumvalue is None: - self.enumvalue = [] - else: - self.enumvalue = enumvalue - self.initializer = initializer - self.exceptions = exceptions - self.briefdescription = briefdescription - self.detaileddescription = detaileddescription - self.inbodydescription = inbodydescription - self.location = location - if references is None: - self.references = [] - else: - self.references = references - if referencedby is None: - self.referencedby = [] - else: - self.referencedby = referencedby - def factory(*args_, **kwargs_): - if memberdefType.subclass: - return memberdefType.subclass(*args_, **kwargs_) - else: - return memberdefType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_templateparamlist(self): return self.templateparamlist - def set_templateparamlist(self, templateparamlist): self.templateparamlist = templateparamlist - def get_type(self): return self.type_ - def set_type(self, type_): self.type_ = type_ - def get_definition(self): return self.definition - def set_definition(self, definition): self.definition = definition - def get_argsstring(self): return self.argsstring - def set_argsstring(self, argsstring): self.argsstring = argsstring - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_read(self): return self.read - def set_read(self, read): self.read = read - def get_write(self): return self.write - def set_write(self, write): self.write = write - def get_bitfield(self): return self.bitfield - def set_bitfield(self, bitfield): self.bitfield = bitfield - def get_reimplements(self): return self.reimplements - def set_reimplements(self, reimplements): self.reimplements = reimplements - def add_reimplements(self, value): self.reimplements.append(value) - def insert_reimplements(self, index, value): self.reimplements[index] = value - def get_reimplementedby(self): return self.reimplementedby - def set_reimplementedby(self, reimplementedby): self.reimplementedby = reimplementedby - def add_reimplementedby(self, value): self.reimplementedby.append(value) - def insert_reimplementedby(self, index, value): self.reimplementedby[index] = value - def get_param(self): return self.param - def set_param(self, param): self.param = param - def add_param(self, value): self.param.append(value) - def insert_param(self, index, value): self.param[index] = value - def get_enumvalue(self): return self.enumvalue - def set_enumvalue(self, enumvalue): self.enumvalue = enumvalue - def add_enumvalue(self, value): self.enumvalue.append(value) - def insert_enumvalue(self, index, value): self.enumvalue[index] = value - def get_initializer(self): return self.initializer - def set_initializer(self, initializer): self.initializer = initializer - def get_exceptions(self): return self.exceptions - def set_exceptions(self, exceptions): self.exceptions = exceptions - def get_briefdescription(self): return self.briefdescription - def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription - def get_detaileddescription(self): return self.detaileddescription - def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription - def get_inbodydescription(self): return self.inbodydescription - def set_inbodydescription(self, inbodydescription): self.inbodydescription = inbodydescription - def get_location(self): return self.location - def set_location(self, location): self.location = location - def get_references(self): return self.references - def set_references(self, references): self.references = references - def add_references(self, value): self.references.append(value) - def insert_references(self, index, value): self.references[index] = value - def get_referencedby(self): return self.referencedby - def set_referencedby(self, referencedby): self.referencedby = referencedby - def add_referencedby(self, value): self.referencedby.append(value) - def insert_referencedby(self, index, value): self.referencedby[index] = value - def get_initonly(self): return self.initonly - def set_initonly(self, initonly): self.initonly = initonly - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def get_volatile(self): return self.volatile - def set_volatile(self, volatile): self.volatile = volatile - def get_const(self): return self.const - def set_const(self, const): self.const = const - def get_raise(self): return self.raisexx - def set_raise(self, raisexx): self.raisexx = raisexx - def get_virt(self): return self.virt - def set_virt(self, virt): self.virt = virt - def get_readable(self): return self.readable - def set_readable(self, readable): self.readable = readable - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_explicit(self): return self.explicit - def set_explicit(self, explicit): self.explicit = explicit - def get_new(self): return self.new - def set_new(self, new): self.new = new - def get_final(self): return self.final - def set_final(self, final): self.final = final - def get_writable(self): return self.writable - def set_writable(self, writable): self.writable = writable - def get_add(self): return self.add - def set_add(self, add): self.add = add - def get_static(self): return self.static - def set_static(self, static): self.static = static - def get_remove(self): return self.remove - def set_remove(self, remove): self.remove = remove - def get_sealed(self): return self.sealed - def set_sealed(self, sealed): self.sealed = sealed - def get_mutable(self): return self.mutable - def set_mutable(self, mutable): self.mutable = mutable - def get_gettable(self): return self.gettable - def set_gettable(self, gettable): self.gettable = gettable - def get_inline(self): return self.inline - def set_inline(self, inline): self.inline = inline - def get_settable(self): return self.settable - def set_settable(self, settable): self.settable = settable - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='memberdefType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='memberdefType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='memberdefType'): - if self.initonly is not None: - outfile.write(' initonly=%s' % (quote_attrib(self.initonly), )) - if self.kind is not None: - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - if self.volatile is not None: - outfile.write(' volatile=%s' % (quote_attrib(self.volatile), )) - if self.const is not None: - outfile.write(' const=%s' % (quote_attrib(self.const), )) - if self.raisexx is not None: - outfile.write(' raise=%s' % (quote_attrib(self.raisexx), )) - if self.virt is not None: - outfile.write(' virt=%s' % (quote_attrib(self.virt), )) - if self.readable is not None: - outfile.write(' readable=%s' % (quote_attrib(self.readable), )) - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.explicit is not None: - outfile.write(' explicit=%s' % (quote_attrib(self.explicit), )) - if self.new is not None: - outfile.write(' new=%s' % (quote_attrib(self.new), )) - if self.final is not None: - outfile.write(' final=%s' % (quote_attrib(self.final), )) - if self.writable is not None: - outfile.write(' writable=%s' % (quote_attrib(self.writable), )) - if self.add is not None: - outfile.write(' add=%s' % (quote_attrib(self.add), )) - if self.static is not None: - outfile.write(' static=%s' % (quote_attrib(self.static), )) - if self.remove is not None: - outfile.write(' remove=%s' % (quote_attrib(self.remove), )) - if self.sealed is not None: - outfile.write(' sealed=%s' % (quote_attrib(self.sealed), )) - if self.mutable is not None: - outfile.write(' mutable=%s' % (quote_attrib(self.mutable), )) - if self.gettable is not None: - outfile.write(' gettable=%s' % (quote_attrib(self.gettable), )) - if self.inline is not None: - outfile.write(' inline=%s' % (quote_attrib(self.inline), )) - if self.settable is not None: - outfile.write(' settable=%s' % (quote_attrib(self.settable), )) - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='memberdefType'): - if self.templateparamlist: - self.templateparamlist.export(outfile, level, namespace_, name_='templateparamlist') - if self.type_: - self.type_.export(outfile, level, namespace_, name_='type') - if self.definition is not None: - showIndent(outfile, level) - outfile.write('<%sdefinition>%s</%sdefinition>\n' % (namespace_, self.format_string(quote_xml(self.definition).encode(ExternalEncoding), input_name='definition'), namespace_)) - if self.argsstring is not None: - showIndent(outfile, level) - outfile.write('<%sargsstring>%s</%sargsstring>\n' % (namespace_, self.format_string(quote_xml(self.argsstring).encode(ExternalEncoding), input_name='argsstring'), namespace_)) - if self.name is not None: - showIndent(outfile, level) - outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_)) - if self.read is not None: - showIndent(outfile, level) - outfile.write('<%sread>%s</%sread>\n' % (namespace_, self.format_string(quote_xml(self.read).encode(ExternalEncoding), input_name='read'), namespace_)) - if self.write is not None: - showIndent(outfile, level) - outfile.write('<%swrite>%s</%swrite>\n' % (namespace_, self.format_string(quote_xml(self.write).encode(ExternalEncoding), input_name='write'), namespace_)) - if self.bitfield is not None: - showIndent(outfile, level) - outfile.write('<%sbitfield>%s</%sbitfield>\n' % (namespace_, self.format_string(quote_xml(self.bitfield).encode(ExternalEncoding), input_name='bitfield'), namespace_)) - for reimplements_ in self.reimplements: - reimplements_.export(outfile, level, namespace_, name_='reimplements') - for reimplementedby_ in self.reimplementedby: - reimplementedby_.export(outfile, level, namespace_, name_='reimplementedby') - for param_ in self.param: - param_.export(outfile, level, namespace_, name_='param') - for enumvalue_ in self.enumvalue: - enumvalue_.export(outfile, level, namespace_, name_='enumvalue') - if self.initializer: - self.initializer.export(outfile, level, namespace_, name_='initializer') - if self.exceptions: - self.exceptions.export(outfile, level, namespace_, name_='exceptions') - if self.briefdescription: - self.briefdescription.export(outfile, level, namespace_, name_='briefdescription') - if self.detaileddescription: - self.detaileddescription.export(outfile, level, namespace_, name_='detaileddescription') - if self.inbodydescription: - self.inbodydescription.export(outfile, level, namespace_, name_='inbodydescription') - if self.location: - self.location.export(outfile, level, namespace_, name_='location', ) - for references_ in self.references: - references_.export(outfile, level, namespace_, name_='references') - for referencedby_ in self.referencedby: - referencedby_.export(outfile, level, namespace_, name_='referencedby') - def hasContent_(self): - if ( - self.templateparamlist is not None or - self.type_ is not None or - self.definition is not None or - self.argsstring is not None or - self.name is not None or - self.read is not None or - self.write is not None or - self.bitfield is not None or - self.reimplements is not None or - self.reimplementedby is not None or - self.param is not None or - self.enumvalue is not None or - self.initializer is not None or - self.exceptions is not None or - self.briefdescription is not None or - self.detaileddescription is not None or - self.inbodydescription is not None or - self.location is not None or - self.references is not None or - self.referencedby is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='memberdefType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.initonly is not None: - showIndent(outfile, level) - outfile.write('initonly = "%s",\n' % (self.initonly,)) - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - if self.volatile is not None: - showIndent(outfile, level) - outfile.write('volatile = "%s",\n' % (self.volatile,)) - if self.const is not None: - showIndent(outfile, level) - outfile.write('const = "%s",\n' % (self.const,)) - if self.raisexx is not None: - showIndent(outfile, level) - outfile.write('raisexx = "%s",\n' % (self.raisexx,)) - if self.virt is not None: - showIndent(outfile, level) - outfile.write('virt = "%s",\n' % (self.virt,)) - if self.readable is not None: - showIndent(outfile, level) - outfile.write('readable = "%s",\n' % (self.readable,)) - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.explicit is not None: - showIndent(outfile, level) - outfile.write('explicit = "%s",\n' % (self.explicit,)) - if self.new is not None: - showIndent(outfile, level) - outfile.write('new = "%s",\n' % (self.new,)) - if self.final is not None: - showIndent(outfile, level) - outfile.write('final = "%s",\n' % (self.final,)) - if self.writable is not None: - showIndent(outfile, level) - outfile.write('writable = "%s",\n' % (self.writable,)) - if self.add is not None: - showIndent(outfile, level) - outfile.write('add = "%s",\n' % (self.add,)) - if self.static is not None: - showIndent(outfile, level) - outfile.write('static = "%s",\n' % (self.static,)) - if self.remove is not None: - showIndent(outfile, level) - outfile.write('remove = "%s",\n' % (self.remove,)) - if self.sealed is not None: - showIndent(outfile, level) - outfile.write('sealed = "%s",\n' % (self.sealed,)) - if self.mutable is not None: - showIndent(outfile, level) - outfile.write('mutable = "%s",\n' % (self.mutable,)) - if self.gettable is not None: - showIndent(outfile, level) - outfile.write('gettable = "%s",\n' % (self.gettable,)) - if self.inline is not None: - showIndent(outfile, level) - outfile.write('inline = "%s",\n' % (self.inline,)) - if self.settable is not None: - showIndent(outfile, level) - outfile.write('settable = "%s",\n' % (self.settable,)) - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - if self.templateparamlist: - showIndent(outfile, level) - outfile.write('templateparamlist=model_.templateparamlistType(\n') - self.templateparamlist.exportLiteral(outfile, level, name_='templateparamlist') - showIndent(outfile, level) - outfile.write('),\n') - if self.type_: - showIndent(outfile, level) - outfile.write('type_=model_.linkedTextType(\n') - self.type_.exportLiteral(outfile, level, name_='type') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('definition=%s,\n' % quote_python(self.definition).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('argsstring=%s,\n' % quote_python(self.argsstring).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('read=%s,\n' % quote_python(self.read).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('write=%s,\n' % quote_python(self.write).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('bitfield=%s,\n' % quote_python(self.bitfield).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('reimplements=[\n') - level += 1 - for reimplements in self.reimplements: - showIndent(outfile, level) - outfile.write('model_.reimplements(\n') - reimplements.exportLiteral(outfile, level, name_='reimplements') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('reimplementedby=[\n') - level += 1 - for reimplementedby in self.reimplementedby: - showIndent(outfile, level) - outfile.write('model_.reimplementedby(\n') - reimplementedby.exportLiteral(outfile, level, name_='reimplementedby') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('param=[\n') - level += 1 - for param in self.param: - showIndent(outfile, level) - outfile.write('model_.param(\n') - param.exportLiteral(outfile, level, name_='param') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('enumvalue=[\n') - level += 1 - for enumvalue in self.enumvalue: - showIndent(outfile, level) - outfile.write('model_.enumvalue(\n') - enumvalue.exportLiteral(outfile, level, name_='enumvalue') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.initializer: - showIndent(outfile, level) - outfile.write('initializer=model_.linkedTextType(\n') - self.initializer.exportLiteral(outfile, level, name_='initializer') - showIndent(outfile, level) - outfile.write('),\n') - if self.exceptions: - showIndent(outfile, level) - outfile.write('exceptions=model_.linkedTextType(\n') - self.exceptions.exportLiteral(outfile, level, name_='exceptions') - showIndent(outfile, level) - outfile.write('),\n') - if self.briefdescription: - showIndent(outfile, level) - outfile.write('briefdescription=model_.descriptionType(\n') - self.briefdescription.exportLiteral(outfile, level, name_='briefdescription') - showIndent(outfile, level) - outfile.write('),\n') - if self.detaileddescription: - showIndent(outfile, level) - outfile.write('detaileddescription=model_.descriptionType(\n') - self.detaileddescription.exportLiteral(outfile, level, name_='detaileddescription') - showIndent(outfile, level) - outfile.write('),\n') - if self.inbodydescription: - showIndent(outfile, level) - outfile.write('inbodydescription=model_.descriptionType(\n') - self.inbodydescription.exportLiteral(outfile, level, name_='inbodydescription') - showIndent(outfile, level) - outfile.write('),\n') - if self.location: - showIndent(outfile, level) - outfile.write('location=model_.locationType(\n') - self.location.exportLiteral(outfile, level, name_='location') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('references=[\n') - level += 1 - for references in self.references: - showIndent(outfile, level) - outfile.write('model_.references(\n') - references.exportLiteral(outfile, level, name_='references') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('referencedby=[\n') - level += 1 - for referencedby in self.referencedby: - showIndent(outfile, level) - outfile.write('model_.referencedby(\n') - referencedby.exportLiteral(outfile, level, name_='referencedby') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('initonly'): - self.initonly = attrs.get('initonly').value - if attrs.get('kind'): - self.kind = attrs.get('kind').value - if attrs.get('volatile'): - self.volatile = attrs.get('volatile').value - if attrs.get('const'): - self.const = attrs.get('const').value - if attrs.get('raise'): - self.raisexx = attrs.get('raise').value - if attrs.get('virt'): - self.virt = attrs.get('virt').value - if attrs.get('readable'): - self.readable = attrs.get('readable').value - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('explicit'): - self.explicit = attrs.get('explicit').value - if attrs.get('new'): - self.new = attrs.get('new').value - if attrs.get('final'): - self.final = attrs.get('final').value - if attrs.get('writable'): - self.writable = attrs.get('writable').value - if attrs.get('add'): - self.add = attrs.get('add').value - if attrs.get('static'): - self.static = attrs.get('static').value - if attrs.get('remove'): - self.remove = attrs.get('remove').value - if attrs.get('sealed'): - self.sealed = attrs.get('sealed').value - if attrs.get('mutable'): - self.mutable = attrs.get('mutable').value - if attrs.get('gettable'): - self.gettable = attrs.get('gettable').value - if attrs.get('inline'): - self.inline = attrs.get('inline').value - if attrs.get('settable'): - self.settable = attrs.get('settable').value - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'templateparamlist': - obj_ = templateparamlistType.factory() - obj_.build(child_) - self.set_templateparamlist(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'type': - obj_ = linkedTextType.factory() - obj_.build(child_) - self.set_type(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'definition': - definition_ = '' - for text__content_ in child_.childNodes: - definition_ += text__content_.nodeValue - self.definition = definition_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'argsstring': - argsstring_ = '' - for text__content_ in child_.childNodes: - argsstring_ += text__content_.nodeValue - self.argsstring = argsstring_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'name': - name_ = '' - for text__content_ in child_.childNodes: - name_ += text__content_.nodeValue - self.name = name_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'read': - read_ = '' - for text__content_ in child_.childNodes: - read_ += text__content_.nodeValue - self.read = read_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'write': - write_ = '' - for text__content_ in child_.childNodes: - write_ += text__content_.nodeValue - self.write = write_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'bitfield': - bitfield_ = '' - for text__content_ in child_.childNodes: - bitfield_ += text__content_.nodeValue - self.bitfield = bitfield_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'reimplements': - obj_ = reimplementType.factory() - obj_.build(child_) - self.reimplements.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'reimplementedby': - obj_ = reimplementType.factory() - obj_.build(child_) - self.reimplementedby.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'param': - obj_ = paramType.factory() - obj_.build(child_) - self.param.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'enumvalue': - obj_ = enumvalueType.factory() - obj_.build(child_) - self.enumvalue.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'initializer': - obj_ = linkedTextType.factory() - obj_.build(child_) - self.set_initializer(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'exceptions': - obj_ = linkedTextType.factory() - obj_.build(child_) - self.set_exceptions(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'briefdescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_briefdescription(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'detaileddescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_detaileddescription(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'inbodydescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_inbodydescription(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'location': - obj_ = locationType.factory() - obj_.build(child_) - self.set_location(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'references': - obj_ = referenceType.factory() - obj_.build(child_) - self.references.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'referencedby': - obj_ = referenceType.factory() - obj_.build(child_) - self.referencedby.append(obj_) -# end class memberdefType - - -class definition(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if definition.subclass: - return definition.subclass(*args_, **kwargs_) - else: - return definition(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='definition', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='definition') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='definition'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='definition'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='definition'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class definition - - -class argsstring(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if argsstring.subclass: - return argsstring.subclass(*args_, **kwargs_) - else: - return argsstring(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='argsstring', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='argsstring') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='argsstring'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='argsstring'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='argsstring'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class argsstring - - -class read(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if read.subclass: - return read.subclass(*args_, **kwargs_) - else: - return read(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='read', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='read') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='read'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='read'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='read'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class read - - -class write(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if write.subclass: - return write.subclass(*args_, **kwargs_) - else: - return write(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='write', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='write') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='write'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='write'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='write'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class write - - -class bitfield(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if bitfield.subclass: - return bitfield.subclass(*args_, **kwargs_) - else: - return bitfield(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='bitfield', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='bitfield') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='bitfield'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='bitfield'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='bitfield'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class bitfield - - -class descriptionType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, title=None, para=None, sect1=None, internal=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if descriptionType.subclass: - return descriptionType.subclass(*args_, **kwargs_) - else: - return descriptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect1(self): return self.sect1 - def set_sect1(self, sect1): self.sect1 = sect1 - def add_sect1(self, value): self.sect1.append(value) - def insert_sect1(self, index, value): self.sect1[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def export(self, outfile, level, namespace_='', name_='descriptionType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='descriptionType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='descriptionType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='descriptionType'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.title is not None or - self.para is not None or - self.sect1 is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='descriptionType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - childobj_ = docTitleType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'title', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect1': - childobj_ = docSect1Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect1', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - childobj_ = docInternalType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'internal', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class descriptionType - - -class enumvalueType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, prot=None, id=None, name=None, initializer=None, briefdescription=None, detaileddescription=None, mixedclass_=None, content_=None): - self.prot = prot - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if enumvalueType.subclass: - return enumvalueType.subclass(*args_, **kwargs_) - else: - return enumvalueType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_initializer(self): return self.initializer - def set_initializer(self, initializer): self.initializer = initializer - def get_briefdescription(self): return self.briefdescription - def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription - def get_detaileddescription(self): return self.detaileddescription - def set_detaileddescription(self, detaileddescription): self.detaileddescription = detaileddescription - def get_prot(self): return self.prot - def set_prot(self, prot): self.prot = prot - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='enumvalueType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='enumvalueType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='enumvalueType'): - if self.prot is not None: - outfile.write(' prot=%s' % (quote_attrib(self.prot), )) - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='enumvalueType'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.name is not None or - self.initializer is not None or - self.briefdescription is not None or - self.detaileddescription is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='enumvalueType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.prot is not None: - showIndent(outfile, level) - outfile.write('prot = "%s",\n' % (self.prot,)) - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('prot'): - self.prot = attrs.get('prot').value - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'name': - value_ = [] - for text_ in child_.childNodes: - value_.append(text_.nodeValue) - valuestr_ = ''.join(value_) - obj_ = self.mixedclass_(MixedContainer.CategorySimple, - MixedContainer.TypeString, 'name', valuestr_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'initializer': - childobj_ = linkedTextType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'initializer', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'briefdescription': - childobj_ = descriptionType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'briefdescription', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'detaileddescription': - childobj_ = descriptionType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'detaileddescription', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class enumvalueType - - -class templateparamlistType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, param=None): - if param is None: - self.param = [] - else: - self.param = param - def factory(*args_, **kwargs_): - if templateparamlistType.subclass: - return templateparamlistType.subclass(*args_, **kwargs_) - else: - return templateparamlistType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_param(self): return self.param - def set_param(self, param): self.param = param - def add_param(self, value): self.param.append(value) - def insert_param(self, index, value): self.param[index] = value - def export(self, outfile, level, namespace_='', name_='templateparamlistType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='templateparamlistType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='templateparamlistType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='templateparamlistType'): - for param_ in self.param: - param_.export(outfile, level, namespace_, name_='param') - def hasContent_(self): - if ( - self.param is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='templateparamlistType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('param=[\n') - level += 1 - for param in self.param: - showIndent(outfile, level) - outfile.write('model_.param(\n') - param.exportLiteral(outfile, level, name_='param') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'param': - obj_ = paramType.factory() - obj_.build(child_) - self.param.append(obj_) -# end class templateparamlistType - - -class paramType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, type_=None, declname=None, defname=None, array=None, defval=None, briefdescription=None): - self.type_ = type_ - self.declname = declname - self.defname = defname - self.array = array - self.defval = defval - self.briefdescription = briefdescription - def factory(*args_, **kwargs_): - if paramType.subclass: - return paramType.subclass(*args_, **kwargs_) - else: - return paramType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_type(self): return self.type_ - def set_type(self, type_): self.type_ = type_ - def get_declname(self): return self.declname - def set_declname(self, declname): self.declname = declname - def get_defname(self): return self.defname - def set_defname(self, defname): self.defname = defname - def get_array(self): return self.array - def set_array(self, array): self.array = array - def get_defval(self): return self.defval - def set_defval(self, defval): self.defval = defval - def get_briefdescription(self): return self.briefdescription - def set_briefdescription(self, briefdescription): self.briefdescription = briefdescription - def export(self, outfile, level, namespace_='', name_='paramType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='paramType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='paramType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='paramType'): - if self.type_: - self.type_.export(outfile, level, namespace_, name_='type') - if self.declname is not None: - showIndent(outfile, level) - outfile.write('<%sdeclname>%s</%sdeclname>\n' % (namespace_, self.format_string(quote_xml(self.declname).encode(ExternalEncoding), input_name='declname'), namespace_)) - if self.defname is not None: - showIndent(outfile, level) - outfile.write('<%sdefname>%s</%sdefname>\n' % (namespace_, self.format_string(quote_xml(self.defname).encode(ExternalEncoding), input_name='defname'), namespace_)) - if self.array is not None: - showIndent(outfile, level) - outfile.write('<%sarray>%s</%sarray>\n' % (namespace_, self.format_string(quote_xml(self.array).encode(ExternalEncoding), input_name='array'), namespace_)) - if self.defval: - self.defval.export(outfile, level, namespace_, name_='defval') - if self.briefdescription: - self.briefdescription.export(outfile, level, namespace_, name_='briefdescription') - def hasContent_(self): - if ( - self.type_ is not None or - self.declname is not None or - self.defname is not None or - self.array is not None or - self.defval is not None or - self.briefdescription is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='paramType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - if self.type_: - showIndent(outfile, level) - outfile.write('type_=model_.linkedTextType(\n') - self.type_.exportLiteral(outfile, level, name_='type') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('declname=%s,\n' % quote_python(self.declname).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('defname=%s,\n' % quote_python(self.defname).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('array=%s,\n' % quote_python(self.array).encode(ExternalEncoding)) - if self.defval: - showIndent(outfile, level) - outfile.write('defval=model_.linkedTextType(\n') - self.defval.exportLiteral(outfile, level, name_='defval') - showIndent(outfile, level) - outfile.write('),\n') - if self.briefdescription: - showIndent(outfile, level) - outfile.write('briefdescription=model_.descriptionType(\n') - self.briefdescription.exportLiteral(outfile, level, name_='briefdescription') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'type': - obj_ = linkedTextType.factory() - obj_.build(child_) - self.set_type(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'declname': - declname_ = '' - for text__content_ in child_.childNodes: - declname_ += text__content_.nodeValue - self.declname = declname_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'defname': - defname_ = '' - for text__content_ in child_.childNodes: - defname_ += text__content_.nodeValue - self.defname = defname_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'array': - array_ = '' - for text__content_ in child_.childNodes: - array_ += text__content_.nodeValue - self.array = array_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'defval': - obj_ = linkedTextType.factory() - obj_.build(child_) - self.set_defval(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'briefdescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_briefdescription(obj_) -# end class paramType - - -class declname(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if declname.subclass: - return declname.subclass(*args_, **kwargs_) - else: - return declname(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='declname', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='declname') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='declname'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='declname'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='declname'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class declname - - -class defname(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if defname.subclass: - return defname.subclass(*args_, **kwargs_) - else: - return defname(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='defname', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='defname') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='defname'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='defname'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='defname'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class defname - - -class array(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if array.subclass: - return array.subclass(*args_, **kwargs_) - else: - return array(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='array', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='array') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='array'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='array'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='array'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class array - - -class linkedTextType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, ref=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if linkedTextType.subclass: - return linkedTextType.subclass(*args_, **kwargs_) - else: - return linkedTextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ref(self): return self.ref - def set_ref(self, ref): self.ref = ref - def add_ref(self, value): self.ref.append(value) - def insert_ref(self, index, value): self.ref[index] = value - def export(self, outfile, level, namespace_='', name_='linkedTextType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='linkedTextType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='linkedTextType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='linkedTextType'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.ref is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='linkedTextType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'ref': - childobj_ = docRefTextType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'ref', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class linkedTextType - - -class graphType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, node=None): - if node is None: - self.node = [] - else: - self.node = node - def factory(*args_, **kwargs_): - if graphType.subclass: - return graphType.subclass(*args_, **kwargs_) - else: - return graphType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_node(self): return self.node - def set_node(self, node): self.node = node - def add_node(self, value): self.node.append(value) - def insert_node(self, index, value): self.node[index] = value - def export(self, outfile, level, namespace_='', name_='graphType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='graphType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='graphType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='graphType'): - for node_ in self.node: - node_.export(outfile, level, namespace_, name_='node') - def hasContent_(self): - if ( - self.node is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='graphType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('node=[\n') - level += 1 - for node in self.node: - showIndent(outfile, level) - outfile.write('model_.node(\n') - node.exportLiteral(outfile, level, name_='node') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'node': - obj_ = nodeType.factory() - obj_.build(child_) - self.node.append(obj_) -# end class graphType - - -class nodeType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, label=None, link=None, childnode=None): - self.id = id - self.label = label - self.link = link - if childnode is None: - self.childnode = [] - else: - self.childnode = childnode - def factory(*args_, **kwargs_): - if nodeType.subclass: - return nodeType.subclass(*args_, **kwargs_) - else: - return nodeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_label(self): return self.label - def set_label(self, label): self.label = label - def get_link(self): return self.link - def set_link(self, link): self.link = link - def get_childnode(self): return self.childnode - def set_childnode(self, childnode): self.childnode = childnode - def add_childnode(self, value): self.childnode.append(value) - def insert_childnode(self, index, value): self.childnode[index] = value - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='nodeType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='nodeType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='nodeType'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='nodeType'): - if self.label is not None: - showIndent(outfile, level) - outfile.write('<%slabel>%s</%slabel>\n' % (namespace_, self.format_string(quote_xml(self.label).encode(ExternalEncoding), input_name='label'), namespace_)) - if self.link: - self.link.export(outfile, level, namespace_, name_='link') - for childnode_ in self.childnode: - childnode_.export(outfile, level, namespace_, name_='childnode') - def hasContent_(self): - if ( - self.label is not None or - self.link is not None or - self.childnode is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='nodeType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('label=%s,\n' % quote_python(self.label).encode(ExternalEncoding)) - if self.link: - showIndent(outfile, level) - outfile.write('link=model_.linkType(\n') - self.link.exportLiteral(outfile, level, name_='link') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('childnode=[\n') - level += 1 - for childnode in self.childnode: - showIndent(outfile, level) - outfile.write('model_.childnode(\n') - childnode.exportLiteral(outfile, level, name_='childnode') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'label': - label_ = '' - for text__content_ in child_.childNodes: - label_ += text__content_.nodeValue - self.label = label_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'link': - obj_ = linkType.factory() - obj_.build(child_) - self.set_link(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'childnode': - obj_ = childnodeType.factory() - obj_.build(child_) - self.childnode.append(obj_) -# end class nodeType - - -class label(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if label.subclass: - return label.subclass(*args_, **kwargs_) - else: - return label(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='label', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='label') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='label'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='label'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='label'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class label - - -class childnodeType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, relation=None, refid=None, edgelabel=None): - self.relation = relation - self.refid = refid - if edgelabel is None: - self.edgelabel = [] - else: - self.edgelabel = edgelabel - def factory(*args_, **kwargs_): - if childnodeType.subclass: - return childnodeType.subclass(*args_, **kwargs_) - else: - return childnodeType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_edgelabel(self): return self.edgelabel - def set_edgelabel(self, edgelabel): self.edgelabel = edgelabel - def add_edgelabel(self, value): self.edgelabel.append(value) - def insert_edgelabel(self, index, value): self.edgelabel[index] = value - def get_relation(self): return self.relation - def set_relation(self, relation): self.relation = relation - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def export(self, outfile, level, namespace_='', name_='childnodeType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='childnodeType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='childnodeType'): - if self.relation is not None: - outfile.write(' relation=%s' % (quote_attrib(self.relation), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='childnodeType'): - for edgelabel_ in self.edgelabel: - showIndent(outfile, level) - outfile.write('<%sedgelabel>%s</%sedgelabel>\n' % (namespace_, self.format_string(quote_xml(edgelabel_).encode(ExternalEncoding), input_name='edgelabel'), namespace_)) - def hasContent_(self): - if ( - self.edgelabel is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='childnodeType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.relation is not None: - showIndent(outfile, level) - outfile.write('relation = "%s",\n' % (self.relation,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('edgelabel=[\n') - level += 1 - for edgelabel in self.edgelabel: - showIndent(outfile, level) - outfile.write('%s,\n' % quote_python(edgelabel).encode(ExternalEncoding)) - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('relation'): - self.relation = attrs.get('relation').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'edgelabel': - edgelabel_ = '' - for text__content_ in child_.childNodes: - edgelabel_ += text__content_.nodeValue - self.edgelabel.append(edgelabel_) -# end class childnodeType - - -class edgelabel(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if edgelabel.subclass: - return edgelabel.subclass(*args_, **kwargs_) - else: - return edgelabel(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='edgelabel', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='edgelabel') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='edgelabel'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='edgelabel'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='edgelabel'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class edgelabel - - -class linkType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, refid=None, external=None, valueOf_=''): - self.refid = refid - self.external = external - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if linkType.subclass: - return linkType.subclass(*args_, **kwargs_) - else: - return linkType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def get_external(self): return self.external - def set_external(self, external): self.external = external - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='linkType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='linkType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='linkType'): - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - if self.external is not None: - outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), )) - def exportChildren(self, outfile, level, namespace_='', name_='linkType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='linkType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - if self.external is not None: - showIndent(outfile, level) - outfile.write('external = %s,\n' % (self.external,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('refid'): - self.refid = attrs.get('refid').value - if attrs.get('external'): - self.external = attrs.get('external').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class linkType - - -class listingType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, codeline=None): - if codeline is None: - self.codeline = [] - else: - self.codeline = codeline - def factory(*args_, **kwargs_): - if listingType.subclass: - return listingType.subclass(*args_, **kwargs_) - else: - return listingType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_codeline(self): return self.codeline - def set_codeline(self, codeline): self.codeline = codeline - def add_codeline(self, value): self.codeline.append(value) - def insert_codeline(self, index, value): self.codeline[index] = value - def export(self, outfile, level, namespace_='', name_='listingType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='listingType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='listingType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='listingType'): - for codeline_ in self.codeline: - codeline_.export(outfile, level, namespace_, name_='codeline') - def hasContent_(self): - if ( - self.codeline is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='listingType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('codeline=[\n') - level += 1 - for codeline in self.codeline: - showIndent(outfile, level) - outfile.write('model_.codeline(\n') - codeline.exportLiteral(outfile, level, name_='codeline') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'codeline': - obj_ = codelineType.factory() - obj_.build(child_) - self.codeline.append(obj_) -# end class listingType - - -class codelineType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, external=None, lineno=None, refkind=None, refid=None, highlight=None): - self.external = external - self.lineno = lineno - self.refkind = refkind - self.refid = refid - if highlight is None: - self.highlight = [] - else: - self.highlight = highlight - def factory(*args_, **kwargs_): - if codelineType.subclass: - return codelineType.subclass(*args_, **kwargs_) - else: - return codelineType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_highlight(self): return self.highlight - def set_highlight(self, highlight): self.highlight = highlight - def add_highlight(self, value): self.highlight.append(value) - def insert_highlight(self, index, value): self.highlight[index] = value - def get_external(self): return self.external - def set_external(self, external): self.external = external - def get_lineno(self): return self.lineno - def set_lineno(self, lineno): self.lineno = lineno - def get_refkind(self): return self.refkind - def set_refkind(self, refkind): self.refkind = refkind - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def export(self, outfile, level, namespace_='', name_='codelineType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='codelineType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='codelineType'): - if self.external is not None: - outfile.write(' external=%s' % (quote_attrib(self.external), )) - if self.lineno is not None: - outfile.write(' lineno="%s"' % self.format_integer(self.lineno, input_name='lineno')) - if self.refkind is not None: - outfile.write(' refkind=%s' % (quote_attrib(self.refkind), )) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='codelineType'): - for highlight_ in self.highlight: - highlight_.export(outfile, level, namespace_, name_='highlight') - def hasContent_(self): - if ( - self.highlight is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='codelineType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.external is not None: - showIndent(outfile, level) - outfile.write('external = "%s",\n' % (self.external,)) - if self.lineno is not None: - showIndent(outfile, level) - outfile.write('lineno = %s,\n' % (self.lineno,)) - if self.refkind is not None: - showIndent(outfile, level) - outfile.write('refkind = "%s",\n' % (self.refkind,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('highlight=[\n') - level += 1 - for highlight in self.highlight: - showIndent(outfile, level) - outfile.write('model_.highlight(\n') - highlight.exportLiteral(outfile, level, name_='highlight') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('external'): - self.external = attrs.get('external').value - if attrs.get('lineno'): - try: - self.lineno = int(attrs.get('lineno').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (lineno): %s' % exp) - if attrs.get('refkind'): - self.refkind = attrs.get('refkind').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'highlight': - obj_ = highlightType.factory() - obj_.build(child_) - self.highlight.append(obj_) -# end class codelineType - - -class highlightType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, classxx=None, sp=None, ref=None, mixedclass_=None, content_=None): - self.classxx = classxx - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if highlightType.subclass: - return highlightType.subclass(*args_, **kwargs_) - else: - return highlightType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_sp(self): return self.sp - def set_sp(self, sp): self.sp = sp - def add_sp(self, value): self.sp.append(value) - def insert_sp(self, index, value): self.sp[index] = value - def get_ref(self): return self.ref - def set_ref(self, ref): self.ref = ref - def add_ref(self, value): self.ref.append(value) - def insert_ref(self, index, value): self.ref[index] = value - def get_class(self): return self.classxx - def set_class(self, classxx): self.classxx = classxx - def export(self, outfile, level, namespace_='', name_='highlightType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='highlightType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='highlightType'): - if self.classxx is not None: - outfile.write(' class=%s' % (quote_attrib(self.classxx), )) - def exportChildren(self, outfile, level, namespace_='', name_='highlightType'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.sp is not None or - self.ref is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='highlightType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.classxx is not None: - showIndent(outfile, level) - outfile.write('classxx = "%s",\n' % (self.classxx,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('class'): - self.classxx = attrs.get('class').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sp': - value_ = [] - for text_ in child_.childNodes: - value_.append(text_.nodeValue) - valuestr_ = ''.join(value_) - obj_ = self.mixedclass_(MixedContainer.CategorySimple, - MixedContainer.TypeString, 'sp', valuestr_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'ref': - childobj_ = docRefTextType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'ref', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class highlightType - - -class sp(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if sp.subclass: - return sp.subclass(*args_, **kwargs_) - else: - return sp(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='sp', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='sp') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='sp'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='sp'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='sp'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class sp - - -class referenceType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, endline=None, startline=None, refid=None, compoundref=None, valueOf_='', mixedclass_=None, content_=None): - self.endline = endline - self.startline = startline - self.refid = refid - self.compoundref = compoundref - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if referenceType.subclass: - return referenceType.subclass(*args_, **kwargs_) - else: - return referenceType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_endline(self): return self.endline - def set_endline(self, endline): self.endline = endline - def get_startline(self): return self.startline - def set_startline(self, startline): self.startline = startline - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def get_compoundref(self): return self.compoundref - def set_compoundref(self, compoundref): self.compoundref = compoundref - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='referenceType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='referenceType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='referenceType'): - if self.endline is not None: - outfile.write(' endline="%s"' % self.format_integer(self.endline, input_name='endline')) - if self.startline is not None: - outfile.write(' startline="%s"' % self.format_integer(self.startline, input_name='startline')) - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - if self.compoundref is not None: - outfile.write(' compoundref=%s' % (self.format_string(quote_attrib(self.compoundref).encode(ExternalEncoding), input_name='compoundref'), )) - def exportChildren(self, outfile, level, namespace_='', name_='referenceType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='referenceType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.endline is not None: - showIndent(outfile, level) - outfile.write('endline = %s,\n' % (self.endline,)) - if self.startline is not None: - showIndent(outfile, level) - outfile.write('startline = %s,\n' % (self.startline,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - if self.compoundref is not None: - showIndent(outfile, level) - outfile.write('compoundref = %s,\n' % (self.compoundref,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('endline'): - try: - self.endline = int(attrs.get('endline').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (endline): %s' % exp) - if attrs.get('startline'): - try: - self.startline = int(attrs.get('startline').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (startline): %s' % exp) - if attrs.get('refid'): - self.refid = attrs.get('refid').value - if attrs.get('compoundref'): - self.compoundref = attrs.get('compoundref').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class referenceType - - -class locationType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, bodystart=None, line=None, bodyend=None, bodyfile=None, file=None, valueOf_=''): - self.bodystart = bodystart - self.line = line - self.bodyend = bodyend - self.bodyfile = bodyfile - self.file = file - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if locationType.subclass: - return locationType.subclass(*args_, **kwargs_) - else: - return locationType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_bodystart(self): return self.bodystart - def set_bodystart(self, bodystart): self.bodystart = bodystart - def get_line(self): return self.line - def set_line(self, line): self.line = line - def get_bodyend(self): return self.bodyend - def set_bodyend(self, bodyend): self.bodyend = bodyend - def get_bodyfile(self): return self.bodyfile - def set_bodyfile(self, bodyfile): self.bodyfile = bodyfile - def get_file(self): return self.file - def set_file(self, file): self.file = file - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='locationType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='locationType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='locationType'): - if self.bodystart is not None: - outfile.write(' bodystart="%s"' % self.format_integer(self.bodystart, input_name='bodystart')) - if self.line is not None: - outfile.write(' line="%s"' % self.format_integer(self.line, input_name='line')) - if self.bodyend is not None: - outfile.write(' bodyend="%s"' % self.format_integer(self.bodyend, input_name='bodyend')) - if self.bodyfile is not None: - outfile.write(' bodyfile=%s' % (self.format_string(quote_attrib(self.bodyfile).encode(ExternalEncoding), input_name='bodyfile'), )) - if self.file is not None: - outfile.write(' file=%s' % (self.format_string(quote_attrib(self.file).encode(ExternalEncoding), input_name='file'), )) - def exportChildren(self, outfile, level, namespace_='', name_='locationType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='locationType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.bodystart is not None: - showIndent(outfile, level) - outfile.write('bodystart = %s,\n' % (self.bodystart,)) - if self.line is not None: - showIndent(outfile, level) - outfile.write('line = %s,\n' % (self.line,)) - if self.bodyend is not None: - showIndent(outfile, level) - outfile.write('bodyend = %s,\n' % (self.bodyend,)) - if self.bodyfile is not None: - showIndent(outfile, level) - outfile.write('bodyfile = %s,\n' % (self.bodyfile,)) - if self.file is not None: - showIndent(outfile, level) - outfile.write('file = %s,\n' % (self.file,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('bodystart'): - try: - self.bodystart = int(attrs.get('bodystart').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (bodystart): %s' % exp) - if attrs.get('line'): - try: - self.line = int(attrs.get('line').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (line): %s' % exp) - if attrs.get('bodyend'): - try: - self.bodyend = int(attrs.get('bodyend').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (bodyend): %s' % exp) - if attrs.get('bodyfile'): - self.bodyfile = attrs.get('bodyfile').value - if attrs.get('file'): - self.file = attrs.get('file').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class locationType - - -class docSect1Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, title=None, para=None, sect2=None, internal=None, mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docSect1Type.subclass: - return docSect1Type.subclass(*args_, **kwargs_) - else: - return docSect1Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect2(self): return self.sect2 - def set_sect2(self, sect2): self.sect2 = sect2 - def add_sect2(self, value): self.sect2.append(value) - def insert_sect2(self, index, value): self.sect2[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='docSect1Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docSect1Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docSect1Type'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docSect1Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.title is not None or - self.para is not None or - self.sect2 is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docSect1Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - childobj_ = docTitleType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'title', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect2': - childobj_ = docSect2Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect2', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - childobj_ = docInternalS1Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'internal', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docSect1Type - - -class docSect2Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, title=None, para=None, sect3=None, internal=None, mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docSect2Type.subclass: - return docSect2Type.subclass(*args_, **kwargs_) - else: - return docSect2Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect3(self): return self.sect3 - def set_sect3(self, sect3): self.sect3 = sect3 - def add_sect3(self, value): self.sect3.append(value) - def insert_sect3(self, index, value): self.sect3[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='docSect2Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docSect2Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docSect2Type'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docSect2Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.title is not None or - self.para is not None or - self.sect3 is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docSect2Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - childobj_ = docTitleType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'title', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect3': - childobj_ = docSect3Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect3', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - childobj_ = docInternalS2Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'internal', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docSect2Type - - -class docSect3Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, title=None, para=None, sect4=None, internal=None, mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docSect3Type.subclass: - return docSect3Type.subclass(*args_, **kwargs_) - else: - return docSect3Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect4(self): return self.sect4 - def set_sect4(self, sect4): self.sect4 = sect4 - def add_sect4(self, value): self.sect4.append(value) - def insert_sect4(self, index, value): self.sect4[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='docSect3Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docSect3Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docSect3Type'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docSect3Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.title is not None or - self.para is not None or - self.sect4 is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docSect3Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - childobj_ = docTitleType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'title', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect4': - childobj_ = docSect4Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect4', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - childobj_ = docInternalS3Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'internal', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docSect3Type - - -class docSect4Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, title=None, para=None, internal=None, mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docSect4Type.subclass: - return docSect4Type.subclass(*args_, **kwargs_) - else: - return docSect4Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='docSect4Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docSect4Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docSect4Type'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docSect4Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.title is not None or - self.para is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docSect4Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - childobj_ = docTitleType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'title', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - childobj_ = docInternalS4Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'internal', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docSect4Type - - -class docInternalType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None, sect1=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docInternalType.subclass: - return docInternalType.subclass(*args_, **kwargs_) - else: - return docInternalType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect1(self): return self.sect1 - def set_sect1(self, sect1): self.sect1 = sect1 - def add_sect1(self, value): self.sect1.append(value) - def insert_sect1(self, index, value): self.sect1[index] = value - def export(self, outfile, level, namespace_='', name_='docInternalType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docInternalType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docInternalType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docInternalType'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.para is not None or - self.sect1 is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docInternalType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect1': - childobj_ = docSect1Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect1', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docInternalType - - -class docInternalS1Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None, sect2=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docInternalS1Type.subclass: - return docInternalS1Type.subclass(*args_, **kwargs_) - else: - return docInternalS1Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect2(self): return self.sect2 - def set_sect2(self, sect2): self.sect2 = sect2 - def add_sect2(self, value): self.sect2.append(value) - def insert_sect2(self, index, value): self.sect2[index] = value - def export(self, outfile, level, namespace_='', name_='docInternalS1Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docInternalS1Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS1Type'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docInternalS1Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.para is not None or - self.sect2 is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docInternalS1Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect2': - childobj_ = docSect2Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect2', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docInternalS1Type - - -class docInternalS2Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docInternalS2Type.subclass: - return docInternalS2Type.subclass(*args_, **kwargs_) - else: - return docInternalS2Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect3(self): return self.sect3 - def set_sect3(self, sect3): self.sect3 = sect3 - def add_sect3(self, value): self.sect3.append(value) - def insert_sect3(self, index, value): self.sect3[index] = value - def export(self, outfile, level, namespace_='', name_='docInternalS2Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docInternalS2Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS2Type'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docInternalS2Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.para is not None or - self.sect3 is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docInternalS2Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect3': - childobj_ = docSect3Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect3', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docInternalS2Type - - -class docInternalS3Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None, sect3=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docInternalS3Type.subclass: - return docInternalS3Type.subclass(*args_, **kwargs_) - else: - return docInternalS3Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect3(self): return self.sect3 - def set_sect3(self, sect3): self.sect3 = sect3 - def add_sect3(self, value): self.sect3.append(value) - def insert_sect3(self, index, value): self.sect3[index] = value - def export(self, outfile, level, namespace_='', name_='docInternalS3Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docInternalS3Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS3Type'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docInternalS3Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.para is not None or - self.sect3 is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docInternalS3Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect3': - childobj_ = docSect4Type.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'sect3', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docInternalS3Type - - -class docInternalS4Type(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None, mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docInternalS4Type.subclass: - return docInternalS4Type.subclass(*args_, **kwargs_) - else: - return docInternalS4Type(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def export(self, outfile, level, namespace_='', name_='docInternalS4Type', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docInternalS4Type') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docInternalS4Type'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docInternalS4Type'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.para is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docInternalS4Type'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - childobj_ = docParaType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'para', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docInternalS4Type - - -class docTitleType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_='', mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docTitleType.subclass: - return docTitleType.subclass(*args_, **kwargs_) - else: - return docTitleType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docTitleType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docTitleType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docTitleType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docTitleType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docTitleType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docTitleType - - -class docParaType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_='', mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docParaType.subclass: - return docParaType.subclass(*args_, **kwargs_) - else: - return docParaType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docParaType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docParaType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docParaType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docParaType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docParaType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docParaType - - -class docMarkupType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_='', mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docMarkupType.subclass: - return docMarkupType.subclass(*args_, **kwargs_) - else: - return docMarkupType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docMarkupType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docMarkupType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docMarkupType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docMarkupType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docMarkupType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docMarkupType - - -class docURLLink(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, url=None, valueOf_='', mixedclass_=None, content_=None): - self.url = url - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docURLLink.subclass: - return docURLLink.subclass(*args_, **kwargs_) - else: - return docURLLink(*args_, **kwargs_) - factory = staticmethod(factory) - def get_url(self): return self.url - def set_url(self, url): self.url = url - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docURLLink', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docURLLink') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docURLLink'): - if self.url is not None: - outfile.write(' url=%s' % (self.format_string(quote_attrib(self.url).encode(ExternalEncoding), input_name='url'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docURLLink'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docURLLink'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.url is not None: - showIndent(outfile, level) - outfile.write('url = %s,\n' % (self.url,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('url'): - self.url = attrs.get('url').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docURLLink - - -class docAnchorType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docAnchorType.subclass: - return docAnchorType.subclass(*args_, **kwargs_) - else: - return docAnchorType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_id(self): return self.id - def set_id(self, id): self.id = id - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docAnchorType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docAnchorType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docAnchorType'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docAnchorType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docAnchorType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docAnchorType - - -class docFormulaType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docFormulaType.subclass: - return docFormulaType.subclass(*args_, **kwargs_) - else: - return docFormulaType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_id(self): return self.id - def set_id(self, id): self.id = id - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docFormulaType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docFormulaType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docFormulaType'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docFormulaType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docFormulaType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docFormulaType - - -class docIndexEntryType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, primaryie=None, secondaryie=None): - self.primaryie = primaryie - self.secondaryie = secondaryie - def factory(*args_, **kwargs_): - if docIndexEntryType.subclass: - return docIndexEntryType.subclass(*args_, **kwargs_) - else: - return docIndexEntryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_primaryie(self): return self.primaryie - def set_primaryie(self, primaryie): self.primaryie = primaryie - def get_secondaryie(self): return self.secondaryie - def set_secondaryie(self, secondaryie): self.secondaryie = secondaryie - def export(self, outfile, level, namespace_='', name_='docIndexEntryType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docIndexEntryType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docIndexEntryType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docIndexEntryType'): - if self.primaryie is not None: - showIndent(outfile, level) - outfile.write('<%sprimaryie>%s</%sprimaryie>\n' % (namespace_, self.format_string(quote_xml(self.primaryie).encode(ExternalEncoding), input_name='primaryie'), namespace_)) - if self.secondaryie is not None: - showIndent(outfile, level) - outfile.write('<%ssecondaryie>%s</%ssecondaryie>\n' % (namespace_, self.format_string(quote_xml(self.secondaryie).encode(ExternalEncoding), input_name='secondaryie'), namespace_)) - def hasContent_(self): - if ( - self.primaryie is not None or - self.secondaryie is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docIndexEntryType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('primaryie=%s,\n' % quote_python(self.primaryie).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('secondaryie=%s,\n' % quote_python(self.secondaryie).encode(ExternalEncoding)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'primaryie': - primaryie_ = '' - for text__content_ in child_.childNodes: - primaryie_ += text__content_.nodeValue - self.primaryie = primaryie_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'secondaryie': - secondaryie_ = '' - for text__content_ in child_.childNodes: - secondaryie_ += text__content_.nodeValue - self.secondaryie = secondaryie_ -# end class docIndexEntryType - - -class docListType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, listitem=None): - if listitem is None: - self.listitem = [] - else: - self.listitem = listitem - def factory(*args_, **kwargs_): - if docListType.subclass: - return docListType.subclass(*args_, **kwargs_) - else: - return docListType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_listitem(self): return self.listitem - def set_listitem(self, listitem): self.listitem = listitem - def add_listitem(self, value): self.listitem.append(value) - def insert_listitem(self, index, value): self.listitem[index] = value - def export(self, outfile, level, namespace_='', name_='docListType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docListType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docListType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docListType'): - for listitem_ in self.listitem: - listitem_.export(outfile, level, namespace_, name_='listitem') - def hasContent_(self): - if ( - self.listitem is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docListType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('listitem=[\n') - level += 1 - for listitem in self.listitem: - showIndent(outfile, level) - outfile.write('model_.listitem(\n') - listitem.exportLiteral(outfile, level, name_='listitem') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'listitem': - obj_ = docListItemType.factory() - obj_.build(child_) - self.listitem.append(obj_) -# end class docListType - - -class docListItemType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, para=None): - if para is None: - self.para = [] - else: - self.para = para - def factory(*args_, **kwargs_): - if docListItemType.subclass: - return docListItemType.subclass(*args_, **kwargs_) - else: - return docListItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def export(self, outfile, level, namespace_='', name_='docListItemType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docListItemType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docListItemType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docListItemType'): - for para_ in self.para: - para_.export(outfile, level, namespace_, name_='para') - def hasContent_(self): - if ( - self.para is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docListItemType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('para=[\n') - level += 1 - for para in self.para: - showIndent(outfile, level) - outfile.write('model_.para(\n') - para.exportLiteral(outfile, level, name_='para') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - obj_ = docParaType.factory() - obj_.build(child_) - self.para.append(obj_) -# end class docListItemType - - -class docSimpleSectType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, title=None, para=None): - self.kind = kind - self.title = title - if para is None: - self.para = [] - else: - self.para = para - def factory(*args_, **kwargs_): - if docSimpleSectType.subclass: - return docSimpleSectType.subclass(*args_, **kwargs_) - else: - return docSimpleSectType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_title(self): return self.title - def set_title(self, title): self.title = title - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def export(self, outfile, level, namespace_='', name_='docSimpleSectType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docSimpleSectType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docSimpleSectType'): - if self.kind is not None: - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - def exportChildren(self, outfile, level, namespace_='', name_='docSimpleSectType'): - if self.title: - self.title.export(outfile, level, namespace_, name_='title') - for para_ in self.para: - para_.export(outfile, level, namespace_, name_='para') - def hasContent_(self): - if ( - self.title is not None or - self.para is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docSimpleSectType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - def exportLiteralChildren(self, outfile, level, name_): - if self.title: - showIndent(outfile, level) - outfile.write('title=model_.docTitleType(\n') - self.title.exportLiteral(outfile, level, name_='title') - showIndent(outfile, level) - outfile.write('),\n') - showIndent(outfile, level) - outfile.write('para=[\n') - level += 1 - for para in self.para: - showIndent(outfile, level) - outfile.write('model_.para(\n') - para.exportLiteral(outfile, level, name_='para') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'title': - obj_ = docTitleType.factory() - obj_.build(child_) - self.set_title(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - obj_ = docParaType.factory() - obj_.build(child_) - self.para.append(obj_) -# end class docSimpleSectType - - -class docVarListEntryType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, term=None): - self.term = term - def factory(*args_, **kwargs_): - if docVarListEntryType.subclass: - return docVarListEntryType.subclass(*args_, **kwargs_) - else: - return docVarListEntryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_term(self): return self.term - def set_term(self, term): self.term = term - def export(self, outfile, level, namespace_='', name_='docVarListEntryType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docVarListEntryType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docVarListEntryType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docVarListEntryType'): - if self.term: - self.term.export(outfile, level, namespace_, name_='term', ) - def hasContent_(self): - if ( - self.term is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docVarListEntryType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - if self.term: - showIndent(outfile, level) - outfile.write('term=model_.docTitleType(\n') - self.term.exportLiteral(outfile, level, name_='term') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'term': - obj_ = docTitleType.factory() - obj_.build(child_) - self.set_term(obj_) -# end class docVarListEntryType - - -class docVariableListType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if docVariableListType.subclass: - return docVariableListType.subclass(*args_, **kwargs_) - else: - return docVariableListType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docVariableListType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docVariableListType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docVariableListType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docVariableListType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docVariableListType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docVariableListType - - -class docRefTextType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, refid=None, kindref=None, external=None, valueOf_='', mixedclass_=None, content_=None): - self.refid = refid - self.kindref = kindref - self.external = external - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docRefTextType.subclass: - return docRefTextType.subclass(*args_, **kwargs_) - else: - return docRefTextType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def get_kindref(self): return self.kindref - def set_kindref(self, kindref): self.kindref = kindref - def get_external(self): return self.external - def set_external(self, external): self.external = external - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docRefTextType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docRefTextType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docRefTextType'): - if self.refid is not None: - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - if self.kindref is not None: - outfile.write(' kindref=%s' % (quote_attrib(self.kindref), )) - if self.external is not None: - outfile.write(' external=%s' % (self.format_string(quote_attrib(self.external).encode(ExternalEncoding), input_name='external'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docRefTextType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docRefTextType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - if self.kindref is not None: - showIndent(outfile, level) - outfile.write('kindref = "%s",\n' % (self.kindref,)) - if self.external is not None: - showIndent(outfile, level) - outfile.write('external = %s,\n' % (self.external,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('refid'): - self.refid = attrs.get('refid').value - if attrs.get('kindref'): - self.kindref = attrs.get('kindref').value - if attrs.get('external'): - self.external = attrs.get('external').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docRefTextType - - -class docTableType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, rows=None, cols=None, row=None, caption=None): - self.rows = rows - self.cols = cols - if row is None: - self.row = [] - else: - self.row = row - self.caption = caption - def factory(*args_, **kwargs_): - if docTableType.subclass: - return docTableType.subclass(*args_, **kwargs_) - else: - return docTableType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_row(self): return self.row - def set_row(self, row): self.row = row - def add_row(self, value): self.row.append(value) - def insert_row(self, index, value): self.row[index] = value - def get_caption(self): return self.caption - def set_caption(self, caption): self.caption = caption - def get_rows(self): return self.rows - def set_rows(self, rows): self.rows = rows - def get_cols(self): return self.cols - def set_cols(self, cols): self.cols = cols - def export(self, outfile, level, namespace_='', name_='docTableType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docTableType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docTableType'): - if self.rows is not None: - outfile.write(' rows="%s"' % self.format_integer(self.rows, input_name='rows')) - if self.cols is not None: - outfile.write(' cols="%s"' % self.format_integer(self.cols, input_name='cols')) - def exportChildren(self, outfile, level, namespace_='', name_='docTableType'): - for row_ in self.row: - row_.export(outfile, level, namespace_, name_='row') - if self.caption: - self.caption.export(outfile, level, namespace_, name_='caption') - def hasContent_(self): - if ( - self.row is not None or - self.caption is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docTableType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.rows is not None: - showIndent(outfile, level) - outfile.write('rows = %s,\n' % (self.rows,)) - if self.cols is not None: - showIndent(outfile, level) - outfile.write('cols = %s,\n' % (self.cols,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('row=[\n') - level += 1 - for row in self.row: - showIndent(outfile, level) - outfile.write('model_.row(\n') - row.exportLiteral(outfile, level, name_='row') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.caption: - showIndent(outfile, level) - outfile.write('caption=model_.docCaptionType(\n') - self.caption.exportLiteral(outfile, level, name_='caption') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('rows'): - try: - self.rows = int(attrs.get('rows').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (rows): %s' % exp) - if attrs.get('cols'): - try: - self.cols = int(attrs.get('cols').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (cols): %s' % exp) - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'row': - obj_ = docRowType.factory() - obj_.build(child_) - self.row.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'caption': - obj_ = docCaptionType.factory() - obj_.build(child_) - self.set_caption(obj_) -# end class docTableType - - -class docRowType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, entry=None): - if entry is None: - self.entry = [] - else: - self.entry = entry - def factory(*args_, **kwargs_): - if docRowType.subclass: - return docRowType.subclass(*args_, **kwargs_) - else: - return docRowType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_entry(self): return self.entry - def set_entry(self, entry): self.entry = entry - def add_entry(self, value): self.entry.append(value) - def insert_entry(self, index, value): self.entry[index] = value - def export(self, outfile, level, namespace_='', name_='docRowType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docRowType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docRowType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docRowType'): - for entry_ in self.entry: - entry_.export(outfile, level, namespace_, name_='entry') - def hasContent_(self): - if ( - self.entry is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docRowType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('entry=[\n') - level += 1 - for entry in self.entry: - showIndent(outfile, level) - outfile.write('model_.entry(\n') - entry.exportLiteral(outfile, level, name_='entry') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'entry': - obj_ = docEntryType.factory() - obj_.build(child_) - self.entry.append(obj_) -# end class docRowType - - -class docEntryType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, thead=None, para=None): - self.thead = thead - if para is None: - self.para = [] - else: - self.para = para - def factory(*args_, **kwargs_): - if docEntryType.subclass: - return docEntryType.subclass(*args_, **kwargs_) - else: - return docEntryType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_thead(self): return self.thead - def set_thead(self, thead): self.thead = thead - def export(self, outfile, level, namespace_='', name_='docEntryType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docEntryType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docEntryType'): - if self.thead is not None: - outfile.write(' thead=%s' % (quote_attrib(self.thead), )) - def exportChildren(self, outfile, level, namespace_='', name_='docEntryType'): - for para_ in self.para: - para_.export(outfile, level, namespace_, name_='para') - def hasContent_(self): - if ( - self.para is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docEntryType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.thead is not None: - showIndent(outfile, level) - outfile.write('thead = "%s",\n' % (self.thead,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('para=[\n') - level += 1 - for para in self.para: - showIndent(outfile, level) - outfile.write('model_.para(\n') - para.exportLiteral(outfile, level, name_='para') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('thead'): - self.thead = attrs.get('thead').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - obj_ = docParaType.factory() - obj_.build(child_) - self.para.append(obj_) -# end class docEntryType - - -class docCaptionType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_='', mixedclass_=None, content_=None): - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docCaptionType.subclass: - return docCaptionType.subclass(*args_, **kwargs_) - else: - return docCaptionType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docCaptionType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docCaptionType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docCaptionType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docCaptionType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docCaptionType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docCaptionType - - -class docHeadingType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, level=None, valueOf_='', mixedclass_=None, content_=None): - self.level = level - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docHeadingType.subclass: - return docHeadingType.subclass(*args_, **kwargs_) - else: - return docHeadingType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_level(self): return self.level - def set_level(self, level): self.level = level - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docHeadingType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docHeadingType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docHeadingType'): - if self.level is not None: - outfile.write(' level="%s"' % self.format_integer(self.level, input_name='level')) - def exportChildren(self, outfile, level, namespace_='', name_='docHeadingType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docHeadingType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.level is not None: - showIndent(outfile, level) - outfile.write('level = %s,\n' % (self.level,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('level'): - try: - self.level = int(attrs.get('level').value) - except ValueError, exp: - raise ValueError('Bad integer attribute (level): %s' % exp) - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docHeadingType - - -class docImageType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, width=None, type_=None, name=None, height=None, valueOf_='', mixedclass_=None, content_=None): - self.width = width - self.type_ = type_ - self.name = name - self.height = height - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docImageType.subclass: - return docImageType.subclass(*args_, **kwargs_) - else: - return docImageType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_width(self): return self.width - def set_width(self, width): self.width = width - def get_type(self): return self.type_ - def set_type(self, type_): self.type_ = type_ - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_height(self): return self.height - def set_height(self, height): self.height = height - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docImageType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docImageType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docImageType'): - if self.width is not None: - outfile.write(' width=%s' % (self.format_string(quote_attrib(self.width).encode(ExternalEncoding), input_name='width'), )) - if self.type_ is not None: - outfile.write(' type=%s' % (quote_attrib(self.type_), )) - if self.name is not None: - outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), )) - if self.height is not None: - outfile.write(' height=%s' % (self.format_string(quote_attrib(self.height).encode(ExternalEncoding), input_name='height'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docImageType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docImageType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.width is not None: - showIndent(outfile, level) - outfile.write('width = %s,\n' % (self.width,)) - if self.type_ is not None: - showIndent(outfile, level) - outfile.write('type_ = "%s",\n' % (self.type_,)) - if self.name is not None: - showIndent(outfile, level) - outfile.write('name = %s,\n' % (self.name,)) - if self.height is not None: - showIndent(outfile, level) - outfile.write('height = %s,\n' % (self.height,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('width'): - self.width = attrs.get('width').value - if attrs.get('type'): - self.type_ = attrs.get('type').value - if attrs.get('name'): - self.name = attrs.get('name').value - if attrs.get('height'): - self.height = attrs.get('height').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docImageType - - -class docDotFileType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, name=None, valueOf_='', mixedclass_=None, content_=None): - self.name = name - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docDotFileType.subclass: - return docDotFileType.subclass(*args_, **kwargs_) - else: - return docDotFileType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_name(self): return self.name - def set_name(self, name): self.name = name - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docDotFileType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docDotFileType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docDotFileType'): - if self.name is not None: - outfile.write(' name=%s' % (self.format_string(quote_attrib(self.name).encode(ExternalEncoding), input_name='name'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docDotFileType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docDotFileType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.name is not None: - showIndent(outfile, level) - outfile.write('name = %s,\n' % (self.name,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('name'): - self.name = attrs.get('name').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docDotFileType - - -class docTocItemType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, valueOf_='', mixedclass_=None, content_=None): - self.id = id - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docTocItemType.subclass: - return docTocItemType.subclass(*args_, **kwargs_) - else: - return docTocItemType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_id(self): return self.id - def set_id(self, id): self.id = id - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docTocItemType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docTocItemType') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docTocItemType'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docTocItemType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docTocItemType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docTocItemType - - -class docTocListType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, tocitem=None): - if tocitem is None: - self.tocitem = [] - else: - self.tocitem = tocitem - def factory(*args_, **kwargs_): - if docTocListType.subclass: - return docTocListType.subclass(*args_, **kwargs_) - else: - return docTocListType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_tocitem(self): return self.tocitem - def set_tocitem(self, tocitem): self.tocitem = tocitem - def add_tocitem(self, value): self.tocitem.append(value) - def insert_tocitem(self, index, value): self.tocitem[index] = value - def export(self, outfile, level, namespace_='', name_='docTocListType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docTocListType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docTocListType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docTocListType'): - for tocitem_ in self.tocitem: - tocitem_.export(outfile, level, namespace_, name_='tocitem') - def hasContent_(self): - if ( - self.tocitem is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docTocListType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('tocitem=[\n') - level += 1 - for tocitem in self.tocitem: - showIndent(outfile, level) - outfile.write('model_.tocitem(\n') - tocitem.exportLiteral(outfile, level, name_='tocitem') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'tocitem': - obj_ = docTocItemType.factory() - obj_.build(child_) - self.tocitem.append(obj_) -# end class docTocListType - - -class docLanguageType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, langid=None, para=None): - self.langid = langid - if para is None: - self.para = [] - else: - self.para = para - def factory(*args_, **kwargs_): - if docLanguageType.subclass: - return docLanguageType.subclass(*args_, **kwargs_) - else: - return docLanguageType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_langid(self): return self.langid - def set_langid(self, langid): self.langid = langid - def export(self, outfile, level, namespace_='', name_='docLanguageType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docLanguageType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docLanguageType'): - if self.langid is not None: - outfile.write(' langid=%s' % (self.format_string(quote_attrib(self.langid).encode(ExternalEncoding), input_name='langid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docLanguageType'): - for para_ in self.para: - para_.export(outfile, level, namespace_, name_='para') - def hasContent_(self): - if ( - self.para is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docLanguageType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.langid is not None: - showIndent(outfile, level) - outfile.write('langid = %s,\n' % (self.langid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('para=[\n') - level += 1 - for para in self.para: - showIndent(outfile, level) - outfile.write('model_.para(\n') - para.exportLiteral(outfile, level, name_='para') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('langid'): - self.langid = attrs.get('langid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - obj_ = docParaType.factory() - obj_.build(child_) - self.para.append(obj_) -# end class docLanguageType - - -class docParamListType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, parameteritem=None): - self.kind = kind - if parameteritem is None: - self.parameteritem = [] - else: - self.parameteritem = parameteritem - def factory(*args_, **kwargs_): - if docParamListType.subclass: - return docParamListType.subclass(*args_, **kwargs_) - else: - return docParamListType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_parameteritem(self): return self.parameteritem - def set_parameteritem(self, parameteritem): self.parameteritem = parameteritem - def add_parameteritem(self, value): self.parameteritem.append(value) - def insert_parameteritem(self, index, value): self.parameteritem[index] = value - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def export(self, outfile, level, namespace_='', name_='docParamListType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docParamListType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docParamListType'): - if self.kind is not None: - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - def exportChildren(self, outfile, level, namespace_='', name_='docParamListType'): - for parameteritem_ in self.parameteritem: - parameteritem_.export(outfile, level, namespace_, name_='parameteritem') - def hasContent_(self): - if ( - self.parameteritem is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docParamListType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('parameteritem=[\n') - level += 1 - for parameteritem in self.parameteritem: - showIndent(outfile, level) - outfile.write('model_.parameteritem(\n') - parameteritem.exportLiteral(outfile, level, name_='parameteritem') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'parameteritem': - obj_ = docParamListItem.factory() - obj_.build(child_) - self.parameteritem.append(obj_) -# end class docParamListType - - -class docParamListItem(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, parameternamelist=None, parameterdescription=None): - if parameternamelist is None: - self.parameternamelist = [] - else: - self.parameternamelist = parameternamelist - self.parameterdescription = parameterdescription - def factory(*args_, **kwargs_): - if docParamListItem.subclass: - return docParamListItem.subclass(*args_, **kwargs_) - else: - return docParamListItem(*args_, **kwargs_) - factory = staticmethod(factory) - def get_parameternamelist(self): return self.parameternamelist - def set_parameternamelist(self, parameternamelist): self.parameternamelist = parameternamelist - def add_parameternamelist(self, value): self.parameternamelist.append(value) - def insert_parameternamelist(self, index, value): self.parameternamelist[index] = value - def get_parameterdescription(self): return self.parameterdescription - def set_parameterdescription(self, parameterdescription): self.parameterdescription = parameterdescription - def export(self, outfile, level, namespace_='', name_='docParamListItem', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docParamListItem') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docParamListItem'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docParamListItem'): - for parameternamelist_ in self.parameternamelist: - parameternamelist_.export(outfile, level, namespace_, name_='parameternamelist') - if self.parameterdescription: - self.parameterdescription.export(outfile, level, namespace_, name_='parameterdescription', ) - def hasContent_(self): - if ( - self.parameternamelist is not None or - self.parameterdescription is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docParamListItem'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('parameternamelist=[\n') - level += 1 - for parameternamelist in self.parameternamelist: - showIndent(outfile, level) - outfile.write('model_.parameternamelist(\n') - parameternamelist.exportLiteral(outfile, level, name_='parameternamelist') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.parameterdescription: - showIndent(outfile, level) - outfile.write('parameterdescription=model_.descriptionType(\n') - self.parameterdescription.exportLiteral(outfile, level, name_='parameterdescription') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'parameternamelist': - obj_ = docParamNameList.factory() - obj_.build(child_) - self.parameternamelist.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'parameterdescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_parameterdescription(obj_) -# end class docParamListItem - - -class docParamNameList(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, parametername=None): - if parametername is None: - self.parametername = [] - else: - self.parametername = parametername - def factory(*args_, **kwargs_): - if docParamNameList.subclass: - return docParamNameList.subclass(*args_, **kwargs_) - else: - return docParamNameList(*args_, **kwargs_) - factory = staticmethod(factory) - def get_parametername(self): return self.parametername - def set_parametername(self, parametername): self.parametername = parametername - def add_parametername(self, value): self.parametername.append(value) - def insert_parametername(self, index, value): self.parametername[index] = value - def export(self, outfile, level, namespace_='', name_='docParamNameList', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docParamNameList') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docParamNameList'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docParamNameList'): - for parametername_ in self.parametername: - parametername_.export(outfile, level, namespace_, name_='parametername') - def hasContent_(self): - if ( - self.parametername is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docParamNameList'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('parametername=[\n') - level += 1 - for parametername in self.parametername: - showIndent(outfile, level) - outfile.write('model_.parametername(\n') - parametername.exportLiteral(outfile, level, name_='parametername') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'parametername': - obj_ = docParamName.factory() - obj_.build(child_) - self.parametername.append(obj_) -# end class docParamNameList - - -class docParamName(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, direction=None, ref=None, mixedclass_=None, content_=None): - self.direction = direction - if mixedclass_ is None: - self.mixedclass_ = MixedContainer - else: - self.mixedclass_ = mixedclass_ - if content_ is None: - self.content_ = [] - else: - self.content_ = content_ - def factory(*args_, **kwargs_): - if docParamName.subclass: - return docParamName.subclass(*args_, **kwargs_) - else: - return docParamName(*args_, **kwargs_) - factory = staticmethod(factory) - def get_ref(self): return self.ref - def set_ref(self, ref): self.ref = ref - def get_direction(self): return self.direction - def set_direction(self, direction): self.direction = direction - def export(self, outfile, level, namespace_='', name_='docParamName', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docParamName') - outfile.write('>') - self.exportChildren(outfile, level + 1, namespace_, name_) - outfile.write('</%s%s>\n' % (namespace_, name_)) - def exportAttributes(self, outfile, level, namespace_='', name_='docParamName'): - if self.direction is not None: - outfile.write(' direction=%s' % (quote_attrib(self.direction), )) - def exportChildren(self, outfile, level, namespace_='', name_='docParamName'): - for item_ in self.content_: - item_.export(outfile, level, item_.name, namespace_) - def hasContent_(self): - if ( - self.ref is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docParamName'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.direction is not None: - showIndent(outfile, level) - outfile.write('direction = "%s",\n' % (self.direction,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('content_ = [\n') - for item_ in self.content_: - item_.exportLiteral(outfile, level, name_) - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('direction'): - self.direction = attrs.get('direction').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'ref': - childobj_ = docRefTextType.factory() - childobj_.build(child_) - obj_ = self.mixedclass_(MixedContainer.CategoryComplex, - MixedContainer.TypeNone, 'ref', childobj_) - self.content_.append(obj_) - elif child_.nodeType == Node.TEXT_NODE: - obj_ = self.mixedclass_(MixedContainer.CategoryText, - MixedContainer.TypeNone, '', child_.nodeValue) - self.content_.append(obj_) -# end class docParamName - - -class docXRefSectType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, id=None, xreftitle=None, xrefdescription=None): - self.id = id - if xreftitle is None: - self.xreftitle = [] - else: - self.xreftitle = xreftitle - self.xrefdescription = xrefdescription - def factory(*args_, **kwargs_): - if docXRefSectType.subclass: - return docXRefSectType.subclass(*args_, **kwargs_) - else: - return docXRefSectType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_xreftitle(self): return self.xreftitle - def set_xreftitle(self, xreftitle): self.xreftitle = xreftitle - def add_xreftitle(self, value): self.xreftitle.append(value) - def insert_xreftitle(self, index, value): self.xreftitle[index] = value - def get_xrefdescription(self): return self.xrefdescription - def set_xrefdescription(self, xrefdescription): self.xrefdescription = xrefdescription - def get_id(self): return self.id - def set_id(self, id): self.id = id - def export(self, outfile, level, namespace_='', name_='docXRefSectType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docXRefSectType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docXRefSectType'): - if self.id is not None: - outfile.write(' id=%s' % (self.format_string(quote_attrib(self.id).encode(ExternalEncoding), input_name='id'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docXRefSectType'): - for xreftitle_ in self.xreftitle: - showIndent(outfile, level) - outfile.write('<%sxreftitle>%s</%sxreftitle>\n' % (namespace_, self.format_string(quote_xml(xreftitle_).encode(ExternalEncoding), input_name='xreftitle'), namespace_)) - if self.xrefdescription: - self.xrefdescription.export(outfile, level, namespace_, name_='xrefdescription', ) - def hasContent_(self): - if ( - self.xreftitle is not None or - self.xrefdescription is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docXRefSectType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.id is not None: - showIndent(outfile, level) - outfile.write('id = %s,\n' % (self.id,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('xreftitle=[\n') - level += 1 - for xreftitle in self.xreftitle: - showIndent(outfile, level) - outfile.write('%s,\n' % quote_python(xreftitle).encode(ExternalEncoding)) - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.xrefdescription: - showIndent(outfile, level) - outfile.write('xrefdescription=model_.descriptionType(\n') - self.xrefdescription.exportLiteral(outfile, level, name_='xrefdescription') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('id'): - self.id = attrs.get('id').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'xreftitle': - xreftitle_ = '' - for text__content_ in child_.childNodes: - xreftitle_ += text__content_.nodeValue - self.xreftitle.append(xreftitle_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'xrefdescription': - obj_ = descriptionType.factory() - obj_.build(child_) - self.set_xrefdescription(obj_) -# end class docXRefSectType - - -class docCopyType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, link=None, para=None, sect1=None, internal=None): - self.link = link - if para is None: - self.para = [] - else: - self.para = para - if sect1 is None: - self.sect1 = [] - else: - self.sect1 = sect1 - self.internal = internal - def factory(*args_, **kwargs_): - if docCopyType.subclass: - return docCopyType.subclass(*args_, **kwargs_) - else: - return docCopyType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_para(self): return self.para - def set_para(self, para): self.para = para - def add_para(self, value): self.para.append(value) - def insert_para(self, index, value): self.para[index] = value - def get_sect1(self): return self.sect1 - def set_sect1(self, sect1): self.sect1 = sect1 - def add_sect1(self, value): self.sect1.append(value) - def insert_sect1(self, index, value): self.sect1[index] = value - def get_internal(self): return self.internal - def set_internal(self, internal): self.internal = internal - def get_link(self): return self.link - def set_link(self, link): self.link = link - def export(self, outfile, level, namespace_='', name_='docCopyType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docCopyType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docCopyType'): - if self.link is not None: - outfile.write(' link=%s' % (self.format_string(quote_attrib(self.link).encode(ExternalEncoding), input_name='link'), )) - def exportChildren(self, outfile, level, namespace_='', name_='docCopyType'): - for para_ in self.para: - para_.export(outfile, level, namespace_, name_='para') - for sect1_ in self.sect1: - sect1_.export(outfile, level, namespace_, name_='sect1') - if self.internal: - self.internal.export(outfile, level, namespace_, name_='internal') - def hasContent_(self): - if ( - self.para is not None or - self.sect1 is not None or - self.internal is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docCopyType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.link is not None: - showIndent(outfile, level) - outfile.write('link = %s,\n' % (self.link,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('para=[\n') - level += 1 - for para in self.para: - showIndent(outfile, level) - outfile.write('model_.para(\n') - para.exportLiteral(outfile, level, name_='para') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - showIndent(outfile, level) - outfile.write('sect1=[\n') - level += 1 - for sect1 in self.sect1: - showIndent(outfile, level) - outfile.write('model_.sect1(\n') - sect1.exportLiteral(outfile, level, name_='sect1') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - if self.internal: - showIndent(outfile, level) - outfile.write('internal=model_.docInternalType(\n') - self.internal.exportLiteral(outfile, level, name_='internal') - showIndent(outfile, level) - outfile.write('),\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('link'): - self.link = attrs.get('link').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'para': - obj_ = docParaType.factory() - obj_.build(child_) - self.para.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'sect1': - obj_ = docSect1Type.factory() - obj_.build(child_) - self.sect1.append(obj_) - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'internal': - obj_ = docInternalType.factory() - obj_.build(child_) - self.set_internal(obj_) -# end class docCopyType - - -class docCharType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, char=None, valueOf_=''): - self.char = char - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if docCharType.subclass: - return docCharType.subclass(*args_, **kwargs_) - else: - return docCharType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_char(self): return self.char - def set_char(self, char): self.char = char - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docCharType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docCharType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docCharType'): - if self.char is not None: - outfile.write(' char=%s' % (quote_attrib(self.char), )) - def exportChildren(self, outfile, level, namespace_='', name_='docCharType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docCharType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.char is not None: - showIndent(outfile, level) - outfile.write('char = "%s",\n' % (self.char,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('char'): - self.char = attrs.get('char').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docCharType - - -class docEmptyType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, valueOf_=''): - self.valueOf_ = valueOf_ - def factory(*args_, **kwargs_): - if docEmptyType.subclass: - return docEmptyType.subclass(*args_, **kwargs_) - else: - return docEmptyType(*args_, **kwargs_) - factory = staticmethod(factory) - def getValueOf_(self): return self.valueOf_ - def setValueOf_(self, valueOf_): self.valueOf_ = valueOf_ - def export(self, outfile, level, namespace_='', name_='docEmptyType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='docEmptyType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='docEmptyType'): - pass - def exportChildren(self, outfile, level, namespace_='', name_='docEmptyType'): - if self.valueOf_.find('![CDATA')>-1: - value=quote_xml('%s' % self.valueOf_) - value=value.replace('![CDATA','<![CDATA') - value=value.replace(']]',']]>') - outfile.write(value) - else: - outfile.write(quote_xml('%s' % self.valueOf_)) - def hasContent_(self): - if ( - self.valueOf_ is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='docEmptyType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - pass - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('valueOf_ = "%s",\n' % (self.valueOf_,)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - self.valueOf_ = '' - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - pass - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.TEXT_NODE: - self.valueOf_ += child_.nodeValue - elif child_.nodeType == Node.CDATA_SECTION_NODE: - self.valueOf_ += '![CDATA['+child_.nodeValue+']]' -# end class docEmptyType - - -USAGE_TEXT = """ -Usage: python <Parser>.py [ -s ] <in_xml_file> -Options: - -s Use the SAX parser, not the minidom parser. -""" - -def usage(): - print USAGE_TEXT - sys.exit(1) - - -def parse(inFileName): - doc = minidom.parse(inFileName) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('<?xml version="1.0" ?>\n') - rootObj.export(sys.stdout, 0, name_="doxygen", - namespacedef_='') - return rootObj - - -def parseString(inString): - doc = minidom.parseString(inString) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('<?xml version="1.0" ?>\n') - rootObj.export(sys.stdout, 0, name_="doxygen", - namespacedef_='') - return rootObj - - -def parseLiteral(inFileName): - doc = minidom.parse(inFileName) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('from compound import *\n\n') - sys.stdout.write('rootObj = doxygen(\n') - rootObj.exportLiteral(sys.stdout, 0, name_="doxygen") - sys.stdout.write(')\n') - return rootObj - - -def main(): - args = sys.argv[1:] - if len(args) == 1: - parse(args[0]) - else: - usage() - - -if __name__ == '__main__': - main() - #import pdb - #pdb.run('main()') - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/index.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/index.py deleted file mode 100644 index 7a70e14a1a..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/index.py +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env python - -""" -Generated Mon Feb 9 19:08:05 2009 by generateDS.py. -""" - -from xml.dom import minidom - -import os -import sys -import compound - -import indexsuper as supermod - -class DoxygenTypeSub(supermod.DoxygenType): - def __init__(self, version=None, compound=None): - supermod.DoxygenType.__init__(self, version, compound) - - def find_compounds_and_members(self, details): - """ - Returns a list of all compounds and their members which match details - """ - - results = [] - for compound in self.compound: - members = compound.find_members(details) - if members: - results.append([compound, members]) - else: - if details.match(compound): - results.append([compound, []]) - - return results - -supermod.DoxygenType.subclass = DoxygenTypeSub -# end class DoxygenTypeSub - - -class CompoundTypeSub(supermod.CompoundType): - def __init__(self, kind=None, refid=None, name='', member=None): - supermod.CompoundType.__init__(self, kind, refid, name, member) - - def find_members(self, details): - """ - Returns a list of all members which match details - """ - - results = [] - - for member in self.member: - if details.match(member): - results.append(member) - - return results - -supermod.CompoundType.subclass = CompoundTypeSub -# end class CompoundTypeSub - - -class MemberTypeSub(supermod.MemberType): - - def __init__(self, kind=None, refid=None, name=''): - supermod.MemberType.__init__(self, kind, refid, name) - -supermod.MemberType.subclass = MemberTypeSub -# end class MemberTypeSub - - -def parse(inFilename): - - doc = minidom.parse(inFilename) - rootNode = doc.documentElement - rootObj = supermod.DoxygenType.factory() - rootObj.build(rootNode) - - return rootObj - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/indexsuper.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/indexsuper.py deleted file mode 100644 index a991530198..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/generated/indexsuper.py +++ /dev/null @@ -1,523 +0,0 @@ -#!/usr/bin/env python - -# -# Generated Thu Jun 11 18:43:54 2009 by generateDS.py. -# - -import sys -import getopt -from string import lower as str_lower -from xml.dom import minidom -from xml.dom import Node - -# -# User methods -# -# Calls to the methods in these classes are generated by generateDS.py. -# You can replace these methods by re-implementing the following class -# in a module named generatedssuper.py. - -try: - from generatedssuper import GeneratedsSuper -except ImportError, exp: - - class GeneratedsSuper: - def format_string(self, input_data, input_name=''): - return input_data - def format_integer(self, input_data, input_name=''): - return '%d' % input_data - def format_float(self, input_data, input_name=''): - return '%f' % input_data - def format_double(self, input_data, input_name=''): - return '%e' % input_data - def format_boolean(self, input_data, input_name=''): - return '%s' % input_data - - -# -# If you have installed IPython you can uncomment and use the following. -# IPython is available from http://ipython.scipy.org/. -# - -## from IPython.Shell import IPShellEmbed -## args = '' -## ipshell = IPShellEmbed(args, -## banner = 'Dropping into IPython', -## exit_msg = 'Leaving Interpreter, back to program.') - -# Then use the following line where and when you want to drop into the -# IPython shell: -# ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit') - -# -# Globals -# - -ExternalEncoding = 'ascii' - -# -# Support/utility functions. -# - -def showIndent(outfile, level): - for idx in range(level): - outfile.write(' ') - -def quote_xml(inStr): - s1 = (isinstance(inStr, basestring) and inStr or - '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - return s1 - -def quote_attrib(inStr): - s1 = (isinstance(inStr, basestring) and inStr or - '%s' % inStr) - s1 = s1.replace('&', '&') - s1 = s1.replace('<', '<') - s1 = s1.replace('>', '>') - if '"' in s1: - if "'" in s1: - s1 = '"%s"' % s1.replace('"', """) - else: - s1 = "'%s'" % s1 - else: - s1 = '"%s"' % s1 - return s1 - -def quote_python(inStr): - s1 = inStr - if s1.find("'") == -1: - if s1.find('\n') == -1: - return "'%s'" % s1 - else: - return "'''%s'''" % s1 - else: - if s1.find('"') != -1: - s1 = s1.replace('"', '\\"') - if s1.find('\n') == -1: - return '"%s"' % s1 - else: - return '"""%s"""' % s1 - - -class MixedContainer: - # Constants for category: - CategoryNone = 0 - CategoryText = 1 - CategorySimple = 2 - CategoryComplex = 3 - # Constants for content_type: - TypeNone = 0 - TypeText = 1 - TypeString = 2 - TypeInteger = 3 - TypeFloat = 4 - TypeDecimal = 5 - TypeDouble = 6 - TypeBoolean = 7 - def __init__(self, category, content_type, name, value): - self.category = category - self.content_type = content_type - self.name = name - self.value = value - def getCategory(self): - return self.category - def getContenttype(self, content_type): - return self.content_type - def getValue(self): - return self.value - def getName(self): - return self.name - def export(self, outfile, level, name, namespace): - if self.category == MixedContainer.CategoryText: - outfile.write(self.value) - elif self.category == MixedContainer.CategorySimple: - self.exportSimple(outfile, level, name) - else: # category == MixedContainer.CategoryComplex - self.value.export(outfile, level, namespace,name) - def exportSimple(self, outfile, level, name): - if self.content_type == MixedContainer.TypeString: - outfile.write('<%s>%s</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeInteger or \ - self.content_type == MixedContainer.TypeBoolean: - outfile.write('<%s>%d</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeFloat or \ - self.content_type == MixedContainer.TypeDecimal: - outfile.write('<%s>%f</%s>' % (self.name, self.value, self.name)) - elif self.content_type == MixedContainer.TypeDouble: - outfile.write('<%s>%g</%s>' % (self.name, self.value, self.name)) - def exportLiteral(self, outfile, level, name): - if self.category == MixedContainer.CategoryText: - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \ - (self.category, self.content_type, self.name, self.value)) - elif self.category == MixedContainer.CategorySimple: - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s", "%s"),\n' % \ - (self.category, self.content_type, self.name, self.value)) - else: # category == MixedContainer.CategoryComplex - showIndent(outfile, level) - outfile.write('MixedContainer(%d, %d, "%s",\n' % \ - (self.category, self.content_type, self.name,)) - self.value.exportLiteral(outfile, level + 1) - showIndent(outfile, level) - outfile.write(')\n') - - -class _MemberSpec(object): - def __init__(self, name='', data_type='', container=0): - self.name = name - self.data_type = data_type - self.container = container - def set_name(self, name): self.name = name - def get_name(self): return self.name - def set_data_type(self, data_type): self.data_type = data_type - def get_data_type(self): return self.data_type - def set_container(self, container): self.container = container - def get_container(self): return self.container - - -# -# Data representation classes. -# - -class DoxygenType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, version=None, compound=None): - self.version = version - if compound is None: - self.compound = [] - else: - self.compound = compound - def factory(*args_, **kwargs_): - if DoxygenType.subclass: - return DoxygenType.subclass(*args_, **kwargs_) - else: - return DoxygenType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_compound(self): return self.compound - def set_compound(self, compound): self.compound = compound - def add_compound(self, value): self.compound.append(value) - def insert_compound(self, index, value): self.compound[index] = value - def get_version(self): return self.version - def set_version(self, version): self.version = version - def export(self, outfile, level, namespace_='', name_='DoxygenType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='DoxygenType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='DoxygenType'): - outfile.write(' version=%s' % (self.format_string(quote_attrib(self.version).encode(ExternalEncoding), input_name='version'), )) - def exportChildren(self, outfile, level, namespace_='', name_='DoxygenType'): - for compound_ in self.compound: - compound_.export(outfile, level, namespace_, name_='compound') - def hasContent_(self): - if ( - self.compound is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='DoxygenType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.version is not None: - showIndent(outfile, level) - outfile.write('version = %s,\n' % (self.version,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('compound=[\n') - level += 1 - for compound in self.compound: - showIndent(outfile, level) - outfile.write('model_.compound(\n') - compound.exportLiteral(outfile, level, name_='compound') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('version'): - self.version = attrs.get('version').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'compound': - obj_ = CompoundType.factory() - obj_.build(child_) - self.compound.append(obj_) -# end class DoxygenType - - -class CompoundType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, refid=None, name=None, member=None): - self.kind = kind - self.refid = refid - self.name = name - if member is None: - self.member = [] - else: - self.member = member - def factory(*args_, **kwargs_): - if CompoundType.subclass: - return CompoundType.subclass(*args_, **kwargs_) - else: - return CompoundType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_member(self): return self.member - def set_member(self, member): self.member = member - def add_member(self, value): self.member.append(value) - def insert_member(self, index, value): self.member[index] = value - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def export(self, outfile, level, namespace_='', name_='CompoundType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='CompoundType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='CompoundType'): - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='CompoundType'): - if self.name is not None: - showIndent(outfile, level) - outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_)) - for member_ in self.member: - member_.export(outfile, level, namespace_, name_='member') - def hasContent_(self): - if ( - self.name is not None or - self.member is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='CompoundType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding)) - showIndent(outfile, level) - outfile.write('member=[\n') - level += 1 - for member in self.member: - showIndent(outfile, level) - outfile.write('model_.member(\n') - member.exportLiteral(outfile, level, name_='member') - showIndent(outfile, level) - outfile.write('),\n') - level -= 1 - showIndent(outfile, level) - outfile.write('],\n') - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'name': - name_ = '' - for text__content_ in child_.childNodes: - name_ += text__content_.nodeValue - self.name = name_ - elif child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'member': - obj_ = MemberType.factory() - obj_.build(child_) - self.member.append(obj_) -# end class CompoundType - - -class MemberType(GeneratedsSuper): - subclass = None - superclass = None - def __init__(self, kind=None, refid=None, name=None): - self.kind = kind - self.refid = refid - self.name = name - def factory(*args_, **kwargs_): - if MemberType.subclass: - return MemberType.subclass(*args_, **kwargs_) - else: - return MemberType(*args_, **kwargs_) - factory = staticmethod(factory) - def get_name(self): return self.name - def set_name(self, name): self.name = name - def get_kind(self): return self.kind - def set_kind(self, kind): self.kind = kind - def get_refid(self): return self.refid - def set_refid(self, refid): self.refid = refid - def export(self, outfile, level, namespace_='', name_='MemberType', namespacedef_=''): - showIndent(outfile, level) - outfile.write('<%s%s %s' % (namespace_, name_, namespacedef_, )) - self.exportAttributes(outfile, level, namespace_, name_='MemberType') - if self.hasContent_(): - outfile.write('>\n') - self.exportChildren(outfile, level + 1, namespace_, name_) - showIndent(outfile, level) - outfile.write('</%s%s>\n' % (namespace_, name_)) - else: - outfile.write(' />\n') - def exportAttributes(self, outfile, level, namespace_='', name_='MemberType'): - outfile.write(' kind=%s' % (quote_attrib(self.kind), )) - outfile.write(' refid=%s' % (self.format_string(quote_attrib(self.refid).encode(ExternalEncoding), input_name='refid'), )) - def exportChildren(self, outfile, level, namespace_='', name_='MemberType'): - if self.name is not None: - showIndent(outfile, level) - outfile.write('<%sname>%s</%sname>\n' % (namespace_, self.format_string(quote_xml(self.name).encode(ExternalEncoding), input_name='name'), namespace_)) - def hasContent_(self): - if ( - self.name is not None - ): - return True - else: - return False - def exportLiteral(self, outfile, level, name_='MemberType'): - level += 1 - self.exportLiteralAttributes(outfile, level, name_) - if self.hasContent_(): - self.exportLiteralChildren(outfile, level, name_) - def exportLiteralAttributes(self, outfile, level, name_): - if self.kind is not None: - showIndent(outfile, level) - outfile.write('kind = "%s",\n' % (self.kind,)) - if self.refid is not None: - showIndent(outfile, level) - outfile.write('refid = %s,\n' % (self.refid,)) - def exportLiteralChildren(self, outfile, level, name_): - showIndent(outfile, level) - outfile.write('name=%s,\n' % quote_python(self.name).encode(ExternalEncoding)) - def build(self, node_): - attrs = node_.attributes - self.buildAttributes(attrs) - for child_ in node_.childNodes: - nodeName_ = child_.nodeName.split(':')[-1] - self.buildChildren(child_, nodeName_) - def buildAttributes(self, attrs): - if attrs.get('kind'): - self.kind = attrs.get('kind').value - if attrs.get('refid'): - self.refid = attrs.get('refid').value - def buildChildren(self, child_, nodeName_): - if child_.nodeType == Node.ELEMENT_NODE and \ - nodeName_ == 'name': - name_ = '' - for text__content_ in child_.childNodes: - name_ += text__content_.nodeValue - self.name = name_ -# end class MemberType - - -USAGE_TEXT = """ -Usage: python <Parser>.py [ -s ] <in_xml_file> -Options: - -s Use the SAX parser, not the minidom parser. -""" - -def usage(): - print USAGE_TEXT - sys.exit(1) - - -def parse(inFileName): - doc = minidom.parse(inFileName) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('<?xml version="1.0" ?>\n') - rootObj.export(sys.stdout, 0, name_="doxygenindex", - namespacedef_='') - return rootObj - - -def parseString(inString): - doc = minidom.parseString(inString) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('<?xml version="1.0" ?>\n') - rootObj.export(sys.stdout, 0, name_="doxygenindex", - namespacedef_='') - return rootObj - - -def parseLiteral(inFileName): - doc = minidom.parse(inFileName) - rootNode = doc.documentElement - rootObj = DoxygenType.factory() - rootObj.build(rootNode) - # Enable Python to collect the space used by the DOM. - doc = None - sys.stdout.write('from index import *\n\n') - sys.stdout.write('rootObj = doxygenindex(\n') - rootObj.exportLiteral(sys.stdout, 0, name_="doxygenindex") - sys.stdout.write(')\n') - return rootObj - - -def main(): - args = sys.argv[1:] - if len(args) == 1: - parse(args[0]) - else: - usage() - - - - -if __name__ == '__main__': - main() - #import pdb - #pdb.run('main()') - diff --git a/gr-howto-write-a-block/docs/doxygen/doxyxml/text.py b/gr-howto-write-a-block/docs/doxygen/doxyxml/text.py deleted file mode 100644 index 629edd180d..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/doxyxml/text.py +++ /dev/null @@ -1,56 +0,0 @@ -# -# Copyright 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -""" -Utilities for extracting text from generated classes. -""" - -def is_string(txt): - if isinstance(txt, str): - return True - try: - if isinstance(txt, unicode): - return True - except NameError: - pass - return False - -def description(obj): - if obj is None: - return None - return description_bit(obj).strip() - -def description_bit(obj): - if hasattr(obj, 'content'): - contents = [description_bit(item) for item in obj.content] - result = ''.join(contents) - elif hasattr(obj, 'content_'): - contents = [description_bit(item) for item in obj.content_] - result = ''.join(contents) - elif hasattr(obj, 'value'): - result = description_bit(obj.value) - elif is_string(obj): - return obj - else: - raise StandardError('Expecting a string or something with content, content_ or value attribute') - # If this bit is a paragraph then add one some line breaks. - if hasattr(obj, 'name') and obj.name == 'para': - result += "\n\n" - return result diff --git a/gr-howto-write-a-block/docs/doxygen/other/group_defs.dox b/gr-howto-write-a-block/docs/doxygen/other/group_defs.dox deleted file mode 100644 index 708f8c6d98..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/other/group_defs.dox +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * \defgroup block GNU Radio HOWTO C++ Signal Processing Blocks - * \brief All C++ blocks that can be used from the HOWTO GNU Radio - * module are listed here or in the subcategories below. - * - */ - diff --git a/gr-howto-write-a-block/docs/doxygen/other/main_page.dox b/gr-howto-write-a-block/docs/doxygen/other/main_page.dox deleted file mode 100644 index 6357044912..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/other/main_page.dox +++ /dev/null @@ -1,10 +0,0 @@ -/*! \mainpage - -Welcome to the GNU Radio HOWTO Block - -This is the intro page for the Doxygen manual generated for the HOWTO -block (docs/doxygen/other/main_page.dox). Edit it to add more detailed -documentation about the new GNU Radio modules contained in this -project. - -*/ diff --git a/gr-howto-write-a-block/docs/doxygen/swig_doc.py b/gr-howto-write-a-block/docs/doxygen/swig_doc.py deleted file mode 100644 index f24608b3ee..0000000000 --- a/gr-howto-write-a-block/docs/doxygen/swig_doc.py +++ /dev/null @@ -1,326 +0,0 @@ -# -# Copyright 2010-2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# -""" -Creates the swig_doc.i SWIG interface file. -Execute using: python swig_doc.py xml_path outputfilename - -The file instructs SWIG to transfer the doxygen comments into the -python docstrings. - -""" - -import sys, time - -from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile -from doxyxml import DoxyOther, base - -def py_name(name): - bits = name.split('_') - return '_'.join(bits[1:]) - -def make_name(name): - bits = name.split('_') - return bits[0] + '_make_' + '_'.join(bits[1:]) - - -class Block(object): - """ - Checks if doxyxml produced objects correspond to a gnuradio block. - """ - - @classmethod - def includes(cls, item): - if not isinstance(item, DoxyClass): - return False - # Check for a parsing error. - if item.error(): - return False - friendname = make_name(item.name()) - is_a_block = item.has_member(friendname, DoxyFriend) - # But now sometimes the make function isn't a friend so check again. - if not is_a_block: - is_a_block = di.has_member(friendname, DoxyFunction) - return is_a_block - -class Block2(object): - """ - Checks if doxyxml produced objects correspond to a new style - gnuradio block. - """ - - @classmethod - def includes(cls, item): - if not isinstance(item, DoxyClass): - return False - # Check for a parsing error. - if item.error(): - return False - is_a_block2 = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther) - return is_a_block2 - - -def utoascii(text): - """ - Convert unicode text into ascii and escape quotes. - """ - if text is None: - return '' - out = text.encode('ascii', 'replace') - out = out.replace('"', '\\"') - return out - - -def combine_descriptions(obj): - """ - Combines the brief and detailed descriptions of an object together. - """ - description = [] - bd = obj.brief_description.strip() - dd = obj.detailed_description.strip() - if bd: - description.append(bd) - if dd: - description.append(dd) - return utoascii('\n\n'.join(description)).strip() - -def format_params(parameteritems): - output = ['Args:'] - template = ' {0} : {1}' - for pi in parameteritems: - output.append(template.format(pi.name, pi.description)) - return '\n'.join(output) - -entry_templ = '%feature("docstring") {name} "{docstring}"' -def make_entry(obj, name=None, templ="{description}", description=None, params=[]): - """ - Create a docstring entry for a swig interface file. - - obj - a doxyxml object from which documentation will be extracted. - name - the name of the C object (defaults to obj.name()) - templ - an optional template for the docstring containing only one - variable named 'description'. - description - if this optional variable is set then it's value is - used as the description instead of extracting it from obj. - """ - if name is None: - name=obj.name() - if "operator " in name: - return '' - if description is None: - description = combine_descriptions(obj) - if params: - description += '\n\n' - description += utoascii(format_params(params)) - docstring = templ.format(description=description) - if not docstring: - return '' - return entry_templ.format( - name=name, - docstring=docstring, - ) - - -def make_func_entry(func, name=None, description=None, params=None): - """ - Create a function docstring entry for a swig interface file. - - func - a doxyxml object from which documentation will be extracted. - name - the name of the C object (defaults to func.name()) - description - if this optional variable is set then it's value is - used as the description instead of extracting it from func. - params - a parameter list that overrides using func.params. - """ - #if params is None: - # params = func.params - #params = [prm.declname for prm in params] - #if params: - # sig = "Params: (%s)" % ", ".join(params) - #else: - # sig = "Params: (NONE)" - #templ = "{description}\n\n" + sig - #return make_entry(func, name=name, templ=utoascii(templ), - # description=description) - return make_entry(func, name=name, description=description, params=params) - - -def make_class_entry(klass, description=None, ignored_methods=[], params=None): - """ - Create a class docstring for a swig interface file. - """ - if params is None: - params = klass.params - output = [] - output.append(make_entry(klass, description=description, params=params)) - for func in klass.in_category(DoxyFunction): - if func.name() not in ignored_methods: - name = klass.name() + '::' + func.name() - output.append(make_func_entry(func, name=name)) - return "\n\n".join(output) - - -def make_block_entry(di, block): - """ - Create class and function docstrings of a gnuradio block for a - swig interface file. - """ - descriptions = [] - # Get the documentation associated with the class. - class_desc = combine_descriptions(block) - if class_desc: - descriptions.append(class_desc) - # Get the documentation associated with the make function - make_func = di.get_member(make_name(block.name()), DoxyFunction) - make_func_desc = combine_descriptions(make_func) - if make_func_desc: - descriptions.append(make_func_desc) - # Get the documentation associated with the file - try: - block_file = di.get_member(block.name() + ".h", DoxyFile) - file_desc = combine_descriptions(block_file) - if file_desc: - descriptions.append(file_desc) - except base.Base.NoSuchMember: - # Don't worry if we can't find a matching file. - pass - # And join them all together to make a super duper description. - super_description = "\n\n".join(descriptions) - # Associate the combined description with the class and - # the make function. - output = [] - output.append(make_class_entry(block, description=super_description)) - output.append(make_func_entry(make_func, description=super_description, - params=block.params)) - return "\n\n".join(output) - -def make_block2_entry(di, block): - """ - Create class and function docstrings of a new style gnuradio block for a - swig interface file. - """ - descriptions = [] - # For new style blocks all the relevant documentation should be - # associated with the 'make' method. - make_func = block.get_member('make', DoxyFunction) - description = combine_descriptions(make_func) - # Associate the combined description with the class and - # the make function. - output = [] - #output.append(make_class_entry( - # block, description=description, - # ignored_methods=['make'], params=make_func.params)) - makename = block.name() + '::make' - output.append(make_func_entry( - make_func, name=makename, description=description, - params=make_func.params)) - return "\n\n".join(output) - -def make_swig_interface_file(di, swigdocfilename, custom_output=None): - - output = [""" -/* - * This file was automatically generated using swig_doc.py. - * - * Any changes to it will be lost next time it is regenerated. - */ -"""] - - if custom_output is not None: - output.append(custom_output) - - # Create docstrings for the blocks. - blocks = di.in_category(Block) - blocks2 = di.in_category(Block2) - - make_funcs = set([]) - for block in blocks: - try: - make_func = di.get_member(make_name(block.name()), DoxyFunction) - # Don't want to risk writing to output twice. - if make_func.name() not in make_funcs: - make_funcs.add(make_func.name()) - output.append(make_block_entry(di, block)) - except block.ParsingError: - sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) - raise - - for block in blocks2: - try: - make_func = block.get_member('make', DoxyFunction) - make_func_name = block.name() +'::make' - # Don't want to risk writing to output twice. - if make_func_name not in make_funcs: - make_funcs.add(make_func_name) - output.append(make_block2_entry(di, block)) - except block.ParsingError: - sys.stderr.write('Parsing error for block {0}\n'.format(block.name())) - raise - - # Create docstrings for functions - # Don't include the make functions since they have already been dealt with. - funcs = [f for f in di.in_category(DoxyFunction) - if f.name() not in make_funcs and not f.name().startswith('std::')] - for f in funcs: - try: - output.append(make_func_entry(f)) - except f.ParsingError: - sys.stderr.write('Parsing error for function {0}\n'.format(f.name())) - - # Create docstrings for classes - block_names = [block.name() for block in blocks] - block_names += [block.name() for block in blocks2] - klasses = [k for k in di.in_category(DoxyClass) - if k.name() not in block_names and not k.name().startswith('std::')] - for k in klasses: - try: - output.append(make_class_entry(k)) - except k.ParsingError: - sys.stderr.write('Parsing error for class {0}\n'.format(k.name())) - - # Docstrings are not created for anything that is not a function or a class. - # If this excludes anything important please add it here. - - output = "\n\n".join(output) - - swig_doc = file(swigdocfilename, 'w') - swig_doc.write(output) - swig_doc.close() - -if __name__ == "__main__": - # Parse command line options and set up doxyxml. - err_msg = "Execute using: python swig_doc.py xml_path outputfilename" - if len(sys.argv) != 3: - raise StandardError(err_msg) - xml_path = sys.argv[1] - swigdocfilename = sys.argv[2] - di = DoxyIndex(xml_path) - - # gnuradio.gr.msq_queue.insert_tail and delete_head create errors unless docstrings are defined! - # This is presumably a bug in SWIG. - #msg_q = di.get_member(u'gr_msg_queue', DoxyClass) - #insert_tail = msg_q.get_member(u'insert_tail', DoxyFunction) - #delete_head = msg_q.get_member(u'delete_head', DoxyFunction) - output = [] - #output.append(make_func_entry(insert_tail, name='gr_py_msg_queue__insert_tail')) - #output.append(make_func_entry(delete_head, name='gr_py_msg_queue__delete_head')) - custom_output = "\n\n".join(output) - - # Generate the docstrings interface file. - make_swig_interface_file(di, swigdocfilename, custom_output=custom_output) diff --git a/gr-howto-write-a-block/grc/CMakeLists.txt b/gr-howto-write-a-block/grc/CMakeLists.txt deleted file mode 100644 index b7bd11d804..0000000000 --- a/gr-howto-write-a-block/grc/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -install(FILES - howto_square_ff.xml - howto_square2_ff.xml - DESTINATION share/gnuradio/grc/blocks -) diff --git a/gr-howto-write-a-block/grc/howto_square2_ff.xml b/gr-howto-write-a-block/grc/howto_square2_ff.xml deleted file mode 100644 index c58ef00478..0000000000 --- a/gr-howto-write-a-block/grc/howto_square2_ff.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Square2</name> - <key>howto_square2_ff</key> - <category>HOWTO</category> - <import>import howto</import> - <make>howto.square2_ff()</make> - - <sink> - <name>in</name> - <type>float</type> - </sink> - - <source> - <name>out</name> - <type>float</type> - </source> -</block> diff --git a/gr-howto-write-a-block/grc/howto_square_ff.xml b/gr-howto-write-a-block/grc/howto_square_ff.xml deleted file mode 100644 index 34a0b0a3f2..0000000000 --- a/gr-howto-write-a-block/grc/howto_square_ff.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>Square</name> - <key>howto_square_ff</key> - <category>HOWTO</category> - <import>import howto</import> - <make>howto.square_ff()</make> - - <sink> - <name>in</name> - <type>float</type> - </sink> - - <source> - <name>out</name> - <type>float</type> - </source> -</block> diff --git a/gr-howto-write-a-block/include/howto/CMakeLists.txt b/gr-howto-write-a-block/include/howto/CMakeLists.txt deleted file mode 100644 index 7cd6325543..0000000000 --- a/gr-howto-write-a-block/include/howto/CMakeLists.txt +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Install public header files -######################################################################## -install(FILES - api.h - square_ff.h - square2_ff.h - DESTINATION include/howto -) diff --git a/gr-howto-write-a-block/include/howto/api.h b/gr-howto-write-a-block/include/howto/api.h deleted file mode 100644 index 5263a1cf70..0000000000 --- a/gr-howto-write-a-block/include/howto/api.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2011 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_HOWTO_API_H -#define INCLUDED_HOWTO_API_H - -#include <gruel/attributes.h> - -#ifdef gnuradio_howto_EXPORTS -# define HOWTO_API __GR_ATTR_EXPORT -#else -# define HOWTO_API __GR_ATTR_IMPORT -#endif - -#endif /* INCLUDED_HOWTO_API_H */ diff --git a/gr-howto-write-a-block/include/howto/square2_ff.h b/gr-howto-write-a-block/include/howto/square2_ff.h deleted file mode 100644 index 2e22bb7997..0000000000 --- a/gr-howto-write-a-block/include/howto/square2_ff.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_HOWTO_SQUARE2_FF_H -#define INCLUDED_HOWTO_SQUARE2_FF_H - -#include <howto/api.h> -#include <gr_sync_block.h> - -namespace gr { - namespace howto { - - /*! - * \brief square2 a stream of floats. - * \ingroup block - * - * This uses the preferred technique: subclassing gr_sync_block. - */ - class HOWTO_API square2_ff : virtual public gr_sync_block - { - public: - /* - * We use boost::shared_ptr's instead of raw pointers for all - * access to gr_blocks (and many other data structures). The - * shared_ptr gets us transparent reference counting, which - * greatly simplifies storage management issues. This is - * especially helpful in our hybrid C++ / Python system. - * - * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm - * - * gr::howto::square2_ff::sptr - */ - typedef boost::shared_ptr<square2_ff> sptr; - - /*! - * \brief Return a shared_ptr to a new instance of howto::square2_ff. - * - * To avoid accidental use of raw pointers, howto::square2_ff's - * constructor is in a private implementation - * class. howto::square2_ff::make is the public interface for - * creating new instances. - */ - static sptr make(); - }; - - } // namespace howto -} // namespace gr - -#endif /* INCLUDED_HOWTO_SQUARE2_FF_H */ diff --git a/gr-howto-write-a-block/include/howto/square_ff.h b/gr-howto-write-a-block/include/howto/square_ff.h deleted file mode 100644 index ce971afb6b..0000000000 --- a/gr-howto-write-a-block/include/howto/square_ff.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_HOWTO_SQUARE_FF_H -#define INCLUDED_HOWTO_SQUARE_FF_H - -#include <howto/api.h> -#include <gr_block.h> - -namespace gr { - namespace howto { - - /*! - * \brief square a stream of floats. - * \ingroup block - * - * \sa howto_square2_ff for a version that subclasses gr_sync_block. - */ - class HOWTO_API square_ff : virtual public gr_block - { - public: - /* - * We use boost::shared_ptr's instead of raw pointers for all - * access to gr_blocks (and many other data structures). The - * shared_ptr gets us transparent reference counting, which - * greatly simplifies storage management issues. This is - * especially helpful in our hybrid C++ / Python system. - * - * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm - * - * gr::howto::square_ff::sptr - */ - typedef boost::shared_ptr<square_ff> sptr; - - /*! - * \brief Return a shared_ptr to a new instance of howto::square_ff. - * - * To avoid accidental use of raw pointers, howto::square_ff's - * constructor is in a private implementation - * class. howto::square_ff::make is the public interface for - * creating new instances. - */ - static sptr make(); - }; - - } // namespace howto -} // namespace gr - -#endif /* INCLUDED_HOWTO_SQUARE_FF_H */ diff --git a/gr-howto-write-a-block/lib/CMakeLists.txt b/gr-howto-write-a-block/lib/CMakeLists.txt deleted file mode 100644 index 826138bf91..0000000000 --- a/gr-howto-write-a-block/lib/CMakeLists.txt +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2011,2012 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Setup library -######################################################################## -include(GrPlatform) #define LIB_SUFFIX - -include_directories(${Boost_INCLUDE_DIR}) -link_directories(${Boost_LIBRARY_DIRS}) - -add_library(gnuradio-howto SHARED howto_square_ff.cc howto_square2_ff.cc) -target_link_libraries(gnuradio-howto - ${Boost_LIBRARIES} - ${GRUEL_LIBRARIES} - ${GNURADIO_CORE_LIBRARIES} - ${LOG4CPP_LIBRARIES}) - -set_target_properties(gnuradio-howto PROPERTIES DEFINE_SYMBOL "gnuradio_howto_EXPORTS") - -if(ENABLE_GR_CTRLPORT) - ADD_DEFINITIONS(-DGR_CTRLPORT) - include_directories(${ICE_INCLUDE_DIR}) -endif(ENABLE_GR_CTRLPORT) - -######################################################################## -# Install built library files -######################################################################## -install(TARGETS gnuradio-howto - LIBRARY DESTINATION lib${LIB_SUFFIX} # .so/.dylib file - ARCHIVE DESTINATION lib${LIB_SUFFIX} # .lib file - RUNTIME DESTINATION bin # .dll file -) - -######################################################################## -# Build and register unit test -######################################################################## -include(GrTest) - -include_directories(${CPPUNIT_INCLUDE_DIRS}) - -list(APPEND test_howto_sources - ${CMAKE_CURRENT_SOURCE_DIR}/test_howto.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_howto.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_square_ff.cc - ${CMAKE_CURRENT_SOURCE_DIR}/qa_square2_ff.cc -) - -add_executable(test-howto ${test_howto_sources}) - -target_link_libraries( - test-howto - ${GNURADIO_CORE_LIBRARIES} - ${Boost_LIBRARIES} - ${CPPUNIT_LIBRARIES} - gnuradio-howto -) - -GR_ADD_TEST(test_howto test-howto) diff --git a/gr-howto-write-a-block/lib/qa_howto.cc b/gr-howto-write-a-block/lib/qa_howto.cc deleted file mode 100644 index 6200da9b48..0000000000 --- a/gr-howto-write-a-block/lib/qa_howto.cc +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -/* - * This class gathers together all the test cases for the gr-filter - * directory into a single test suite. As you create new test cases, - * add them here. - */ - -#include "qa_howto.h" -#include "qa_square_ff.h" -#include "qa_square2_ff.h" - -CppUnit::TestSuite * -qa_howto::suite() -{ - CppUnit::TestSuite *s = new CppUnit::TestSuite("howto"); - - s->addTest(gr::howto::qa_square_ff::suite()); - s->addTest(gr::howto::qa_square2_ff::suite()); - - return s; -} diff --git a/gr-howto-write-a-block/lib/qa_square2_ff.cc b/gr-howto-write-a-block/lib/qa_square2_ff.cc deleted file mode 100644 index b73c7ce1d7..0000000000 --- a/gr-howto-write-a-block/lib/qa_square2_ff.cc +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2011-2013 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "qa_square2_ff.h" -#include <cppunit/TestAssert.h> - -#include <vector> -#include <gr_top_block.h> -#include <blocks/vector_source_f.h> -#include <blocks/vector_sink_f.h> -#include <howto/square2_ff.h> - -namespace gr { - namespace howto { - - void - qa_square2_ff::t1() - { - std::vector<float> data(5,0); - std::vector<float> result(5,0); - std::vector<float> output(5,0); - for(size_t i = 0; i < data.size(); i++) { - data[i] = i; - result[i] = i*i; - } - - gr_top_block_sptr tb = gr_make_top_block("dial_tone"); - gr::blocks::vector_source_f::sptr src = gr::blocks::vector_source_f::make(data); - gr::blocks::vector_sink_f::sptr snk = gr::blocks::vector_sink_f::make(); - - square2_ff::sptr op = square2_ff::make(); - - tb->connect(src, 0, op, 0); - tb->connect(op, 0, snk, 0); - tb->run(); - - output = snk->data(); - - for(size_t i = 0; i < data.size(); i++) { - CPPUNIT_ASSERT_DOUBLES_EQUAL(output[i], result[i], 0.0001); - } - } - - } /* namespace howto */ -} /* namespace gr */ diff --git a/gr-howto-write-a-block/lib/qa_square2_ff.h b/gr-howto-write-a-block/lib/qa_square2_ff.h deleted file mode 100644 index 5260cabda9..0000000000 --- a/gr-howto-write-a-block/lib/qa_square2_ff.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef _QA_SQUARE2_FF_H_ -#define _QA_SQUARE2_FF_H_ - -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCase.h> - -namespace gr { - namespace howto { - - class qa_square2_ff : public CppUnit::TestCase - { - public: - CPPUNIT_TEST_SUITE(qa_square2_ff); - CPPUNIT_TEST(t1); - CPPUNIT_TEST_SUITE_END(); - - private: - void t1(); - }; - - } /* namespace howto */ -} /* namespace gr */ - -#endif /* _QA_SQUARE2_FF_H_ */ diff --git a/gr-howto-write-a-block/lib/qa_square_ff.cc b/gr-howto-write-a-block/lib/qa_square_ff.cc deleted file mode 100644 index a8e7ac2b92..0000000000 --- a/gr-howto-write-a-block/lib/qa_square_ff.cc +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2011-2013 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "qa_square_ff.h" -#include <cppunit/TestAssert.h> - -#include <vector> -#include <gr_top_block.h> -#include <blocks/vector_source_f.h> -#include <blocks/vector_sink_f.h> -#include <howto/square_ff.h> - -namespace gr { - namespace howto { - - void - qa_square_ff::t1() - { - std::vector<float> data(5,0); - std::vector<float> result(5,0); - std::vector<float> output(5,0); - for(size_t i = 0; i < data.size(); i++) { - data[i] = i; - result[i] = i*i; - } - - gr_top_block_sptr tb = gr_make_top_block("dial_tone"); - gr::blocks::vector_source_f::sptr src = gr::blocks::vector_source_f::make(data); - gr::blocks::vector_sink_f::sptr snk = gr::blocks::vector_sink_f::make(); - - square_ff::sptr op = square_ff::make(); - - tb->connect(src, 0, op, 0); - tb->connect(op, 0, snk, 0); - tb->run(); - - output = snk->data(); - - for(size_t i = 0; i < data.size(); i++) { - CPPUNIT_ASSERT_DOUBLES_EQUAL(output[i], result[i], 0.0001); - } - } - - } /* namespace howto */ -} /* namespace gr */ diff --git a/gr-howto-write-a-block/lib/qa_square_ff.h b/gr-howto-write-a-block/lib/qa_square_ff.h deleted file mode 100644 index eed699b0be..0000000000 --- a/gr-howto-write-a-block/lib/qa_square_ff.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef _QA_SQUARE_FF_H_ -#define _QA_SQUARE_FF_H_ - -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/TestCase.h> - -namespace gr { - namespace howto { - - class qa_square_ff : public CppUnit::TestCase - { - public: - CPPUNIT_TEST_SUITE(qa_square_ff); - CPPUNIT_TEST(t1); - CPPUNIT_TEST_SUITE_END(); - - private: - void t1(); - }; - - } /* namespace howto */ -} /* namespace gr */ - -#endif /* _QA_SQUARE_FF_H_ */ diff --git a/gr-howto-write-a-block/lib/square2_ff_impl.cc b/gr-howto-write-a-block/lib/square2_ff_impl.cc deleted file mode 100644 index f508a6e05b..0000000000 --- a/gr-howto-write-a-block/lib/square2_ff_impl.cc +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2010,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -/* - * config.h is generated by configure. It contains the results - * of probing for features, options etc. It should be the first - * file included in your .cc file. - */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "square2_ff_impl.h" -#include <gr_io_signature.h> - -namespace gr { - namespace howto { - - /* - * Create a new instance of howto_square2_ff and return a boost - * shared_ptr. This is effectively the public constructor. - */ - square2_ff::sptr - square2_ff::make() - { - return gnuradio::get_initial_sptr - (new square2_ff_impl()); - } - - /* - * Specify constraints on number of input and output streams. - * This info is used to construct the input and output signatures - * (2nd & 3rd args to gr_block's constructor). The input and - * output signatures are used by the runtime system to check that - * a valid number and type of inputs and outputs are connected to - * this block. In this case, we accept only 1 input and 1 output. - */ - static const int MIN_IN = 1; // mininum number of input streams - static const int MAX_IN = 1; // maximum number of input streams - static const int MIN_OUT = 1; // minimum number of output streams - static const int MAX_OUT = 1; // maximum number of output streams - - /* - * The private constructor - */ - square2_ff_impl::square2_ff_impl() - : gr_sync_block("square2_ff", - gr_make_io_signature(MIN_IN, MAX_IN, sizeof(float)), - gr_make_io_signature(MIN_OUT, MAX_OUT, sizeof(float))) - { - // nothing else required in this example - } - - /* - * Our virtual destructor. - */ - square2_ff_impl::~square2_ff_impl() - { - // nothing else required in this example - } - - int - square2_ff_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const float *in = (const float*)input_items[0]; - float *out = (float*)output_items[0]; - - for(int i = 0; i < noutput_items; i++) { - out[i] = in[i] * in[i]; - } - - // Tell runtime system how many output items we produced. - return noutput_items; - } - - } /* namespace howto */ -} /* namespace gr */ diff --git a/gr-howto-write-a-block/lib/square2_ff_impl.h b/gr-howto-write-a-block/lib/square2_ff_impl.h deleted file mode 100644 index 1f7ca7ab37..0000000000 --- a/gr-howto-write-a-block/lib/square2_ff_impl.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_HOWTO_SQUARE2_FF_IMPL_H -#define INCLUDED_HOWTO_SQUARE2_FF_IMPL_H - -#include <howto/square2_ff.h> -#include <gr_sync_block.h> - -namespace gr { - namespace howto { - - class square2_ff_impl : public square2_ff - { - private: - // Nothing to declare in this block. - - public: - square2_ff_impl(); // implementation constructor - ~square2_ff_impl(); // implementation destructor - - // Where all the action really happens - - int work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items); - }; - - } // namespace howto -} // namespace gr - -#endif /* INCLUDED_HOWTO_SQUARE2_FF_IMPL_H */ diff --git a/gr-howto-write-a-block/lib/square_ff_impl.cc b/gr-howto-write-a-block/lib/square_ff_impl.cc deleted file mode 100644 index d49f72da1e..0000000000 --- a/gr-howto-write-a-block/lib/square_ff_impl.cc +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2010,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -/* - * config.h is generated by configure. It contains the results - * of probing for features, options etc. It should be the first - * file included in your .cc file. - */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "square_ff_impl.h" -#include <gr_io_signature.h> - -namespace gr { - namespace howto { - - /* - * Create a new instance of howto_square_ff and return a boost - * shared_ptr. This is effectively the public constructor. - */ - square_ff::sptr - square_ff::make() - { - return gnuradio::get_initial_sptr - (new square_ff_impl()); - } - - /* - * Specify constraints on number of input and output streams. - * This info is used to construct the input and output signatures - * (2nd & 3rd args to gr_block's constructor). The input and - * output signatures are used by the runtime system to - * check that a valid number and type of inputs and outputs - * are connected to this block. In this case, we accept - * only 1 input and 1 output. - */ - static const int MIN_IN = 1; // mininum number of input streams - static const int MAX_IN = 1; // maximum number of input streams - static const int MIN_OUT = 1; // minimum number of output streams - static const int MAX_OUT = 1; // maximum number of output streams - - /* - * The private constructor - */ - square_ff_impl::square_ff_impl() - : gr_block("square_ff", - gr_make_io_signature(MIN_IN, MAX_IN, sizeof(float)), - gr_make_io_signature(MIN_OUT, MAX_OUT, sizeof(float))) - { - // nothing else required in this example - } - - /* - * Our virtual destructor. - */ - square_ff_impl::~square_ff_impl() - { - // nothing else required in this example - } - - int - square_ff_impl::general_work(int noutput_items, - gr_vector_int &ninput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const float *in = (const float*)input_items[0]; - float *out = (float*)output_items[0]; - - for(int i = 0; i < noutput_items; i++) { - out[i] = in[i] * in[i]; - } - - // Tell runtime system how many input items we consumed on - // each input stream. - - consume_each(noutput_items); - - // Tell runtime system how many output items we produced. - return noutput_items; - } - - } /* namespace howto */ -} /* namespace gr */ diff --git a/gr-howto-write-a-block/lib/square_ff_impl.h b/gr-howto-write-a-block/lib/square_ff_impl.h deleted file mode 100644 index 2f0963423a..0000000000 --- a/gr-howto-write-a-block/lib/square_ff_impl.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2004,2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#ifndef INCLUDED_HOWTO_SQUARE_FF_IMPL_H -#define INCLUDED_HOWTO_SQUARE_FF_IMPL_H - -#include <howto/square_ff.h> -#include <gr_block.h> - -namespace gr { - namespace howto { - - class square_ff_impl : public square_ff - { - private: - // Nothing to declare in this block. - - public: - square_ff_impl(); // implementation constructor - ~square_ff_impl(); // implementation destructor - - // Where all the action really happens - - int general_work(int noutput_items, - gr_vector_int &ninput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items); - }; - - } // namespace howto -} // namespace gr - -#endif /* INCLUDED_HOWTO_SQUARE_FF_IMPL_H */ diff --git a/gr-howto-write-a-block/lib/test_howto.cc b/gr-howto-write-a-block/lib/test_howto.cc deleted file mode 100644 index bf344265d7..0000000000 --- a/gr-howto-write-a-block/lib/test_howto.cc +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2012 Free Software Foundation, Inc. - * - * This file is part of GNU Radio - * - * GNU Radio is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3, or (at your option) - * any later version. - * - * GNU Radio is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Radio; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, - * Boston, MA 02110-1301, USA. - */ - -#include <cppunit/TextTestRunner.h> -#include <cppunit/XmlOutputter.h> - -#include <gr_unittests.h> -#include "qa_howto.h" -#include <iostream> - -int -main (int argc, char **argv) -{ - CppUnit::TextTestRunner runner; - std::ofstream xmlfile(get_unittest_path("howto.xml").c_str()); - CppUnit::XmlOutputter *xmlout = new CppUnit::XmlOutputter(&runner.result(), xmlfile); - - runner.addTest(qa_howto::suite()); - runner.setOutputter(xmlout); - - bool was_successful = runner.run("", false); - - return was_successful ? 0 : 1; -} diff --git a/gr-howto-write-a-block/python/CMakeLists.txt b/gr-howto-write-a-block/python/CMakeLists.txt deleted file mode 100644 index ac55316384..0000000000 --- a/gr-howto-write-a-block/python/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Include python install macros -######################################################################## -include(GrPython) -if(NOT PYTHONINTERP_FOUND) - return() -endif() - -######################################################################## -# Install python sources -######################################################################## -GR_PYTHON_INSTALL( - FILES - __init__.py - square3_ff.py - DESTINATION ${GR_PYTHON_DIR}/howto -) - -######################################################################## -# Handle the unit tests -######################################################################## -include(GrTest) - -set(GR_TEST_TARGET_DEPS gnuradio-howto) -set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig) -GR_ADD_TEST(qa_howto ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_howto.py) diff --git a/gr-howto-write-a-block/python/__init__.py b/gr-howto-write-a-block/python/__init__.py deleted file mode 100644 index 6e5e1c1475..0000000000 --- a/gr-howto-write-a-block/python/__init__.py +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright 2008,2009 Free Software Foundation, Inc. -# -# This application is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# This application is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# - -# The presence of this file turns this directory into a Python package - -''' -This is the GNU Radio HOWTO module. Place your Python package -description here (python/__init__.py). -''' - -# import swig generated symbols into the howto namespace -from howto_swig import * -from square3_ff import square3_ff - -# import any pure python here -# diff --git a/gr-howto-write-a-block/python/qa_howto.py b/gr-howto-write-a-block/python/qa_howto.py deleted file mode 100644 index 7b58c35f4d..0000000000 --- a/gr-howto-write-a-block/python/qa_howto.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2004,2007,2012,2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, gr_unittest -from gnuradio import blocks -import howto_swig as howto -from square3_ff import square3_ff - -class qa_howto(gr_unittest.TestCase): - - def setUp(self): - self.tb = gr.top_block() - - def tearDown(self): - self.tb = None - - def test_001_square_ff(self): - src_data = (-3, 4, -5.5, 2, 3) - expected_result = (9, 16, 30.25, 4, 9) - src = blocks.vector_source_f(src_data) - sqr = howto.square_ff() - dst = blocks.vector_sink_f() - self.tb.connect(src, sqr) - self.tb.connect(sqr, dst) - self.tb.run() - result_data = dst.data() - self.assertFloatTuplesAlmostEqual(expected_result, result_data, 6) - - def test_002_square2_ff(self): - src_data = (-3, 4, -5.5, 2, 3) - expected_result = (9, 16, 30.25, 4, 9) - src = blocks.vector_source_f(src_data) - sqr = howto.square2_ff() - dst = blocks.vector_sink_f() - self.tb.connect(src, sqr) - self.tb.connect(sqr, dst) - self.tb.run() - result_data = dst.data() - self.assertFloatTuplesAlmostEqual(expected_result, result_data, 6) - - def test_003_square3_ff (self): - src_data = (-3, 4, -5.5, 2, 3) - expected_result = (9, 16, 30.25, 4, 9) - src = blocks.vector_source_f (src_data) - sqr = square3_ff () - dst = blocks.vector_sink_f () - self.tb.connect (src, sqr) - self.tb.connect (sqr, dst) - self.tb.run () - result_data = dst.data () - self.assertFloatTuplesAlmostEqual (expected_result, result_data, 6) - -if __name__ == '__main__': - gr_unittest.run(qa_howto, "qa_howto.xml") diff --git a/gr-howto-write-a-block/python/square3_ff.py b/gr-howto-write-a-block/python/square3_ff.py deleted file mode 100644 index df702734e5..0000000000 --- a/gr-howto-write-a-block/python/square3_ff.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2013 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import numpy -from gnuradio import gr - -class square3_ff(gr.sync_block): - " Squaring block " - def __init__(self): - gr.sync_block.__init__( - self, - name = "square3_ff", - in_sig = [numpy.float32], # Input signature: 1 float at a time - out_sig = [numpy.float32], # Output signature: 1 float at a time - ) - - def work(self, input_items, output_items): - """ Notes: - - You must not forget the [:] at the output items, otherwise - stuff doesn't truly get copied to the output - - Both input_ and output_items[N] are numpy arrays, so you can - do fancy stuff like multiplying them elementwise - - noutput_items and ninput_items are implicit in the length of - output_items and input_items, respectively - """ - output_items[0][:] = input_items[0] * input_items[0] - return len(output_items[0]) - diff --git a/gr-howto-write-a-block/swig/CMakeLists.txt b/gr-howto-write-a-block/swig/CMakeLists.txt deleted file mode 100644 index 4d5f1156e3..0000000000 --- a/gr-howto-write-a-block/swig/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2011 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. - -######################################################################## -# Include swig generation macros -######################################################################## -find_package(SWIG) -find_package(PythonLibs) -if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND) - return() -endif() -include(GrSwig) -include(GrPython) - -######################################################################## -# Setup swig generation -######################################################################## -foreach(incdir ${GNURADIO_CORE_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/swig) -endforeach(incdir) - -foreach(incdir ${GRUEL_INCLUDE_DIRS}) - list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gruel/swig) -endforeach(incdir) - -list(APPEND GR_SWIG_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) - -set(GR_SWIG_LIBRARIES gnuradio-howto) -set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/howto_swig_doc.i) -set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include) - -GR_SWIG_MAKE(howto_swig howto_swig.i) - -######################################################################## -# Install the build swig module -######################################################################## -GR_SWIG_INSTALL(TARGETS howto_swig DESTINATION ${GR_PYTHON_DIR}/howto) - -######################################################################## -# Install swig .i files for development -######################################################################## -install( - FILES - howto_swig.i - ${CMAKE_CURRENT_BINARY_DIR}/howto_swig_doc.i - DESTINATION ${GR_INCLUDE_DIR}/howto/swig -) diff --git a/gr-howto-write-a-block/swig/howto_swig.i b/gr-howto-write-a-block/swig/howto_swig.i deleted file mode 100644 index 162bc6a901..0000000000 --- a/gr-howto-write-a-block/swig/howto_swig.i +++ /dev/null @@ -1,19 +0,0 @@ -/* -*- c++ -*- */ - -#define HOWTO_API - -%include "gnuradio.i" // the common stuff - -//load generated python docstrings -%include "howto_swig_doc.i" - -%{ -#include "howto/square_ff.h" -#include "howto/square2_ff.h" -%} - -%include "howto/square_ff.h" -%include "howto/square2_ff.h" - -GR_SWIG_BLOCK_MAGIC2(howto, square_ff); -GR_SWIG_BLOCK_MAGIC2(howto, square2_ff); diff --git a/gr-noaa/CMakeLists.txt b/gr-noaa/CMakeLists.txt index 3da763c7f8..5a73c57d8b 100644 --- a/gr-noaa/CMakeLists.txt +++ b/gr-noaa/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-noaa" ENABLE_GR_NOAA Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS ) diff --git a/gr-noaa/gnuradio-noaa.pc.in b/gr-noaa/gnuradio-noaa.pc.in index cacfeeccae..134b31bc5e 100644 --- a/gr-noaa/gnuradio-noaa.pc.in +++ b/gr-noaa/gnuradio-noaa.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-noaa Description: GNU Radio blocks implementing a NOAA satellite protocols -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-noaa Cflags: -I${includedir} diff --git a/gr-noaa/lib/CMakeLists.txt b/gr-noaa/lib/CMakeLists.txt index df0eafb0f3..a5a5cfbb8f 100644 --- a/gr-noaa/lib/CMakeLists.txt +++ b/gr-noaa/lib/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_NOAA_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -60,7 +60,7 @@ if(MSVC) endif(MSVC) list(APPEND noaa_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES} ) diff --git a/gr-noaa/swig/CMakeLists.txt b/gr-noaa/swig/CMakeLists.txt index b89b3a7680..cc471a56c8 100644 --- a/gr-noaa/swig/CMakeLists.txt +++ b/gr-noaa/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_NOAA_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-noaa/swig/noaa_swig.i b/gr-noaa/swig/noaa_swig.i index 63859103e6..a7d3879369 100644 --- a/gr-noaa/swig/noaa_swig.i +++ b/gr-noaa/swig/noaa_swig.i @@ -22,7 +22,7 @@ #define NOAA_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "noaa_swig_doc.i" diff --git a/gr-pager/CMakeLists.txt b/gr-pager/CMakeLists.txt index 4bd25af8c3..a92886cf30 100644 --- a/gr-pager/CMakeLists.txt +++ b/gr-pager/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-pager" ENABLE_GR_PAGER Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FILTER ENABLE_GR_ANALOG ) diff --git a/gr-pager/gnuradio-pager.pc.in b/gr-pager/gnuradio-pager.pc.in index 408d94eb27..42fce74536 100644 --- a/gr-pager/gnuradio-pager.pc.in +++ b/gr-pager/gnuradio-pager.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-pager Description: GNU Radio blocks implementing a FLEX pager decoder -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-pager Cflags: -I${includedir} diff --git a/gr-pager/lib/CMakeLists.txt b/gr-pager/lib/CMakeLists.txt index 3349d2d785..ca64bf38ef 100644 --- a/gr-pager/lib/CMakeLists.txt +++ b/gr-pager/lib/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( ${GR_PAGER_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) @@ -62,7 +62,7 @@ if(MSVC) endif(MSVC) list(APPEND pager_libs - gnuradio-core + gnuradio-runtime gnuradio-blocks ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES} diff --git a/gr-pager/swig/CMakeLists.txt b/gr-pager/swig/CMakeLists.txt index b6eee8b1eb..5fba4fa19a 100644 --- a/gr-pager/swig/CMakeLists.txt +++ b/gr-pager/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_PAGER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-pager/swig/pager_swig.i b/gr-pager/swig/pager_swig.i index ac4fa0278e..b558d5a6cd 100644 --- a/gr-pager/swig/pager_swig.i +++ b/gr-pager/swig/pager_swig.i @@ -21,7 +21,7 @@ #define PAGER_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "pager_swig_doc.i" diff --git a/gr-qtgui/CMakeLists.txt b/gr-qtgui/CMakeLists.txt index a2485b8921..046fb3ca19 100644 --- a/gr-qtgui/CMakeLists.txt +++ b/gr-qtgui/CMakeLists.txt @@ -48,7 +48,7 @@ GR_REGISTER_COMPONENT("gr-qtgui" ENABLE_GR_QTGUI QWT_FOUND ENABLE_GRUEL ENABLE_VOLK - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_FILTER PYTHONLIBS_FOUND diff --git a/gr-qtgui/gnuradio-qtgui.pc.in b/gr-qtgui/gnuradio-qtgui.pc.in index 27b6a21bff..8f0dcd53f7 100644 --- a/gr-qtgui/gnuradio-qtgui.pc.in +++ b/gr-qtgui/gnuradio-qtgui.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-qtgui Description: GNU Radio blocks for QT GUI -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-qtgui Cflags: -I${includedir} diff --git a/gr-qtgui/lib/CMakeLists.txt b/gr-qtgui/lib/CMakeLists.txt index fb58c8e097..7c60eb7018 100644 --- a/gr-qtgui/lib/CMakeLists.txt +++ b/gr-qtgui/lib/CMakeLists.txt @@ -104,7 +104,7 @@ include_directories( ${GR_QTGUI_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${QWT_INCLUDE_DIRS} @@ -133,7 +133,7 @@ endif(ENABLE_GR_CTRLPORT) # Setup library ######################################################################## list(APPEND qtgui_libs - gnuradio-core + gnuradio-runtime gnuradio-fft gnuradio-filter volk diff --git a/gr-qtgui/swig/CMakeLists.txt b/gr-qtgui/swig/CMakeLists.txt index d17130597e..7232d05a8f 100644 --- a/gr-qtgui/swig/CMakeLists.txt +++ b/gr-qtgui/swig/CMakeLists.txt @@ -27,7 +27,7 @@ set(GR_SWIG_INCLUDE_DIRS ${GR_QTGUI_INCLUDE_DIRS} ${GR_FFT_INCLUDE_DIRS} ${GR_FILTER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${QWT_INCLUDE_DIRS} ${QT_INCLUDE_DIRS} diff --git a/gr-qtgui/swig/qtgui_swig.i b/gr-qtgui/swig/qtgui_swig.i index 4e1d1969e2..e57f931552 100644 --- a/gr-qtgui/swig/qtgui_swig.i +++ b/gr-qtgui/swig/qtgui_swig.i @@ -23,7 +23,7 @@ #define QTGUI_API #define FILTER_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "qtgui_swig_doc.i" diff --git a/gr-shd/CMakeLists.txt b/gr-shd/CMakeLists.txt index dfd3ad5c01..05474dd8c5 100644 --- a/gr-shd/CMakeLists.txt +++ b/gr-shd/CMakeLists.txt @@ -57,7 +57,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-shd" ENABLE_GR_SHD Boost_FOUND SHD_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_ANALOG ) diff --git a/gr-shd/gnuradio-shd.pc.in b/gr-shd/gnuradio-shd.pc.in index cff0dcf008..3d103def37 100644 --- a/gr-shd/gnuradio-shd.pc.in +++ b/gr-shd/gnuradio-shd.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-shd Description: GNU Radio blocks for the Symplex Hardware Driver (SHD) -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-shd Cflags: -I${includedir} diff --git a/gr-shd/lib/CMakeLists.txt b/gr-shd/lib/CMakeLists.txt index 0f75726ad8..e71efd0ea0 100644 --- a/gr-shd/lib/CMakeLists.txt +++ b/gr-shd/lib/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_SHD_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${SHD_INCLUDE_DIRS} @@ -57,7 +57,7 @@ if(MSVC) endif(MSVC) list(APPEND shd_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${SHD_LIBRARIES} ${LOG4CPP_LIBRARIES} diff --git a/gr-shd/swig/CMakeLists.txt b/gr-shd/swig/CMakeLists.txt index 8044c45e72..eb33845f96 100644 --- a/gr-shd/swig/CMakeLists.txt +++ b/gr-shd/swig/CMakeLists.txt @@ -27,7 +27,7 @@ set(GR_SWIG_FLAGS -DGR_HAVE_SHD) #needed to parse shd_swig.i set(GR_SWIG_INCLUDE_DIRS ${GR_SHD_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${SHD_INCLUDE_DIRS} diff --git a/gr-shd/swig/shd_swig.i b/gr-shd/swig/shd_swig.i index 9d5dae51cc..3169d02966 100644 --- a/gr-shd/swig/shd_swig.i +++ b/gr-shd/swig/shd_swig.i @@ -50,7 +50,7 @@ //////////////////////////////////////////////////////////////////////// // standard includes //////////////////////////////////////////////////////////////////////// -%include "gnuradio.i" +%include "runtime_swig.i" //////////////////////////////////////////////////////////////////////// // block headers diff --git a/gr-trellis/CMakeLists.txt b/gr-trellis/CMakeLists.txt index b764998e8c..245f3f9c25 100644 --- a/gr-trellis/CMakeLists.txt +++ b/gr-trellis/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-trellis" ENABLE_GR_TRELLIS Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_ANALOG ENABLE_GR_BLOCKS ENABLE_GR_DIGITAL diff --git a/gr-trellis/gnuradio-trellis.pc.in b/gr-trellis/gnuradio-trellis.pc.in index 618667c421..df7e2e2575 100644 --- a/gr-trellis/gnuradio-trellis.pc.in +++ b/gr-trellis/gnuradio-trellis.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-trellis Description: GNU Radio blocks for trellis coded modulation -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-trellis Cflags: -I${includedir} diff --git a/gr-trellis/include/trellis/CMakeLists.txt b/gr-trellis/include/trellis/CMakeLists.txt index 6abb93a6f4..b7ceea179e 100644 --- a/gr-trellis/include/trellis/CMakeLists.txt +++ b/gr-trellis/include/trellis/CMakeLists.txt @@ -26,7 +26,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') diff --git a/gr-trellis/lib/CMakeLists.txt b/gr-trellis/lib/CMakeLists.txt index 1d4a9e7080..099db57734 100644 --- a/gr-trellis/lib/CMakeLists.txt +++ b/gr-trellis/lib/CMakeLists.txt @@ -24,7 +24,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_TRELLIS_INCLUDE_DIRS} ${GR_DIGITAL_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -47,7 +47,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -130,7 +130,7 @@ list(APPEND trellis_sources ) list(APPEND trellis_libs - gnuradio-core + gnuradio-runtime gnuradio-digital ${Boost_LIBRARIES} ) @@ -140,4 +140,4 @@ target_link_libraries(gnuradio-trellis ${trellis_libs}) GR_LIBRARY_FOO(gnuradio-trellis RUNTIME_COMPONENT "trellis_runtime" DEVEL_COMPONENT "trellis_devel") add_dependencies(gnuradio-trellis trellis_generated_includes trellis_generated_swigs - gnuradio-core gnuradio-digital) + gnuradio-runtime gnuradio-digital) diff --git a/gr-trellis/src/lib/CMakeLists.txt b/gr-trellis/src/lib/CMakeLists.txt index d2e5fb19ff..c20f4df101 100644 --- a/gr-trellis/src/lib/CMakeLists.txt +++ b/gr-trellis/src/lib/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrPython) include_directories( ${GR_TRELLIS_INCLUDE_DIRS} ${GR_DIGITAL_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) @@ -42,7 +42,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/generate_helper.py " #!${PYTHON_EXECUTABLE} import sys, os, re -sys.path.append('${GR_CORE_PYTHONPATH}') +sys.path.append('${GR_RUNTIME_PYTHONPATH}') sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}') os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}' os.chdir('${CMAKE_CURRENT_BINARY_DIR}') @@ -165,7 +165,7 @@ if(MSVC) endif(MSVC) list(APPEND trellis_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES} ) @@ -224,7 +224,7 @@ set(GR_SWIG_SOURCE_DEPS set(GR_SWIG_INCLUDE_DIRS ${GR_TRELLIS_INCLUDE_DIRS} ${GR_DIGITAL_SWIG_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-trellis/swig/CMakeLists.txt b/gr-trellis/swig/CMakeLists.txt index c2bbf3bc69..8e15fc8858 100644 --- a/gr-trellis/swig/CMakeLists.txt +++ b/gr-trellis/swig/CMakeLists.txt @@ -26,7 +26,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_TRELLIS_INCLUDE_DIRS} ${GR_DIGITAL_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-trellis/swig/trellis_swig.i b/gr-trellis/swig/trellis_swig.i index 5732aca1fb..d593926b0d 100644 --- a/gr-trellis/swig/trellis_swig.i +++ b/gr-trellis/swig/trellis_swig.i @@ -22,7 +22,7 @@ #define TRELLIS_API #define DIGITAL_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "trellis_swig_doc.i" diff --git a/gr-uhd/CMakeLists.txt b/gr-uhd/CMakeLists.txt index b0407cb8c8..30dcba141d 100644 --- a/gr-uhd/CMakeLists.txt +++ b/gr-uhd/CMakeLists.txt @@ -31,7 +31,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-uhd" ENABLE_GR_UHD Boost_FOUND UHD_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FILTER ENABLE_GR_BLOCKS ENABLE_GR_ANALOG diff --git a/gr-uhd/examples/c++/CMakeLists.txt b/gr-uhd/examples/c++/CMakeLists.txt index a6c9891d73..aa50c589fc 100644 --- a/gr-uhd/examples/c++/CMakeLists.txt +++ b/gr-uhd/examples/c++/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${GR_UHD_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${UHD_INCLUDE_DIRS} diff --git a/gr-uhd/gnuradio-uhd.pc.in b/gr-uhd/gnuradio-uhd.pc.in index 721141c520..3be8635328 100644 --- a/gr-uhd/gnuradio-uhd.pc.in +++ b/gr-uhd/gnuradio-uhd.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-uhd Description: GNU Radio blocks for UHD -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-uhd Cflags: -I${includedir} diff --git a/gr-uhd/lib/CMakeLists.txt b/gr-uhd/lib/CMakeLists.txt index 07ea657093..fe95fcb7ef 100644 --- a/gr-uhd/lib/CMakeLists.txt +++ b/gr-uhd/lib/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${GR_UHD_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -68,7 +68,7 @@ if(MSVC) endif(MSVC) list(APPEND uhd_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${UHD_LIBRARIES} ${LOG4CPP_LIBRARIES} diff --git a/gr-uhd/swig/CMakeLists.txt b/gr-uhd/swig/CMakeLists.txt index 3a5132e7fd..5f25bb87fd 100644 --- a/gr-uhd/swig/CMakeLists.txt +++ b/gr-uhd/swig/CMakeLists.txt @@ -27,7 +27,7 @@ set(GR_SWIG_FLAGS -DGR_HAVE_UHD) #needed to parse uhd_swig.i set(GR_SWIG_INCLUDE_DIRS ${GR_UHD_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${UHD_INCLUDE_DIRS} diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i index 8ab4d59f3e..478d8d7d2d 100644 --- a/gr-uhd/swig/uhd_swig.i +++ b/gr-uhd/swig/uhd_swig.i @@ -32,7 +32,7 @@ //////////////////////////////////////////////////////////////////////// // standard includes //////////////////////////////////////////////////////////////////////// -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "uhd_swig_doc.i" diff --git a/gr-utils/CMakeLists.txt b/gr-utils/CMakeLists.txt index e4d64d54c0..19981ab68b 100644 --- a/gr-utils/CMakeLists.txt +++ b/gr-utils/CMakeLists.txt @@ -26,7 +26,7 @@ ######################################################################## include(GrComponent) GR_REGISTER_COMPONENT("gr-utils" ENABLE_GR_UTILS - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_PYTHON ) diff --git a/gnuradio-core/src/utils/cic_comp_taps.m b/gr-utils/octave/cic_comp_taps.m index 9ae5cb1674..9ae5cb1674 100644 --- a/gnuradio-core/src/utils/cic_comp_taps.m +++ b/gr-utils/octave/cic_comp_taps.m diff --git a/gnuradio-core/src/utils/cool.m b/gr-utils/octave/cool.m index f8b8a5cea6..f8b8a5cea6 100644 --- a/gnuradio-core/src/utils/cool.m +++ b/gr-utils/octave/cool.m diff --git a/gnuradio-core/src/utils/db_width.m b/gr-utils/octave/db_width.m index e9c64cc795..e9c64cc795 100644 --- a/gnuradio-core/src/utils/db_width.m +++ b/gr-utils/octave/db_width.m diff --git a/gnuradio-core/src/utils/filter_tools.m b/gr-utils/octave/filter_tools.m index 552791e334..552791e334 100644 --- a/gnuradio-core/src/utils/filter_tools.m +++ b/gr-utils/octave/filter_tools.m diff --git a/gnuradio-core/src/utils/is_complex.m b/gr-utils/octave/is_complex.m index 4700467b15..4700467b15 100644 --- a/gnuradio-core/src/utils/is_complex.m +++ b/gr-utils/octave/is_complex.m diff --git a/gnuradio-core/src/utils/lp_to_bp.m b/gr-utils/octave/lp_to_bp.m index 4e73f6cc73..4e73f6cc73 100644 --- a/gnuradio-core/src/utils/lp_to_bp.m +++ b/gr-utils/octave/lp_to_bp.m diff --git a/gnuradio-core/src/utils/plot_cic_decimator_response.m b/gr-utils/octave/plot_cic_decimator_response.m index 8f06aeafed..8f06aeafed 100644 --- a/gnuradio-core/src/utils/plot_cic_decimator_response.m +++ b/gr-utils/octave/plot_cic_decimator_response.m diff --git a/gnuradio-core/src/utils/plot_freq_response.m b/gr-utils/octave/plot_freq_response.m index 335c51d626..335c51d626 100644 --- a/gnuradio-core/src/utils/plot_freq_response.m +++ b/gr-utils/octave/plot_freq_response.m diff --git a/gnuradio-core/src/utils/plot_freq_response_db.m b/gr-utils/octave/plot_freq_response_db.m index 10ce7d6e17..10ce7d6e17 100644 --- a/gnuradio-core/src/utils/plot_freq_response_db.m +++ b/gr-utils/octave/plot_freq_response_db.m diff --git a/gnuradio-core/src/utils/plot_freq_response_phase.m b/gr-utils/octave/plot_freq_response_phase.m index 591bd5b948..591bd5b948 100644 --- a/gnuradio-core/src/utils/plot_freq_response_phase.m +++ b/gr-utils/octave/plot_freq_response_phase.m diff --git a/gnuradio-core/src/utils/plotfft.m b/gr-utils/octave/plotfft.m index 20a2efd4c2..20a2efd4c2 100644 --- a/gnuradio-core/src/utils/plotfft.m +++ b/gr-utils/octave/plotfft.m diff --git a/gnuradio-core/src/utils/plotfftavgk.m b/gr-utils/octave/plotfftavgk.m index c82c540f39..c82c540f39 100644 --- a/gnuradio-core/src/utils/plotfftavgk.m +++ b/gr-utils/octave/plotfftavgk.m diff --git a/gnuradio-core/src/utils/plotfftavgk_db.m b/gr-utils/octave/plotfftavgk_db.m index 73cee140d0..73cee140d0 100644 --- a/gnuradio-core/src/utils/plotfftavgk_db.m +++ b/gr-utils/octave/plotfftavgk_db.m diff --git a/gnuradio-core/src/utils/plotfftk.m b/gr-utils/octave/plotfftk.m index df2bf3aca0..df2bf3aca0 100644 --- a/gnuradio-core/src/utils/plotfftk.m +++ b/gr-utils/octave/plotfftk.m diff --git a/gnuradio-core/src/utils/plotfftk_db.m b/gr-utils/octave/plotfftk_db.m index b2c85412f7..b2c85412f7 100644 --- a/gnuradio-core/src/utils/plotfftk_db.m +++ b/gr-utils/octave/plotfftk_db.m diff --git a/gnuradio-core/src/utils/put_markers.m b/gr-utils/octave/put_markers.m index 1244d31aaf..1244d31aaf 100644 --- a/gnuradio-core/src/utils/put_markers.m +++ b/gr-utils/octave/put_markers.m diff --git a/gnuradio-core/src/utils/rainbow.m b/gr-utils/octave/rainbow.m index 35fab19b89..35fab19b89 100644 --- a/gnuradio-core/src/utils/rainbow.m +++ b/gr-utils/octave/rainbow.m diff --git a/gnuradio-core/src/utils/read_char_binary.m b/gr-utils/octave/read_char_binary.m index 029cea7834..029cea7834 100644 --- a/gnuradio-core/src/utils/read_char_binary.m +++ b/gr-utils/octave/read_char_binary.m diff --git a/gnuradio-core/src/utils/read_complex_binary.m b/gr-utils/octave/read_complex_binary.m index eb81f0fa08..eb81f0fa08 100644 --- a/gnuradio-core/src/utils/read_complex_binary.m +++ b/gr-utils/octave/read_complex_binary.m diff --git a/gnuradio-core/src/utils/read_cshort_binary.m b/gr-utils/octave/read_cshort_binary.m index 149b6ca88c..149b6ca88c 100644 --- a/gnuradio-core/src/utils/read_cshort_binary.m +++ b/gr-utils/octave/read_cshort_binary.m diff --git a/gnuradio-core/src/utils/read_float_binary.m b/gr-utils/octave/read_float_binary.m index d27d09b9c1..d27d09b9c1 100644 --- a/gnuradio-core/src/utils/read_float_binary.m +++ b/gr-utils/octave/read_float_binary.m diff --git a/gnuradio-core/src/utils/read_int_binary.m b/gr-utils/octave/read_int_binary.m index cd83bb6636..cd83bb6636 100644 --- a/gnuradio-core/src/utils/read_int_binary.m +++ b/gr-utils/octave/read_int_binary.m diff --git a/gnuradio-core/src/utils/read_short_binary.m b/gr-utils/octave/read_short_binary.m index 7b42f5e2be..7b42f5e2be 100644 --- a/gnuradio-core/src/utils/read_short_binary.m +++ b/gr-utils/octave/read_short_binary.m diff --git a/gnuradio-core/src/utils/read_xambi.m b/gr-utils/octave/read_xambi.m index 5adb94264e..5adb94264e 100644 --- a/gnuradio-core/src/utils/read_xambi.m +++ b/gr-utils/octave/read_xambi.m diff --git a/gnuradio-core/src/utils/runsum.m b/gr-utils/octave/runsum.m index 0f530b0159..0f530b0159 100644 --- a/gnuradio-core/src/utils/runsum.m +++ b/gr-utils/octave/runsum.m diff --git a/gnuradio-core/src/utils/single_pole_iir.m b/gr-utils/octave/single_pole_iir.m index 12e21f2acf..12e21f2acf 100644 --- a/gnuradio-core/src/utils/single_pole_iir.m +++ b/gr-utils/octave/single_pole_iir.m diff --git a/gnuradio-core/src/utils/split_vect.m b/gr-utils/octave/split_vect.m index aef5c5c383..aef5c5c383 100644 --- a/gnuradio-core/src/utils/split_vect.m +++ b/gr-utils/octave/split_vect.m diff --git a/gnuradio-core/src/utils/write_float_binary.m b/gr-utils/octave/write_float_binary.m index 79414878b6..79414878b6 100644 --- a/gnuradio-core/src/utils/write_float_binary.m +++ b/gr-utils/octave/write_float_binary.m diff --git a/gnuradio-core/src/utils/write_short_binary.m b/gr-utils/octave/write_short_binary.m index 72b3c408eb..72b3c408eb 100644 --- a/gnuradio-core/src/utils/write_short_binary.m +++ b/gr-utils/octave/write_short_binary.m diff --git a/gr-utils/python/modtool/gr-newmod/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/CMakeLists.txt index deea791f80..1f32ef168e 100644 --- a/gr-utils/python/modtool/gr-newmod/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/CMakeLists.txt @@ -84,15 +84,15 @@ set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks) # Find gnuradio build dependencies ######################################################################## find_package(Gruel) -find_package(GnuradioCore) +find_package(GnuradioRuntime) find_package(CppUnit) if(NOT GRUEL_FOUND) message(FATAL_ERROR "Gruel required to compile howto") endif() -if(NOT GNURADIO_CORE_FOUND) - message(FATAL_ERROR "GnuRadio Core required to compile howto") +if(NOT GNURADIO_RUNTIME_FOUND) + message(FATAL_ERROR "GnuRadio Runtime required to compile howto") endif() if(NOT CPPUNIT_FOUND) @@ -107,14 +107,14 @@ include_directories( ${Boost_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${CPPUNIT_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ) link_directories( ${Boost_LIBRARY_DIRS} ${GRUEL_LIBRARY_DIRS} ${CPPUNIT_LIBRARY_DIRS} - ${GNURADIO_CORE_LIBRARY_DIRS} + ${GNURADIO_RUNTIME_LIBRARY_DIRS} ) # Set component parameters diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioCore.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioCore.cmake deleted file mode 100644 index 3773588a70..0000000000 --- a/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioCore.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPkgConfig) -PKG_CHECK_MODULES(PC_GNURADIO_CORE gnuradio-core) - -FIND_PATH( - GNURADIO_CORE_INCLUDE_DIRS - NAMES gr_random.h - HINTS $ENV{GNURADIO_CORE_DIR}/include/gnuradio - ${PC_GNURADIO_CORE_INCLUDEDIR} - PATHS /usr/local/include/gnuradio - /usr/include/gnuradio -) - -FIND_LIBRARY( - GNURADIO_CORE_LIBRARIES - NAMES gnuradio-core - HINTS $ENV{GNURADIO_CORE_DIR}/lib - ${PC_GNURADIO_CORE_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 -) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_CORE DEFAULT_MSG GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) -MARK_AS_ADVANCED(GNURADIO_CORE_LIBRARIES GNURADIO_CORE_INCLUDE_DIRS) diff --git a/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioRuntime.cmake b/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioRuntime.cmake new file mode 100644 index 0000000000..bbc1ca40d7 --- /dev/null +++ b/gr-utils/python/modtool/gr-newmod/cmake/Modules/FindGnuradioRuntime.cmake @@ -0,0 +1,26 @@ +INCLUDE(FindPkgConfig) +PKG_CHECK_MODULES(PC_GNURADIO_RUNTIME gnuradio-runtime) + +FIND_PATH( + GNURADIO_RUNTIME_INCLUDE_DIRS + NAMES gr_random.h + HINTS $ENV{GNURADIO_RUNTIME_DIR}/include/gnuradio + ${PC_GNURADIO_RUNTIME_INCLUDEDIR}/gnuradio + PATHS /usr/local/include/gnuradio + /usr/include/gnuradio +) + +FIND_LIBRARY( + GNURADIO_RUNTIME_LIBRARIES + NAMES gnuradio-runtime + HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib + ${PC_GNURADIO_RUNTIME_LIBDIR} + PATHS /usr/local/lib + /usr/local/lib64 + /usr/lib + /usr/lib64 +) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_RUNTIME DEFAULT_MSG GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS) +MARK_AS_ADVANCED(GNURADIO_RUNTIME_LIBRARIES GNURADIO_RUNTIME_INCLUDE_DIRS) diff --git a/gr-utils/python/modtool/gr-newmod/docs/doxygen/Doxyfile.in b/gr-utils/python/modtool/gr-newmod/docs/doxygen/Doxyfile.in index cb6a913bbe..71a6bb920b 100644 --- a/gr-utils/python/modtool/gr-newmod/docs/doxygen/Doxyfile.in +++ b/gr-utils/python/modtool/gr-newmod/docs/doxygen/Doxyfile.in @@ -679,7 +679,7 @@ INPUT_FILTER = # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. -FILTER_PATTERNS = *.py=@top_srcdir@/gnuradio-core/doc/other/doxypy.py +FILTER_PATTERNS = *.py=@top_srcdir@/doc/doxygen/other/doxypy.py # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source diff --git a/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt index a9df565cf2..fe57ba139b 100644 --- a/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/lib/CMakeLists.txt @@ -29,7 +29,7 @@ list(APPEND howto_sources ) add_library(gnuradio-howto SHARED ${howto_sources}) -target_link_libraries(gnuradio-howto ${Boost_LIBRARIES} ${GRUEL_LIBRARIES} ${GNURADIO_CORE_LIBRARIES}) +target_link_libraries(gnuradio-howto ${Boost_LIBRARIES} ${GRUEL_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES}) set_target_properties(gnuradio-howto PROPERTIES DEFINE_SYMBOL "gnuradio_howto_EXPORTS") ######################################################################## @@ -57,7 +57,7 @@ add_executable(test-howto ${test_howto_sources}) target_link_libraries( test-howto - ${GNURADIO_CORE_LIBRARIES} + ${GNURADIO_RUNTIME_LIBRARIES} ${Boost_LIBRARIES} ${CPPUNIT_LIBRARIES} gnuradio-howto diff --git a/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc b/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc index bf344265d7..9c5faa0eba 100644 --- a/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc +++ b/gr-utils/python/modtool/gr-newmod/lib/test_howto.cc @@ -20,6 +20,10 @@ * Boston, MA 02110-1301, USA. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <cppunit/TextTestRunner.h> #include <cppunit/XmlOutputter.h> diff --git a/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt b/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt index 1e3e59e2c4..d896dc3199 100644 --- a/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt +++ b/gr-utils/python/modtool/gr-newmod/swig/CMakeLists.txt @@ -31,7 +31,7 @@ include(GrPython) ######################################################################## # Setup swig generation ######################################################################## -foreach(incdir ${GNURADIO_CORE_INCLUDE_DIRS}) +foreach(incdir ${GNURADIO_RUNTIME_INCLUDE_DIRS}) list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/swig) endforeach(incdir) diff --git a/gr-utils/python/modtool/gr-newmod/swig/howto_swig.i b/gr-utils/python/modtool/gr-newmod/swig/howto_swig.i index 4627d48d34..1946fb47a8 100644 --- a/gr-utils/python/modtool/gr-newmod/swig/howto_swig.i +++ b/gr-utils/python/modtool/gr-newmod/swig/howto_swig.i @@ -2,7 +2,7 @@ #define HOWTO_API -%include "gnuradio.i" // the common stuff +%include "runtime_swig.i" // the common stuff //load generated python docstrings %include "howto_swig_doc.i" diff --git a/gr-utils/python/modtool/modtool_base.py b/gr-utils/python/modtool/modtool_base.py index 3f8f2bc3c7..a03334bedc 100644 --- a/gr-utils/python/modtool/modtool_base.py +++ b/gr-utils/python/modtool/modtool_base.py @@ -131,7 +131,7 @@ class ModTool(object): return False for f in files: if os.path.isfile(f) and f == 'CMakeLists.txt': - if re.search('find_package\(GnuradioCore\)', open(f).read()) is not None: + if re.search('find_package\(GnuradioRuntime\)', open(f).read()) is not None: self._info['version'] = '36' # Might be 37, check that later has_makefile = True elif re.search('GR_REGISTER_COMPONENT', open(f).read()) is not None: diff --git a/gr-utils/python/modtool/modtool_info.py b/gr-utils/python/modtool/modtool_info.py index 680bd41b99..478dbebb7a 100644 --- a/gr-utils/python/modtool/modtool_info.py +++ b/gr-utils/python/modtool/modtool_info.py @@ -127,8 +127,8 @@ class ModToolInfo(ModTool): try: cmakecache_fid = open(os.path.join(mod_info['build_dir'], 'CMakeCache.txt')) for line in cmakecache_fid: - if line.find('GNURADIO_CORE_INCLUDE_DIRS:%s' % path_or_internal) != -1: - inc_dirs += line.replace('GNURADIO_CORE_INCLUDE_DIRS:%s=' % path_or_internal, '').strip().split(';') + if line.find('GNURADIO_RUNTIME_INCLUDE_DIRS:%s' % path_or_internal) != -1: + inc_dirs += line.replace('GNURADIO_RUNTIME_INCLUDE_DIRS:%s=' % path_or_internal, '').strip().split(';') if line.find('GRUEL_INCLUDE_DIRS:%s' % path_or_internal) != -1: inc_dirs += line.replace('GRUEL_INCLUDE_DIRS:%s=' % path_or_internal, '').strip().split(';') except IOError: diff --git a/gr-video-sdl/CMakeLists.txt b/gr-video-sdl/CMakeLists.txt index 6dfec7d671..91005269bf 100644 --- a/gr-video-sdl/CMakeLists.txt +++ b/gr-video-sdl/CMakeLists.txt @@ -31,7 +31,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-video-sdl" ENABLE_GR_VIDEO_SDL SDL_FOUND Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ) GR_SET_GLOBAL(GR_VIDEO_SDL_INCLUDE_DIRS diff --git a/gr-video-sdl/gnuradio-video-sdl.pc.in b/gr-video-sdl/gnuradio-video-sdl.pc.in index 8586a28842..3d26ff1816 100644 --- a/gr-video-sdl/gnuradio-video-sdl.pc.in +++ b/gr-video-sdl/gnuradio-video-sdl.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-comedi Description: GNU Radio blocks for the SDL library -Requires: gnuradio-core sdl +Requires: gnuradio-runtime sdl Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-video-sdl Cflags: -I${includedir} diff --git a/gr-video-sdl/lib/CMakeLists.txt b/gr-video-sdl/lib/CMakeLists.txt index 7df22e949c..5b0b9fdfae 100644 --- a/gr-video-sdl/lib/CMakeLists.txt +++ b/gr-video-sdl/lib/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_VIDEO_SDL_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -46,7 +46,7 @@ list(APPEND video_sdl_sources ) list(APPEND video_sdl_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${SDL_LIBRARY} ) @@ -56,4 +56,4 @@ add_library(gnuradio-video-sdl SHARED ${video_sdl_sources}) target_link_libraries(gnuradio-video-sdl ${video_sdl_libs}) GR_LIBRARY_FOO(gnuradio-video-sdl RUNTIME_COMPONENT "video_sdl_runtime" DEVEL_COMPONENT "video_sdl_devel") add_dependencies(gnuradio-video-sdl - gnuradio-core) + gnuradio-runtime) diff --git a/gr-video-sdl/src/CMakeLists.txt b/gr-video-sdl/src/CMakeLists.txt index 8053182239..636b34d6df 100644 --- a/gr-video-sdl/src/CMakeLists.txt +++ b/gr-video-sdl/src/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_VIDEO_SDL_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${LOG4CPP_INCLUDE_DIRS} @@ -54,7 +54,7 @@ if(MSVC) endif(MSVC) list(APPEND video_sdl_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${SDL_LIBRARY} ${LOG4CPP_LIBRARIES} @@ -84,7 +84,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_COMEDI_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-video-sdl/swig/CMakeLists.txt b/gr-video-sdl/swig/CMakeLists.txt index 4c16be3ad5..00bb8755d5 100644 --- a/gr-video-sdl/swig/CMakeLists.txt +++ b/gr-video-sdl/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_VIDEO_SDL_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-video-sdl/swig/video_sdl_swig.i b/gr-video-sdl/swig/video_sdl_swig.i index 8561565901..d66201d670 100644 --- a/gr-video-sdl/swig/video_sdl_swig.i +++ b/gr-video-sdl/swig/video_sdl_swig.i @@ -22,7 +22,7 @@ #define VIDEO_SDL_API -%include "gnuradio.i" // the common stuff +%include "runtime_swig.i" // the common stuff //load generated python docstrings %include "video_sdl_swig_doc.i" diff --git a/gr-vocoder/CMakeLists.txt b/gr-vocoder/CMakeLists.txt index f8f7a20b46..03f77376a9 100644 --- a/gr-vocoder/CMakeLists.txt +++ b/gr-vocoder/CMakeLists.txt @@ -28,7 +28,7 @@ include(GrBoost) include(GrComponent) GR_REGISTER_COMPONENT("gr-vocoder" ENABLE_GR_VOCODER Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_BLOCKS ENABLE_GR_FILTER diff --git a/gr-vocoder/gnuradio-vocoder.pc.in b/gr-vocoder/gnuradio-vocoder.pc.in index 7ff4420b6f..c5c860dc62 100644 --- a/gr-vocoder/gnuradio-vocoder.pc.in +++ b/gr-vocoder/gnuradio-vocoder.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-vocoder Description: GNU Radio blocks implementing voice codecs -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-vocoder Cflags: -I${includedir} diff --git a/gr-vocoder/lib/CMakeLists.txt b/gr-vocoder/lib/CMakeLists.txt index 32f1ef0fb1..4512c19704 100644 --- a/gr-vocoder/lib/CMakeLists.txt +++ b/gr-vocoder/lib/CMakeLists.txt @@ -22,7 +22,7 @@ ######################################################################## include_directories( ${GR_VOCODER_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -83,7 +83,7 @@ GR_INCLUDE_SUBDIRECTORY(g7xx) GR_INCLUDE_SUBDIRECTORY(gsm) list(APPEND vocoder_libs - gnuradio-core + gnuradio-runtime ${Boost_LIBRARIES} ${LOG4CPP_LIBRARIES} ) diff --git a/gr-vocoder/swig/CMakeLists.txt b/gr-vocoder/swig/CMakeLists.txt index 3a60cdf7bb..1fa5c0abb7 100644 --- a/gr-vocoder/swig/CMakeLists.txt +++ b/gr-vocoder/swig/CMakeLists.txt @@ -25,7 +25,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_VOCODER_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-vocoder/swig/vocoder_swig.i b/gr-vocoder/swig/vocoder_swig.i index 6c3f3fe422..b3dd436868 100644 --- a/gr-vocoder/swig/vocoder_swig.i +++ b/gr-vocoder/swig/vocoder_swig.i @@ -22,7 +22,7 @@ #define VOCODER_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "vocoder_swig_doc.i" diff --git a/gr-wavelet/CMakeLists.txt b/gr-wavelet/CMakeLists.txt index 1eb536f9d9..11a7eb2689 100644 --- a/gr-wavelet/CMakeLists.txt +++ b/gr-wavelet/CMakeLists.txt @@ -31,7 +31,7 @@ include(GrComponent) GR_REGISTER_COMPONENT("gr-wavelet" ENABLE_GR_WAVELET Boost_FOUND - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_BLOCKS ENABLE_GR_ANALOG GSL_FOUND diff --git a/gr-wavelet/gnuradio-wavelet.pc.in b/gr-wavelet/gnuradio-wavelet.pc.in index 998ae90564..c9c9f00a93 100644 --- a/gr-wavelet/gnuradio-wavelet.pc.in +++ b/gr-wavelet/gnuradio-wavelet.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gnuradio-wavelet Description: Wavelet signal processing blocks for GNU Radio -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: -L${libdir} -lgnuradio-wavelet Cflags: -I${includedir} diff --git a/gr-wavelet/lib/CMakeLists.txt b/gr-wavelet/lib/CMakeLists.txt index a78a24e22a..d25245f0cc 100644 --- a/gr-wavelet/lib/CMakeLists.txt +++ b/gr-wavelet/lib/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${GR_WAVELET_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${LOG4CXX_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -72,7 +72,7 @@ if(MSVC) endif(MSVC) list(APPEND wavelet_libs - gnuradio-core + gnuradio-runtime gnuradio-blocks ${Boost_LIBRARIES} ${WAVELET_LIBRARIES} @@ -85,4 +85,4 @@ target_link_libraries(gnuradio-wavelet ${wavelet_libs}) GR_LIBRARY_FOO(gnuradio-wavelet RUNTIME_COMPONENT "wavelet_runtime" DEVEL_COMPONENT "wavelet_devel") add_dependencies(gnuradio-wavelet wavelet_generated_includes wavelet_generated_swigs - gnuradio-core) + gnuradio-runtime) diff --git a/gr-wavelet/swig/CMakeLists.txt b/gr-wavelet/swig/CMakeLists.txt index 0c78c8936f..38f9b0a016 100644 --- a/gr-wavelet/swig/CMakeLists.txt +++ b/gr-wavelet/swig/CMakeLists.txt @@ -26,7 +26,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${GR_WAVELET_INCLUDE_DIRS} ${GR_BLOCKS_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${GSL_INCLUDE_DIRS} diff --git a/gr-wavelet/swig/wavelet_swig.i b/gr-wavelet/swig/wavelet_swig.i index 40fe3f9b5e..d9b8e3144b 100644 --- a/gr-wavelet/swig/wavelet_swig.i +++ b/gr-wavelet/swig/wavelet_swig.i @@ -22,7 +22,7 @@ #define WAVELET_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "wavelet_swig_doc.i" diff --git a/gr-wxgui/CMakeLists.txt b/gr-wxgui/CMakeLists.txt index 500bb44474..a265b688cf 100644 --- a/gr-wxgui/CMakeLists.txt +++ b/gr-wxgui/CMakeLists.txt @@ -38,7 +38,7 @@ if(NOT CMAKE_CROSSCOMPILING) endif(NOT CMAKE_CROSSCOMPILING) GR_REGISTER_COMPONENT("gr-wxgui" ENABLE_GR_WXGUI - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_GR_FFT ENABLE_GR_FILTER ENABLE_GR_ANALOG diff --git a/gr-wxgui/gr-wxgui.pc.in b/gr-wxgui/gr-wxgui.pc.in index f713897895..ec4d66c9fc 100644 --- a/gr-wxgui/gr-wxgui.pc.in +++ b/gr-wxgui/gr-wxgui.pc.in @@ -5,7 +5,7 @@ includedir=@includedir@ Name: gr-wxgui Description: A simple wx gui for GNU Radio applications -Requires: gnuradio-core +Requires: gnuradio-runtime Version: @LIBVER@ Libs: Cflags: diff --git a/gr-wxgui/lib/CMakeLists.txt b/gr-wxgui/lib/CMakeLists.txt index 8c7c56fdcc..dc4dbbc40b 100644 --- a/gr-wxgui/lib/CMakeLists.txt +++ b/gr-wxgui/lib/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_WXGUI_INCLUDE_DIRS} - ${GNURADIO_CORE_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} @@ -63,7 +63,7 @@ IF(MSVC) ENDIF(MSVC) list(APPEND wxgui_libs - gnuradio-core + gnuradio-runtime volk ${Boost_LIBRARIES} ${BLOCKS_LIBRARIES} diff --git a/gr-wxgui/swig/CMakeLists.txt b/gr-wxgui/swig/CMakeLists.txt index 16e7d65050..aa0750f44b 100644 --- a/gr-wxgui/swig/CMakeLists.txt +++ b/gr-wxgui/swig/CMakeLists.txt @@ -26,7 +26,7 @@ include(GrSwig) set(GR_SWIG_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/../include ${GR_WXGUI_INCLUDE_DIRS} - ${GNURADIO_CORE_SWIG_INCLUDE_DIRS} + ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS} ${GRUEL_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ) diff --git a/gr-wxgui/swig/wxgui_swig.i b/gr-wxgui/swig/wxgui_swig.i index 1151b17ee5..69c1887a46 100644 --- a/gr-wxgui/swig/wxgui_swig.i +++ b/gr-wxgui/swig/wxgui_swig.i @@ -22,7 +22,7 @@ #define WXGUI_API -%include "gnuradio.i" +%include "runtime_swig.i" //load generated python docstrings %include "wxgui_swig_doc.i" diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt index 1156f1d760..daf874b264 100644 --- a/grc/CMakeLists.txt +++ b/grc/CMakeLists.txt @@ -43,7 +43,7 @@ if(NOT CMAKE_CROSSCOMPILING) endif(NOT CMAKE_CROSSCOMPILING) GR_REGISTER_COMPONENT("gnuradio-companion" ENABLE_GRC - ENABLE_GR_CORE + ENABLE_GNURADIO_RUNTIME ENABLE_PYTHON ${grc_python_deps} ) diff --git a/gruel/CMakeLists.txt b/gruel/CMakeLists.txt index 627135abe9..3bdb7406ed 100644 --- a/gruel/CMakeLists.txt +++ b/gruel/CMakeLists.txt @@ -37,6 +37,8 @@ include(GrMiscUtils) GR_SET_GLOBAL(GRUEL_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/src/include ${CMAKE_CURRENT_BINARY_DIR}/src/include + ${CMAKE_CURRENT_SOURCE_DIR}/src/swig + ${CMAKE_CURRENT_BINARY_DIR}/src/swig ) ######################################################################## diff --git a/gruel/src/python/CMakeLists.txt b/gruel/src/python/CMakeLists.txt index ba8e8d68a9..e91a6babdf 100644 --- a/gruel/src/python/CMakeLists.txt +++ b/gruel/src/python/CMakeLists.txt @@ -47,7 +47,7 @@ foreach(py_qa_test_file ${py_qa_test_files}) ${CMAKE_BINARY_DIR}/gruel/src/python ${CMAKE_BINARY_DIR}/gruel/src/swig ) - set(GR_TEST_TARGET_DEPS gruel gnuradio-core) + set(GR_TEST_TARGET_DEPS gruel gnuradio-runtime) GR_ADD_TEST(${py_qa_test_name} ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} ${py_qa_test_file}) endforeach(py_qa_test_file) endif(ENABLE_TESTING) |