[1113] in BarnOwl Developers

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

[D-O-H] r1077 - in branches/barnowl_perlaim/owl: . perl/modules/AIM/lib/BarnOwl/Module

daemon@ATHENA.MIT.EDU (geofft@MIT.EDU)
Thu Oct 29 18:13:09 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@nelhage.com
Date: Sun, 1 Jun 2008 20:37:02 -0400 (EDT)
To: dirty-owl-hackers@MIT.EDU
From: geofft@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU

Author: geofft
Date: 2008-06-01 20:37:02 -0400 (Sun, 01 Jun 2008)
New Revision: 1077

Modified:
   branches/barnowl_perlaim/owl/commands.c
   branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm
Log:
Proof-of-concept AIM client. Maybe less than a proof. Lemma-of-concept.



Modified: branches/barnowl_perlaim/owl/commands.c
===================================================================
--- branches/barnowl_perlaim/owl/commands.c	2008-06-01 08:02:46 UTC (rev 1076)
+++ branches/barnowl_perlaim/owl/commands.c	2008-06-02 00:37:02 UTC (rev 1077)
@@ -2469,12 +2469,12 @@
 
 void owl_command_editresponse_done(owl_editwin *e)
 {
-  owl_function_run_buffercommand();
-
   owl_global_set_typwin_inactive(&g);
   owl_editwin_fullclear(e);
   wnoutrefresh(owl_editwin_get_curswin(e));
   owl_global_set_needrefresh(&g);
+
+  owl_function_run_buffercommand();
 }
 
 

Modified: branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm
===================================================================
--- branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm	2008-06-01 08:02:46 UTC (rev 1076)
+++ branches/barnowl_perlaim/owl/perl/modules/AIM/lib/BarnOwl/Module/AIM.pm	2008-06-02 00:37:02 UTC (rev 1077)
@@ -15,34 +15,52 @@
 
 use Net::OSCAR;
 
+our @oscars;
+
+sub on_im_in {
+    my ($oscar, $sender, $message, $is_away) = @_;
+    my $msg = BarnOwl::Message->new(
+            type => 'AIM',
+            sender => $sender,
+            body => $message,
+            away => $is_away,
+            );
+    BarnOwl::queue_message($msg);
+}
+
 sub cmd_aimlogin { 
+=comment
     my ($cmd, $user, $pass) = @_;
-    if (undef $user) {
+    if (!defined $user) {
         BarnOwl::start_question('Username: ', sub {
                 cmd_aimlogin($cmd, @_);
                 });
-    } elsif (undef $pass) {
+    } elsif (!defined $pass) {
         BarnOwl::start_password('Password: ', sub {
                 cmd_aimlogin($cmd, $user, @_);
                 });
     } else {
+=cut
+    {
         my $oscar = Net::OSCAR->new();
+        my ($user, $pass) = ('...', '...');
         $oscar->set_callback_im_in(\&on_im_in);
-        $oscar->signon($user, $pass);
+        $oscar->signon(
+                screenname => $user,
+                password => $pass
+                );
+        push @oscars, $oscar;
     }
 }
+BarnOwl::new_command(aimlogin => \&cmd_aimlogin, {});
 
-sub on_im_in {
-    my ($oscar, $sender, $message, $is_away) = @_;
-    my $msg = BarnOwl::Message->new(
-            type => 'AIM',
-            sender => $sender,
-            body => $message,
-            away => $is_away,
-            );
-    BarnOwl::queue_message($msg);
+sub main_loop {
+    for my $oscar (@oscars) {
+        $oscar->do_one_loop();
+    }
 }
+$BarnOwl::Hooks::mainLoop->add(\&main_loop);
 
-BarnOwl::new_command(aimlogin => \&cmd_aimlogin, {});
+1;
 
-1;
+# vim: set sw=4 et cin:


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