[gnome-builder: 13/17] LSP: signaling initialized state



commit 6fdbbd5f578043f21c39e74f9ada6d2fe5ad8572
Author: Günther Wagner <info gunibert de>
Date:   Mon Jun 1 12:03:03 2020 +0200

    LSP: signaling initialized state

 src/libide/lsp/ide-lsp-client.c | 14 ++++++++++++++
 src/libide/lsp/ide-lsp-client.h |  1 +
 2 files changed, 15 insertions(+)
---
diff --git a/src/libide/lsp/ide-lsp-client.c b/src/libide/lsp/ide-lsp-client.c
index 7b81c83fa..9600e6987 100644
--- a/src/libide/lsp/ide-lsp-client.c
+++ b/src/libide/lsp/ide-lsp-client.c
@@ -83,6 +83,7 @@ enum {
 };
 
 enum {
+  INITIALIZED,
   LOAD_CONFIGURATION,
   NOTIFICATION,
   PUBLISHED_DIAGNOSTICS,
@@ -1139,6 +1140,17 @@ ide_lsp_client_class_init (IdeLspClientClass *klass)
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
 
+
+  signals [INITIALIZED] =
+    g_signal_new ("initialized",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  G_STRUCT_OFFSET (IdeLspClientClass, initialized),
+                  NULL,
+                  NULL,
+                  NULL,
+                  G_TYPE_NONE, 0);
+
   /**
    * IdeLspClient::load-configuration:
    * @self: a #IdeLspClient
@@ -1284,6 +1296,8 @@ ide_lsp_client_initialized_cb (GObject      *object,
   project = ide_project_from_context (context);
   dzl_signal_group_set_target (priv->project_signals, project);
 
+  g_signal_emit (self, signals[INITIALIZED], 0);
+
   IDE_EXIT;
 }
 
diff --git a/src/libide/lsp/ide-lsp-client.h b/src/libide/lsp/ide-lsp-client.h
index 27e1c4515..e6e1bfb55 100644
--- a/src/libide/lsp/ide-lsp-client.h
+++ b/src/libide/lsp/ide-lsp-client.h
@@ -53,6 +53,7 @@ struct _IdeLspClientClass
                                       GFile          *file,
                                       IdeDiagnostics *diagnostics);
   GVariant *(*load_configuration)    (IdeLspClient   *self);
+  void      (*initialized)           (IdeLspClient   *self);
 
   /*< private >*/
   gpointer _reserved[15];


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