~ubuntu-branches/ubuntu/lucid/gedit/lucid-updates

« back to all changes in this revision

Viewing changes to docs/reference/html/GeditMessageBus.html

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2010-04-29 10:16:12 UTC
  • mfrom: (1.1.79 upstream)
  • Revision ID: james.westby@ubuntu.com-20100429101612-cawm9u2kja132bpc
Tags: 2.30.2-0ubuntu1
* New upstream release:
  - Fix cut and paste typo that broke syntax detection

Show diffs side-by-side

added added

removed removed

Lines of Context:
152
152
<p>
153
153
</p>
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 ();
158
 
 
159
 
// Register 'method' at '/plugins/example' with one required
160
 
// string argument 'arg1'
161
 
GeditMessageType *message_type = gedit_message_bus_register ("/plugins/example", "method", 
162
 
                                                             0, 
163
 
                                                             "arg1", G_TYPE_STRING,
164
 
                                                             NULL);
165
 
</pre></div>
166
 
</div>
167
 
<p><br class="example-break">
168
 
</p>
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">
172
 
static void
173
 
example_method_cb (GeditMessageBus *bus,
174
 
                   GeditMessage    *message,
175
 
                   gpointer         userdata)
176
 
{
177
 
        gchar *arg1 = NULL;
178
 
 
179
 
        gedit_message_get (message, "arg1", &amp;arg1, NULL);
180
 
        g_message ("Evoked /plugins/example.method with: %s", arg1);
181
 
        g_free (arg1);
182
 
}
183
 
 
184
 
GeditMessageBus *bus = gedit_message_bus_get_default ();
185
 
 
186
 
guint id = gedit_message_bus_connect (bus, 
187
 
                                      "/plugins/example", "method",
188
 
                                      example_method_cb,
189
 
                                      NULL,
190
 
                                      NULL);
191
 
                                       
192
 
</pre></div>
193
 
</div>
194
 
<p><br class="example-break">
195
 
</p>
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 ();
200
 
 
201
 
gedit_message_bus_send (bus, 
202
 
                        "/plugins/example", "method", 
203
 
                        "arg1", "Hello World", 
204
 
                        NULL);
205
 
</pre></div>
 
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">
 
158
    <tbody>
 
159
      <tr>
 
160
        <td class="listing_lines" align="right"><pre>1
 
161
2
 
162
3
 
163
4
 
164
5
 
165
6
 
166
7
 
167
8</pre></td>
 
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>
 
169
 
 
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>
 
176
      </tr>
 
177
    </tbody>
 
178
  </table>
 
179
</div>
 
180
 
 
181
</div>
 
182
<p><br class="example-break">
 
183
</p>
 
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">
 
188
    <tbody>
 
189
      <tr>
 
190
        <td class="listing_lines" align="right"><pre>1
 
191
2
 
192
3
 
193
4
 
194
5
 
195
6
 
196
7
 
197
8
 
198
9
 
199
10
 
200
11
 
201
12
 
202
13
 
203
14
 
204
15
 
205
16
 
206
17
 
207
18
 
208
19</pre></td>
 
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>
 
215
 
 
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">&amp;</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>
 
220
 
 
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>
 
222
 
 
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>
 
228
      </tr>
 
229
    </tbody>
 
230
  </table>
 
231
</div>
 
232
 
 
233
</div>
 
234
<p><br class="example-break">
 
235
</p>
 
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">
 
240
    <tbody>
 
241
      <tr>
 
242
        <td class="listing_lines" align="right"><pre>1
 
243
2
 
244
3
 
245
4
 
246
5
 
247
6</pre></td>
 
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>
 
249
 
 
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>
 
254
      </tr>
 
255
    </tbody>
 
256
  </table>
 
257
</div>
 
258
 
206
259
</div>
207
260
<p><br class="example-break">
208
261
</p>
212
265
<div class="refsect2" title="GeditMessageBus">
213
266
<a name="GeditMessageBus-struct"></a><h3>GeditMessageBus</h3>
214
267
<pre class="programlisting">typedef struct _GeditMessageBus GeditMessageBus;</pre>
 
268
<p>
 
269
</p>
215
270
</div>
216
271
<hr>
217
272
<div class="refsect2" title="GeditMessageCallback ()">