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 / Conversation.c @ a274da4f

History | View | Annotate | Download (49.5 KB)

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

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

    
12
#line 13 "Conversation.c"
13
#ifndef PERL_UNUSED_VAR
14
#  define PERL_UNUSED_VAR(var) if (0) var = var
15
#endif
16

    
17
#ifndef dVAR
18
#  define dVAR                dNOOP
19
#endif
20

    
21

    
22
/* This stuff is not part of the API! You have been warned. */
23
#ifndef PERL_VERSION_DECIMAL
24
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
25
#endif
26
#ifndef PERL_DECIMAL_VERSION
27
#  define PERL_DECIMAL_VERSION \
28
          PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
29
#endif
30
#ifndef PERL_VERSION_GE
31
#  define PERL_VERSION_GE(r,v,s) \
32
          (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
33
#endif
34
#ifndef PERL_VERSION_LE
35
#  define PERL_VERSION_LE(r,v,s) \
36
          (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
37
#endif
38

    
39
/* XS_INTERNAL is the explicit static-linkage variant of the default
40
 * XS macro.
41
 *
42
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
43
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
44
 * for anything but the BOOT XSUB.
45
 *
46
 * See XSUB.h in core!
47
 */
48

    
49

    
50
/* TODO: This might be compatible further back than 5.10.0. */
51
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
52
#  undef XS_EXTERNAL
53
#  undef XS_INTERNAL
54
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
55
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
56
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
57
#  endif
58
#  if defined(__SYMBIAN32__)
59
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
60
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
61
#  endif
62
#  ifndef XS_EXTERNAL
63
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
64
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
65
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
66
#    else
67
#      ifdef __cplusplus
68
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
69
#        define XS_INTERNAL(name) static XSPROTO(name)
70
#      else
71
#        define XS_EXTERNAL(name) XSPROTO(name)
72
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
73
#      endif
74
#    endif
75
#  endif
76
#endif
77

    
78
/* perl >= 5.10.0 && perl <= 5.15.1 */
79

    
80

    
81
/* The XS_EXTERNAL macro is used for functions that must not be static
82
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
83
 * macro defined, the best we can do is assume XS is the same.
84
 * Dito for XS_INTERNAL.
85
 */
86
#ifndef XS_EXTERNAL
87
#  define XS_EXTERNAL(name) XS(name)
88
#endif
89
#ifndef XS_INTERNAL
90
#  define XS_INTERNAL(name) XS(name)
91
#endif
92

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

    
99
#undef XS_EUPXS
100
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
101
#  define XS_EUPXS(name) XS_EXTERNAL(name)
102
#else
103
   /* default to internal */
104
#  define XS_EUPXS(name) XS_INTERNAL(name)
105
#endif
106

    
107
#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
108
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
109

    
110
/* prototype to pass -Wmissing-prototypes */
111
STATIC void
112
S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
113

    
114
STATIC void
115
S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
116
{
117
    const GV *const gv = CvGV(cv);
118

    
119
    PERL_ARGS_ASSERT_CROAK_XS_USAGE;
120

    
121
    if (gv) {
122
        const char *const gvname = GvNAME(gv);
123
        const HV *const stash = GvSTASH(gv);
124
        const char *const hvname = stash ? HvNAME(stash) : NULL;
125

    
126
        if (hvname)
127
            Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
128
        else
129
            Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
130
    } else {
131
        /* Pants. I don't think that it should be possible to get here. */
132
        Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
133
    }
134
}
135
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
136

    
137
#ifdef PERL_IMPLICIT_CONTEXT
138
#define croak_xs_usage(a,b)    S_croak_xs_usage(aTHX_ a,b)
139
#else
140
#define croak_xs_usage        S_croak_xs_usage
141
#endif
142

    
143
#endif
144

    
145
/* NOTE: the prototype of newXSproto() is different in versions of perls,
146
 * so we define a portable version of newXSproto()
147
 */
148
#ifdef newXS_flags
149
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
150
#else
151
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
152
#endif /* !defined(newXS_flags) */
153

    
154
#line 155 "Conversation.c"
155

    
156
XS_EUPXS(XS_Purple_get_ims); /* prototype to pass -Wmissing-prototypes */
157
XS_EUPXS(XS_Purple_get_ims)
158
{
159
    dVAR; dXSARGS;
160
    if (items != 0)
161
       croak_xs_usage(cv,  "");
162
    PERL_UNUSED_VAR(ax); /* -Wall */
163
    SP -= items;
164
    {
165
#line 97 "Conversation.xs"
166
        GList *l;
167
#line 168 "Conversation.c"
168
#line 99 "Conversation.xs"
169
        for (l = purple_get_ims(); l != NULL; l = l->next) {
170
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
171
        }
172
#line 173 "Conversation.c"
173
        PUTBACK;
174
        return;
175
    }
176
}
177

    
178

    
179
XS_EUPXS(XS_Purple_get_conversations); /* prototype to pass -Wmissing-prototypes */
180
XS_EUPXS(XS_Purple_get_conversations)
181
{
182
    dVAR; dXSARGS;
183
    if (items != 0)
184
       croak_xs_usage(cv,  "");
185
    PERL_UNUSED_VAR(ax); /* -Wall */
186
    SP -= items;
187
    {
188
#line 106 "Conversation.xs"
189
        GList *l;
190
#line 191 "Conversation.c"
191
#line 108 "Conversation.xs"
192
        for (l = purple_get_conversations(); l != NULL; l = l->next) {
193
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
194
        }
195
#line 196 "Conversation.c"
196
        PUTBACK;
197
        return;
198
    }
199
}
200

    
201

    
202
XS_EUPXS(XS_Purple_get_chats); /* prototype to pass -Wmissing-prototypes */
203
XS_EUPXS(XS_Purple_get_chats)
204
{
205
    dVAR; dXSARGS;
206
    if (items != 0)
207
       croak_xs_usage(cv,  "");
208
    PERL_UNUSED_VAR(ax); /* -Wall */
209
    SP -= items;
210
    {
211
#line 115 "Conversation.xs"
212
        GList *l;
213
#line 214 "Conversation.c"
214
#line 117 "Conversation.xs"
215
        for (l = purple_get_chats(); l != NULL; l = l->next) {
216
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Conversation")));
217
        }
218
#line 219 "Conversation.c"
219
        PUTBACK;
220
        return;
221
    }
222
}
223

    
224

    
225
XS_EUPXS(XS_Purple_find_conversation_with_account); /* prototype to pass -Wmissing-prototypes */
226
XS_EUPXS(XS_Purple_find_conversation_with_account)
227
{
228
    dVAR; dXSARGS;
229
    if (items != 3)
230
       croak_xs_usage(cv,  "type, name, account");
231
    {
232
        Purple__ConversationType        type = (Purple__ConversationType)SvIV(ST(0))
233
;
234
        const char *        name = (const char *)SvPV_nolen(ST(1))
235
;
236
        Purple__Account        account = purple_perl_ref_object(ST(2))
237
;
238
        Purple__Conversation        RETVAL;
239

    
240
        RETVAL = purple_find_conversation_with_account(type, name, account);
241
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
242
        sv_2mortal(ST(0));
243
    }
244
    XSRETURN(1);
245
}
246

    
247

    
248
XS_EUPXS(XS_Purple__Conversations_get_handle); /* prototype to pass -Wmissing-prototypes */
249
XS_EUPXS(XS_Purple__Conversations_get_handle)
250
{
251
    dVAR; dXSARGS;
252
    if (items != 0)
253
       croak_xs_usage(cv,  "");
254
    {
255
        Purple__Handle        RETVAL;
256

    
257
        RETVAL = purple_conversations_get_handle();
258
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Handle");
259
        sv_2mortal(ST(0));
260
    }
261
    XSRETURN(1);
262
}
263

    
264

    
265
XS_EUPXS(XS_Purple__Conversation_destroy); /* prototype to pass -Wmissing-prototypes */
266
XS_EUPXS(XS_Purple__Conversation_destroy)
267
{
268
    dVAR; dXSARGS;
269
    if (items != 1)
270
       croak_xs_usage(cv,  "conv");
271
    {
272
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
273
;
274

    
275
        purple_conversation_destroy(conv);
276
    }
277
    XSRETURN_EMPTY;
278
}
279

    
280

    
281
XS_EUPXS(XS_Purple__Conversation_get_type); /* prototype to pass -Wmissing-prototypes */
282
XS_EUPXS(XS_Purple__Conversation_get_type)
283
{
284
    dVAR; dXSARGS;
285
    if (items != 1)
286
       croak_xs_usage(cv,  "conv");
287
    {
288
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
289
;
290
        Purple__ConversationType        RETVAL;
291
        dXSTARG;
292

    
293
        RETVAL = purple_conversation_get_type(conv);
294
        XSprePUSH; PUSHi((IV)RETVAL);
295
    }
296
    XSRETURN(1);
297
}
298

    
299

    
300
XS_EUPXS(XS_Purple__Conversation_get_account); /* prototype to pass -Wmissing-prototypes */
301
XS_EUPXS(XS_Purple__Conversation_get_account)
302
{
303
    dVAR; dXSARGS;
304
    if (items != 1)
305
       croak_xs_usage(cv,  "conv");
306
    {
307
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
308
;
309
        Purple__Account        RETVAL;
310

    
311
        RETVAL = purple_conversation_get_account(conv);
312
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Account");
313
        sv_2mortal(ST(0));
314
    }
315
    XSRETURN(1);
316
}
317

    
318

    
319
XS_EUPXS(XS_Purple__Conversation_get_gc); /* prototype to pass -Wmissing-prototypes */
320
XS_EUPXS(XS_Purple__Conversation_get_gc)
321
{
322
    dVAR; dXSARGS;
323
    if (items != 1)
324
       croak_xs_usage(cv,  "conv");
325
    {
326
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
327
;
328
        Purple__Connection        RETVAL;
329

    
330
        RETVAL = purple_conversation_get_gc(conv);
331
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Connection");
332
        sv_2mortal(ST(0));
333
    }
334
    XSRETURN(1);
335
}
336

    
337

    
338
XS_EUPXS(XS_Purple__Conversation_set_title); /* prototype to pass -Wmissing-prototypes */
339
XS_EUPXS(XS_Purple__Conversation_set_title)
340
{
341
    dVAR; dXSARGS;
342
    if (items != 2)
343
       croak_xs_usage(cv,  "conv, title");
344
    {
345
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
346
;
347
        const char *        title = (const char *)SvPV_nolen(ST(1))
348
;
349

    
350
        purple_conversation_set_title(conv, title);
351
    }
352
    XSRETURN_EMPTY;
353
}
354

    
355

    
356
XS_EUPXS(XS_Purple__Conversation_get_title); /* prototype to pass -Wmissing-prototypes */
357
XS_EUPXS(XS_Purple__Conversation_get_title)
358
{
359
    dVAR; dXSARGS;
360
    if (items != 1)
361
       croak_xs_usage(cv,  "conv");
362
    {
363
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
364
;
365
        const char *        RETVAL;
366
        dXSTARG;
367

    
368
        RETVAL = purple_conversation_get_title(conv);
369
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
370
    }
371
    XSRETURN(1);
372
}
373

    
374

    
375
XS_EUPXS(XS_Purple__Conversation_autoset_title); /* prototype to pass -Wmissing-prototypes */
376
XS_EUPXS(XS_Purple__Conversation_autoset_title)
377
{
378
    dVAR; dXSARGS;
379
    if (items != 1)
380
       croak_xs_usage(cv,  "conv");
381
    {
382
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
383
;
384

    
385
        purple_conversation_autoset_title(conv);
386
    }
387
    XSRETURN_EMPTY;
388
}
389

    
390

    
391
XS_EUPXS(XS_Purple__Conversation_set_name); /* prototype to pass -Wmissing-prototypes */
392
XS_EUPXS(XS_Purple__Conversation_set_name)
393
{
394
    dVAR; dXSARGS;
395
    if (items != 2)
396
       croak_xs_usage(cv,  "conv, name");
397
    {
398
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
399
;
400
        const char *        name = (const char *)SvPV_nolen(ST(1))
401
;
402

    
403
        purple_conversation_set_name(conv, name);
404
    }
405
    XSRETURN_EMPTY;
406
}
407

    
408

    
409
XS_EUPXS(XS_Purple__Conversation_get_name); /* prototype to pass -Wmissing-prototypes */
410
XS_EUPXS(XS_Purple__Conversation_get_name)
411
{
412
    dVAR; dXSARGS;
413
    if (items != 1)
414
       croak_xs_usage(cv,  "conv");
415
    {
416
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
417
;
418
        const char *        RETVAL;
419
        dXSTARG;
420

    
421
        RETVAL = purple_conversation_get_name(conv);
422
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
423
    }
424
    XSRETURN(1);
425
}
426

    
427

    
428
XS_EUPXS(XS_Purple__Conversation_set_logging); /* prototype to pass -Wmissing-prototypes */
429
XS_EUPXS(XS_Purple__Conversation_set_logging)
430
{
431
    dVAR; dXSARGS;
432
    if (items != 2)
433
       croak_xs_usage(cv,  "conv, log");
434
    {
435
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
436
;
437
        gboolean        log = (bool)SvTRUE(ST(1))
438
;
439

    
440
        purple_conversation_set_logging(conv, log);
441
    }
442
    XSRETURN_EMPTY;
443
}
444

    
445

    
446
XS_EUPXS(XS_Purple__Conversation_is_logging); /* prototype to pass -Wmissing-prototypes */
447
XS_EUPXS(XS_Purple__Conversation_is_logging)
448
{
449
    dVAR; dXSARGS;
450
    if (items != 1)
451
       croak_xs_usage(cv,  "conv");
452
    {
453
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
454
;
455
        gboolean        RETVAL;
456

    
457
        RETVAL = purple_conversation_is_logging(conv);
458
        ST(0) = sv_newmortal();
459
        ST(0) = boolSV(RETVAL);
460
    }
461
    XSRETURN(1);
462
}
463

    
464

    
465
XS_EUPXS(XS_Purple__Conversation_get_im_data); /* prototype to pass -Wmissing-prototypes */
466
XS_EUPXS(XS_Purple__Conversation_get_im_data)
467
{
468
    dVAR; dXSARGS;
469
    if (items != 1)
470
       croak_xs_usage(cv,  "conv");
471
    {
472
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
473
;
474
        Purple__Conversation__IM        RETVAL;
475

    
476
        RETVAL = purple_conversation_get_im_data(conv);
477
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation::IM");
478
        sv_2mortal(ST(0));
479
    }
480
    XSRETURN(1);
481
}
482

    
483

    
484
XS_EUPXS(XS_Purple__Conversation_get_chat_data); /* prototype to pass -Wmissing-prototypes */
485
XS_EUPXS(XS_Purple__Conversation_get_chat_data)
486
{
487
    dVAR; dXSARGS;
488
    if (items != 1)
489
       croak_xs_usage(cv,  "conv");
490
    {
491
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
492
;
493
        Purple__Conversation__Chat        RETVAL;
494

    
495
        RETVAL = purple_conversation_get_chat_data(conv);
496
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation::Chat");
497
        sv_2mortal(ST(0));
498
    }
499
    XSRETURN(1);
500
}
501

    
502

    
503
XS_EUPXS(XS_Purple__Conversation_get_data); /* prototype to pass -Wmissing-prototypes */
504
XS_EUPXS(XS_Purple__Conversation_get_data)
505
{
506
    dVAR; dXSARGS;
507
    if (items != 2)
508
       croak_xs_usage(cv,  "conv, key");
509
    {
510
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
511
;
512
        const char *        key = (const char *)SvPV_nolen(ST(1))
513
;
514
        gpointer        RETVAL;
515

    
516
        RETVAL = purple_conversation_get_data(conv, key);
517
        ST(0) = purple_perl_bless_object(RETVAL, "gpointer");
518
        sv_2mortal(ST(0));
519
    }
520
    XSRETURN(1);
521
}
522

    
523

    
524
XS_EUPXS(XS_Purple__Conversation_get_features); /* prototype to pass -Wmissing-prototypes */
525
XS_EUPXS(XS_Purple__Conversation_get_features)
526
{
527
    dVAR; dXSARGS;
528
    if (items != 1)
529
       croak_xs_usage(cv,  "conv");
530
    {
531
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
532
;
533
        Purple__ConnectionFlags        RETVAL;
534
        dXSTARG;
535

    
536
        RETVAL = purple_conversation_get_features(conv);
537
        XSprePUSH; PUSHi((IV)RETVAL);
538
    }
539
    XSRETURN(1);
540
}
541

    
542

    
543
XS_EUPXS(XS_Purple__Conversation_has_focus); /* prototype to pass -Wmissing-prototypes */
544
XS_EUPXS(XS_Purple__Conversation_has_focus)
545
{
546
    dVAR; dXSARGS;
547
    if (items != 1)
548
       croak_xs_usage(cv,  "conv");
549
    {
550
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
551
;
552
        gboolean        RETVAL;
553

    
554
        RETVAL = purple_conversation_has_focus(conv);
555
        ST(0) = sv_newmortal();
556
        ST(0) = boolSV(RETVAL);
557
    }
558
    XSRETURN(1);
559
}
560

    
561

    
562
XS_EUPXS(XS_Purple__Conversation_update); /* prototype to pass -Wmissing-prototypes */
563
XS_EUPXS(XS_Purple__Conversation_update)
564
{
565
    dVAR; dXSARGS;
566
    if (items != 2)
567
       croak_xs_usage(cv,  "conv, type");
568
    {
569
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
570
;
571
        Purple__ConvUpdateType        type = (Purple__ConvUpdateType)SvIV(ST(1))
572
;
573

    
574
        purple_conversation_update(conv, type);
575
    }
576
    XSRETURN_EMPTY;
577
}
578

    
579

    
580
XS_EUPXS(XS_Purple__Conversation_new); /* prototype to pass -Wmissing-prototypes */
581
XS_EUPXS(XS_Purple__Conversation_new)
582
{
583
    dVAR; dXSARGS;
584
    if (items != 4)
585
       croak_xs_usage(cv,  "class, type, account, name");
586
    {
587
        Purple__ConversationType        type = (Purple__ConversationType)SvIV(ST(1))
588
;
589
        Purple__Account        account = purple_perl_ref_object(ST(2))
590
;
591
        const char *        name = (const char *)SvPV_nolen(ST(3))
592
;
593
        Purple__Conversation        RETVAL;
594

    
595
        RETVAL = purple_conversation_new(type, account, name);
596
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
597
        sv_2mortal(ST(0));
598
    }
599
    XSRETURN(1);
600
}
601

    
602

    
603
XS_EUPXS(XS_Purple__Conversation_set_account); /* prototype to pass -Wmissing-prototypes */
604
XS_EUPXS(XS_Purple__Conversation_set_account)
605
{
606
    dVAR; dXSARGS;
607
    if (items != 2)
608
       croak_xs_usage(cv,  "conv, account");
609
    {
610
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
611
;
612
        Purple__Account        account = purple_perl_ref_object(ST(1))
613
;
614

    
615
        purple_conversation_set_account(conv, account);
616
    }
617
    XSRETURN_EMPTY;
618
}
619

    
620

    
621
XS_EUPXS(XS_Purple__Conversation_write); /* prototype to pass -Wmissing-prototypes */
622
XS_EUPXS(XS_Purple__Conversation_write)
623
{
624
    dVAR; dXSARGS;
625
    if (items != 5)
626
       croak_xs_usage(cv,  "conv, who, message, flags, mtime");
627
    {
628
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
629
;
630
        const char *        who = (const char *)SvPV_nolen(ST(1))
631
;
632
        const char *        message = (const char *)SvPV_nolen(ST(2))
633
;
634
        Purple__MessageFlags        flags = (Purple__MessageFlags)SvIV(ST(3))
635
;
636
        time_t        mtime = (time_t)SvIV(ST(4))
637
;
638

    
639
        purple_conversation_write(conv, who, message, flags, mtime);
640
    }
641
    XSRETURN_EMPTY;
642
}
643

    
644

    
645
XS_EUPXS(XS_Purple__Conversation_do_command); /* prototype to pass -Wmissing-prototypes */
646
XS_EUPXS(XS_Purple__Conversation_do_command)
647
{
648
    dVAR; dXSARGS;
649
    if (items != 4)
650
       croak_xs_usage(cv,  "conv, cmdline, markup, error");
651
    {
652
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
653
;
654
        const char *        cmdline = (const char *)SvPV_nolen(ST(1))
655
;
656
        const char *        markup = (const char *)SvPV_nolen(ST(2))
657
;
658
        char **        error = INT2PTR(char **,SvIV(ST(3)))
659
;
660
        gboolean        RETVAL;
661

    
662
        RETVAL = purple_conversation_do_command(conv, cmdline, markup, error);
663
        ST(0) = sv_newmortal();
664
        ST(0) = boolSV(RETVAL);
665
    }
666
    XSRETURN(1);
667
}
668

    
669

    
670
XS_EUPXS(XS_Purple__Conversation__IM_get_conversation); /* prototype to pass -Wmissing-prototypes */
671
XS_EUPXS(XS_Purple__Conversation__IM_get_conversation)
672
{
673
    dVAR; dXSARGS;
674
    if (items != 1)
675
       croak_xs_usage(cv,  "im");
676
    {
677
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
678
;
679
        Purple__Conversation        RETVAL;
680

    
681
        RETVAL = purple_conv_im_get_conversation(im);
682
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
683
        sv_2mortal(ST(0));
684
    }
685
    XSRETURN(1);
686
}
687

    
688

    
689
XS_EUPXS(XS_Purple__Conversation__IM_set_icon); /* prototype to pass -Wmissing-prototypes */
690
XS_EUPXS(XS_Purple__Conversation__IM_set_icon)
691
{
692
    dVAR; dXSARGS;
693
    if (items != 2)
694
       croak_xs_usage(cv,  "im, icon");
695
    {
696
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
697
;
698
        Purple__Buddy__Icon        icon = purple_perl_ref_object(ST(1))
699
;
700

    
701
        purple_conv_im_set_icon(im, icon);
702
    }
703
    XSRETURN_EMPTY;
704
}
705

    
706

    
707
XS_EUPXS(XS_Purple__Conversation__IM_get_icon); /* prototype to pass -Wmissing-prototypes */
708
XS_EUPXS(XS_Purple__Conversation__IM_get_icon)
709
{
710
    dVAR; dXSARGS;
711
    if (items != 1)
712
       croak_xs_usage(cv,  "im");
713
    {
714
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
715
;
716
        Purple__Buddy__Icon        RETVAL;
717

    
718
        RETVAL = purple_conv_im_get_icon(im);
719
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Buddy::Icon");
720
        sv_2mortal(ST(0));
721
    }
722
    XSRETURN(1);
723
}
724

    
725

    
726
XS_EUPXS(XS_Purple__Conversation__IM_set_typing_state); /* prototype to pass -Wmissing-prototypes */
727
XS_EUPXS(XS_Purple__Conversation__IM_set_typing_state)
728
{
729
    dVAR; dXSARGS;
730
    if (items != 2)
731
       croak_xs_usage(cv,  "im, state");
732
    {
733
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
734
;
735
        Purple__TypingState        state = (Purple__TypingState)SvIV(ST(1))
736
;
737

    
738
        purple_conv_im_set_typing_state(im, state);
739
    }
740
    XSRETURN_EMPTY;
741
}
742

    
743

    
744
XS_EUPXS(XS_Purple__Conversation__IM_get_typing_state); /* prototype to pass -Wmissing-prototypes */
745
XS_EUPXS(XS_Purple__Conversation__IM_get_typing_state)
746
{
747
    dVAR; dXSARGS;
748
    if (items != 1)
749
       croak_xs_usage(cv,  "im");
750
    {
751
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
752
;
753
        Purple__TypingState        RETVAL;
754
        dXSTARG;
755

    
756
        RETVAL = purple_conv_im_get_typing_state(im);
757
        XSprePUSH; PUSHi((IV)RETVAL);
758
    }
759
    XSRETURN(1);
760
}
761

    
762

    
763
XS_EUPXS(XS_Purple__Conversation__IM_start_typing_timeout); /* prototype to pass -Wmissing-prototypes */
764
XS_EUPXS(XS_Purple__Conversation__IM_start_typing_timeout)
765
{
766
    dVAR; dXSARGS;
767
    if (items != 2)
768
       croak_xs_usage(cv,  "im, timeout");
769
    {
770
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
771
;
772
        int        timeout = (int)SvIV(ST(1))
773
;
774

    
775
        purple_conv_im_start_typing_timeout(im, timeout);
776
    }
777
    XSRETURN_EMPTY;
778
}
779

    
780

    
781
XS_EUPXS(XS_Purple__Conversation__IM_stop_typing_timeout); /* prototype to pass -Wmissing-prototypes */
782
XS_EUPXS(XS_Purple__Conversation__IM_stop_typing_timeout)
783
{
784
    dVAR; dXSARGS;
785
    if (items != 1)
786
       croak_xs_usage(cv,  "im");
787
    {
788
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
789
;
790

    
791
        purple_conv_im_stop_typing_timeout(im);
792
    }
793
    XSRETURN_EMPTY;
794
}
795

    
796

    
797
XS_EUPXS(XS_Purple__Conversation__IM_get_typing_timeout); /* prototype to pass -Wmissing-prototypes */
798
XS_EUPXS(XS_Purple__Conversation__IM_get_typing_timeout)
799
{
800
    dVAR; dXSARGS;
801
    if (items != 1)
802
       croak_xs_usage(cv,  "im");
803
    {
804
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
805
;
806
        guint        RETVAL;
807
        dXSTARG;
808

    
809
        RETVAL = purple_conv_im_get_typing_timeout(im);
810
        XSprePUSH; PUSHi((IV)RETVAL);
811
    }
812
    XSRETURN(1);
813
}
814

    
815

    
816
XS_EUPXS(XS_Purple__Conversation__IM_set_type_again); /* prototype to pass -Wmissing-prototypes */
817
XS_EUPXS(XS_Purple__Conversation__IM_set_type_again)
818
{
819
    dVAR; dXSARGS;
820
    if (items != 2)
821
       croak_xs_usage(cv,  "im, val");
822
    {
823
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
824
;
825
        time_t        val = (time_t)SvIV(ST(1))
826
;
827

    
828
        purple_conv_im_set_type_again(im, val);
829
    }
830
    XSRETURN_EMPTY;
831
}
832

    
833

    
834
XS_EUPXS(XS_Purple__Conversation__IM_get_type_again); /* prototype to pass -Wmissing-prototypes */
835
XS_EUPXS(XS_Purple__Conversation__IM_get_type_again)
836
{
837
    dVAR; dXSARGS;
838
    if (items != 1)
839
       croak_xs_usage(cv,  "im");
840
    {
841
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
842
;
843
        time_t        RETVAL;
844
        dXSTARG;
845

    
846
        RETVAL = purple_conv_im_get_type_again(im);
847
        XSprePUSH; PUSHi((IV)RETVAL);
848
    }
849
    XSRETURN(1);
850
}
851

    
852

    
853
XS_EUPXS(XS_Purple__Conversation__IM_start_send_typed_timeout); /* prototype to pass -Wmissing-prototypes */
854
XS_EUPXS(XS_Purple__Conversation__IM_start_send_typed_timeout)
855
{
856
    dVAR; dXSARGS;
857
    if (items != 1)
858
       croak_xs_usage(cv,  "im");
859
    {
860
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
861
;
862

    
863
        purple_conv_im_start_send_typed_timeout(im);
864
    }
865
    XSRETURN_EMPTY;
866
}
867

    
868

    
869
XS_EUPXS(XS_Purple__Conversation__IM_stop_send_typed_timeout); /* prototype to pass -Wmissing-prototypes */
870
XS_EUPXS(XS_Purple__Conversation__IM_stop_send_typed_timeout)
871
{
872
    dVAR; dXSARGS;
873
    if (items != 1)
874
       croak_xs_usage(cv,  "im");
875
    {
876
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
877
;
878

    
879
        purple_conv_im_stop_send_typed_timeout(im);
880
    }
881
    XSRETURN_EMPTY;
882
}
883

    
884

    
885
XS_EUPXS(XS_Purple__Conversation__IM_get_send_typed_timeout); /* prototype to pass -Wmissing-prototypes */
886
XS_EUPXS(XS_Purple__Conversation__IM_get_send_typed_timeout)
887
{
888
    dVAR; dXSARGS;
889
    if (items != 1)
890
       croak_xs_usage(cv,  "im");
891
    {
892
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
893
;
894
        guint        RETVAL;
895
        dXSTARG;
896

    
897
        RETVAL = purple_conv_im_get_send_typed_timeout(im);
898
        XSprePUSH; PUSHi((IV)RETVAL);
899
    }
900
    XSRETURN(1);
901
}
902

    
903

    
904
XS_EUPXS(XS_Purple__Conversation__IM_update_typing); /* prototype to pass -Wmissing-prototypes */
905
XS_EUPXS(XS_Purple__Conversation__IM_update_typing)
906
{
907
    dVAR; dXSARGS;
908
    if (items != 1)
909
       croak_xs_usage(cv,  "im");
910
    {
911
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
912
;
913

    
914
        purple_conv_im_update_typing(im);
915
    }
916
    XSRETURN_EMPTY;
917
}
918

    
919

    
920
XS_EUPXS(XS_Purple__Conversation__IM_send); /* prototype to pass -Wmissing-prototypes */
921
XS_EUPXS(XS_Purple__Conversation__IM_send)
922
{
923
    dVAR; dXSARGS;
924
    if (items != 2)
925
       croak_xs_usage(cv,  "im, message");
926
    {
927
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
928
;
929
        const char *        message = (const char *)SvPV_nolen(ST(1))
930
;
931

    
932
        purple_conv_im_send(im, message);
933
    }
934
    XSRETURN_EMPTY;
935
}
936

    
937

    
938
XS_EUPXS(XS_Purple__Conversation__IM_send_with_flags); /* prototype to pass -Wmissing-prototypes */
939
XS_EUPXS(XS_Purple__Conversation__IM_send_with_flags)
940
{
941
    dVAR; dXSARGS;
942
    if (items != 3)
943
       croak_xs_usage(cv,  "im, message, flags");
944
    {
945
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
946
;
947
        const char *        message = (const char *)SvPV_nolen(ST(1))
948
;
949
        Purple__MessageFlags        flags = (Purple__MessageFlags)SvIV(ST(2))
950
;
951

    
952
        purple_conv_im_send_with_flags(im, message, flags);
953
    }
954
    XSRETURN_EMPTY;
955
}
956

    
957

    
958
XS_EUPXS(XS_Purple__Conversation__IM_write); /* prototype to pass -Wmissing-prototypes */
959
XS_EUPXS(XS_Purple__Conversation__IM_write)
960
{
961
    dVAR; dXSARGS;
962
    if (items != 5)
963
       croak_xs_usage(cv,  "im, who, message, flags, mtime");
964
    {
965
        Purple__Conversation__IM        im = purple_perl_ref_object(ST(0))
966
;
967
        const char *        who = (const char *)SvPV_nolen(ST(1))
968
;
969
        const char *        message = (const char *)SvPV_nolen(ST(2))
970
;
971
        Purple__MessageFlags        flags = (Purple__MessageFlags)SvIV(ST(3))
972
;
973
        time_t        mtime = (time_t)SvIV(ST(4))
974
;
975

    
976
        purple_conv_im_write(im, who, message, flags, mtime);
977
    }
978
    XSRETURN_EMPTY;
979
}
980

    
981

    
982
XS_EUPXS(XS_Purple__Conversation_present_error); /* prototype to pass -Wmissing-prototypes */
983
XS_EUPXS(XS_Purple__Conversation_present_error)
984
{
985
    dVAR; dXSARGS;
986
    if (items != 3)
987
       croak_xs_usage(cv,  "who, account, what");
988
    {
989
        const char *        who = (const char *)SvPV_nolen(ST(0))
990
;
991
        Purple__Account        account = purple_perl_ref_object(ST(1))
992
;
993
        const char *        what = (const char *)SvPV_nolen(ST(2))
994
;
995
        gboolean        RETVAL;
996

    
997
        RETVAL = purple_conv_present_error(who, account, what);
998
        ST(0) = sv_newmortal();
999
        ST(0) = boolSV(RETVAL);
1000
    }
1001
    XSRETURN(1);
1002
}
1003

    
1004

    
1005
XS_EUPXS(XS_Purple__Conversation_custom_smiley_close); /* prototype to pass -Wmissing-prototypes */
1006
XS_EUPXS(XS_Purple__Conversation_custom_smiley_close)
1007
{
1008
    dVAR; dXSARGS;
1009
    if (items != 2)
1010
       croak_xs_usage(cv,  "conv, smile");
1011
    {
1012
        Purple__Conversation        conv = purple_perl_ref_object(ST(0))
1013
;
1014
        const char *        smile = (const char *)SvPV_nolen(ST(1))
1015
;
1016

    
1017
        purple_conv_custom_smiley_close(conv, smile);
1018
    }
1019
    XSRETURN_EMPTY;
1020
}
1021

    
1022

    
1023
XS_EUPXS(XS_Purple__Conversation__Chat_get_conversation); /* prototype to pass -Wmissing-prototypes */
1024
XS_EUPXS(XS_Purple__Conversation__Chat_get_conversation)
1025
{
1026
    dVAR; dXSARGS;
1027
    if (items != 1)
1028
       croak_xs_usage(cv,  "chat");
1029
    {
1030
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1031
;
1032
        Purple__Conversation        RETVAL;
1033

    
1034
        RETVAL = purple_conv_chat_get_conversation(chat);
1035
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
1036
        sv_2mortal(ST(0));
1037
    }
1038
    XSRETURN(1);
1039
}
1040

    
1041

    
1042
XS_EUPXS(XS_Purple__Conversation__Chat_set_users); /* prototype to pass -Wmissing-prototypes */
1043
XS_EUPXS(XS_Purple__Conversation__Chat_set_users)
1044
{
1045
    dVAR; dXSARGS;
1046
    if (items != 2)
1047
       croak_xs_usage(cv,  "chat, users");
1048
    PERL_UNUSED_VAR(ax); /* -Wall */
1049
    SP -= items;
1050
    {
1051
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1052
;
1053
        SV *        users = ST(1)
1054
;
1055
#line 345 "Conversation.xs"
1056
        GList *l, *t_GL;
1057
        int i, t_len;
1058
#line 1059 "Conversation.c"
1059
#line 348 "Conversation.xs"
1060
        t_GL = NULL;
1061
        t_len = av_len((AV *)SvRV(users));
1062

    
1063
        for (i = 0; i <= t_len; i++)
1064
                t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(users), i, 0)));
1065

    
1066
        for (l = purple_conv_chat_set_users(chat, t_GL); l != NULL; l = l->next) {
1067
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
1068
        }
1069
#line 1070 "Conversation.c"
1070
        PUTBACK;
1071
        return;
1072
    }
1073
}
1074

    
1075

    
1076
XS_EUPXS(XS_Purple__Conversation__Chat_get_users); /* prototype to pass -Wmissing-prototypes */
1077
XS_EUPXS(XS_Purple__Conversation__Chat_get_users)
1078
{
1079
    dVAR; dXSARGS;
1080
    if (items != 1)
1081
       croak_xs_usage(cv,  "chat");
1082
    PERL_UNUSED_VAR(ax); /* -Wall */
1083
    SP -= items;
1084
    {
1085
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1086
;
1087
#line 362 "Conversation.xs"
1088
        GList *l;
1089
#line 1090 "Conversation.c"
1090
#line 364 "Conversation.xs"
1091
        for (l = purple_conv_chat_get_users(chat); l != NULL; l = l->next) {
1092
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
1093
        }
1094
#line 1095 "Conversation.c"
1095
        PUTBACK;
1096
        return;
1097
    }
1098
}
1099

    
1100

    
1101
XS_EUPXS(XS_Purple__Conversation__Chat_ignore); /* prototype to pass -Wmissing-prototypes */
1102
XS_EUPXS(XS_Purple__Conversation__Chat_ignore)
1103
{
1104
    dVAR; dXSARGS;
1105
    if (items != 2)
1106
       croak_xs_usage(cv,  "chat, name");
1107
    {
1108
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1109
;
1110
        const char *        name = (const char *)SvPV_nolen(ST(1))
1111
;
1112

    
1113
        purple_conv_chat_ignore(chat, name);
1114
    }
1115
    XSRETURN_EMPTY;
1116
}
1117

    
1118

    
1119
XS_EUPXS(XS_Purple__Conversation__Chat_unignore); /* prototype to pass -Wmissing-prototypes */
1120
XS_EUPXS(XS_Purple__Conversation__Chat_unignore)
1121
{
1122
    dVAR; dXSARGS;
1123
    if (items != 2)
1124
       croak_xs_usage(cv,  "chat, name");
1125
    {
1126
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1127
;
1128
        const char *        name = (const char *)SvPV_nolen(ST(1))
1129
;
1130

    
1131
        purple_conv_chat_unignore(chat, name);
1132
    }
1133
    XSRETURN_EMPTY;
1134
}
1135

    
1136

    
1137
XS_EUPXS(XS_Purple__Conversation__Chat_set_ignored); /* prototype to pass -Wmissing-prototypes */
1138
XS_EUPXS(XS_Purple__Conversation__Chat_set_ignored)
1139
{
1140
    dVAR; dXSARGS;
1141
    if (items != 2)
1142
       croak_xs_usage(cv,  "chat, ignored");
1143
    PERL_UNUSED_VAR(ax); /* -Wall */
1144
    SP -= items;
1145
    {
1146
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1147
;
1148
        SV *        ignored = ST(1)
1149
;
1150
#line 383 "Conversation.xs"
1151
        GList *l, *t_GL;
1152
        int i, t_len;
1153
#line 1154 "Conversation.c"
1154
#line 386 "Conversation.xs"
1155
        t_GL = NULL;
1156
        t_len = av_len((AV *)SvRV(ignored));
1157

    
1158
        for (i = 0; i <= t_len; i++)
1159
                t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(ignored), i, 0)));
1160

    
1161
        for (l = purple_conv_chat_set_ignored(chat, t_GL); l != NULL; l = l->next) {
1162
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
1163
        }
1164
#line 1165 "Conversation.c"
1165
        PUTBACK;
1166
        return;
1167
    }
1168
}
1169

    
1170

    
1171
XS_EUPXS(XS_Purple__Conversation__Chat_get_ignored); /* prototype to pass -Wmissing-prototypes */
1172
XS_EUPXS(XS_Purple__Conversation__Chat_get_ignored)
1173
{
1174
    dVAR; dXSARGS;
1175
    if (items != 1)
1176
       croak_xs_usage(cv,  "chat");
1177
    PERL_UNUSED_VAR(ax); /* -Wall */
1178
    SP -= items;
1179
    {
1180
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1181
;
1182
#line 400 "Conversation.xs"
1183
        GList *l;
1184
#line 1185 "Conversation.c"
1185
#line 402 "Conversation.xs"
1186
        for (l = purple_conv_chat_get_ignored(chat); l != NULL; l = l->next) {
1187
                XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
1188
        }
1189
#line 1190 "Conversation.c"
1190
        PUTBACK;
1191
        return;
1192
    }
1193
}
1194

    
1195

    
1196
XS_EUPXS(XS_Purple__Conversation__Chat_get_topic); /* prototype to pass -Wmissing-prototypes */
1197
XS_EUPXS(XS_Purple__Conversation__Chat_get_topic)
1198
{
1199
    dVAR; dXSARGS;
1200
    if (items != 1)
1201
       croak_xs_usage(cv,  "chat");
1202
    {
1203
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1204
;
1205
        const char *        RETVAL;
1206
        dXSTARG;
1207

    
1208
        RETVAL = purple_conv_chat_get_topic(chat);
1209
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1210
    }
1211
    XSRETURN(1);
1212
}
1213

    
1214

    
1215
XS_EUPXS(XS_Purple__Conversation__Chat_set_id); /* prototype to pass -Wmissing-prototypes */
1216
XS_EUPXS(XS_Purple__Conversation__Chat_set_id)
1217
{
1218
    dVAR; dXSARGS;
1219
    if (items != 2)
1220
       croak_xs_usage(cv,  "chat, id");
1221
    {
1222
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1223
;
1224
        int        id = (int)SvIV(ST(1))
1225
;
1226

    
1227
        purple_conv_chat_set_id(chat, id);
1228
    }
1229
    XSRETURN_EMPTY;
1230
}
1231

    
1232

    
1233
XS_EUPXS(XS_Purple__Conversation__Chat_get_id); /* prototype to pass -Wmissing-prototypes */
1234
XS_EUPXS(XS_Purple__Conversation__Chat_get_id)
1235
{
1236
    dVAR; dXSARGS;
1237
    if (items != 1)
1238
       croak_xs_usage(cv,  "chat");
1239
    {
1240
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1241
;
1242
        int        RETVAL;
1243
        dXSTARG;
1244

    
1245
        RETVAL = purple_conv_chat_get_id(chat);
1246
        XSprePUSH; PUSHi((IV)RETVAL);
1247
    }
1248
    XSRETURN(1);
1249
}
1250

    
1251

    
1252
XS_EUPXS(XS_Purple__Conversation__Chat_send); /* prototype to pass -Wmissing-prototypes */
1253
XS_EUPXS(XS_Purple__Conversation__Chat_send)
1254
{
1255
    dVAR; dXSARGS;
1256
    if (items != 2)
1257
       croak_xs_usage(cv,  "chat, message");
1258
    {
1259
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1260
;
1261
        const char *        message = (const char *)SvPV_nolen(ST(1))
1262
;
1263

    
1264
        purple_conv_chat_send(chat, message);
1265
    }
1266
    XSRETURN_EMPTY;
1267
}
1268

    
1269

    
1270
XS_EUPXS(XS_Purple__Conversation__Chat_send_with_flags); /* prototype to pass -Wmissing-prototypes */
1271
XS_EUPXS(XS_Purple__Conversation__Chat_send_with_flags)
1272
{
1273
    dVAR; dXSARGS;
1274
    if (items != 3)
1275
       croak_xs_usage(cv,  "chat, message, flags");
1276
    {
1277
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1278
;
1279
        const char *        message = (const char *)SvPV_nolen(ST(1))
1280
;
1281
        Purple__MessageFlags        flags = (Purple__MessageFlags)SvIV(ST(2))
1282
;
1283

    
1284
        purple_conv_chat_send_with_flags(chat, message, flags);
1285
    }
1286
    XSRETURN_EMPTY;
1287
}
1288

    
1289

    
1290
XS_EUPXS(XS_Purple__Conversation__Chat_write); /* prototype to pass -Wmissing-prototypes */
1291
XS_EUPXS(XS_Purple__Conversation__Chat_write)
1292
{
1293
    dVAR; dXSARGS;
1294
    if (items != 5)
1295
       croak_xs_usage(cv,  "chat, who, message, flags, mtime");
1296
    {
1297
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1298
;
1299
        const char *        who = (const char *)SvPV_nolen(ST(1))
1300
;
1301
        const char *        message = (const char *)SvPV_nolen(ST(2))
1302
;
1303
        Purple__MessageFlags        flags = (Purple__MessageFlags)SvIV(ST(3))
1304
;
1305
        time_t        mtime = (time_t)SvIV(ST(4))
1306
;
1307

    
1308
        purple_conv_chat_write(chat, who, message, flags, mtime);
1309
    }
1310
    XSRETURN_EMPTY;
1311
}
1312

    
1313

    
1314
XS_EUPXS(XS_Purple__Conversation__Chat_add_users); /* prototype to pass -Wmissing-prototypes */
1315
XS_EUPXS(XS_Purple__Conversation__Chat_add_users)
1316
{
1317
    dVAR; dXSARGS;
1318
    if (items != 5)
1319
       croak_xs_usage(cv,  "chat, users, extra_msgs, flags, new_arrivals");
1320
    PERL_UNUSED_VAR(ax); /* -Wall */
1321
    SP -= items;
1322
    {
1323
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1324
;
1325
        SV *        users = ST(1)
1326
;
1327
        SV *        extra_msgs = ST(2)
1328
;
1329
        SV *        flags = ST(3)
1330
;
1331
        gboolean        new_arrivals = (bool)SvTRUE(ST(4))
1332
;
1333
#line 446 "Conversation.xs"
1334
        GList *t_GL_users, *t_GL_extra_msgs, *t_GL_flags;
1335
        int i, t_len;
1336
#line 1337 "Conversation.c"
1337
#line 449 "Conversation.xs"
1338
        t_GL_users = NULL;
1339
        t_len = av_len((AV *)SvRV(users));
1340

    
1341
        for (i = 0; i <= t_len; i++)
1342
                t_GL_users = g_list_append(t_GL_users, SvPVutf8_nolen(*av_fetch((AV *)SvRV(users), i, 0)));
1343

    
1344
        t_GL_flags = NULL;
1345
        t_len = av_len((AV *)SvRV(flags));
1346

    
1347
        for (i = 0; i <= t_len; i++)
1348
                t_GL_flags = g_list_append(t_GL_flags, SvPVutf8_nolen(*av_fetch((AV *)SvRV(flags), i, 0)));
1349

    
1350
        t_GL_extra_msgs = NULL;
1351
        t_len = av_len((AV *)SvRV(extra_msgs));
1352

    
1353
        for (i = 0; i <= t_len; i++)
1354
                t_GL_extra_msgs = g_list_append(t_GL_extra_msgs, SvPVutf8_nolen(*av_fetch((AV *)SvRV(extra_msgs), i, 0)));
1355

    
1356
        purple_conv_chat_add_users(chat, t_GL_users, t_GL_extra_msgs, t_GL_flags, new_arrivals);
1357

    
1358
        g_list_free(t_GL_users);
1359
        g_list_free(t_GL_extra_msgs);
1360
        g_list_free(t_GL_flags);
1361
#line 1362 "Conversation.c"
1362
        PUTBACK;
1363
        return;
1364
    }
1365
}
1366

    
1367

    
1368
XS_EUPXS(XS_Purple__Conversation__Chat_find_user); /* prototype to pass -Wmissing-prototypes */
1369
XS_EUPXS(XS_Purple__Conversation__Chat_find_user)
1370
{
1371
    dVAR; dXSARGS;
1372
    if (items != 2)
1373
       croak_xs_usage(cv,  "chat, user");
1374
    {
1375
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1376
;
1377
        const char *        user = (const char *)SvPV_nolen(ST(1))
1378
;
1379
        gboolean        RETVAL;
1380

    
1381
        RETVAL = purple_conv_chat_find_user(chat, user);
1382
        ST(0) = sv_newmortal();
1383
        ST(0) = boolSV(RETVAL);
1384
    }
1385
    XSRETURN(1);
1386
}
1387

    
1388

    
1389
XS_EUPXS(XS_Purple__Conversation__Chat_clear_users); /* prototype to pass -Wmissing-prototypes */
1390
XS_EUPXS(XS_Purple__Conversation__Chat_clear_users)
1391
{
1392
    dVAR; dXSARGS;
1393
    if (items != 1)
1394
       croak_xs_usage(cv,  "chat");
1395
    {
1396
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1397
;
1398

    
1399
        purple_conv_chat_clear_users(chat);
1400
    }
1401
    XSRETURN_EMPTY;
1402
}
1403

    
1404

    
1405
XS_EUPXS(XS_Purple__Conversation__Chat_set_nick); /* prototype to pass -Wmissing-prototypes */
1406
XS_EUPXS(XS_Purple__Conversation__Chat_set_nick)
1407
{
1408
    dVAR; dXSARGS;
1409
    if (items != 2)
1410
       croak_xs_usage(cv,  "chat, nick");
1411
    {
1412
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1413
;
1414
        const char *        nick = (const char *)SvPV_nolen(ST(1))
1415
;
1416

    
1417
        purple_conv_chat_set_nick(chat, nick);
1418
    }
1419
    XSRETURN_EMPTY;
1420
}
1421

    
1422

    
1423
XS_EUPXS(XS_Purple__Conversation__Chat_get_nick); /* prototype to pass -Wmissing-prototypes */
1424
XS_EUPXS(XS_Purple__Conversation__Chat_get_nick)
1425
{
1426
    dVAR; dXSARGS;
1427
    if (items != 1)
1428
       croak_xs_usage(cv,  "chat");
1429
    {
1430
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1431
;
1432
        const char *        RETVAL;
1433
        dXSTARG;
1434

    
1435
        RETVAL = purple_conv_chat_get_nick(chat);
1436
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1437
    }
1438
    XSRETURN(1);
1439
}
1440

    
1441

    
1442
XS_EUPXS(XS_Purple__Conversation__Chat_purple_find_chat); /* prototype to pass -Wmissing-prototypes */
1443
XS_EUPXS(XS_Purple__Conversation__Chat_purple_find_chat)
1444
{
1445
    dVAR; dXSARGS;
1446
    if (items != 2)
1447
       croak_xs_usage(cv,  "gc, id");
1448
    {
1449
        Purple__Connection        gc = purple_perl_ref_object(ST(0))
1450
;
1451
        int        id = (int)SvIV(ST(1))
1452
;
1453
        Purple__Conversation        RETVAL;
1454

    
1455
        RETVAL = purple_find_chat(gc, id);
1456
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation");
1457
        sv_2mortal(ST(0));
1458
    }
1459
    XSRETURN(1);
1460
}
1461

    
1462

    
1463
XS_EUPXS(XS_Purple__Conversation__Chat_left); /* prototype to pass -Wmissing-prototypes */
1464
XS_EUPXS(XS_Purple__Conversation__Chat_left)
1465
{
1466
    dVAR; dXSARGS;
1467
    if (items != 1)
1468
       croak_xs_usage(cv,  "chat");
1469
    {
1470
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1471
;
1472

    
1473
        purple_conv_chat_left(chat);
1474
    }
1475
    XSRETURN_EMPTY;
1476
}
1477

    
1478

    
1479
XS_EUPXS(XS_Purple__Conversation__Chat_has_left); /* prototype to pass -Wmissing-prototypes */
1480
XS_EUPXS(XS_Purple__Conversation__Chat_has_left)
1481
{
1482
    dVAR; dXSARGS;
1483
    if (items != 1)
1484
       croak_xs_usage(cv,  "chat");
1485
    {
1486
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1487
;
1488
        gboolean        RETVAL;
1489

    
1490
        RETVAL = purple_conv_chat_has_left(chat);
1491
        ST(0) = sv_newmortal();
1492
        ST(0) = boolSV(RETVAL);
1493
    }
1494
    XSRETURN(1);
1495
}
1496

    
1497

    
1498
XS_EUPXS(XS_Purple__Conversation__Chat_cb_find); /* prototype to pass -Wmissing-prototypes */
1499
XS_EUPXS(XS_Purple__Conversation__Chat_cb_find)
1500
{
1501
    dVAR; dXSARGS;
1502
    if (items != 2)
1503
       croak_xs_usage(cv,  "chat, name");
1504
    {
1505
        Purple__Conversation__Chat        chat = purple_perl_ref_object(ST(0))
1506
;
1507
        const char *        name = (const char *)SvPV_nolen(ST(1))
1508
;
1509
        Purple__Conversation__ChatBuddy        RETVAL;
1510

    
1511
        RETVAL = purple_conv_chat_cb_find(chat, name);
1512
        ST(0) = purple_perl_bless_object(RETVAL, "Purple::Conversation::ChatBuddy");
1513
        sv_2mortal(ST(0));
1514
    }
1515
    XSRETURN(1);
1516
}
1517

    
1518

    
1519
XS_EUPXS(XS_Purple__Conversation__Chat_cb_get_name); /* prototype to pass -Wmissing-prototypes */
1520
XS_EUPXS(XS_Purple__Conversation__Chat_cb_get_name)
1521
{
1522
    dVAR; dXSARGS;
1523
    if (items != 1)
1524
       croak_xs_usage(cv,  "cb");
1525
    {
1526
        Purple__Conversation__ChatBuddy        cb = purple_perl_ref_object(ST(0))
1527
;
1528
        const char *        RETVAL;
1529
        dXSTARG;
1530

    
1531
        RETVAL = purple_conv_chat_cb_get_name(cb);
1532
        sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
1533
    }
1534
    XSRETURN(1);
1535
}
1536

    
1537

    
1538
XS_EUPXS(XS_Purple__Conversation__Chat_cb_destroy); /* prototype to pass -Wmissing-prototypes */
1539
XS_EUPXS(XS_Purple__Conversation__Chat_cb_destroy)
1540
{
1541
    dVAR; dXSARGS;
1542
    if (items != 1)
1543
       croak_xs_usage(cv,  "cb");
1544
    {
1545
        Purple__Conversation__ChatBuddy        cb = purple_perl_ref_object(ST(0))
1546
;
1547

    
1548
        purple_conv_chat_cb_destroy(cb);
1549
    }
1550
    XSRETURN_EMPTY;
1551
}
1552

    
1553
#ifdef __cplusplus
1554
extern "C"
1555
#endif
1556
XS_EXTERNAL(boot_Purple__Conversation); /* prototype to pass -Wmissing-prototypes */
1557
XS_EXTERNAL(boot_Purple__Conversation)
1558
{
1559
    dVAR; dXSARGS;
1560
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
1561
    char* file = __FILE__;
1562
#else
1563
    const char* file = __FILE__;
1564
#endif
1565

    
1566
    PERL_UNUSED_VAR(cv); /* -W */
1567
    PERL_UNUSED_VAR(items); /* -W */
1568
#ifdef XS_APIVERSION_BOOTCHECK
1569
    XS_APIVERSION_BOOTCHECK;
1570
#endif
1571
    XS_VERSION_BOOTCHECK;
1572

    
1573
        (void)newXSproto_portable("Purple::get_ims", XS_Purple_get_ims, file, "");
1574
        (void)newXSproto_portable("Purple::get_conversations", XS_Purple_get_conversations, file, "");
1575
        (void)newXSproto_portable("Purple::get_chats", XS_Purple_get_chats, file, "");
1576
        (void)newXSproto_portable("Purple::find_conversation_with_account", XS_Purple_find_conversation_with_account, file, "$$$");
1577
        (void)newXSproto_portable("Purple::Conversations::get_handle", XS_Purple__Conversations_get_handle, file, "");
1578
        (void)newXSproto_portable("Purple::Conversation::destroy", XS_Purple__Conversation_destroy, file, "$");
1579
        (void)newXSproto_portable("Purple::Conversation::get_type", XS_Purple__Conversation_get_type, file, "$");
1580
        (void)newXSproto_portable("Purple::Conversation::get_account", XS_Purple__Conversation_get_account, file, "$");
1581
        (void)newXSproto_portable("Purple::Conversation::get_gc", XS_Purple__Conversation_get_gc, file, "$");
1582
        (void)newXSproto_portable("Purple::Conversation::set_title", XS_Purple__Conversation_set_title, file, "$$");
1583
        (void)newXSproto_portable("Purple::Conversation::get_title", XS_Purple__Conversation_get_title, file, "$");
1584
        (void)newXSproto_portable("Purple::Conversation::autoset_title", XS_Purple__Conversation_autoset_title, file, "$");
1585
        (void)newXSproto_portable("Purple::Conversation::set_name", XS_Purple__Conversation_set_name, file, "$$");
1586
        (void)newXSproto_portable("Purple::Conversation::get_name", XS_Purple__Conversation_get_name, file, "$");
1587
        (void)newXSproto_portable("Purple::Conversation::set_logging", XS_Purple__Conversation_set_logging, file, "$$");
1588
        (void)newXSproto_portable("Purple::Conversation::is_logging", XS_Purple__Conversation_is_logging, file, "$");
1589
        (void)newXSproto_portable("Purple::Conversation::get_im_data", XS_Purple__Conversation_get_im_data, file, "$");
1590
        (void)newXSproto_portable("Purple::Conversation::get_chat_data", XS_Purple__Conversation_get_chat_data, file, "$");
1591
        (void)newXSproto_portable("Purple::Conversation::get_data", XS_Purple__Conversation_get_data, file, "$$");
1592
        (void)newXSproto_portable("Purple::Conversation::get_features", XS_Purple__Conversation_get_features, file, "$");
1593
        (void)newXSproto_portable("Purple::Conversation::has_focus", XS_Purple__Conversation_has_focus, file, "$");
1594
        (void)newXSproto_portable("Purple::Conversation::update", XS_Purple__Conversation_update, file, "$$");
1595
        (void)newXSproto_portable("Purple::Conversation::new", XS_Purple__Conversation_new, file, "$$$$");
1596
        (void)newXSproto_portable("Purple::Conversation::set_account", XS_Purple__Conversation_set_account, file, "$$");
1597
        (void)newXSproto_portable("Purple::Conversation::write", XS_Purple__Conversation_write, file, "$$$$$");
1598
        (void)newXSproto_portable("Purple::Conversation::do_command", XS_Purple__Conversation_do_command, file, "$$$$");
1599
        (void)newXSproto_portable("Purple::Conversation::IM::get_conversation", XS_Purple__Conversation__IM_get_conversation, file, "$");
1600
        (void)newXSproto_portable("Purple::Conversation::IM::set_icon", XS_Purple__Conversation__IM_set_icon, file, "$$");
1601
        (void)newXSproto_portable("Purple::Conversation::IM::get_icon", XS_Purple__Conversation__IM_get_icon, file, "$");
1602
        (void)newXSproto_portable("Purple::Conversation::IM::set_typing_state", XS_Purple__Conversation__IM_set_typing_state, file, "$$");
1603
        (void)newXSproto_portable("Purple::Conversation::IM::get_typing_state", XS_Purple__Conversation__IM_get_typing_state, file, "$");
1604
        (void)newXSproto_portable("Purple::Conversation::IM::start_typing_timeout", XS_Purple__Conversation__IM_start_typing_timeout, file, "$$");
1605
        (void)newXSproto_portable("Purple::Conversation::IM::stop_typing_timeout", XS_Purple__Conversation__IM_stop_typing_timeout, file, "$");
1606
        (void)newXSproto_portable("Purple::Conversation::IM::get_typing_timeout", XS_Purple__Conversation__IM_get_typing_timeout, file, "$");
1607
        (void)newXSproto_portable("Purple::Conversation::IM::set_type_again", XS_Purple__Conversation__IM_set_type_again, file, "$$");
1608
        (void)newXSproto_portable("Purple::Conversation::IM::get_type_again", XS_Purple__Conversation__IM_get_type_again, file, "$");
1609
        (void)newXSproto_portable("Purple::Conversation::IM::start_send_typed_timeout", XS_Purple__Conversation__IM_start_send_typed_timeout, file, "$");
1610
        (void)newXSproto_portable("Purple::Conversation::IM::stop_send_typed_timeout", XS_Purple__Conversation__IM_stop_send_typed_timeout, file, "$");
1611
        (void)newXSproto_portable("Purple::Conversation::IM::get_send_typed_timeout", XS_Purple__Conversation__IM_get_send_typed_timeout, file, "$");
1612
        (void)newXSproto_portable("Purple::Conversation::IM::update_typing", XS_Purple__Conversation__IM_update_typing, file, "$");
1613
        (void)newXSproto_portable("Purple::Conversation::IM::send", XS_Purple__Conversation__IM_send, file, "$$");
1614
        (void)newXSproto_portable("Purple::Conversation::IM::send_with_flags", XS_Purple__Conversation__IM_send_with_flags, file, "$$$");
1615
        (void)newXSproto_portable("Purple::Conversation::IM::write", XS_Purple__Conversation__IM_write, file, "$$$$$");
1616
        (void)newXSproto_portable("Purple::Conversation::present_error", XS_Purple__Conversation_present_error, file, "$$$");
1617
        (void)newXSproto_portable("Purple::Conversation::custom_smiley_close", XS_Purple__Conversation_custom_smiley_close, file, "$$");
1618
        (void)newXSproto_portable("Purple::Conversation::Chat::get_conversation", XS_Purple__Conversation__Chat_get_conversation, file, "$");
1619
        (void)newXSproto_portable("Purple::Conversation::Chat::set_users", XS_Purple__Conversation__Chat_set_users, file, "$$");
1620
        (void)newXSproto_portable("Purple::Conversation::Chat::get_users", XS_Purple__Conversation__Chat_get_users, file, "$");
1621
        (void)newXSproto_portable("Purple::Conversation::Chat::ignore", XS_Purple__Conversation__Chat_ignore, file, "$$");
1622
        (void)newXSproto_portable("Purple::Conversation::Chat::unignore", XS_Purple__Conversation__Chat_unignore, file, "$$");
1623
        (void)newXSproto_portable("Purple::Conversation::Chat::set_ignored", XS_Purple__Conversation__Chat_set_ignored, file, "$$");
1624
        (void)newXSproto_portable("Purple::Conversation::Chat::get_ignored", XS_Purple__Conversation__Chat_get_ignored, file, "$");
1625
        (void)newXSproto_portable("Purple::Conversation::Chat::get_topic", XS_Purple__Conversation__Chat_get_topic, file, "$");
1626
        (void)newXSproto_portable("Purple::Conversation::Chat::set_id", XS_Purple__Conversation__Chat_set_id, file, "$$");
1627
        (void)newXSproto_portable("Purple::Conversation::Chat::get_id", XS_Purple__Conversation__Chat_get_id, file, "$");
1628
        (void)newXSproto_portable("Purple::Conversation::Chat::send", XS_Purple__Conversation__Chat_send, file, "$$");
1629
        (void)newXSproto_portable("Purple::Conversation::Chat::send_with_flags", XS_Purple__Conversation__Chat_send_with_flags, file, "$$$");
1630
        (void)newXSproto_portable("Purple::Conversation::Chat::write", XS_Purple__Conversation__Chat_write, file, "$$$$$");
1631
        (void)newXSproto_portable("Purple::Conversation::Chat::add_users", XS_Purple__Conversation__Chat_add_users, file, "$$$$$");
1632
        (void)newXSproto_portable("Purple::Conversation::Chat::find_user", XS_Purple__Conversation__Chat_find_user, file, "$$");
1633
        (void)newXSproto_portable("Purple::Conversation::Chat::clear_users", XS_Purple__Conversation__Chat_clear_users, file, "$");
1634
        (void)newXSproto_portable("Purple::Conversation::Chat::set_nick", XS_Purple__Conversation__Chat_set_nick, file, "$$");
1635
        (void)newXSproto_portable("Purple::Conversation::Chat::get_nick", XS_Purple__Conversation__Chat_get_nick, file, "$");
1636
        (void)newXSproto_portable("Purple::Conversation::Chat::purple_find_chat", XS_Purple__Conversation__Chat_purple_find_chat, file, "$$");
1637
        (void)newXSproto_portable("Purple::Conversation::Chat::left", XS_Purple__Conversation__Chat_left, file, "$");
1638
        (void)newXSproto_portable("Purple::Conversation::Chat::has_left", XS_Purple__Conversation__Chat_has_left, file, "$");
1639
        (void)newXSproto_portable("Purple::Conversation::Chat::cb_find", XS_Purple__Conversation__Chat_cb_find, file, "$$");
1640
        (void)newXSproto_portable("Purple::Conversation::Chat::cb_get_name", XS_Purple__Conversation__Chat_cb_get_name, file, "$");
1641
        (void)newXSproto_portable("Purple::Conversation::Chat::cb_destroy", XS_Purple__Conversation__Chat_cb_destroy, file, "$");
1642

    
1643
    /* Initialisation Section */
1644

    
1645
#line 7 "Conversation.xs"
1646
{
1647
        HV *type_stash = gv_stashpv("Purple::Conversation::Type", 1);
1648
        HV *update_stash = gv_stashpv("Purple::Conversation::Update::Type", 1);
1649
        HV *typing_stash = gv_stashpv("Purple::Conversation::TypingState", 1);
1650
        HV *flags_stash = gv_stashpv("Purple::Conversation::Flags", 1);
1651
        HV *cbflags_stash = gv_stashpv("Purple::Conversation::ChatBuddy::Flags", 1);
1652

    
1653
        static const constiv *civ, type_const_iv[] = {
1654
#define const_iv(name) {#name, (IV)PURPLE_CONV_TYPE_##name}
1655
                const_iv(UNKNOWN),
1656
                const_iv(IM),
1657
                const_iv(CHAT),
1658
                const_iv(MISC),
1659
                const_iv(ANY),
1660
        };
1661
        static const constiv update_const_iv[] = {
1662
#undef const_iv
1663
#define const_iv(name) {#name, (IV)PURPLE_CONV_UPDATE_##name}
1664
                const_iv(ADD),
1665
                const_iv(REMOVE),
1666
                const_iv(ACCOUNT),
1667
                const_iv(TYPING),
1668
                const_iv(UNSEEN),
1669
                const_iv(LOGGING),
1670
                const_iv(TOPIC),
1671
/*
1672
                const_iv(ONLINE),
1673
                const_iv(OFFLINE),
1674
*/
1675
                const_iv(AWAY),
1676
                const_iv(ICON),
1677
                const_iv(TITLE),
1678
                const_iv(CHATLEFT),
1679
                const_iv(FEATURES),
1680
        };
1681
        static const constiv typing_const_iv[] = {
1682
#undef const_iv
1683
#define const_iv(name) {#name, (IV)PURPLE_##name}
1684
                const_iv(NOT_TYPING),
1685
                const_iv(TYPING),
1686
                const_iv(TYPED),
1687
        };
1688
        static const constiv flags_const_iv[] = {
1689
#undef const_iv
1690
#define const_iv(name) {#name, (IV)PURPLE_MESSAGE_##name}
1691
                const_iv(SEND),
1692
                const_iv(RECV),
1693
                const_iv(SYSTEM),
1694
                const_iv(AUTO_RESP),
1695
                const_iv(ACTIVE_ONLY),
1696
                const_iv(NICK),
1697
                const_iv(NO_LOG),
1698
                const_iv(WHISPER),
1699
                const_iv(ERROR),
1700
                const_iv(DELAYED),
1701
                const_iv(RAW),
1702
                const_iv(IMAGES),
1703
                const_iv(NOTIFY),
1704
                const_iv(NO_LINKIFY),
1705
        };
1706
        static const constiv cbflags_const_iv[] = {
1707
#undef const_iv
1708
#define const_iv(name) {#name, (IV)PURPLE_CBFLAGS_##name}
1709
                const_iv(NONE),
1710
                const_iv(VOICE),
1711
                const_iv(HALFOP),
1712
                const_iv(OP),
1713
                const_iv(FOUNDER),
1714
                const_iv(TYPING),
1715
        };
1716

    
1717
        for (civ = type_const_iv + sizeof(type_const_iv) / sizeof(type_const_iv[0]); civ-- > type_const_iv; )
1718
                newCONSTSUB(type_stash, (char *)civ->name, newSViv(civ->iv));
1719

    
1720
        for (civ = update_const_iv + sizeof(update_const_iv) / sizeof(update_const_iv[0]); civ-- > update_const_iv; )
1721
                newCONSTSUB(update_stash, (char *)civ->name, newSViv(civ->iv));
1722

    
1723
        for (civ = typing_const_iv + sizeof(typing_const_iv) / sizeof(typing_const_iv[0]); civ-- > typing_const_iv; )
1724
                newCONSTSUB(typing_stash, (char *)civ->name, newSViv(civ->iv));
1725

    
1726
        for (civ = flags_const_iv + sizeof(flags_const_iv) / sizeof(flags_const_iv[0]); civ-- > flags_const_iv; )
1727
                newCONSTSUB(flags_stash, (char *)civ->name, newSViv(civ->iv));
1728

    
1729
        for (civ = cbflags_const_iv + sizeof(cbflags_const_iv) / sizeof(cbflags_const_iv[0]); civ-- > cbflags_const_iv; )
1730
                newCONSTSUB(cbflags_stash, (char *)civ->name, newSViv(civ->iv));
1731
}
1732

    
1733
#line 1734 "Conversation.c"
1734

    
1735
    /* End of Initialisation Section */
1736

    
1737
#if (PERL_REVISION == 5 && PERL_VERSION >= 9)
1738
  if (PL_unitcheckav)
1739
       call_list(PL_scopestack_ix, PL_unitcheckav);
1740
#endif
1741
    XSRETURN_YES;
1742
}
1743