[gnome-builder/wip/chergert/snippets-viewer: 1/4] snippets: don't use IdeObject for snippets manager



commit b6b3794c6086cd9415c5189f94500114e29adff5
Author: Christian Hergert <christian hergert me>
Date:   Fri Aug 21 21:55:28 2015 -0700

    snippets: don't use IdeObject for snippets manager
    
    Not really needed, and it prevents accessing without a context. So let's
    just drop it for now.

 libide/ide-context.c                 |    4 +---
 libide/ide-source-snippets-manager.c |   22 +++++++++++++++++++---
 libide/ide-source-snippets-manager.h |   25 +++++++++++++------------
 3 files changed, 33 insertions(+), 18 deletions(-)
---
diff --git a/libide/ide-context.c b/libide/ide-context.c
index b21e167..ff2ed22 100644
--- a/libide/ide-context.c
+++ b/libide/ide-context.c
@@ -793,9 +793,7 @@ ide_context_init (IdeContext *self)
                                       "context", self,
                                       NULL);
 
-  self->snippets_manager = g_object_new (IDE_TYPE_SOURCE_SNIPPETS_MANAGER,
-                                         "context", self,
-                                         NULL);
+  self->snippets_manager = g_object_new (IDE_TYPE_SOURCE_SNIPPETS_MANAGER, NULL);
 
   scriptsdir = g_build_filename (g_get_user_config_dir (),
                                  ide_get_program_name (),
diff --git a/libide/ide-source-snippets-manager.c b/libide/ide-source-snippets-manager.c
index 9009121..8058cea 100644
--- a/libide/ide-source-snippets-manager.c
+++ b/libide/ide-source-snippets-manager.c
@@ -28,12 +28,11 @@
 
 struct _IdeSourceSnippetsManager
 {
-  IdeObject   parent_instance;
-
+  GObject     parent_instance;
   GHashTable *by_language_id;
 };
 
-G_DEFINE_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, IDE_TYPE_OBJECT)
+G_DEFINE_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, G_TYPE_OBJECT)
 
 #define SNIPPETS_DIRECTORY "/org/gnome/libide/snippets/"
 
@@ -165,6 +164,23 @@ ide_source_snippets_manager_load_finish (IdeSourceSnippetsManager  *self,
 }
 
 /**
+ * ide_source_snippets_manager_get_for_language_id:
+ *
+ * Gets the snippets for a given source language.
+ *
+ * Returns: (transfer none) (nullable): An #IdeSourceSnippets or %NULL.
+ */
+IdeSourceSnippets *
+ide_source_snippets_manager_get_for_language_id (IdeSourceSnippetsManager *self,
+                                                 const gchar              *language_id)
+{
+  g_return_val_if_fail (IDE_IS_SOURCE_SNIPPETS_MANAGER (self), NULL);
+  g_return_val_if_fail (language_id != NULL, NULL);
+
+  return g_hash_table_lookup (self->by_language_id, language_id);
+}
+
+/**
  * ide_source_snippets_manager_get_for_language:
  *
  * Gets the snippets for a given source language.
diff --git a/libide/ide-source-snippets-manager.h b/libide/ide-source-snippets-manager.h
index 7843e20..0e23245 100644
--- a/libide/ide-source-snippets-manager.h
+++ b/libide/ide-source-snippets-manager.h
@@ -27,18 +27,19 @@ G_BEGIN_DECLS
 
 #define IDE_TYPE_SOURCE_SNIPPETS_MANAGER (ide_source_snippets_manager_get_type())
 
-G_DECLARE_FINAL_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager,
-                      IDE, SOURCE_SNIPPETS_MANAGER, IdeObject)
-
-void               ide_source_snippets_manager_load_async       (IdeSourceSnippetsManager  *self,
-                                                                 GCancellable              *cancellable,
-                                                                 GAsyncReadyCallback        callback,
-                                                                 gpointer                   user_data);
-gboolean           ide_source_snippets_manager_load_finish      (IdeSourceSnippetsManager  *self,
-                                                                 GAsyncResult              *result,
-                                                                 GError                   **error);
-IdeSourceSnippets *ide_source_snippets_manager_get_for_language (IdeSourceSnippetsManager  *manager,
-                                                                 GtkSourceLanguage         *language);
+G_DECLARE_FINAL_TYPE (IdeSourceSnippetsManager, ide_source_snippets_manager, IDE, SOURCE_SNIPPETS_MANAGER, 
GObject)
+
+void               ide_source_snippets_manager_load_async          (IdeSourceSnippetsManager  *self,
+                                                                    GCancellable              *cancellable,
+                                                                    GAsyncReadyCallback        callback,
+                                                                    gpointer                   user_data);
+gboolean           ide_source_snippets_manager_load_finish         (IdeSourceSnippetsManager  *self,
+                                                                    GAsyncResult              *result,
+                                                                    GError                   **error);
+IdeSourceSnippets *ide_source_snippets_manager_get_for_language    (IdeSourceSnippetsManager  *manager,
+                                                                    GtkSourceLanguage         *language);
+IdeSourceSnippets *ide_source_snippets_manager_get_for_language_id (IdeSourceSnippetsManager  *manager,
+                                                                    const gchar               *language_id);
 
 G_END_DECLS
 


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