154
154
<div class="example">
155
<a name="id2838567"></a><p class="title"><b>Example 1. Registering a message type</b></p>
156
<div class="example-contents"><pre class="programlisting">
157
GeditMessageBus *bus = gedit_message_bus_get_default ();
159
// Register 'method' at '/plugins/example' with one required
160
// string argument 'arg1'
161
GeditMessageType *message_type = gedit_message_bus_register ("/plugins/example", "method",
163
"arg1", G_TYPE_STRING,
167
<p><br class="example-break">
169
<div class="example">
170
<a name="id2838588"></a><p class="title"><b>Example 2. Connecting a callback</b></p>
171
<div class="example-contents"><pre class="programlisting">
173
example_method_cb (GeditMessageBus *bus,
174
GeditMessage *message,
179
gedit_message_get (message, "arg1", &arg1, NULL);
180
g_message ("Evoked /plugins/example.method with: %s", arg1);
184
GeditMessageBus *bus = gedit_message_bus_get_default ();
186
guint id = gedit_message_bus_connect (bus,
187
"/plugins/example", "method",
194
<p><br class="example-break">
196
<div class="example">
197
<a name="id2838612"></a><p class="title"><b>Example 3. Sending a message</b></p>
198
<div class="example-contents"><pre class="programlisting">
199
GeditMessageBus *bus = gedit_message_bus_get_default ();
201
gedit_message_bus_send (bus,
202
"/plugins/example", "method",
203
"arg1", "Hello World",
155
<a name="id601020"></a><p class="title"><b>Example 1. Registering a message type</b></p>
156
<div class="example-contents">
157
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
160
<td class="listing_lines" align="right"><pre>1
168
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="GeditMessageBus.html">GeditMessageBus</a> </span><span class="symbol">*</span><span class="normal">bus </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GeditMessageBus.html#gedit-message-bus-get-default">gedit_message_bus_get_default</a></span><span class="normal"> </span><span class="symbol">();</span>
170
<span class="comment">// Register 'method' at '/plugins/example' with one required</span>
171
<span class="comment">// string argument 'arg1'</span>
172
<span class="normal"><a href="gedit-GeditMessageType.html#GeditMessageType">GeditMessageType</a> </span><span class="symbol">*</span><span class="normal">message_type </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GeditMessageBus.html#gedit-message-bus-register">gedit_message_bus_register</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"/plugins/example"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"method"</span><span class="symbol">,</span><span class="normal"> </span>
173
<span class="normal"> </span><span class="number">0</span><span class="symbol">,</span><span class="normal"> </span>
174
<span class="normal"> </span><span class="string">"arg1"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#G-TYPE-STRING:CAPS">G_TYPE_STRING</a></span><span class="symbol">,</span>
175
<span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
182
<p><br class="example-break">
184
<div class="example">
185
<a name="id601037"></a><p class="title"><b>Example 2. Connecting a callback</b></p>
186
<div class="example-contents">
187
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
190
<td class="listing_lines" align="right"><pre>1
209
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
210
<span class="function">example_method_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="GeditMessageBus.html">GeditMessageBus</a> </span><span class="symbol">*</span><span class="normal">bus</span><span class="symbol">,</span>
211
<span class="normal"> <a href="GeditMessage.html">GeditMessage</a> </span><span class="symbol">*</span><span class="normal">message</span><span class="symbol">,</span>
212
<span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer">gpointer</a> userdata</span><span class="symbol">)</span>
213
<span class="cbracket">{</span>
214
<span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar">gchar</a> </span><span class="symbol">*</span><span class="normal">arg1 </span><span class="symbol">=</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>
216
<span class="normal"> </span><span class="function"><a href="GeditMessage.html#gedit-message-get">gedit_message_get</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">message</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"arg1"</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&</span><span class="normal">arg1</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
217
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-message">g_message</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Evoked /plugins/example.method with: %s"</span><span class="symbol">,</span><span class="normal"> arg1</span><span class="symbol">);</span>
218
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free">g_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">arg1</span><span class="symbol">);</span>
219
<span class="cbracket">}</span>
221
<span class="normal"><a href="GeditMessageBus.html">GeditMessageBus</a> </span><span class="symbol">*</span><span class="normal">bus </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GeditMessageBus.html#gedit-message-bus-get-default">gedit_message_bus_get_default</a></span><span class="normal"> </span><span class="symbol">();</span>
223
<span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint">guint</a> id </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GeditMessageBus.html#gedit-message-bus-connect">gedit_message_bus_connect</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bus</span><span class="symbol">,</span><span class="normal"> </span>
224
<span class="normal"> </span><span class="string">"/plugins/example"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"method"</span><span class="symbol">,</span>
225
<span class="normal"> example_method_cb</span><span class="symbol">,</span>
226
<span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span>
227
<span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span></pre></td>
234
<p><br class="example-break">
236
<div class="example">
237
<a name="id601056"></a><p class="title"><b>Example 3. Sending a message</b></p>
238
<div class="example-contents">
239
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
242
<td class="listing_lines" align="right"><pre>1
248
<td class="listing_code"><pre class="programlisting"><span class="normal"><a href="GeditMessageBus.html">GeditMessageBus</a> </span><span class="symbol">*</span><span class="normal">bus </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GeditMessageBus.html#gedit-message-bus-get-default">gedit_message_bus_get_default</a></span><span class="normal"> </span><span class="symbol">();</span>
250
<span class="function"><a href="GeditMessageBus.html#gedit-message-bus-send">gedit_message_bus_send</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bus</span><span class="symbol">,</span><span class="normal"> </span>
251
<span class="normal"> </span><span class="string">"/plugins/example"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"method"</span><span class="symbol">,</span><span class="normal"> </span>
252
<span class="normal"> </span><span class="string">"arg1"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Hello World"</span><span class="symbol">,</span><span class="normal"> </span>
253
<span class="normal"> NULL</span><span class="symbol">);</span></pre></td>
207
260
<p><br class="example-break">