Changeset dd16bdd
- Timestamp:
- Oct 27, 2006, 1:19:54 AM (16 years ago)
- Branches:
- master, barnowl_perlaim, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- 1b6b2f3
- Parents:
- 39c036d
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
message.c
r8298425 rdd16bdd 341 341 m->type=OWL_MESSAGE_TYPE_AIM; 342 342 } 343 344 void owl_message_set_type(owl_message *m, int type) 345 { 346 m->type=type; 347 } 343 348 344 349 int owl_message_is_type_admin(owl_message *m) … … 396 401 { 397 402 m->direction=OWL_MESSAGE_DIRECTION_NONE; 403 } 404 405 void owl_message_set_direction(owl_message *m, int direction) 406 { 407 m->direction=direction; 398 408 } 399 409 … … 631 641 } 632 642 643 int owl_message_parse_type(char *type) { 644 if(!strcmp(type, "admin")) { 645 return OWL_MESSAGE_TYPE_ADMIN; 646 } else if(!strcmp(type, "zephyr")) { 647 return OWL_MESSAGE_TYPE_ZEPHYR; 648 } if(!strcmp(type, "aim")) { 649 return OWL_MESSAGE_TYPE_AIM; 650 } else if(!strcmp(type, "jabber")) { 651 return OWL_MESSAGE_TYPE_JABBER; 652 } else if(!strcmp(type, "icq")) { 653 return OWL_MESSAGE_TYPE_ICQ; 654 } else if(!strcmp(type, "yahoo")) { 655 return OWL_MESSAGE_TYPE_YAHOO; 656 } else if(!strcmp(type, "msn")) { 657 return OWL_MESSAGE_TYPE_MSN; 658 } else if(!strcmp(type, "loopback")) { 659 return OWL_MESSAGE_TYPE_LOOPBACK; 660 } else { 661 return OWL_MESSAGE_TYPE_GENERIC; 662 } 663 } 664 633 665 char *owl_message_get_direction(owl_message *m) { 634 666 switch (m->direction) { … … 644 676 } 645 677 678 int owl_message_parse_direction(char *d) { 679 if(!strcmp(d, "in")) { 680 return OWL_MESSAGE_DIRECTION_IN; 681 } else if(!strcmp(d, "out")) { 682 return OWL_MESSAGE_DIRECTION_OUT; 683 } else { 684 return OWL_MESSAGE_DIRECTION_NONE; 685 } 686 } 687 688 646 689 char *owl_message_get_login(owl_message *m) { 647 690 if (owl_message_is_login(m)) { … … 653 696 } 654 697 } 698 655 699 656 700 char *owl_message_get_header(owl_message *m) { -
perlglue.xs
r6922edd rdd16bdd 1 /* -*- mode: c; indent-tabs-mode: t; c-basic-offset: 8 -*- */ 1 2 static const char fileIdent[] = "$Id$"; 2 3 … … 90 91 cmd.description = description; 91 92 cmd.validctx = OWL_CTX_ANY; 92 93 93 cmd.cmd_aliased_to = NULL; 94 94 cmd.cmd_args_fn = NULL; … … 98 98 cmd.cmd_ctxv_fn = NULL; 99 99 cmd.cmd_ctxi_fn = NULL; 100 owl_cmddict_add_cmd(owl_global_get_cmddict(&g), &cmd); 100 101 101 owl_cmddict_add_cmd(owl_global_get_cmddict(&g), &cmd); 102 void queue_message(msg) 103 SV *msg 104 PREINIT: 105 char * key; 106 char * val; 107 owl_message *m; 108 HV * hash; 109 HE * ent; 110 I32 count; 111 I32 len; 112 CODE: 113 if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) { 114 croak("Usage: owl::queue_message($message)"); 115 } 116 117 hash = (HV*)SvRV(msg); 118 m = owl_malloc(sizeof(owl_message)); 119 owl_message_init(m); 120 121 count = hv_iterinit(hash); 122 while((ent = hv_iternext(hash))) { 123 key = hv_iterkey(ent, &len); 124 val = SvPV_nolen(hv_iterval(hash, ent)); 125 if(!strcmp(key, "type")) { 126 owl_message_set_type(m, owl_message_parse_type(val)); 127 } else if(!strcmp(key, "direction")) { 128 owl_message_set_direction(m, owl_message_parse_direction(val)); 129 } else { 130 owl_message_set_attribute(m, key, val); 131 } 132 } 133 134 owl_global_messagequeue_addmsg(&g, m); -
perlwrap.pm
r6922edd rdd16bdd 62 62 package owl::Message; 63 63 64 sub new { 65 my $class = shift; 66 my %args = (@_); 67 if($class eq __PACKAGE__ && $args{type}) { 68 $class = "owl::Message::" . ucfirst $args{type}; 69 } 70 return bless {%args}, $class; 71 } 72 64 73 sub type { return shift->{"type"}; } 65 74 sub direction { return shift->{"direction"}; } … … 84 93 sub is_admin { return (shift->{"type"} eq "admin"); } 85 94 sub is_generic { return (shift->{"type"} eq "generic"); } 95 sub is_jabber { return (shift->{"type"} eq "jabber"); } 86 96 87 97 # These are overridden by appropriate message types … … 251 261 ##################################################################### 252 262 263 package owl::Message::Jabber; 264 265 @ISA = qw( owl::Message ); 266 267 ##################################################################### 268 ##################################################################### 269 253 270 # switch to package main when we're done 254 271 package main;
Note: See TracChangeset
for help on using the changeset viewer.