diff options
-rw-r--r-- | docs/architecture.md | 33 | ||||
-rw-r--r-- | docs/meson.build | 1 | ||||
-rw-r--r-- | docs/px.toml.in | 3 | ||||
-rw-r--r-- | subprojects/gi-docgen.wrap | 10 |
4 files changed, 46 insertions, 1 deletions
diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 0000000..9da4938 --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,33 @@ +Title: Architecture - Difference between library and D-Bus service +Slug: Architecture + + +# Architecture + +Starting with release 0.5.0 Libproxy is making use of glib. glib has many +advantages and helps to get rid of one of the major issues we have had with +previous versions of Libproxy. To name a few advantages: + +- Testing Framework +- Make use of existing plugin loader +- Automatic documentation out of code +- Gobject Introspection bindings for almost every programming language +- D-Bus Service + +Using D-Bus as a service on Linux we can elimnate the previous ABI clashes we +have had in the past. mozjs in different versions on one system could lead to +crashes in cases where the application using libproxy favours a different mozjs +version. + +## Building Libproxy as simple library + +On non D-Bus system you still have the option to build Libproxy as a self +contained library using `-Ddbus=disabled`. In this case you can still run into +an ABI issue, but with it's current plugins it is unlikely at the moment. + +## Building Libproxy as D-Bus Service +On D-Bus system Libproxy will be build using a D-Bus service and a simple +helper library. The main logic part (previous simple library) is done in the +D-Bus service and so can never crash an application. +The application itself will be linked with the helper library which does the +necessary D-Bus calls and wait's for answer. diff --git a/docs/meson.build b/docs/meson.build index 09263c5..3aac92a 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -1,6 +1,7 @@ if get_option('docs') expand_content_md_files = [ + 'architecture.md', 'configuration-logic.md', 'perl.md', 'python.md', diff --git a/docs/px.toml.in b/docs/px.toml.in index 740419b..79ed69b 100644 --- a/docs/px.toml.in +++ b/docs/px.toml.in @@ -61,6 +61,7 @@ file_format = "{filename}#L{line}" [extra] content_files = [ + "architecture.md", "configuration-logic.md", "perl.md", "python.md", @@ -70,4 +71,4 @@ content_files = [ content_images = [ "libproxy.svg" -]
\ No newline at end of file +] diff --git a/subprojects/gi-docgen.wrap b/subprojects/gi-docgen.wrap new file mode 100644 index 0000000..d4796d4 --- /dev/null +++ b/subprojects/gi-docgen.wrap @@ -0,0 +1,10 @@ +[wrap-git] +directory = gi-docgen +url = https://gitlab.gnome.org/GNOME/gi-docgen.git +push-url = ssh://git@ssh.gitlab.gnome.org:GNOME/gi-docgen.git +revision = main +depth = 1 + +[provide] +program_names = gi-docgen + |