Changeset 3066d23 for perlglue.xs


Ignore:
Timestamp:
Mar 22, 2007, 11:30:13 AM (14 years ago)
Author:
Alejandro R. Sedeño <asedeno@mit.edu>
Branches:
master, barnowl_perlaim, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
1cf32e7d
Parents:
fbd07e9
Message:
Fix outgoing jabber logging.

Added two new perlglue functions:

* log_message - takes a message hash, turns it into an owl message,
and passes it to the logger.

* add_and_log_message - combination off add_message and
log_message. Takes a message hash, turns it into an owl message, logs
it, and adds the same message to the message list if needed. This
exists for convenience, so we don't have to convert the message hash
twice.

Also, took out an extraneous check from logging.c.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • perlglue.xs

    rb6c067a r3066d23  
    121121        {
    122122                if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
    123                         croak("Usage: owl::queue_message($message)");
     123                        croak("Usage: BarnOwl::queue_message($message)");
    124124                }
    125125
     
    136136        {
    137137                if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
    138                         croak("Usage: owl::add_message($message)");
     138                        croak("Usage: BarnOwl::add_message($message)");
    139139                }
    140140
     
    142142                        m = owl_perlconfig_hashref2message(msg);
    143143                        owl_function_add_message(m);
     144                }
     145        }
     146
     147void log_message(msg)
     148        SV *msg
     149        PREINIT:
     150                owl_message *m;
     151        CODE:
     152        {
     153                if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
     154                        croak("Usage: BarnOwl::log_message($message)");
     155                }
     156
     157                m = owl_perlconfig_hashref2message(msg);
     158                owl_log_message(m);
     159                owl_message_free(m);
     160        }
     161
     162void add_and_log_message(msg)
     163        SV *msg
     164        PREINIT:
     165                owl_message *m;
     166        CODE:
     167        {
     168                if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
     169                        croak("Usage: BarnOwl::add_and_log_message($message)");
     170                }
     171
     172                m = owl_perlconfig_hashref2message(msg);
     173                owl_log_message(m);
     174                if (owl_global_is_displayoutgoing(&g)) {
     175                        owl_function_add_message(m);
     176                } else {
     177                        owl_message_free(m);
    144178                }
    145179        }
Note: See TracChangeset for help on using the changeset viewer.