diff options
Diffstat (limited to 'docs/architecture.md')
-rw-r--r-- | docs/architecture.md | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/docs/architecture.md b/docs/architecture.md index 35c3596..51217cc 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,4 +1,4 @@ -Title: Architecture - Difference between library and D-Bus service +Title: Architecture of Libproxy Slug: Architecture @@ -13,3 +13,37 @@ previous versions of Libproxy. To name a few advantages: - Automatic documentation out of code - Gobject Introspection bindings for almost every programming language +## Plugin types + +Libproxy is using internal plugins to extend it's knowledge about different +configuration options and handling of PAC files. Most of those plugins are +configuration plugins: + +- config-env +- config-gnome +- config-kde +- config-osx +- config-sysconfig +- config-windows + +Then there is only one pacrunner plugin which handles parsing of JS PAC files: + +- pacrunner-duktape + +## Configuration plugin priority + +Configuration plugins are executed in a specific priority: + +- PX_CONFIG_PRIORITY_FIRST (highest) +- PX_CONFIG_PRIORITY_DEFAULT +- PX_CONFIG_PRIORITY_LAST (lowest) + +Highest priority is used in `config-env` and lowest priority in +`config-sysconfig`. All the other plugins are running on default priority. + +### Configuration plugin enforcement + +In case you want to use a specific configuration plugin for a given application, +you are able to overwrite the priority. Therefore set a environment variable +`PX_FORCE_CONFIG=config-name` and libproxy will just use this configuration +plugin. |