#include #include #include #include #include #include "wombat-moniker.h" #define DEFAULT_DB_URL "xmldb:" EVOLUTION_DATADIR "/evolution/config.xmldb" #define USER_DB_URL "xmldb:~/evolution/config.xmldb" #define DB_URL (DEFAULT_DB_URL "#" USER_DB_URL) static Bonobo_Storage wombat_root_storage (CORBA_Environment *ev) { static BonoboStorage *root = NULL; char *path; if (!root) { path = g_strconcat (g_get_home_dir (), "/evolution/config", NULL); root = bonobo_storage_open_full (BONOBO_IO_DRIVER_FS, path, Bonobo_Storage_CREATE, 0664, ev); g_free (path); if (BONOBO_EX (ev) || !root) return CORBA_OBJECT_NIL; } return BONOBO_OBJREF (root); } static Bonobo_Storage wombat_lookup_storage (const char *name, CORBA_Environment *ev) { Bonobo_Storage root; if ((root = wombat_root_storage (ev)) == CORBA_OBJECT_NIL) return CORBA_OBJECT_NIL; if (!strcmp (name, "")) return bonobo_object_dup_ref (root, ev); return Bonobo_Storage_openStorage (root, name, Bonobo_Storage_CREATE, ev); } static Bonobo_Storage wombat_lookup_stream (const char *name, CORBA_Environment *ev) { Bonobo_Storage root; if (!strcmp (name, "")) { bonobo_exception_set (ev, ex_Bonobo_Storage_NotFound); return CORBA_OBJECT_NIL; } if ((root = wombat_root_storage (ev)) == CORBA_OBJECT_NIL) return CORBA_OBJECT_NIL; return Bonobo_Storage_openStream (root, name, Bonobo_Storage_CREATE, ev); } static CORBA_Object wombat_lookup_db (CORBA_Environment *ev) { static CORBA_Object db = CORBA_OBJECT_NIL; if (db == CORBA_OBJECT_NIL) db = bonobo_get_object (DB_URL, "IDL:Bonobo/ConfigDatabase:1.0", ev); bonobo_object_dup_ref (db, ev); return db; } static Bonobo_Unknown wombat_moniker_resolve (BonoboMoniker *moniker, const Bonobo_ResolveOptions *options, const CORBA_char *interface, CORBA_Environment *ev) { CORBA_Object db; Bonobo_Moniker parent; const gchar *name; Bonobo_Storage storage; Bonobo_Stream stream; parent = bonobo_moniker_get_parent (moniker, ev); if (BONOBO_EX (ev)) return CORBA_OBJECT_NIL; name = bonobo_moniker_get_name (moniker); if (parent != CORBA_OBJECT_NIL) { g_warning ("wombat: parent moniker are not supproted"); bonobo_object_release_unref (parent, ev); bonobo_exception_set (ev, ex_Bonobo_Moniker_InterfaceNotFound); return CORBA_OBJECT_NIL; } if (!strcmp (interface, "IDL:Bonobo/Storage:1.0")) { storage = wombat_lookup_storage (name, ev); return storage; } if (!strcmp (interface, "IDL:Bonobo/Stream:1.0")) { stream = wombat_lookup_stream (name, ev); return stream; } if (!strcmp (interface, "IDL:Bonobo/ConfigDatabase:1.0")) { if (strcmp (name, "")) g_warning ("wombat: unused moniker name"); if ((db = wombat_lookup_db (ev)) != CORBA_OBJECT_NIL) return db; } bonobo_exception_set (ev, ex_Bonobo_Moniker_InterfaceNotFound); return CORBA_OBJECT_NIL; } BonoboObject * wombat_moniker_factory (BonoboGenericFactory *this, const char *object_id, void *data) { g_return_val_if_fail (object_id != NULL, NULL); if (!strcmp (object_id, "OAFIID:Bonobo_Moniker_wombat")) return BONOBO_OBJECT (bonobo_moniker_simple_new ( "wombat:", wombat_moniker_resolve)); else g_warning ("Failing to manufacture a '%s'", object_id); return NULL; } /lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19 FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* - Update Calligra and l10n ports to 2.6.2:avilla2013-03-302-10/+5
* Merge from area51 repository:makc2013-02-053-7/+3
* - Update Calligra Suite to 2.5.2.avilla2012-09-171-2/+2
* - Update Calligra to 2.5.1.avilla2012-09-012-7/+2
* The KDE/FreeBSD team is pleased to announce version 2.5 of Calligra,avilla2012-08-262-11/+3
* - Update Calligra to 2.4.3.avilla2012-07-051-2/+2
* The KDE/FreeBSD team is pleased to announce Calligra Suite 2.4.2, KDEavilla2012-05-314-93/+73
* - Update KOffice to 2.3.3.avilla2011-04-131-2/+2
* - Update KOffice to 2.3.1.avilla2011-03-252-90/+23
* - Get Rid MD5 supportmiwi2011-03-191-1/+0
* Update KOffice l10n ports to 2.2.2makc2010-08-281-3/+3
* - Update KOffice (and its l10n packs) to 2.2.0 releasefluffy2010-06-19