31
31
<a href="#at-spi-cspi-SPI-main-loop-and-initialization.description" class="shortcut">Description</a>
34
<div class="refentry" title="SPI main loop and initialization">
34
<div class="refentry" lang="en">
35
35
<a name="at-spi-cspi-SPI-main-loop-and-initialization"></a><div class="titlepage"></div>
36
36
<div class="refnamediv"><table width="100%"><tr>
38
38
<h2><span class="refentrytitle"><a name="at-spi-cspi-SPI-main-loop-and-initialization.top_of_page"></a>SPI main loop and initialization</span></h2>
39
<p>SPI main loop and initialization</p>
39
<p>SPI main loop and initialization — </p>
41
41
<td valign="top" align="right"></td>
42
42
</tr></table></div>
43
<div class="refsynopsisdiv" title="Synopsis">
43
<div class="refsynopsisdiv">
44
44
<a name="at-spi-cspi-SPI-main-loop-and-initialization.synopsis"></a><h2>Synopsis</h2>
45
45
<pre class="synopsis">
46
int <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-init" title="SPI_init ()">SPI_init</a> (void);
47
void <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-event-main" title="SPI_event_main ()">SPI_event_main</a> (void);
48
void <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-event-quit" title="SPI_event_quit ()">SPI_event_quit</a> (void);
49
SPIBoolean <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-eventIsReady" title="SPI_eventIsReady ()">SPI_eventIsReady</a> (void);
50
<a class="link" href="at-spi-cspi-Event-Listener-Support.html#AccessibleEvent" title="AccessibleEvent">AccessibleEvent</a> * <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-nextEvent" title="SPI_nextEvent ()">SPI_nextEvent</a> (SPIBoolean waitForEvent);
51
int <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exit" title="SPI_exit ()">SPI_exit</a> (void);
46
int <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-init" title="SPI_init ()">SPI_init</a> (void);
47
void <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-event-main" title="SPI_event_main ()">SPI_event_main</a> (void);
48
void <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-event-quit" title="SPI_event_quit ()">SPI_event_quit</a> (void);
49
SPIBoolean <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-eventIsReady" title="SPI_eventIsReady ()">SPI_eventIsReady</a> (void);
50
<a href="at-spi-cspi-Event-Listener-Support.html#AccessibleEvent" title="AccessibleEvent">AccessibleEvent</a> * <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-nextEvent" title="SPI_nextEvent ()">SPI_nextEvent</a> (SPIBoolean waitForEvent);
51
int <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exit" title="SPI_exit ()">SPI_exit</a> (void);
53
void <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-freeString" title="SPI_freeString ()">SPI_freeString</a> (char *s);
54
<a class="link" href="at-spi-cspi-Accessible-Objects.html#Accessible" title="struct Accessible">Accessible</a>* <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIAccessibleException-getSource" title="SPIAccessibleException_getSource ()">SPIAccessibleException_getSource</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
55
char* <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getDescription" title="SPIException_getDescription ()">SPIException_getDescription</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
56
<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a> <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getExceptionCode" title="SPIException_getExceptionCode ()">SPIException_getExceptionCode</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
57
<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getSourceType" title="SPIException_getSourceType ()">SPIException_getSourceType</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
58
<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a>;
59
enum <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a>;
60
enum <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a>;
61
SPIBoolean (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">*SPIExceptionHandler</a>) (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err,
53
void <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-freeString" title="SPI_freeString ()">SPI_freeString</a> (char *s);
54
<a href="at-spi-cspi-Accessible-Objects.html#Accessible" title="struct Accessible">Accessible</a>* <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIAccessibleException-getSource" title="SPIAccessibleException_getSource ()">SPIAccessibleException_getSource</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
55
char* <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getDescription" title="SPIException_getDescription ()">SPIException_getDescription</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
56
<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a> <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getExceptionCode" title="SPIException_getExceptionCode ()">SPIException_getExceptionCode</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
57
<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException-getSourceType" title="SPIException_getSourceType ()">SPIException_getSourceType</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);
58
<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a>;
59
enum <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a>;
60
enum <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a>;
61
SPIBoolean (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">*SPIExceptionHandler</a>) (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err,
62
62
SPIBoolean is_fatal);
63
<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIRect" title="SPIRect">SPIRect</a>;
64
void <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-freeRect" title="SPI_freeRect ()">SPI_freeRect</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIRect" title="SPIRect">SPIRect</a> *r);
65
char* <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-dupString" title="SPI_dupString ()">SPI_dupString</a> (char *s);
66
SPIBoolean <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exceptionHandlerPush" title="SPI_exceptionHandlerPush ()">SPI_exceptionHandlerPush</a> (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">SPIExceptionHandler</a> *handler);
67
<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">SPIExceptionHandler</a>* <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exceptionHandlerPop" title="SPI_exceptionHandlerPop ()">SPI_exceptionHandlerPop</a> (void);
63
<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIRect" title="SPIRect">SPIRect</a>;
64
void <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-freeRect" title="SPI_freeRect ()">SPI_freeRect</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIRect" title="SPIRect">SPIRect</a> *r);
65
char* <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-dupString" title="SPI_dupString ()">SPI_dupString</a> (char *s);
66
SPIBoolean <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exceptionHandlerPush" title="SPI_exceptionHandlerPush ()">SPI_exceptionHandlerPush</a> (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">SPIExceptionHandler</a> *handler);
67
<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionHandler" title="SPIExceptionHandler ()">SPIExceptionHandler</a>* <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPI-exceptionHandlerPop" title="SPI_exceptionHandlerPop ()">SPI_exceptionHandlerPop</a> (void);
70
<div class="refsect1" title="Description">
70
<div class="refsect1" lang="en">
71
71
<a name="at-spi-cspi-SPI-main-loop-and-initialization.description"></a><h2>Description</h2>
75
<div class="refsect1" title="Details">
75
<div class="refsect1" lang="en">
76
76
<a name="at-spi-cspi-SPI-main-loop-and-initialization.details"></a><h2>Details</h2>
77
<div class="refsect2" title="SPI_init ()">
77
<div class="refsect2" lang="en">
78
78
<a name="SPI-init"></a><h3>SPI_init ()</h3>
79
79
<pre class="programlisting">int SPI_init (void);</pre>
226
232
<col align="left" valign="top">
229
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
230
<td> the <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException"><span class="type">SPIException</span></a> being queried.
236
<span class="term"><em class="parameter"><code>err</code></em> :</span></td>
237
<td> the <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException"><span class="type">SPIException</span></a> being queried.
234
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
235
<td> a pointer to the <a class="link" href="at-spi-cspi-Accessible-Objects.html#Accessible" title="struct Accessible"><span class="type">Accessible</span></a> object which threw the exception.
242
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
243
<td> a pointer to the <a href="at-spi-cspi-Accessible-Objects.html#Accessible" title="struct Accessible"><span class="type">Accessible</span></a> object which threw the exception.
242
<div class="refsect2" title="SPIException_getDescription ()">
250
<div class="refsect2" lang="en">
243
251
<a name="SPIException-getDescription"></a><h3>SPIException_getDescription ()</h3>
244
<pre class="programlisting">char* SPIException_getDescription (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);</pre>
252
<pre class="programlisting">char* SPIException_getDescription (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);</pre>
246
254
Get a text description of the exception that has been thrown.
247
255
Unfortunately these descriptions tend to be terse and limited in
279
289
<col align="left" valign="top">
282
<td><p><span class="term"><em class="parameter"><code>err</code></em> :</span></p></td>
283
<td> the <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException"><span class="type">SPIException</span></a> being queried.
293
<span class="term"><em class="parameter"><code>err</code></em> :</span></td>
294
<td> the <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException"><span class="type">SPIException</span></a> being queried.
287
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
288
<td> the <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode"><span class="type">SPIExceptionCode</span></a> corresponding to exception <em class="parameter"><code>err</code></em>.
299
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
300
<td> the <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode"><span class="type">SPIExceptionCode</span></a> corresponding to exception <em class="parameter"><code>err</code></em>.
295
<div class="refsect2" title="SPIException_getSourceType ()">
307
<div class="refsect2" lang="en">
296
308
<a name="SPIException-getSourceType"></a><h3>SPIException_getSourceType ()</h3>
297
<pre class="programlisting"><a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> SPIException_getSourceType (<a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);</pre>
309
<pre class="programlisting"><a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> SPIException_getSourceType (<a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIException" title="SPIException">SPIException</a> *err);</pre>
299
Get the <a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType"><span class="type">SPIExceptionType</span></a> of an exception which has been thrown.
311
Get the <a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType"><span class="type">SPIExceptionType</span></a> of an exception which has been thrown.
302
314
<em class="parameter"><code>Since</code></em>: AT-SPI 1.4</p>
337
351
<col align="left" valign="top">
340
<td><p><span class="term"><a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> <em class="structfield"><code>type</code></em>;</span></p></td>
345
<td><p><span class="term">CORBA_Object <em class="structfield"><code>source</code></em>;</span></p></td>
350
<td><p><span class="term">CORBA_Environment *<em class="structfield"><code>ev</code></em>;</span></p></td>
355
<td><p><span class="term"><a class="link" href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a> <em class="structfield"><code>code</code></em>;</span></p></td>
360
<td><p><span class="term">char *<em class="structfield"><code>desc</code></em>;</span></p></td>
355
<span class="term"><a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionType" title="enum SPIExceptionType">SPIExceptionType</a> <em class="structfield"><code>type</code></em>;</span></td>
361
<span class="term">CORBA_Object <em class="structfield"><code>source</code></em>;</span></td>
367
<span class="term">CORBA_Environment *<em class="structfield"><code>ev</code></em>;</span></td>
373
<span class="term"><a href="at-spi-cspi-SPI-main-loop-and-initialization.html#SPIExceptionCode" title="enum SPIExceptionCode">SPIExceptionCode</a> <em class="structfield"><code>code</code></em>;</span></td>
379
<span class="term">char *<em class="structfield"><code>desc</code></em>;</span></td>
383
402
<col align="left" valign="top">
386
<td><p><a name="SPI-EXCEPTION-UNSPECIFIED--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_UNSPECIFIED</code></span></p></td>
406
<a name="SPI-EXCEPTION-UNSPECIFIED--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_UNSPECIFIED</code></span></td>
387
407
<td> An exception of unknown type, or which doesn't fit the other types.
391
<td><p><a name="SPI-EXCEPTION-DISCONNECT--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_DISCONNECT</code></span></p></td>
412
<a name="SPI-EXCEPTION-DISCONNECT--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_DISCONNECT</code></span></td>
392
413
<td> Communication with the object or service has been disconnected;
393
414
this usually means that the object or service has died or exited.
397
<td><p><a name="SPI-EXCEPTION-NO-IMPL--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_NO_IMPL</code></span></p></td>
419
<a name="SPI-EXCEPTION-NO-IMPL--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_NO_IMPL</code></span></td>
398
420
<td> The object or service is missing the implementation for a request.
402
<td><p><a name="SPI-EXCEPTION-IO--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_IO</code></span></p></td>
425
<a name="SPI-EXCEPTION-IO--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_IO</code></span></td>
403
426
<td> The communications channel has become corrupted, blocked, or is otherwise in a bad state.
407
<td><p><a name="SPI-EXCEPTION-BAD-DATA--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_BAD_DATA</code></span></p></td>
431
<a name="SPI-EXCEPTION-BAD-DATA--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_BAD_DATA</code></span></td>
408
432
<td> The data received or sent over the interface has been identified as
409
433
improperly formatted or otherwise fails to match the expectations.
430
454
<col align="left" valign="top">
433
<td><p><a name="SPI-EXCEPTION-SOURCE-UNSPECIFIED--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_UNSPECIFIED</code></span></p></td>
458
<a name="SPI-EXCEPTION-SOURCE-UNSPECIFIED--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_UNSPECIFIED</code></span></td>
434
459
<td> Don't know or can't tell where the problem is
438
<td><p><a name="SPI-EXCEPTION-SOURCE-ACCESSIBLE--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_ACCESSIBLE</code></span></p></td>
464
<a name="SPI-EXCEPTION-SOURCE-ACCESSIBLE--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_ACCESSIBLE</code></span></td>
439
465
<td> The source of an event or query (i.e. an app) has thrown the exception.
443
<td><p><a name="SPI-EXCEPTION-SOURCE-REGISTRY--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_REGISTRY</code></span></p></td>
470
<a name="SPI-EXCEPTION-SOURCE-REGISTRY--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_REGISTRY</code></span></td>
444
471
<td> The AT-SPI registry has thrown the exception or cannot be reached.
448
<td><p><a name="SPI-EXCEPTION-SOURCE-DEVICE--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_DEVICE</code></span></p></td>
476
<a name="SPI-EXCEPTION-SOURCE-DEVICE--CAPS"></a><span class="term"><code class="literal">SPI_EXCEPTION_SOURCE_DEVICE</code></span></td>
449
477
<td> The device event subsystem has encountered an error condition.