The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.

Please select the desired protocol below to get the URL.

This URL has Read-Only access.

Statistics
| Branch: | Revision:

main_repo / libpurple / plugins / perl / common / Status.c @ a274da4f

History | View | Annotate | Download (47.6 KB)

1
/*
2
 * This file was generated automatically by ExtUtils::ParseXS version 3.18 from the
3
 * contents of Status.xs. Do not edit this file, edit Status.xs instead.
4
 *
5
 *    ANY CHANGES MADE HERE WILL BE LOST!
6
 *
7
 */
8

    
9
#line 1 "Status.xs"
10
#include "module.h"
11

    
12
/* TODO
13

14
void
15
purple_status_type_add_attrs(status_type, id, name, value, purple_status_type_add_attrs)
16
        Purple::StatusType status_type
17
        const char *id
18
        const char *name
19
        Purple::Value value
20
        ...
21

22
Purple::StatusType
23
purple_status_type_new_with_attrs(primitive, id, name, saveable, user_settable, independent, attr_id, attr_name, attr_value, purple_status_type_new_with_attrs)
24
        Purple::StatusPrimitive primitive
25
        const char *id
26
        const char *name
27
        gboolean saveable
28
        gboolean user_settable
29
        gboolean independent
30
        const char *attr_id
31
        const char *attr_name
32
        Purple::Value attr_value
33
        ...
34

35
*/
36

    
37
/* These break on faceprint's amd64 box
38
void
39
purple_status_type_add_attrs_vargs(status_type, args)
40
        Purple::StatusType status_type
41
        va_list args
42

43
void
44
purple_status_set_active_with_attrs(status, active, args)
45
        Purple::Status status
46
        gboolean active
47
        va_list args
48

49
        */
50

    
51
#line 52 "Status.c"
52
#ifndef PERL_UNUSED_VAR
53
#  define PERL_UNUSED_VAR(var) if (0) var = var
54
#endif
55

    
56
#ifndef dVAR
57
#  define dVAR                dNOOP
58
#endif
59

    
60

    
61
/* This stuff is not part of the API! You have been warned. */
62
#ifndef PERL_VERSION_DECIMAL
63
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
64
#endif
65
#ifndef PERL_DECIMAL_VERSION
66
#  define PERL_DECIMAL_VERSION \
67
          PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
68
#endif
69
#ifndef PERL_VERSION_GE
70
#  define PERL_VERSION_GE(r,v,s) \
71
          (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
72
#endif
73
#ifndef PERL_VERSION_LE
74
#  define PERL_VERSION_LE(r,v,s) \
75
          (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
76
#endif
77

    
78
/* XS_INTERNAL is the explicit static-linkage variant of the default
79
 * XS macro.
80
 *
81
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
82
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
83
 * for anything but the BOOT XSUB.
84
 *
85
 * See XSUB.h in core!
86
 */
87

    
88

    
89
/* TODO: This might be compatible further back than 5.10.0. */
90
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
91
#  undef XS_EXTERNAL
92
#  undef XS_INTERNAL
93
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
94
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
95
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
96
#  endif
97
#  if defined(__SYMBIAN32__)
98
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
99
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
100
#  endif
101
#  ifndef XS_EXTERNAL
102
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
103
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
104
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
105
#    else
106
#      ifdef __cplusplus
107
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
108
#        define XS_INTERNAL(name) static XSPROTO(name)
109
#      else
110
#        define XS_EXTERNAL(name) XSPROTO(name)
111
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
112
#      endif
113
#    endif
114
#  endif
115
#endif
116

    
117
/* perl >= 5.10.0 && perl <= 5.15.1 */
118

    
119

    
120
/* The XS_EXTERNAL macro is used for functions that must not be static
121
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
122
 * macro defined, the best we can do is assume XS is the same.
123
 * Dito for XS_INTERNAL.
124
 */
125
#ifndef XS_EXTERNAL
126
#  define XS_EXTERNAL(name) XS(name)
127
#endif
128
#ifndef XS_INTERNAL
129
#  define XS_INTERNAL(name) XS(name)
130
#endif
131

    
132
/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
133
 * internal macro that we're free to redefine for varying linkage due
134
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
135
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
136
 */
137

    
138
#undef XS_EUPXS
139
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
140
#  define XS_EUPXS(name) XS_EXTERNAL(name)
141
#else
142
   /* default to internal */
143
#  define XS_EUPXS(name) XS_INTERNAL(name)
144
#endif
145

    
146
#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
147
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
148

    
149
/* prototype to pass -Wmissing-prototypes */
150
STATIC void
151
S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
152

    
153
STATIC void
154
S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
155
{
156
    const GV *const gv = CvGV(cv);
157

    
158
    PERL_ARGS_ASSERT_CROAK_XS_USAGE;
159

    
160
    if (gv) {
161
        const char *const gvname = GvNAME(gv);
162
        const HV *const stash = GvSTASH(gv);
163
        const char *const hvname = stash ? HvNAME(stash) : NULL;
164

    
165
        if (hvname)
166
            Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
167
        else
168
            Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
169
    } else {
170
        /* Pants. I don't think that it should be possible to get here. */
171
        Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
172
    }
173
}
174
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
175

    
176
#ifdef PERL_IMPLICIT_CONTEXT
177
#define croak_xs_usage(a,b)    S_croak_xs_usage(aTHX_ a,b)
178
#else
179
#define croak_xs_usage        S_croak_xs_usage
180
#endif
181

    
182
#endif
183

    
184
/* NOTE: the prototype of newXSproto() is different in versions of perls,
185
 * so we define a portable version of newXSproto()
186
 */
187
#ifdef newXS_flags
188
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
189
#else
190
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
191
#endif /* !defined(newXS_flags) */
192

    
193
#line 194 "Status.c"
194

    
195
XS_EUPXS(XS_Purple__Presence_add_list); /* prototype to pass -Wmissing-prototypes */
196
XS_EUPXS(XS_Purple__Presence_add_list)
197
{
198
    dVAR; dXSARGS;
199
    if (items != 2)
200
       croak_xs_usage(cv,  "presence, source_list");
201
    PERL_UNUSED_VAR(ax); /* -Wall */
202
    SP -= items;
203
    {
204
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
205
;
206
        SV *        source_list = ST(1)
207
;
208
#line 82 "Status.xs"
209
        GList *t_GL;
210
        int i, t_len;
211
#line 212 "Status.c"
212
#line 85 "Status.xs"
213
        t_GL = NULL;
214
        t_len = av_len((AV *)SvRV(source_list));
215

    
216
        for (i = 0; i <= t_len; i++) {
217
                t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(source_list), i, 0)));
218
        }
219
        purple_presence_add_list(presence, t_GL);
220
        g_list_free(t_GL);
221
#line 222 "Status.c"
222
        PUTBACK;
223
        return;
224
    }
225
}
226

    
227

    
228
XS_EUPXS(XS_Purple__Presence_add_status); /* prototype to pass -Wmissing-prototypes */
229
XS_EUPXS(XS_Purple__Presence_add_status)
230
{
231
    dVAR; dXSARGS;
232
    if (items != 2)
233
       croak_xs_usage(cv,  "presence, status");
234
    {
235
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
236
;
237
        Purple__Status        status = purple_perl_ref_object(ST(1))
238
;
239

    
240
        purple_presence_add_status(presence, status);
241
    }
242
    XSRETURN_EMPTY;
243
}
244

    
245

    
246
XS_EUPXS(XS_Purple__Presence_compare); /* prototype to pass -Wmissing-prototypes */
247
XS_EUPXS(XS_Purple__Presence_compare)
248
{
249
    dVAR; dXSARGS;
250
    if (items != 2)
251
       croak_xs_usage(cv,  "presence1, presence2");
252
    {
253
        Purple__Presence        presence1 = purple_perl_ref_object(ST(0))
254
;
255
        Purple__Presence        presence2 = purple_perl_ref_object(ST(1))
256
;
257
        gint        RETVAL;
258
        dXSTARG;
259

    
260
        RETVAL = purple_presence_compare(presence1, presence2);
261
        XSprePUSH; PUSHi((IV)RETVAL);
262
    }
263
    XSRETURN(1);
264
}
265

    
266

    
267
XS_EUPXS(XS_Purple__Presence_destroy); /* prototype to pass -Wmissing-prototypes */
268
XS_EUPXS(XS_Purple__Presence_destroy)
269
{
270
    dVAR; dXSARGS;
271
    if (items != 1)
272
       croak_xs_usage(cv,  "presence");
273
    {
274
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
275
;
276

    
277
        purple_presence_destroy(presence);
278
    }
279
    XSRETURN_EMPTY;
280
}
281

    
282

    
283
XS_EUPXS(XS_Purple__Presence_get_account); /* prototype to pass -Wmissing-prototypes */
284
XS_EUPXS(XS_Purple__Presence_get_account)
285
{
286
    dVAR; dXSARGS;
287
    if (items != 1)
288
       croak_xs_usage(cv,  "presence");
289
    {
290
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
291
;
292
        Purple__Account        RETVAL;
293

    
294
        RETVAL = purple_presence_get_account(presence);
295
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Account");
296
        sv_2mortal(ST(0));
297
    }
298
    XSRETURN(1);
299
}
300

    
301

    
302
XS_EUPXS(XS_Purple__Presence_get_active_status); /* prototype to pass -Wmissing-prototypes */
303
XS_EUPXS(XS_Purple__Presence_get_active_status)
304
{
305
    dVAR; dXSARGS;
306
    if (items != 1)
307
       croak_xs_usage(cv,  "presence");
308
    {
309
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
310
;
311
        Purple__Status        RETVAL;
312

    
313
        RETVAL = purple_presence_get_active_status(presence);
314
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Status");
315
        sv_2mortal(ST(0));
316
    }
317
    XSRETURN(1);
318
}
319

    
320

    
321
XS_EUPXS(XS_Purple__Presence_get_chat_user); /* prototype to pass -Wmissing-prototypes */
322
XS_EUPXS(XS_Purple__Presence_get_chat_user)
323
{
324
    dVAR; dXSARGS;
325
    if (items != 1)
326
       croak_xs_usage(cv,  "presence");
327
    {
328
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
329
;
330
        const char *        RETVAL;
331
        dXSTARG;
332

    
333
        RETVAL = purple_presence_get_chat_user(presence);
334
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
335
    }
336
    XSRETURN(1);
337
}
338

    
339

    
340
XS_EUPXS(XS_Purple__Presence_get_context); /* prototype to pass -Wmissing-prototypes */
341
XS_EUPXS(XS_Purple__Presence_get_context)
342
{
343
    dVAR; dXSARGS;
344
    if (items != 1)
345
       croak_xs_usage(cv,  "presence");
346
    {
347
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
348
;
349
        Purple__PresenceContext        RETVAL;
350
        dXSTARG;
351

    
352
        RETVAL = purple_presence_get_context(presence);
353
        XSprePUSH; PUSHi((IV)RETVAL);
354
    }
355
    XSRETURN(1);
356
}
357

    
358

    
359
XS_EUPXS(XS_Purple__Presence_get_conversation); /* prototype to pass -Wmissing-prototypes */
360
XS_EUPXS(XS_Purple__Presence_get_conversation)
361
{
362
    dVAR; dXSARGS;
363
    if (items != 1)
364
       croak_xs_usage(cv,  "presence");
365
    {
366
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
367
;
368
        Purple__Conversation        RETVAL;
369

    
370
        RETVAL = purple_presence_get_conversation(presence);
371
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
372
        sv_2mortal(ST(0));
373
    }
374
    XSRETURN(1);
375
}
376

    
377

    
378
XS_EUPXS(XS_Purple__Presence_get_idle_time); /* prototype to pass -Wmissing-prototypes */
379
XS_EUPXS(XS_Purple__Presence_get_idle_time)
380
{
381
    dVAR; dXSARGS;
382
    if (items != 1)
383
       croak_xs_usage(cv,  "presence");
384
    {
385
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
386
;
387
        time_t        RETVAL;
388
        dXSTARG;
389

    
390
        RETVAL = purple_presence_get_idle_time(presence);
391
        XSprePUSH; PUSHi((IV)RETVAL);
392
    }
393
    XSRETURN(1);
394
}
395

    
396

    
397
XS_EUPXS(XS_Purple__Presence_get_login_time); /* prototype to pass -Wmissing-prototypes */
398
XS_EUPXS(XS_Purple__Presence_get_login_time)
399
{
400
    dVAR; dXSARGS;
401
    if (items != 1)
402
       croak_xs_usage(cv,  "presence");
403
    {
404
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
405
;
406
        time_t        RETVAL;
407
        dXSTARG;
408

    
409
        RETVAL = purple_presence_get_login_time(presence);
410
        XSprePUSH; PUSHi((IV)RETVAL);
411
    }
412
    XSRETURN(1);
413
}
414

    
415

    
416
XS_EUPXS(XS_Purple__Presence_get_status); /* prototype to pass -Wmissing-prototypes */
417
XS_EUPXS(XS_Purple__Presence_get_status)
418
{
419
    dVAR; dXSARGS;
420
    if (items != 2)
421
       croak_xs_usage(cv,  "presence, status_id");
422
    {
423
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
424
;
425
        const char *        status_id = (const char *)SvPV_nolen(ST(1))
426
;
427
        Purple__Status        RETVAL;
428

    
429
        RETVAL = purple_presence_get_status(presence, status_id);
430
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Status");
431
        sv_2mortal(ST(0));
432
    }
433
    XSRETURN(1);
434
}
435

    
436

    
437
XS_EUPXS(XS_Purple__Presence_get_statuses); /* prototype to pass -Wmissing-prototypes */
438
XS_EUPXS(XS_Purple__Presence_get_statuses)
439
{
440
    dVAR; dXSARGS;
441
    if (items != 1)
442
       croak_xs_usage(cv,  "presence");
443
    PERL_UNUSED_VAR(ax); /* -Wall */
444
    SP -= items;
445
    {
446
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
447
;
448
#line 145 "Status.xs"
449
        GList *l;
450
#line 451 "Status.c"
451
#line 147 "Status.xs"
452
        for (l = purple_presence_get_statuses(presence); l != NULL; l = l->next) {
453
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Status")));
454
        }
455
#line 456 "Status.c"
456
        PUTBACK;
457
        return;
458
    }
459
}
460

    
461

    
462
XS_EUPXS(XS_Purple__Presence_is_available); /* prototype to pass -Wmissing-prototypes */
463
XS_EUPXS(XS_Purple__Presence_is_available)
464
{
465
    dVAR; dXSARGS;
466
    if (items != 1)
467
       croak_xs_usage(cv,  "presence");
468
    {
469
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
470
;
471
        gboolean        RETVAL;
472

    
473
        RETVAL = purple_presence_is_available(presence);
474
        ST(0) = sv_newmortal();
475
        ST(0) = boolSV(RETVAL);
476
    }
477
    XSRETURN(1);
478
}
479

    
480

    
481
XS_EUPXS(XS_Purple__Presence_is_idle); /* prototype to pass -Wmissing-prototypes */
482
XS_EUPXS(XS_Purple__Presence_is_idle)
483
{
484
    dVAR; dXSARGS;
485
    if (items != 1)
486
       croak_xs_usage(cv,  "presence");
487
    {
488
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
489
;
490
        gboolean        RETVAL;
491

    
492
        RETVAL = purple_presence_is_idle(presence);
493
        ST(0) = sv_newmortal();
494
        ST(0) = boolSV(RETVAL);
495
    }
496
    XSRETURN(1);
497
}
498

    
499

    
500
XS_EUPXS(XS_Purple__Presence_is_online); /* prototype to pass -Wmissing-prototypes */
501
XS_EUPXS(XS_Purple__Presence_is_online)
502
{
503
    dVAR; dXSARGS;
504
    if (items != 1)
505
       croak_xs_usage(cv,  "presence");
506
    {
507
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
508
;
509
        gboolean        RETVAL;
510

    
511
        RETVAL = purple_presence_is_online(presence);
512
        ST(0) = sv_newmortal();
513
        ST(0) = boolSV(RETVAL);
514
    }
515
    XSRETURN(1);
516
}
517

    
518

    
519
XS_EUPXS(XS_Purple__Presence_is_status_active); /* prototype to pass -Wmissing-prototypes */
520
XS_EUPXS(XS_Purple__Presence_is_status_active)
521
{
522
    dVAR; dXSARGS;
523
    if (items != 2)
524
       croak_xs_usage(cv,  "presence, status_id");
525
    {
526
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
527
;
528
        const char *        status_id = (const char *)SvPV_nolen(ST(1))
529
;
530
        gboolean        RETVAL;
531

    
532
        RETVAL = purple_presence_is_status_active(presence, status_id);
533
        ST(0) = sv_newmortal();
534
        ST(0) = boolSV(RETVAL);
535
    }
536
    XSRETURN(1);
537
}
538

    
539

    
540
XS_EUPXS(XS_Purple__Presence_is_status_primitive_active); /* prototype to pass -Wmissing-prototypes */
541
XS_EUPXS(XS_Purple__Presence_is_status_primitive_active)
542
{
543
    dVAR; dXSARGS;
544
    if (items != 2)
545
       croak_xs_usage(cv,  "presence, primitive");
546
    {
547
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
548
;
549
        Purple__StatusPrimitive        primitive = (Purple__StatusPrimitive)SvIV(ST(1))
550
;
551
        gboolean        RETVAL;
552

    
553
        RETVAL = purple_presence_is_status_primitive_active(presence, primitive);
554
        ST(0) = sv_newmortal();
555
        ST(0) = boolSV(RETVAL);
556
    }
557
    XSRETURN(1);
558
}
559

    
560

    
561
XS_EUPXS(XS_Purple__Presence_new); /* prototype to pass -Wmissing-prototypes */
562
XS_EUPXS(XS_Purple__Presence_new)
563
{
564
    dVAR; dXSARGS;
565
    if (items != 1)
566
       croak_xs_usage(cv,  "context");
567
    {
568
        Purple__PresenceContext        context = (Purple__PresenceContext)SvIV(ST(0))
569
;
570
        Purple__Presence        RETVAL;
571

    
572
        RETVAL = purple_presence_new(context);
573
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Presence");
574
        sv_2mortal(ST(0));
575
    }
576
    XSRETURN(1);
577
}
578

    
579

    
580
XS_EUPXS(XS_Purple__Presence_new_for_account); /* prototype to pass -Wmissing-prototypes */
581
XS_EUPXS(XS_Purple__Presence_new_for_account)
582
{
583
    dVAR; dXSARGS;
584
    if (items != 1)
585
       croak_xs_usage(cv,  "account");
586
    {
587
        Purple__Account        account = purple_perl_ref_object(ST(0))
588
;
589
        Purple__Presence        RETVAL;
590

    
591
        RETVAL = purple_presence_new_for_account(account);
592
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Presence");
593
        sv_2mortal(ST(0));
594
    }
595
    XSRETURN(1);
596
}
597

    
598

    
599
XS_EUPXS(XS_Purple__Presence_new_for_buddy); /* prototype to pass -Wmissing-prototypes */
600
XS_EUPXS(XS_Purple__Presence_new_for_buddy)
601
{
602
    dVAR; dXSARGS;
603
    if (items != 1)
604
       croak_xs_usage(cv,  "buddy");
605
    {
606
        Purple__BuddyList__Buddy        buddy = purple_perl_ref_object(ST(0))
607
;
608
        Purple__Presence        RETVAL;
609

    
610
        RETVAL = purple_presence_new_for_buddy(buddy);
611
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Presence");
612
        sv_2mortal(ST(0));
613
    }
614
    XSRETURN(1);
615
}
616

    
617

    
618
XS_EUPXS(XS_Purple__Presence_new_for_conv); /* prototype to pass -Wmissing-prototypes */
619
XS_EUPXS(XS_Purple__Presence_new_for_conv)
620
{
621
    dVAR; dXSARGS;
622
    if (items != 1)
623
       croak_xs_usage(cv,  "conv");
624
    {
625
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
626
;
627
        Purple__Presence        RETVAL;
628

    
629
        RETVAL = purple_presence_new_for_conv(conv);
630
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Presence");
631
        sv_2mortal(ST(0));
632
    }
633
    XSRETURN(1);
634
}
635

    
636

    
637
XS_EUPXS(XS_Purple__Presence_set_idle); /* prototype to pass -Wmissing-prototypes */
638
XS_EUPXS(XS_Purple__Presence_set_idle)
639
{
640
    dVAR; dXSARGS;
641
    if (items != 3)
642
       croak_xs_usage(cv,  "presence, idle, idle_time");
643
    {
644
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
645
;
646
        gboolean        idle = (bool)SvTRUE(ST(1))
647
;
648
        time_t        idle_time = (time_t)SvIV(ST(2))
649
;
650

    
651
        purple_presence_set_idle(presence, idle, idle_time);
652
    }
653
    XSRETURN_EMPTY;
654
}
655

    
656

    
657
XS_EUPXS(XS_Purple__Presence_set_login_time); /* prototype to pass -Wmissing-prototypes */
658
XS_EUPXS(XS_Purple__Presence_set_login_time)
659
{
660
    dVAR; dXSARGS;
661
    if (items != 2)
662
       croak_xs_usage(cv,  "presence, login_time");
663
    {
664
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
665
;
666
        time_t        login_time = (time_t)SvIV(ST(1))
667
;
668

    
669
        purple_presence_set_login_time(presence, login_time);
670
    }
671
    XSRETURN_EMPTY;
672
}
673

    
674

    
675
XS_EUPXS(XS_Purple__Presence_set_status_active); /* prototype to pass -Wmissing-prototypes */
676
XS_EUPXS(XS_Purple__Presence_set_status_active)
677
{
678
    dVAR; dXSARGS;
679
    if (items != 3)
680
       croak_xs_usage(cv,  "presence, status_id, active");
681
    {
682
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
683
;
684
        const char *        status_id = (const char *)SvPV_nolen(ST(1))
685
;
686
        gboolean        active = (bool)SvTRUE(ST(2))
687
;
688

    
689
        purple_presence_set_status_active(presence, status_id, active);
690
    }
691
    XSRETURN_EMPTY;
692
}
693

    
694

    
695
XS_EUPXS(XS_Purple__Presence_switch_status); /* prototype to pass -Wmissing-prototypes */
696
XS_EUPXS(XS_Purple__Presence_switch_status)
697
{
698
    dVAR; dXSARGS;
699
    if (items != 2)
700
       croak_xs_usage(cv,  "presence, status_id");
701
    {
702
        Purple__Presence        presence = purple_perl_ref_object(ST(0))
703
;
704
        const char *        status_id = (const char *)SvPV_nolen(ST(1))
705
;
706

    
707
        purple_presence_switch_status(presence, status_id);
708
    }
709
    XSRETURN_EMPTY;
710
}
711

    
712

    
713
XS_EUPXS(XS_Purple__Primitive_get_id_from_type); /* prototype to pass -Wmissing-prototypes */
714
XS_EUPXS(XS_Purple__Primitive_get_id_from_type)
715
{
716
    dVAR; dXSARGS;
717
    if (items != 1)
718
       croak_xs_usage(cv,  "type");
719
    {
720
        Purple__StatusPrimitive        type = (Purple__StatusPrimitive)SvIV(ST(0))
721
;
722
        const char *        RETVAL;
723
        dXSTARG;
724

    
725
        RETVAL = purple_primitive_get_id_from_type(type);
726
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
727
    }
728
    XSRETURN(1);
729
}
730

    
731

    
732
XS_EUPXS(XS_Purple__Primitive_get_name_from_type); /* prototype to pass -Wmissing-prototypes */
733
XS_EUPXS(XS_Purple__Primitive_get_name_from_type)
734
{
735
    dVAR; dXSARGS;
736
    if (items != 1)
737
       croak_xs_usage(cv,  "type");
738
    {
739
        Purple__StatusPrimitive        type = (Purple__StatusPrimitive)SvIV(ST(0))
740
;
741
        const char *        RETVAL;
742
        dXSTARG;
743

    
744
        RETVAL = purple_primitive_get_name_from_type(type);
745
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
746
    }
747
    XSRETURN(1);
748
}
749

    
750

    
751
XS_EUPXS(XS_Purple__Primitive_get_type_from_id); /* prototype to pass -Wmissing-prototypes */
752
XS_EUPXS(XS_Purple__Primitive_get_type_from_id)
753
{
754
    dVAR; dXSARGS;
755
    if (items != 1)
756
       croak_xs_usage(cv,  "id");
757
    {
758
        const char *        id = (const char *)SvPV_nolen(ST(0))
759
;
760
        Purple__StatusPrimitive        RETVAL;
761
        dXSTARG;
762

    
763
        RETVAL = purple_primitive_get_type_from_id(id);
764
        XSprePUSH; PUSHi((IV)RETVAL);
765
    }
766
    XSRETURN(1);
767
}
768

    
769

    
770
XS_EUPXS(XS_Purple__StatusAttr_destroy); /* prototype to pass -Wmissing-prototypes */
771
XS_EUPXS(XS_Purple__StatusAttr_destroy)
772
{
773
    dVAR; dXSARGS;
774
    if (items != 1)
775
       croak_xs_usage(cv,  "attr");
776
    {
777
        Purple__StatusAttr        attr = purple_perl_ref_object(ST(0))
778
;
779

    
780
        purple_status_attr_destroy(attr);
781
    }
782
    XSRETURN_EMPTY;
783
}
784

    
785

    
786
XS_EUPXS(XS_Purple__StatusAttr_get_id); /* prototype to pass -Wmissing-prototypes */
787
XS_EUPXS(XS_Purple__StatusAttr_get_id)
788
{
789
    dVAR; dXSARGS;
790
    if (items != 1)
791
       croak_xs_usage(cv,  "attr");
792
    {
793
        Purple__StatusAttr        attr = purple_perl_ref_object(ST(0))
794
;
795
        const char *        RETVAL;
796
        dXSTARG;
797

    
798
        RETVAL = purple_status_attr_get_id(attr);
799
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
800
    }
801
    XSRETURN(1);
802
}
803

    
804

    
805
XS_EUPXS(XS_Purple__StatusAttr_get_name); /* prototype to pass -Wmissing-prototypes */
806
XS_EUPXS(XS_Purple__StatusAttr_get_name)
807
{
808
    dVAR; dXSARGS;
809
    if (items != 1)
810
       croak_xs_usage(cv,  "attr");
811
    {
812
        Purple__StatusAttr        attr = purple_perl_ref_object(ST(0))
813
;
814
        const char *        RETVAL;
815
        dXSTARG;
816

    
817
        RETVAL = purple_status_attr_get_name(attr);
818
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
819
    }
820
    XSRETURN(1);
821
}
822

    
823

    
824
XS_EUPXS(XS_Purple__StatusAttr_get_value); /* prototype to pass -Wmissing-prototypes */
825
XS_EUPXS(XS_Purple__StatusAttr_get_value)
826
{
827
    dVAR; dXSARGS;
828
    if (items != 1)
829
       croak_xs_usage(cv,  "attr");
830
    {
831
        Purple__StatusAttr        attr = purple_perl_ref_object(ST(0))
832
;
833
        Purple__Value        RETVAL;
834

    
835
        RETVAL = purple_status_attr_get_value(attr);
836
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Value");
837
        sv_2mortal(ST(0));
838
    }
839
    XSRETURN(1);
840
}
841

    
842

    
843
XS_EUPXS(XS_Purple__StatusAttr_new); /* prototype to pass -Wmissing-prototypes */
844
XS_EUPXS(XS_Purple__StatusAttr_new)
845
{
846
    dVAR; dXSARGS;
847
    if (items != 3)
848
       croak_xs_usage(cv,  "id, name, value_type");
849
    {
850
        const char *        id = (const char *)SvPV_nolen(ST(0))
851
;
852
        const char *        name = (const char *)SvPV_nolen(ST(1))
853
;
854
        Purple__Value        value_type = purple_perl_ref_object(ST(2))
855
;
856
        Purple__StatusAttr        RETVAL;
857

    
858
        RETVAL = purple_status_attr_new(id, name, value_type);
859
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusAttr");
860
        sv_2mortal(ST(0));
861
    }
862
    XSRETURN(1);
863
}
864

    
865

    
866
XS_EUPXS(XS_Purple__Status_compare); /* prototype to pass -Wmissing-prototypes */
867
XS_EUPXS(XS_Purple__Status_compare)
868
{
869
    dVAR; dXSARGS;
870
    if (items != 2)
871
       croak_xs_usage(cv,  "status1, status2");
872
    {
873
        Purple__Status        status1 = purple_perl_ref_object(ST(0))
874
;
875
        Purple__Status        status2 = purple_perl_ref_object(ST(1))
876
;
877
        gint        RETVAL;
878
        dXSTARG;
879

    
880
        RETVAL = purple_status_compare(status1, status2);
881
        XSprePUSH; PUSHi((IV)RETVAL);
882
    }
883
    XSRETURN(1);
884
}
885

    
886

    
887
XS_EUPXS(XS_Purple__Status_destroy); /* prototype to pass -Wmissing-prototypes */
888
XS_EUPXS(XS_Purple__Status_destroy)
889
{
890
    dVAR; dXSARGS;
891
    if (items != 1)
892
       croak_xs_usage(cv,  "status");
893
    {
894
        Purple__Status        status = purple_perl_ref_object(ST(0))
895
;
896

    
897
        purple_status_destroy(status);
898
    }
899
    XSRETURN_EMPTY;
900
}
901

    
902

    
903
XS_EUPXS(XS_Purple__Status_get_attr_boolean); /* prototype to pass -Wmissing-prototypes */
904
XS_EUPXS(XS_Purple__Status_get_attr_boolean)
905
{
906
    dVAR; dXSARGS;
907
    if (items != 2)
908
       croak_xs_usage(cv,  "status, id");
909
    {
910
        Purple__Status        status = purple_perl_ref_object(ST(0))
911
;
912
        const char *        id = (const char *)SvPV_nolen(ST(1))
913
;
914
        gboolean        RETVAL;
915

    
916
        RETVAL = purple_status_get_attr_boolean(status, id);
917
        ST(0) = sv_newmortal();
918
        ST(0) = boolSV(RETVAL);
919
    }
920
    XSRETURN(1);
921
}
922

    
923

    
924
XS_EUPXS(XS_Purple__Status_get_attr_int); /* prototype to pass -Wmissing-prototypes */
925
XS_EUPXS(XS_Purple__Status_get_attr_int)
926
{
927
    dVAR; dXSARGS;
928
    if (items != 2)
929
       croak_xs_usage(cv,  "status, id");
930
    {
931
        Purple__Status        status = purple_perl_ref_object(ST(0))
932
;
933
        const char *        id = (const char *)SvPV_nolen(ST(1))
934
;
935
        int        RETVAL;
936
        dXSTARG;
937

    
938
        RETVAL = purple_status_get_attr_int(status, id);
939
        XSprePUSH; PUSHi((IV)RETVAL);
940
    }
941
    XSRETURN(1);
942
}
943

    
944

    
945
XS_EUPXS(XS_Purple__Status_get_attr_string); /* prototype to pass -Wmissing-prototypes */
946
XS_EUPXS(XS_Purple__Status_get_attr_string)
947
{
948
    dVAR; dXSARGS;
949
    if (items != 2)
950
       croak_xs_usage(cv,  "status, id");
951
    {
952
        Purple__Status        status = purple_perl_ref_object(ST(0))
953
;
954
        const char *        id = (const char *)SvPV_nolen(ST(1))
955
;
956
        const char *        RETVAL;
957
        dXSTARG;
958

    
959
        RETVAL = purple_status_get_attr_string(status, id);
960
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
961
    }
962
    XSRETURN(1);
963
}
964

    
965

    
966
XS_EUPXS(XS_Purple__Status_get_attr_value); /* prototype to pass -Wmissing-prototypes */
967
XS_EUPXS(XS_Purple__Status_get_attr_value)
968
{
969
    dVAR; dXSARGS;
970
    if (items != 2)
971
       croak_xs_usage(cv,  "status, id");
972
    {
973
        Purple__Status        status = purple_perl_ref_object(ST(0))
974
;
975
        const char *        id = (const char *)SvPV_nolen(ST(1))
976
;
977
        Purple__Value        RETVAL;
978

    
979
        RETVAL = purple_status_get_attr_value(status, id);
980
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Value");
981
        sv_2mortal(ST(0));
982
    }
983
    XSRETURN(1);
984
}
985

    
986

    
987
XS_EUPXS(XS_Purple__Status_get_handle); /* prototype to pass -Wmissing-prototypes */
988
XS_EUPXS(XS_Purple__Status_get_handle)
989
{
990
    dVAR; dXSARGS;
991
    if (items != 0)
992
       croak_xs_usage(cv,  "");
993
    {
994
        Purple__Handle        RETVAL;
995

    
996
        RETVAL = purple_status_get_handle();
997
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Handle");
998
        sv_2mortal(ST(0));
999
    }
1000
    XSRETURN(1);
1001
}
1002

    
1003

    
1004
XS_EUPXS(XS_Purple__Status_get_id); /* prototype to pass -Wmissing-prototypes */
1005
XS_EUPXS(XS_Purple__Status_get_id)
1006
{
1007
    dVAR; dXSARGS;
1008
    if (items != 1)
1009
       croak_xs_usage(cv,  "status");
1010
    {
1011
        Purple__Status        status = purple_perl_ref_object(ST(0))
1012
;
1013
        const char *        RETVAL;
1014
        dXSTARG;
1015

    
1016
        RETVAL = purple_status_get_id(status);
1017
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1018
    }
1019
    XSRETURN(1);
1020
}
1021

    
1022

    
1023
XS_EUPXS(XS_Purple__Status_get_name); /* prototype to pass -Wmissing-prototypes */
1024
XS_EUPXS(XS_Purple__Status_get_name)
1025
{
1026
    dVAR; dXSARGS;
1027
    if (items != 1)
1028
       croak_xs_usage(cv,  "status");
1029
    {
1030
        Purple__Status        status = purple_perl_ref_object(ST(0))
1031
;
1032
        const char *        RETVAL;
1033
        dXSTARG;
1034

    
1035
        RETVAL = purple_status_get_name(status);
1036
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1037
    }
1038
    XSRETURN(1);
1039
}
1040

    
1041

    
1042
XS_EUPXS(XS_Purple__Status_get_presence); /* prototype to pass -Wmissing-prototypes */
1043
XS_EUPXS(XS_Purple__Status_get_presence)
1044
{
1045
    dVAR; dXSARGS;
1046
    if (items != 1)
1047
       croak_xs_usage(cv,  "status");
1048
    {
1049
        Purple__Status        status = purple_perl_ref_object(ST(0))
1050
;
1051
        Purple__Presence        RETVAL;
1052

    
1053
        RETVAL = purple_status_get_presence(status);
1054
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Presence");
1055
        sv_2mortal(ST(0));
1056
    }
1057
    XSRETURN(1);
1058
}
1059

    
1060

    
1061
XS_EUPXS(XS_Purple__Status_get_type); /* prototype to pass -Wmissing-prototypes */
1062
XS_EUPXS(XS_Purple__Status_get_type)
1063
{
1064
    dVAR; dXSARGS;
1065
    if (items != 1)
1066
       croak_xs_usage(cv,  "status");
1067
    {
1068
        Purple__Status        status = purple_perl_ref_object(ST(0))
1069
;
1070
        Purple__StatusType        RETVAL;
1071

    
1072
        RETVAL = purple_status_get_type(status);
1073
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusType");
1074
        sv_2mortal(ST(0));
1075
    }
1076
    XSRETURN(1);
1077
}
1078

    
1079

    
1080
XS_EUPXS(XS_Purple__Status_is_active); /* prototype to pass -Wmissing-prototypes */
1081
XS_EUPXS(XS_Purple__Status_is_active)
1082
{
1083
    dVAR; dXSARGS;
1084
    if (items != 1)
1085
       croak_xs_usage(cv,  "status");
1086
    {
1087
        Purple__Status        status = purple_perl_ref_object(ST(0))
1088
;
1089
        gboolean        RETVAL;
1090

    
1091
        RETVAL = purple_status_is_active(status);
1092
        ST(0) = sv_newmortal();
1093
        ST(0) = boolSV(RETVAL);
1094
    }
1095
    XSRETURN(1);
1096
}
1097

    
1098

    
1099
XS_EUPXS(XS_Purple__Status_is_available); /* prototype to pass -Wmissing-prototypes */
1100
XS_EUPXS(XS_Purple__Status_is_available)
1101
{
1102
    dVAR; dXSARGS;
1103
    if (items != 1)
1104
       croak_xs_usage(cv,  "status");
1105
    {
1106
        Purple__Status        status = purple_perl_ref_object(ST(0))
1107
;
1108
        gboolean        RETVAL;
1109

    
1110
        RETVAL = purple_status_is_available(status);
1111
        ST(0) = sv_newmortal();
1112
        ST(0) = boolSV(RETVAL);
1113
    }
1114
    XSRETURN(1);
1115
}
1116

    
1117

    
1118
XS_EUPXS(XS_Purple__Status_is_exclusive); /* prototype to pass -Wmissing-prototypes */
1119
XS_EUPXS(XS_Purple__Status_is_exclusive)
1120
{
1121
    dVAR; dXSARGS;
1122
    if (items != 1)
1123
       croak_xs_usage(cv,  "status");
1124
    {
1125
        Purple__Status        status = purple_perl_ref_object(ST(0))
1126
;
1127
        gboolean        RETVAL;
1128

    
1129
        RETVAL = purple_status_is_exclusive(status);
1130
        ST(0) = sv_newmortal();
1131
        ST(0) = boolSV(RETVAL);
1132
    }
1133
    XSRETURN(1);
1134
}
1135

    
1136

    
1137
XS_EUPXS(XS_Purple__Status_is_independent); /* prototype to pass -Wmissing-prototypes */
1138
XS_EUPXS(XS_Purple__Status_is_independent)
1139
{
1140
    dVAR; dXSARGS;
1141
    if (items != 1)
1142
       croak_xs_usage(cv,  "status");
1143
    {
1144
        Purple__Status        status = purple_perl_ref_object(ST(0))
1145
;
1146
        gboolean        RETVAL;
1147

    
1148
        RETVAL = purple_status_is_independent(status);
1149
        ST(0) = sv_newmortal();
1150
        ST(0) = boolSV(RETVAL);
1151
    }
1152
    XSRETURN(1);
1153
}
1154

    
1155

    
1156
XS_EUPXS(XS_Purple__Status_is_online); /* prototype to pass -Wmissing-prototypes */
1157
XS_EUPXS(XS_Purple__Status_is_online)
1158
{
1159
    dVAR; dXSARGS;
1160
    if (items != 1)
1161
       croak_xs_usage(cv,  "status");
1162
    {
1163
        Purple__Status        status = purple_perl_ref_object(ST(0))
1164
;
1165
        gboolean        RETVAL;
1166

    
1167
        RETVAL = purple_status_is_online(status);
1168
        ST(0) = sv_newmortal();
1169
        ST(0) = boolSV(RETVAL);
1170
    }
1171
    XSRETURN(1);
1172
}
1173

    
1174

    
1175
XS_EUPXS(XS_Purple__Status_new); /* prototype to pass -Wmissing-prototypes */
1176
XS_EUPXS(XS_Purple__Status_new)
1177
{
1178
    dVAR; dXSARGS;
1179
    if (items != 2)
1180
       croak_xs_usage(cv,  "status_type, presence");
1181
    {
1182
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1183
;
1184
        Purple__Presence        presence = purple_perl_ref_object(ST(1))
1185
;
1186
        Purple__Status        RETVAL;
1187

    
1188
        RETVAL = purple_status_new(status_type, presence);
1189
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Status");
1190
        sv_2mortal(ST(0));
1191
    }
1192
    XSRETURN(1);
1193
}
1194

    
1195

    
1196
XS_EUPXS(XS_Purple__Status_set_active); /* prototype to pass -Wmissing-prototypes */
1197
XS_EUPXS(XS_Purple__Status_set_active)
1198
{
1199
    dVAR; dXSARGS;
1200
    if (items != 2)
1201
       croak_xs_usage(cv,  "status, active");
1202
    {
1203
        Purple__Status        status = purple_perl_ref_object(ST(0))
1204
;
1205
        gboolean        active = (bool)SvTRUE(ST(1))
1206
;
1207

    
1208
        purple_status_set_active(status, active);
1209
    }
1210
    XSRETURN_EMPTY;
1211
}
1212

    
1213

    
1214
XS_EUPXS(XS_Purple__Status_set_attr_boolean); /* prototype to pass -Wmissing-prototypes */
1215
XS_EUPXS(XS_Purple__Status_set_attr_boolean)
1216
{
1217
    dVAR; dXSARGS;
1218
    if (items != 3)
1219
       croak_xs_usage(cv,  "status, id, value");
1220
    {
1221
        Purple__Status        status = purple_perl_ref_object(ST(0))
1222
;
1223
        const char *        id = (const char *)SvPV_nolen(ST(1))
1224
;
1225
        gboolean        value = (bool)SvTRUE(ST(2))
1226
;
1227

    
1228
        purple_status_set_attr_boolean(status, id, value);
1229
    }
1230
    XSRETURN_EMPTY;
1231
}
1232

    
1233

    
1234
XS_EUPXS(XS_Purple__Status_set_attr_string); /* prototype to pass -Wmissing-prototypes */
1235
XS_EUPXS(XS_Purple__Status_set_attr_string)
1236
{
1237
    dVAR; dXSARGS;
1238
    if (items != 3)
1239
       croak_xs_usage(cv,  "status, id, value");
1240
    {
1241
        Purple__Status        status = purple_perl_ref_object(ST(0))
1242
;
1243
        const char *        id = (const char *)SvPV_nolen(ST(1))
1244
;
1245
        const char *        value = (const char *)SvPV_nolen(ST(2))
1246
;
1247

    
1248
        purple_status_set_attr_string(status, id, value);
1249
    }
1250
    XSRETURN_EMPTY;
1251
}
1252

    
1253

    
1254
XS_EUPXS(XS_Purple__StatusType_add_attr); /* prototype to pass -Wmissing-prototypes */
1255
XS_EUPXS(XS_Purple__StatusType_add_attr)
1256
{
1257
    dVAR; dXSARGS;
1258
    if (items != 4)
1259
       croak_xs_usage(cv,  "status_type, id, name, value");
1260
    {
1261
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1262
;
1263
        const char *        id = (const char *)SvPV_nolen(ST(1))
1264
;
1265
        const char *        name = (const char *)SvPV_nolen(ST(2))
1266
;
1267
        Purple__Value        value = purple_perl_ref_object(ST(3))
1268
;
1269

    
1270
        purple_status_type_add_attr(status_type, id, name, value);
1271
    }
1272
    XSRETURN_EMPTY;
1273
}
1274

    
1275

    
1276
XS_EUPXS(XS_Purple__StatusType_destroy); /* prototype to pass -Wmissing-prototypes */
1277
XS_EUPXS(XS_Purple__StatusType_destroy)
1278
{
1279
    dVAR; dXSARGS;
1280
    if (items != 1)
1281
       croak_xs_usage(cv,  "status_type");
1282
    {
1283
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1284
;
1285

    
1286
        purple_status_type_destroy(status_type);
1287
    }
1288
    XSRETURN_EMPTY;
1289
}
1290

    
1291

    
1292
XS_EUPXS(XS_Purple__StatusType_get_attr); /* prototype to pass -Wmissing-prototypes */
1293
XS_EUPXS(XS_Purple__StatusType_get_attr)
1294
{
1295
    dVAR; dXSARGS;
1296
    if (items != 2)
1297
       croak_xs_usage(cv,  "status_type, id");
1298
    {
1299
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1300
;
1301
        const char *        id = (const char *)SvPV_nolen(ST(1))
1302
;
1303
        Purple__StatusAttr        RETVAL;
1304

    
1305
        RETVAL = purple_status_type_get_attr(status_type, id);
1306
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusAttr");
1307
        sv_2mortal(ST(0));
1308
    }
1309
    XSRETURN(1);
1310
}
1311

    
1312

    
1313
XS_EUPXS(XS_Purple__StatusType_get_attrs); /* prototype to pass -Wmissing-prototypes */
1314
XS_EUPXS(XS_Purple__StatusType_get_attrs)
1315
{
1316
    dVAR; dXSARGS;
1317
    if (items != 1)
1318
       croak_xs_usage(cv,  "status_type");
1319
    PERL_UNUSED_VAR(ax); /* -Wall */
1320
    SP -= items;
1321
    {
1322
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1323
;
1324
#line 367 "Status.xs"
1325
        GList *l;
1326
#line 1327 "Status.c"
1327
#line 369 "Status.xs"
1328
        for (l = purple_status_type_get_attrs(status_type); l != NULL; l = l->next) {
1329
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::StatusAttr")));
1330
        }
1331
#line 1332 "Status.c"
1332
        PUTBACK;
1333
        return;
1334
    }
1335
}
1336

    
1337

    
1338
XS_EUPXS(XS_Purple__StatusType_find_with_id); /* prototype to pass -Wmissing-prototypes */
1339
XS_EUPXS(XS_Purple__StatusType_find_with_id)
1340
{
1341
    dVAR; dXSARGS;
1342
    if (items != 2)
1343
       croak_xs_usage(cv,  "status_types, id");
1344
    {
1345
        SV *        status_types = ST(0)
1346
;
1347
        const char *        id = (const char *)SvPV_nolen(ST(1))
1348
;
1349
#line 378 "Status.xs"
1350
        GList *t_GL;
1351
        int i, t_len;
1352
#line 1353 "Status.c"
1353
        Purple__StatusType        RETVAL;
1354
#line 381 "Status.xs"
1355
        t_GL = NULL;
1356
        t_len = av_len((AV *)SvRV(status_types));
1357

    
1358
        for (i = 0; i <= t_len; i++) {
1359
                t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(status_types), i, 0)));
1360
        }
1361
        RETVAL = (PurpleStatusType *)purple_status_type_find_with_id(t_GL, id);
1362
        g_list_free(t_GL);
1363
#line 1364 "Status.c"
1364
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusType");
1365
        sv_2mortal(ST(0));
1366
    }
1367
    XSRETURN(1);
1368
}
1369

    
1370

    
1371
XS_EUPXS(XS_Purple__StatusType_get_id); /* prototype to pass -Wmissing-prototypes */
1372
XS_EUPXS(XS_Purple__StatusType_get_id)
1373
{
1374
    dVAR; dXSARGS;
1375
    if (items != 1)
1376
       croak_xs_usage(cv,  "status_type");
1377
    {
1378
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1379
;
1380
        const char *        RETVAL;
1381
        dXSTARG;
1382

    
1383
        RETVAL = purple_status_type_get_id(status_type);
1384
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1385
    }
1386
    XSRETURN(1);
1387
}
1388

    
1389

    
1390
XS_EUPXS(XS_Purple__StatusType_get_name); /* prototype to pass -Wmissing-prototypes */
1391
XS_EUPXS(XS_Purple__StatusType_get_name)
1392
{
1393
    dVAR; dXSARGS;
1394
    if (items != 1)
1395
       croak_xs_usage(cv,  "status_type");
1396
    {
1397
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1398
;
1399
        const char *        RETVAL;
1400
        dXSTARG;
1401

    
1402
        RETVAL = purple_status_type_get_name(status_type);
1403
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1404
    }
1405
    XSRETURN(1);
1406
}
1407

    
1408

    
1409
XS_EUPXS(XS_Purple__StatusType_get_primary_attr); /* prototype to pass -Wmissing-prototypes */
1410
XS_EUPXS(XS_Purple__StatusType_get_primary_attr)
1411
{
1412
    dVAR; dXSARGS;
1413
    if (items != 1)
1414
       croak_xs_usage(cv,  "status_type");
1415
    {
1416
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1417
;
1418
        const char *        RETVAL;
1419
        dXSTARG;
1420

    
1421
        RETVAL = purple_status_type_get_primary_attr(status_type);
1422
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1423
    }
1424
    XSRETURN(1);
1425
}
1426

    
1427

    
1428
XS_EUPXS(XS_Purple__StatusType_get_primitive); /* prototype to pass -Wmissing-prototypes */
1429
XS_EUPXS(XS_Purple__StatusType_get_primitive)
1430
{
1431
    dVAR; dXSARGS;
1432
    if (items != 1)
1433
       croak_xs_usage(cv,  "status_type");
1434
    {
1435
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1436
;
1437
        Purple__StatusPrimitive        RETVAL;
1438
        dXSTARG;
1439

    
1440
        RETVAL = purple_status_type_get_primitive(status_type);
1441
        XSprePUSH; PUSHi((IV)RETVAL);
1442
    }
1443
    XSRETURN(1);
1444
}
1445

    
1446

    
1447
XS_EUPXS(XS_Purple__StatusType_is_available); /* prototype to pass -Wmissing-prototypes */
1448
XS_EUPXS(XS_Purple__StatusType_is_available)
1449
{
1450
    dVAR; dXSARGS;
1451
    if (items != 1)
1452
       croak_xs_usage(cv,  "status_type");
1453
    {
1454
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1455
;
1456
        gboolean        RETVAL;
1457

    
1458
        RETVAL = purple_status_type_is_available(status_type);
1459
        ST(0) = sv_newmortal();
1460
        ST(0) = boolSV(RETVAL);
1461
    }
1462
    XSRETURN(1);
1463
}
1464

    
1465

    
1466
XS_EUPXS(XS_Purple__StatusType_is_exclusive); /* prototype to pass -Wmissing-prototypes */
1467
XS_EUPXS(XS_Purple__StatusType_is_exclusive)
1468
{
1469
    dVAR; dXSARGS;
1470
    if (items != 1)
1471
       croak_xs_usage(cv,  "status_type");
1472
    {
1473
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1474
;
1475
        gboolean        RETVAL;
1476

    
1477
        RETVAL = purple_status_type_is_exclusive(status_type);
1478
        ST(0) = sv_newmortal();
1479
        ST(0) = boolSV(RETVAL);
1480
    }
1481
    XSRETURN(1);
1482
}
1483

    
1484

    
1485
XS_EUPXS(XS_Purple__StatusType_is_independent); /* prototype to pass -Wmissing-prototypes */
1486
XS_EUPXS(XS_Purple__StatusType_is_independent)
1487
{
1488
    dVAR; dXSARGS;
1489
    if (items != 1)
1490
       croak_xs_usage(cv,  "status_type");
1491
    {
1492
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1493
;
1494
        gboolean        RETVAL;
1495

    
1496
        RETVAL = purple_status_type_is_independent(status_type);
1497
        ST(0) = sv_newmortal();
1498
        ST(0) = boolSV(RETVAL);
1499
    }
1500
    XSRETURN(1);
1501
}
1502

    
1503

    
1504
XS_EUPXS(XS_Purple__StatusType_is_saveable); /* prototype to pass -Wmissing-prototypes */
1505
XS_EUPXS(XS_Purple__StatusType_is_saveable)
1506
{
1507
    dVAR; dXSARGS;
1508
    if (items != 1)
1509
       croak_xs_usage(cv,  "status_type");
1510
    {
1511
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1512
;
1513
        gboolean        RETVAL;
1514

    
1515
        RETVAL = purple_status_type_is_saveable(status_type);
1516
        ST(0) = sv_newmortal();
1517
        ST(0) = boolSV(RETVAL);
1518
    }
1519
    XSRETURN(1);
1520
}
1521

    
1522

    
1523
XS_EUPXS(XS_Purple__StatusType_is_user_settable); /* prototype to pass -Wmissing-prototypes */
1524
XS_EUPXS(XS_Purple__StatusType_is_user_settable)
1525
{
1526
    dVAR; dXSARGS;
1527
    if (items != 1)
1528
       croak_xs_usage(cv,  "status_type");
1529
    {
1530
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1531
;
1532
        gboolean        RETVAL;
1533

    
1534
        RETVAL = purple_status_type_is_user_settable(status_type);
1535
        ST(0) = sv_newmortal();
1536
        ST(0) = boolSV(RETVAL);
1537
    }
1538
    XSRETURN(1);
1539
}
1540

    
1541

    
1542
XS_EUPXS(XS_Purple__StatusType_new); /* prototype to pass -Wmissing-prototypes */
1543
XS_EUPXS(XS_Purple__StatusType_new)
1544
{
1545
    dVAR; dXSARGS;
1546
    if (items != 4)
1547
       croak_xs_usage(cv,  "primitive, id, name, user_settable");
1548
    {
1549
        Purple__StatusPrimitive        primitive = (Purple__StatusPrimitive)SvIV(ST(0))
1550
;
1551
        const char *        id = (const char *)SvPV_nolen(ST(1))
1552
;
1553
        const char *        name = (const char *)SvPV_nolen(ST(2))
1554
;
1555
        gboolean        user_settable = (bool)SvTRUE(ST(3))
1556
;
1557
        Purple__StatusType        RETVAL;
1558

    
1559
        RETVAL = purple_status_type_new(primitive, id, name, user_settable);
1560
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusType");
1561
        sv_2mortal(ST(0));
1562
    }
1563
    XSRETURN(1);
1564
}
1565

    
1566

    
1567
XS_EUPXS(XS_Purple__StatusType_new_full); /* prototype to pass -Wmissing-prototypes */
1568
XS_EUPXS(XS_Purple__StatusType_new_full)
1569
{
1570
    dVAR; dXSARGS;
1571
    if (items != 6)
1572
       croak_xs_usage(cv,  "primitive, id, name, saveable, user_settable, independent");
1573
    {
1574
        Purple__StatusPrimitive        primitive = (Purple__StatusPrimitive)SvIV(ST(0))
1575
;
1576
        const char *        id = (const char *)SvPV_nolen(ST(1))
1577
;
1578
        const char *        name = (const char *)SvPV_nolen(ST(2))
1579
;
1580
        gboolean        saveable = (bool)SvTRUE(ST(3))
1581
;
1582
        gboolean        user_settable = (bool)SvTRUE(ST(4))
1583
;
1584
        gboolean        independent = (bool)SvTRUE(ST(5))
1585
;
1586
        Purple__StatusType        RETVAL;
1587

    
1588
        RETVAL = purple_status_type_new_full(primitive, id, name, saveable, user_settable, independent);
1589
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::StatusType");
1590
        sv_2mortal(ST(0));
1591
    }
1592
    XSRETURN(1);
1593
}
1594

    
1595

    
1596
XS_EUPXS(XS_Purple__StatusType_set_primary_attr); /* prototype to pass -Wmissing-prototypes */
1597
XS_EUPXS(XS_Purple__StatusType_set_primary_attr)
1598
{
1599
    dVAR; dXSARGS;
1600
    if (items != 2)
1601
       croak_xs_usage(cv,  "status_type, attr_id");
1602
    {
1603
        Purple__StatusType        status_type = purple_perl_ref_object(ST(0))
1604
;
1605
        const char *        attr_id = (const char *)SvPV_nolen(ST(1))
1606
;
1607

    
1608
        purple_status_type_set_primary_attr(status_type, attr_id);
1609
    }
1610
    XSRETURN_EMPTY;
1611
}
1612

    
1613
#ifdef __cplusplus
1614
extern "C"
1615
#endif
1616
XS_EXTERNAL(boot_Purple__Status); /* prototype to pass -Wmissing-prototypes */
1617
XS_EXTERNAL(boot_Purple__Status)
1618
{
1619
    dVAR; dXSARGS;
1620
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
1621
    char* file = __FILE__;
1622
#else
1623
    const char* file = __FILE__;
1624
#endif
1625

    
1626
    PERL_UNUSED_VAR(cv); /* -W */
1627
    PERL_UNUSED_VAR(items); /* -W */
1628
#ifdef XS_APIVERSION_BOOTCHECK
1629
    XS_APIVERSION_BOOTCHECK;
1630
#endif
1631
    XS_VERSION_BOOTCHECK;
1632

    
1633
        (void)newXSproto_portable("Purple::Presence::add_list", XS_Purple__Presence_add_list, file, "$$");
1634
        (void)newXSproto_portable("Purple::Presence::add_status", XS_Purple__Presence_add_status, file, "$$");
1635
        (void)newXSproto_portable("Purple::Presence::compare", XS_Purple__Presence_compare, file, "$$");
1636
        (void)newXSproto_portable("Purple::Presence::destroy", XS_Purple__Presence_destroy, file, "$");
1637
        (void)newXSproto_portable("Purple::Presence::get_account", XS_Purple__Presence_get_account, file, "$");
1638
        (void)newXSproto_portable("Purple::Presence::get_active_status", XS_Purple__Presence_get_active_status, file, "$");
1639
        (void)newXSproto_portable("Purple::Presence::get_chat_user", XS_Purple__Presence_get_chat_user, file, "$");
1640
        (void)newXSproto_portable("Purple::Presence::get_context", XS_Purple__Presence_get_context, file, "$");
1641
        (void)newXSproto_portable("Purple::Presence::get_conversation", XS_Purple__Presence_get_conversation, file, "$");
1642
        (void)newXSproto_portable("Purple::Presence::get_idle_time", XS_Purple__Presence_get_idle_time, file, "$");
1643
        (void)newXSproto_portable("Purple::Presence::get_login_time", XS_Purple__Presence_get_login_time, file, "$");
1644
        (void)newXSproto_portable("Purple::Presence::get_status", XS_Purple__Presence_get_status, file, "$$");
1645
        (void)newXSproto_portable("Purple::Presence::get_statuses", XS_Purple__Presence_get_statuses, file, "$");
1646
        (void)newXSproto_portable("Purple::Presence::is_available", XS_Purple__Presence_is_available, file, "$");
1647
        (void)newXSproto_portable("Purple::Presence::is_idle", XS_Purple__Presence_is_idle, file, "$");
1648
        (void)newXSproto_portable("Purple::Presence::is_online", XS_Purple__Presence_is_online, file, "$");
1649
        (void)newXSproto_portable("Purple::Presence::is_status_active", XS_Purple__Presence_is_status_active, file, "$$");
1650
        (void)newXSproto_portable("Purple::Presence::is_status_primitive_active", XS_Purple__Presence_is_status_primitive_active, file, "$$");
1651
        (void)newXSproto_portable("Purple::Presence::new", XS_Purple__Presence_new, file, "$");
1652
        (void)newXSproto_portable("Purple::Presence::new_for_account", XS_Purple__Presence_new_for_account, file, "$");
1653
        (void)newXSproto_portable("Purple::Presence::new_for_buddy", XS_Purple__Presence_new_for_buddy, file, "$");
1654
        (void)newXSproto_portable("Purple::Presence::new_for_conv", XS_Purple__Presence_new_for_conv, file, "$");
1655
        (void)newXSproto_portable("Purple::Presence::set_idle", XS_Purple__Presence_set_idle, file, "$$$");
1656
        (void)newXSproto_portable("Purple::Presence::set_login_time", XS_Purple__Presence_set_login_time, file, "$$");
1657
        (void)newXSproto_portable("Purple::Presence::set_status_active", XS_Purple__Presence_set_status_active, file, "$$$");
1658
        (void)newXSproto_portable("Purple::Presence::switch_status", XS_Purple__Presence_switch_status, file, "$$");
1659
        (void)newXSproto_portable("Purple::Primitive::get_id_from_type", XS_Purple__Primitive_get_id_from_type, file, "$");
1660
        (void)newXSproto_portable("Purple::Primitive::get_name_from_type", XS_Purple__Primitive_get_name_from_type, file, "$");
1661
        (void)newXSproto_portable("Purple::Primitive::get_type_from_id", XS_Purple__Primitive_get_type_from_id, file, "$");
1662
        (void)newXSproto_portable("Purple::StatusAttr::destroy", XS_Purple__StatusAttr_destroy, file, "$");
1663
        (void)newXSproto_portable("Purple::StatusAttr::get_id", XS_Purple__StatusAttr_get_id, file, "$");
1664
        (void)newXSproto_portable("Purple::StatusAttr::get_name", XS_Purple__StatusAttr_get_name, file, "$");
1665
        (void)newXSproto_portable("Purple::StatusAttr::get_value", XS_Purple__StatusAttr_get_value, file, "$");
1666
        (void)newXSproto_portable("Purple::StatusAttr::new", XS_Purple__StatusAttr_new, file, "$$$");
1667
        (void)newXSproto_portable("Purple::Status::compare", XS_Purple__Status_compare, file, "$$");
1668
        (void)newXSproto_portable("Purple::Status::destroy", XS_Purple__Status_destroy, file, "$");
1669
        (void)newXSproto_portable("Purple::Status::get_attr_boolean", XS_Purple__Status_get_attr_boolean, file, "$$");
1670
        (void)newXSproto_portable("Purple::Status::get_attr_int", XS_Purple__Status_get_attr_int, file, "$$");
1671
        (void)newXSproto_portable("Purple::Status::get_attr_string", XS_Purple__Status_get_attr_string, file, "$$");
1672
        (void)newXSproto_portable("Purple::Status::get_attr_value", XS_Purple__Status_get_attr_value, file, "$$");
1673
        (void)newXSproto_portable("Purple::Status::get_handle", XS_Purple__Status_get_handle, file, "");
1674
        (void)newXSproto_portable("Purple::Status::get_id", XS_Purple__Status_get_id, file, "$");
1675
        (void)newXSproto_portable("Purple::Status::get_name", XS_Purple__Status_get_name, file, "$");
1676
        (void)newXSproto_portable("Purple::Status::get_presence", XS_Purple__Status_get_presence, file, "$");
1677
        (void)newXSproto_portable("Purple::Status::get_type", XS_Purple__Status_get_type, file, "$");
1678
        (void)newXSproto_portable("Purple::Status::is_active", XS_Purple__Status_is_active, file, "$");
1679
        (void)newXSproto_portable("Purple::Status::is_available", XS_Purple__Status_is_available, file, "$");
1680
        (void)newXSproto_portable("Purple::Status::is_exclusive", XS_Purple__Status_is_exclusive, file, "$");
1681
        (void)newXSproto_portable("Purple::Status::is_independent", XS_Purple__Status_is_independent, file, "$");
1682
        (void)newXSproto_portable("Purple::Status::is_online", XS_Purple__Status_is_online, file, "$");
1683
        (void)newXSproto_portable("Purple::Status::new", XS_Purple__Status_new, file, "$$");
1684
        (void)newXSproto_portable("Purple::Status::set_active", XS_Purple__Status_set_active, file, "$$");
1685
        (void)newXSproto_portable("Purple::Status::set_attr_boolean", XS_Purple__Status_set_attr_boolean, file, "$$$");
1686
        (void)newXSproto_portable("Purple::Status::set_attr_string", XS_Purple__Status_set_attr_string, file, "$$$");
1687
        (void)newXSproto_portable("Purple::StatusType::add_attr", XS_Purple__StatusType_add_attr, file, "$$$$");
1688
        (void)newXSproto_portable("Purple::StatusType::destroy", XS_Purple__StatusType_destroy, file, "$");
1689
        (void)newXSproto_portable("Purple::StatusType::get_attr", XS_Purple__StatusType_get_attr, file, "$$");
1690
        (void)newXSproto_portable("Purple::StatusType::get_attrs", XS_Purple__StatusType_get_attrs, file, "$");
1691
        (void)newXSproto_portable("Purple::StatusType::find_with_id", XS_Purple__StatusType_find_with_id, file, "$$");
1692
        (void)newXSproto_portable("Purple::StatusType::get_id", XS_Purple__StatusType_get_id, file, "$");
1693
        (void)newXSproto_portable("Purple::StatusType::get_name", XS_Purple__StatusType_get_name, file, "$");
1694
        (void)newXSproto_portable("Purple::StatusType::get_primary_attr", XS_Purple__StatusType_get_primary_attr, file, "$");
1695
        (void)newXSproto_portable("Purple::StatusType::get_primitive", XS_Purple__StatusType_get_primitive, file, "$");
1696
        (void)newXSproto_portable("Purple::StatusType::is_available", XS_Purple__StatusType_is_available, file, "$");
1697
        (void)newXSproto_portable("Purple::StatusType::is_exclusive", XS_Purple__StatusType_is_exclusive, file, "$");
1698
        (void)newXSproto_portable("Purple::StatusType::is_independent", XS_Purple__StatusType_is_independent, file, "$");
1699
        (void)newXSproto_portable("Purple::StatusType::is_saveable", XS_Purple__StatusType_is_saveable, file, "$");
1700
        (void)newXSproto_portable("Purple::StatusType::is_user_settable", XS_Purple__StatusType_is_user_settable, file, "$");
1701
        (void)newXSproto_portable("Purple::StatusType::new", XS_Purple__StatusType_new, file, "$$$$");
1702
        (void)newXSproto_portable("Purple::StatusType::new_full", XS_Purple__StatusType_new_full, file, "$$$$$$");
1703
        (void)newXSproto_portable("Purple::StatusType::set_primary_attr", XS_Purple__StatusType_set_primary_attr, file, "$$");
1704

    
1705
    /* Initialisation Section */
1706

    
1707
#line 46 "Status.xs"
1708
{
1709
        HV *context_stash = gv_stashpv("Purple::Presence::Context", 1);
1710
        HV *primitive_stash = gv_stashpv("Purple::Status::Primitive", 1);
1711

    
1712
        static const constiv *civ, context_const_iv[] = {
1713
#define const_iv(name) {#name, (IV)PURPLE_PRESENCE_CONTEXT_##name}
1714
                const_iv(UNSET),
1715
                const_iv(ACCOUNT),
1716
                const_iv(CONV),
1717
                const_iv(BUDDY),
1718
        };
1719
        static const constiv primitive_const_iv[] = {
1720
#undef const_iv
1721
#define const_iv(name) {#name, (IV)PURPLE_STATUS_##name}
1722
                const_iv(UNSET),
1723
                const_iv(OFFLINE),
1724
                const_iv(AVAILABLE),
1725
                const_iv(UNAVAILABLE),
1726
                const_iv(INVISIBLE),
1727
                const_iv(AWAY),
1728
                const_iv(EXTENDED_AWAY),
1729
                const_iv(MOBILE),
1730
        };
1731

    
1732
        for (civ = context_const_iv + sizeof(context_const_iv) / sizeof(context_const_iv[0]); civ-- > context_const_iv; )
1733
                newCONSTSUB(context_stash, (char *)civ->name, newSViv(civ->iv));
1734

    
1735
        for (civ = primitive_const_iv + sizeof(primitive_const_iv) / sizeof(primitive_const_iv[0]); civ-- > primitive_const_iv; )
1736
                newCONSTSUB(primitive_stash, (char *)civ->name, newSViv(civ->iv));
1737
}
1738

    
1739
#line 1740 "Status.c"
1740

    
1741
    /* End of Initialisation Section */
1742

    
1743
#if (PERL_REVISION == 5 && PERL_VERSION >= 9)
1744
  if (PL_unitcheckav)
1745
       call_list(PL_scopestack_ix, PL_unitcheckav);
1746
#endif
1747
    XSRETURN_YES;
1748
}
1749