[243] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r419 - trunk/owl

daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:04:04 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Sun, 29 Oct 2006 09:58:06 -0500 (EST)

Author: asedeno
Date: 2006-10-29 05:01:52 -0500 (Sun, 29 Oct 2006)
New Revision: 419

Modified:
   trunk/owl/message.c
   trunk/owl/perlconfig.c
   trunk/owl/perlwrap.pm
Log:
Adding some missing owl_message_type_is functions.
Ensuring all the attributes of a message make it out to the perl hash.



Modified: trunk/owl/message.c
===================================================================
--- trunk/owl/message.c	2006-10-28 21:03:44 UTC (rev 418)
+++ trunk/owl/message.c	2006-10-29 10:01:52 UTC (rev 419)
@@ -121,7 +121,7 @@
   owl_view *v;
 
   if (m->invalid_format) {
-    /* for now we assume there's jsut the one view and use that style */
+    /* for now we assume there's just the one view and use that style */
     v=owl_global_get_current_view(&g);
     s=owl_view_get_style(v);
 
@@ -352,9 +352,9 @@
   return(0);
 }
 
-int owl_message_is_type_loopback(owl_message *m)
+int owl_message_is_type_generic(owl_message *m)
 {
-  if (m->type==OWL_MESSAGE_TYPE_LOOPBACK) return(1);
+  if (m->type==OWL_MESSAGE_TYPE_GENERIC) return(1);
   return(0);
 }
 
@@ -370,18 +370,46 @@
   return(0);
 }
 
-int owl_message_is_pseudo(owl_message *m)
+int owl_message_is_type_jabber(owl_message *m)
 {
-  if (owl_message_get_attribute_value(m, "pseudo")) return(1);
+  if (m->type==OWL_MESSAGE_TYPE_JABBER) return(1);
+
   return(0);
 }
 
-int owl_message_is_type_generic(owl_message *m)
+int owl_message_is_type_icq(owl_message *m)
 {
-  if (m->type==OWL_MESSAGE_TYPE_GENERIC) return(1);
+  if (m->type==OWL_MESSAGE_TYPE_ICQ) return(1);
+
   return(0);
 }
 
+int owl_message_is_type_yahoo(owl_message *m)
+{
+  if (m->type==OWL_MESSAGE_TYPE_YAHOO) return(1);
+
+  return(0);
+}
+
+int owl_message_is_type_msn(owl_message *m)
+{
+  if (m->type==OWL_MESSAGE_TYPE_MSN) return(1);
+
+  return(0);
+}
+
+int owl_message_is_type_loopback(owl_message *m)
+{
+  if (m->type==OWL_MESSAGE_TYPE_LOOPBACK) return(1);
+  return(0);
+}
+
+int owl_message_is_pseudo(owl_message *m)
+{
+  if (owl_message_get_attribute_value(m, "pseudo")) return(1);
+  return(0);
+}
+
 char *owl_message_get_text(owl_message *m)
 {
   return(owl_fmtext_get_text(&(m->fmtext)));

Modified: trunk/owl/perlconfig.c
===================================================================
--- trunk/owl/perlconfig.c	2006-10-28 21:03:44 UTC (rev 418)
+++ trunk/owl/perlconfig.c	2006-10-29 10:01:52 UTC (rev 419)
@@ -31,6 +31,7 @@
   SV *hr;
   char *ptr, *blessas;
   int i, j;
+  owl_pair *pair;
 
   if (!m) return &PL_sv_undef;
   h = newHV();
@@ -56,6 +57,13 @@
 	     newSVpv(owl_zephyr_get_authstr(owl_message_get_notice(m)),0),0);
   }
 
+  j=owl_list_get_size(&(m->attributes));
+  for(i=0; i<j; i++) {
+    pair=owl_list_get_element(&(m->attributes), i);
+    hv_store(h, owl_pair_get_key(pair), strlen(owl_pair_get_key(pair)),
+	     newSVpv(owl_pair_get_value(pair),0),0);
+  }
+  
   MSG2H(h, type);
   MSG2H(h, direction);
   MSG2H(h, class);
@@ -79,6 +87,7 @@
 
   if (owl_message_is_type_zephyr(m))       blessas = "owl::Message::Zephyr";
   else if (owl_message_is_type_aim(m))     blessas = "owl::Message::AIM";
+  else if (owl_message_is_type_jabber(m))  blessas = "owl::Message::Jabber";
   else if (owl_message_is_type_admin(m))   blessas = "owl::Message::Admin";
   else if (owl_message_is_type_generic(m)) blessas = "owl::Message::Generic";
   else                                     blessas = "owl::Message";

Modified: trunk/owl/perlwrap.pm
===================================================================
--- trunk/owl/perlwrap.pm	2006-10-28 21:03:44 UTC (rev 418)
+++ trunk/owl/perlwrap.pm	2006-10-29 10:01:52 UTC (rev 419)
@@ -88,11 +88,15 @@
 
 sub is_deleted  { return shift->{"deleted"}; }
 
+sub is_admin    { return (shift->{"type"} eq "admin"); }
+sub is_generic  { return (shift->{"type"} eq "generic"); }
 sub is_zephyr   { return (shift->{"type"} eq "zephyr"); }
 sub is_aim      { return (shift->{"type"} eq "aim"); }
-sub is_admin    { return (shift->{"type"} eq "admin"); }
-sub is_generic  { return (shift->{"type"} eq "generic"); }
 sub is_jabber   { return (shift->{"type"} eq "jabber"); }
+sub is_icq      { return (shift->{"type"} eq "icq"); }
+sub is_yahoo    { return (shift->{"type"} eq "yahoo"); }
+sub is_msn      { return (shift->{"type"} eq "msn"); }
+sub is_loopback { return (shift->{"type"} eq "loopback"); }
 
 # These are overridden by appropriate message types
 sub is_ping     { return 0; }


home help back first fref pref prev next nref lref last post