Commit Graph

3 Commits

Author SHA1 Message Date
892e4ac761 Add plugin APIs for intercepting URLs
* include/wget/wget.h: Add function declarations
 * libwget/plugin.c: Add virtual functions
 * src/plugin.c: Add implementation
 * src/wget_plugin.h: Likewise
 * src/wget.c: Add code that calls the implementation
 * src/wget_job.h: Add a variable to store 'accept' action
 * tests/Makefile.am: Add libpluginapi.la
 * tests/test-plugin-dummy.c: Add a test plugin for testing
 * tests/test-plugin.c: Add tests

Plugin API for intercepting URLs has been implemented as per
specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-2
2017-07-21 00:17:41 +02:00
c3a0e8ac47 Add command line option forwarding for plugins
* include/wget/wget.h: Add API for command line option forwarding
* libwget/plugin.c: Likewise
* libwget/test_linking: Add function from libwget/plugin.c
* src/dl.c: Remove unused dl_search1() and dl_list1(),
            use wget_vector_t for pointer arrays
* src/wget_dl.h: Likewise
* src/plugin.c: Implement option forwarding
* src/wget_plugin.h: Likewise
* src/options.c: Add options '--plugin-opt=', '--plugin-help'
* unit-tests/test-dl.c: Use dl_list() instead of dl_list1()
* tests/Makefile.am: Add test plugins pluginoption, pluginfaulty1,
                     pluginfaulty2
* tests/test-plugin-dummy.c: Implement additional test plugins
* tests/test-plugin.c: Extend tests for testing option processing

Command line option forwarding has been implemented as per
specifications at https://gitlab.com/akash_rawal/wget2/wikis/Stage-1

Several style issues were also fixed (Thanks Ander Juaristi)
2017-07-20 23:21:31 +02:00
4d3b3f5167 Add basic plugin loading mechanism
* configure.ac: Add configure time tests for plugin support backend.
* include/wget/wget.h: Add basic plugin API
* libwget/Makefile.am: Add new file plugin.c to libwget.la
* libwget/plugin.c: Add plugin API functions (new file)
* src/Makefile.am: Add new files dl.c, wget_dl.h, plugin.c, wget_plugin.h
                   to wget2
* src/dl.c: Add abstraction for dynamic loading of object files
* src/wget_dl.h: Likewise
* src/plugin.c: Add implementation for loading plugins
* src/wget_plugin.h: likewise
* src/options.c: Add options `--plugin=`, `--local-plugin=`,
                 `--plugin-dirs=`, `--list-plugins`
* src/wget.c: Add function calls to initialize and finalize plugin
              support system
* unit-tests/Makefile.am: Add test-dl, libalpha.la, and libbeta.la
* unit-tests/test-dl.c: Add unit test for src/dl.c
* unit-tests/test-dl-dummy.c: Likewise
* tests/Makefile.am: Add test-plugin, libpluginname.la, and
                     libpluginexit.la
* tests/test-plugin.c: Add tests for plugin support
* tests/test-plugin-dummy.c: Likewise
* libwget/test-linking.c: Fix warnings with --enable-manywarnings
* unit-tests/test.c: likewise

Plugin loading mechanism has been implemented as per specifications
at https://gitlab.com/akash_rawal/wget2/wikis/Stage-0
2017-06-06 17:04:44 +02:00