/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* camel-provider.c: provider framework */ /* * * Authors: * Bertrand Guiheneuf * Dan Winship * Jeffrey Stedfast * * Copyright 1999, 2000 Helix Code, Inc. (http://www.helixcode.com) * * 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 2 of the * License, 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, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ /* FIXME: Shouldn't we add a version number to providers ? */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include "camel-provider.h" #include "camel-exception.h" #include "hash-table-utils.h" /** * camel_provider_init: * * Initialize the Camel provider system by reading in the .urls * files in the provider directory and creating a hash table mapping * URLs to module names. * * A .urls file has the same initial prefix as the shared library it * correspond to, and consists of a series of lines containing the URL * protocols that that library handles. * * Return value: a hash table mapping URLs to module names **/ GHashTable * camel_provider_init (void) { GHashTable *providers; DIR *dir; struct dirent *d; char *p, *name, buf[80]; providers = g_hash_table_new (g_strcase_hash, g_strcase_equal); dir = opendir (CAMEL_PROVIDERDIR); if (!dir) { g_error ("Could not open camel provider directory: %s", g_strerror (errno)); return NULL; } while ((d = readdir (dir))) { FILE *fp; p = strchr (d->d_name, '.'); if (!p || strcmp (p, ".urls") != 0) continue; name = g_strdup_printf ("%s/%s", CAMEL_PROVIDERDIR, d->d_name); fp = fopen (name, "r"); if (!fp) { g_warning ("Could not read provider info file %s: %s", name, g_strerror (errno)); g_free (name); continue; } p = strrchr (name, '.'); strcpy (p, ".so"); while ((fgets (buf, sizeof (buf), fp))) { buf[sizeof (buf) - 1] = '\0'; p = strchr (buf, '\n'); if (p) *p = '\0'; if (*buf) g_hash_table_insert (providers, g_strdup (buf), g_strdup (name)); } g_free (name); fclose (fp); } closedir (dir); return providers; } /** * camel_provider_load: * @session: the current session * @path: the path to a shared library * @ex: a CamelException * * Loads the provider at @path, and calls its initialization function, * passing @session as an argument. The provider should then register * itself with @session. **/ void camel_provider_load (CamelSession *session, const char *path, CamelException *ex) { GModule *module; CamelProvider *(*camel_provider_module_init) (); if (!g_module_supported ()) { camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Could not load %s: Module loading " "not supported on this system."), path); return; } module = g_module_open (path, 0); if (!module) { camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Could not load %s: %s"), path, g_module_error ()); return; } if (!g_module_symbol (module, "camel_provider_module_init", (gpointer *)&camel_provider_module_init)) { camel_exception_setv (ex, CAMEL_EXCEPTION_SYSTEM, _("Could not load %s: No initialization " "code in module."), path); g_module_close (module); return; } camel_provider_module_init (session); } value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2 FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
path: root/x11-wm
Commit message (Expand)AuthorAgeFilesLines
* Remove UNIQUENAME and LATEST_LINK.mat2015-08-174-5/+0
* Bump PORTREVISION for libupower-glib library version bump in r393607.tijl2015-08-171-1/+1
* Make sure these compiz ports depend on gconf2 so the GCONF_SCHEMASkwm2015-08-103-3/+3
* Update end-user information after revision r393789olivierd2015-08-091-21/+15
* Upgrade to 0.19.8gblach2015-08-062-3/+3
* The FreeBSD GNOME team proudly presents GNOME 3.16 for FreeBSD.kwm2015-08-0610-77/+98
* Part 2 of adding USE_GNOME=intltool to ports that require it.kwm2015-08-053-3/+3
* - Upgrade x11-wm/enlightenment to 0.19.7 [1]gblach2015-08-052-3/+3
* Part 1 of adding USE_GNOME=intltool to ports that require it.kwm2015-08-032-2/+2
* By default libtool replaces -export-symbols <file> with -retain-symbols-filetijl2015-08-022-1/+2
* Update to 4.10.3bapt2015-07-312-3/+3
* Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for portsantoine2015-07-301-2/+1
* Update MATE DE to 1.10.0.kwm2015-07-282-5/+6
* Update to 4.12.3 (bugfix release)olivierd2015-07-202-4/+5
* Fix runtime error:riggs2015-07-171-2/+14
* x11-wm/compiz-fusion: cleanuppgollucci2015-07-161-6/+1
* - Un-break buildriggs2015-07-064-13/+63
* Update to 2.7.2zeising2015-07-054-3/+67
* - Switch to USES=autoreconfamdmi32015-06-242-10/+7
* Convert to USES=jpegantoine2015-06-234-9/+5
* Convert to USES=autoreconfbapt2015-06-221-3/+2
* - Strip binariesamdmi32015-06-171-0/+3
* - Don't duplicate examples in DOCSDIRamdmi32015-06-163-22/+14
* - Add LICENSE_FILEamdmi32015-06-152-3/+7
* Reset dhn's portserwin2015-06-134-4/+4
* - Strip librariesamdmi32015-06-061-1/+5
* Update to 3.6.novel2015-06-013-9/+9
* - clerifyamdmi32015-05-291-3/+3
* Remove $FreeBSD$ from patches files everywhere.mat2015-05-2322-46/+0
* Replace most occurences of github.com in MASTER_SITES with USE_GITHUB usage.mat2015-05-194-6/+9
* Update to 4.12.2 (bugfix)olivierd2015-05-182-3/+3
* Update to 4.12.3 (bugfix)olivierd2015-05-172-4/+4
* MASTER_SITES cleanup.mat2015-05-1411-24/+13
* Remove unneeded patches (discussed with upstream)olivierd2015-05-124-56/+0
* Cleanup DIST* variables.mat2015-05-121-2/+2
* Update to 0.19.5gblach2015-05-102-3/+3
* Update ports in the remaining categories to not use GH_COMMIT.mat2015-05-088-16/+11
* Update to 0.9.1olivierd2015-05-068-110/+51
* USES=xfce: Stop overriding MASTER_SITE_SUBDIR.bdrewery2015-04-291-1/+1
* Add euclid-wm 0.4.3, minimalist, tiling window manager for X11.vanilla2015-04-286-0/+118
* - Update to 0.9.0olivierd2015-04-184-4/+25
* Update to 4.10.2bapt2015-04-172-3/+3
* over to enlightenment@bapt2015-04-171-1/+1
* over to enlightenment@bapt2015-04-171-1/+1
* Over to the enlightement teambapt2015-04-1717-17/+17
* Back to the pool.gblach2015-04-1720-20/+20
* converters/libiconv:tijl2015-04-153-29/+3
* Fix build WITHOUT=NLS.mat2015-04-111-0/+1
* - Switch to USES= metaportolivierd2015-04-081-62/+23
* - Update to version 2.2.1pawel2015-03-304-20/+5
* x11-wm/bspwm: minor fixesrobak2015-03-302-3/+6
* Update to 4.10.1bapt2015-03-302-3/+3
* Update to 4.10bapt2015-03-302-3/+3
* - Add patch, to make verbose logging conditionalolivierd2015-03-292-0/+17
* Update the Gnome stack to the latest in the 3.14 series.kwm2015-03-272-3/+3
* Unbreak build, when Thunar is not setolivierd2015-03-271-0/+1
* Update the cinnamon stack to the latest in the 2.4 series.kwm2015-03-272-3/+3
* Upgrade to 5.6.vanilla2015-03-264-25/+22
* 8 ports categories: Remove $PTHREAD_LIBSmarino2015-03-241-1/+1
* Update to 4.12.1olivierd2015-03-222-4/+4
* Fix plistbapt2015-03-221-3/+3
* Make fonts repecting XDGbapt2015-03-222-9/+8
* - Update to version 0.9pawel2015-03-173-17/+33
* Update to 4.12.1olivierd2015-03-162-4/+4
* Update to 4.12.2olivierd2015-03-162-3/+3
* Bump PORTREVISION after update of x11-wm/xfce4-wm (revision r381298)olivierd2015-03-151-0/+1
* Update to 4.12.1olivierd2015-03-152-4/+4
* Make really Thunar optional (fix revision r380955)olivierd2015-03-141-1/+1
* Make Thunar optionalolivierd2015-03-111-3/+7
* Update to 4.9.1bapt2015-03-102-3/+3
* - Pet portlintamdmi32015-03-081-4/+10
* - Pet portlintamdmi32015-03-081-4/+9
* gmake:lite is only intended to be used for possible gmake dependenciesantoine2015-03-071-1/+1
* The FreeBSD Xfce team proudly presents Xfce 4.12.olivierd2015-03-0621-335/+361
* Remove Author from pkg-descrbapt2015-03-033-6/+3
* Fix typobapt2015-02-281-1/+1
* Update to 4.9bapt2015-02-282-5/+6
* - Update to 0.19.4gblach2015-02-274-27/+15
* - Temporary remove e-module-diskio (broken) from RUN_DEPENDSgblach2015-02-241-2/+2
* Update to 1.0.16gblach2015-02-222-4/+3
* - attach licensejgh2015-02-192-4/+7
* Mark as brokengblach2015-02-191-0/+2
* - takejgh2015-02-181-1/+1
* - Update to 1.3.7 [1]beat2015-02-176-70/+38
* - Add a (default) xmonad workaround for losing hotkeys in certain cases.pgj2015-02-163-2/+32
* Mark BROKEN: Fails to link, tries to use internal fltk symbolsantoine2015-02-141-0/+2
* x11-wm/fluxbox: fix integer underflow in startup phasepi2015-02-042-0/+22
* - Add SUID bit to the cpufreq module [1]vsevolod2015-02-043-1/+16
* x11-wm/swm: This is not jobs-safemarino2015-02-031-4/+6
* - Update to 0.8.1olivierd2015-01-305-28/+5
* - Drop @dirrm* from and add empty directories to pkg-plistsamdmi32015-01-2850-805/+10
* - Fix plistamdmi32015-01-281-72/+40
* Fix some _DEPENDSantoine2015-01-251-1/+1
* Switch ports depending on docbook* through a directory name to a package name,antoine2015-01-242-2/+2
* Update to 0.19.3gblach2015-01-212-3/+3
* Update ImageMagick to 6.9.0.4.kwm2015-01-192-4/+4
* Sprinkle some PORTSCOUT macros around to either mark ports:kwm2015-01-162-0/+4
* Update graphics/giflib to 5.0.5antoine2015-01-153-3/+3
* Fix gtk12/clang compile error.cy2015-01-141-2/+2
* Update to 3.5.6garga2015-01-123-45/+3
* Update to 0.8.0olivierd2015-01-104-10/+12
* - Update to 1.3.6beat2015-01-083-6/+5
* Bump PORTREVISION after update of x11-fm/thunarolivierd2015-01-052-2/+2
* - Gnome is default icons theme [1], not switched to Adwaita because Thunar andolivierd2015-01-042-4/+31
* - GNOME is default icons theme [1]olivierd2015-01-043-36/+15
* - Add patch fixing reboot/shutdown command. Upstream seems unresponsive andpawel2015-01-023-22/+14
* Remove this expired port too...rene2015-01-015-153/+0
* Remove expired ports:rene2015-01-01114-3002/+0
* Update cinnamon to 2.4, this should fix [1] and [2].kwm2014-12-317-12/+9
* Hook e16-docsantoine2014-12-291-1/+1
* Remove DISTNAMEgblach2014-12-291-1/+0
* Renamed for better naminggblach2014-12-294-1/+1
* - Remove Mk/bsd.efl.mkgblach2014-12-279-18/+21
* Bump portrevision after png updatebapt2014-12-268-7/+8
* Change libpng15.so to libpng.so in LIB_DEPENDS to prepare the upgradeantoine2014-12-266-6/+6
* Cleanup plistantoine2014-12-251-27/+4
* Drop IMLIB optionbapt2014-12-251-8/+1
* Properly support png15antoine2014-12-241-5/+1
* Get rid of gnomehierbapt2014-12-232-2/+4
* bspwm is a tiling window manager that represents windows as the leavespawel2014-12-227-0/+83
* Update to version 1.4.8pawel2014-12-223-5/+4
* cleanup plistbapt2014-12-216-8/+0
* Update to 2.6.1zeising2014-12-203-14/+3
* Update to 0.19.2gblach2014-12-202-3/+3
* Update to 1.0.15gblach2014-12-132-4/+4
* Take maintainershipgblach2014-12-113-3/+3
* - Reset maintainership of my portsgahr2014-12-116-6/+6
* Replace USES=libtool:oldver with USES=libtool or USES=libtool:keepla intijl2014-12-096-3/+6
* Sort entries alphabetically across all categories to avoid extra repo churn.danfe2014-12-081-1/+1
* Update "BSD" license in x11 categoriesfeld2014-12-071-1/+1
* Update GNOME to 3.14.2.kwm2014-12-035-270/+27
* Update to 0.7.1olivierd2014-12-033-15/+6
* Split devel/gettext in devel/gettext-runtime and devel/gettext-tools. Thetijl2014-11-301-1/+1
* - Merge EFL libraries into devel/efl and update to 1.12.0gblach2014-11-25134-1743/+991
* - Update to release of Sawfish 1.11, codename "Apollo"danfe2014-11-224-2082/+128
* The FreeBSD GNOME team proudly presents GNOME 3.14 and Cinnamon 2.2.kwm2014-11-1920-388/+624
* Bump PORTREVISION after update of x11-wm/xfce4-desktopolivierd2014-11-161-1/+1
* - Update to 4.10.3olivierd2014-11-164-57/+17
* x11-wm/Makefile: Fix sortingmarino2014-11-141-1/+1
* - Add patch, which hides panel for maximized applicationsolivierd2014-10-213-32/+48
* Add USES=alias to several portsmarino2014-10-201-1/+1
* - Convert ports from korean/, shells/, x11/, x11-clocks/, x11-fm/,mva2014-10-209-21/+14
* - Update to 1.0.14.001gahr2014-10-173-108/+23
* - Switch MASTER_SITES to googledrive.com for my ports.ak2014-10-141-2/+1
* - Chase x11-toolkits/fltk-devel shlib version bumpgahr2014-10-081-1/+1
* Update to 1.8.2bapt2014-10-064-103/+4
* Remove the gnome option, it doesn't work anymore after gnome3 is imported.kwm2014-10-032-41/+6
* - Convert to USES=pythonmva2014-09-292-5/+2
* - Convert to USES=pythonmva2014-09-292-5/+2
* - Set CPPFLAGS and LIBS in a number of ports so configure can find libintl.htijl2014-09-252-4/+7
* - Drop @dirrm* from plistamdmi32014-09-231-82/+0
* Cleanup plistbapt2014-09-221-3/+0
* Fix build.hrs2014-09-221-1/+2
* graphics/imlib:tijl2014-09-201-1/+1
* Retire MANCOMPRESSED.mat2014-09-181-1/+0
* x11-wm/afterstep-stable: Use execinfo test instead of OSVERSION checkmarino2014-09-161-3/+1
* Fix build on branches with GCC 4.2.1.hrs2014-09-151-4/+10
* Update the default version of GCC in the Ports Collection from GCC 4.7.4gerald2014-09-1165-11/+65
* Welcome Mate Desktop 1.8bapt2014-09-108-24/+21
* It looks like __attribute__ deprecated(msg) wasn't supported until GCC 4.5.x,...adamw2014-09-101-0/+11
* - Add LICENSEgahr2014-09-051-0/+2
* Update to 0.95.6.hrs2014-09-0517-129/+123
* Use @samplebapt2014-09-031-6/+2
* Use @samplebapt2014-09-031-3/+1
* Fix shebangbapt2014-09-022-3/+3
* Add missing library libgmodule-2.0tijl2014-09-021-0/+2
* Remove non staged ports without pending PR from *bapt2014-09-029-185/+0
* Add USES=libtool to accessibility/atkmm and bump dependent portstijl2014-09-021-1/+1
* This port autodetects libfribidi so add a dependency and bump PORTREVISIONtijl2014-09-011-0/+2
* converters/fribidi:tijl2014-08-31