[libpeas] Add PEAS_UTILS_C_LOADER_ID



commit 5085a1b17fed682feaa2511d30d908fa860f5287
Author: Garrett Regier <garrettregier gmail com>
Date:   Mon Sep 21 21:46:38 2015 -0700

    Add PEAS_UTILS_C_LOADER_ID
    
    This simplifies various C plugin loader specific code.

 libpeas/peas-engine.c      |   12 +++++++++---
 libpeas/peas-plugin-info.c |    2 +-
 libpeas/peas-utils.h       |    3 ++-
 3 files changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/libpeas/peas-engine.c b/libpeas/peas-engine.c
index 0f3349d..27ebd7d 100644
--- a/libpeas/peas-engine.c
+++ b/libpeas/peas-engine.c
@@ -352,7 +352,7 @@ peas_engine_init (PeasEngine *engine)
   priv->in_dispose = FALSE;
 
   /* The C plugin loader is always enabled */
-  priv->loaders[peas_utils_get_loader_id ("C")].enabled = TRUE;
+  priv->loaders[PEAS_UTILS_C_LOADER_ID].enabled = TRUE;
 }
 
 /**
@@ -628,8 +628,14 @@ peas_engine_class_init (PeasEngineClass *klass)
    * global init function for libpeas. */
   peas_debug_init ();
 
+  /* This cannot be done as a compile-time
+   * assert, but is critical for correct behavior
+   */
+  g_assert (g_strcmp0 (peas_utils_get_loader_from_id (PEAS_UTILS_C_LOADER_ID),
+                       "c") == 0);
+
   /* The C plugin loader is always enabled */
-  loaders[peas_utils_get_loader_id ("C")].enabled = TRUE;
+  loaders[PEAS_UTILS_C_LOADER_ID].enabled = TRUE;
 }
 
 static PeasObjectModule *
@@ -669,7 +675,7 @@ create_plugin_loader (gint loader_id)
 {
   PeasPluginLoader *loader;
 
-  if (peas_utils_get_loader_id ("C") == loader_id)
+  if (loader_id == PEAS_UTILS_C_LOADER_ID)
     {
       loader = peas_plugin_loader_c_new ();
     }
diff --git a/libpeas/peas-plugin-info.c b/libpeas/peas-plugin-info.c
index c8292a2..b30e82b 100644
--- a/libpeas/peas-plugin-info.c
+++ b/libpeas/peas-plugin-info.c
@@ -169,7 +169,7 @@ _peas_plugin_info_new (const gchar *filename,
   if (loader == NULL || *loader == '\0')
     {
       /* Default to the C loader */
-      info->loader_id = peas_utils_get_loader_id ("C");
+      info->loader_id = PEAS_UTILS_C_LOADER_ID;
     }
   else
     {
diff --git a/libpeas/peas-utils.h b/libpeas/peas-utils.h
index df8e45b..adca711 100644
--- a/libpeas/peas-utils.h
+++ b/libpeas/peas-utils.h
@@ -24,7 +24,8 @@
 
 #include <glib-object.h>
 
-#define PEAS_UTILS_N_LOADERS 4
+#define PEAS_UTILS_C_LOADER_ID  0
+#define PEAS_UTILS_N_LOADERS    4
 
 gboolean  peas_utils_valist_to_parameter_list (GType         iface_type,
                                                const gchar  *first_property,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]