ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.72,1.73


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.72,1.73
Date: Wed, 19 Mar 2003 11:42:23 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2
In directory subversions:/tmp/cvs-serv10319/modules/msn2

Modified Files:
        msn.C 
Log Message:
voice support via gnomemeeting for msn 


Index: msn.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/msn.C,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- msn.C       17 Mar 2003 23:31:37 -0000      1.72
+++ msn.C       19 Mar 2003 16:42:21 -0000      1.73
@@ -504,6 +504,7 @@
 void eb_msn_logout( eb_local_account * account );
 static void eb_msn_authorize_callback( gpointer data, int response );
 static void eb_msn_filetrans_callback( gpointer data, int response );
+static void eb_msn_netmeeting_callback( gpointer data, int response );
 static int eb_msn_authorize_user ( char * username, char * friendlyname );
 static void eb_msn_filetrans_accept(char * filename, void * invitation);
 
@@ -955,6 +956,25 @@
   }
 }
 
+static void eb_msn_netmeeting_callback( gpointer data, int response )
+{
+  invitation_voice * inv;
+
+  inv = (invitation_voice *) data;
+
+  if(inv == NULL) {eb_debug(DBG_MSN, "inv==NULL\n");}
+  else           {eb_debug(DBG_MSN, "inv!=NULL, inv->cookie = 
%s\n",inv->cookie);}
+
+  if(response) {
+    eb_debug(DBG_MSN, "accepting netmeeting\n");
+     msn_netmeeting_accept(inv);
+  }
+  else {
+    eb_debug(DBG_MSN, "rejecting netmeeting\n");
+    msn_netmeeting_reject(inv);
+  }
+}
+
 static void eb_msn_filetrans_accept(char * filename, void * inv_vd)
 {
   invitation_ftp * inv=(invitation_ftp *)inv_vd;
@@ -1960,6 +1980,40 @@
         inv->filename,
         inv->filesize);
   eb_do_dialog(dialog_message, _("Accept file"), eb_msn_filetrans_callback, 
(gpointer) inv );
+
+}
+
+void ext_start_netmeeting(char *ip)
+{
+       FILE *test=NULL;
+       char buf[1024];
+       if(!ip)
+               return;
+       test=popen("gnomemeeting --version 2>&1","r");
+       if (test==NULL)
+               do_error_dialog("You have no gnomemeeting installed or it isn't 
in your PATH.","Cannot run gnomemeeting");
+       else {
+               fgets(buf, sizeof(buf), test);
+               pclose(test);
+               if(strstr(buf,"GnomeMeeting")) {
+                       snprintf(buf,1024,"gnomemeeting -c callto://%s",ip);
+                       /* should check version... 0.85, for example doesn't 
handle -c */
+                       system(buf);
+               } else {
+                       do_error_dialog("You have no gnomemeeting installed or 
it isn't in your PATH.","Cannot run gnomemeeting");              
+               }       
+       }
+}
+
+void ext_netmeeting_invite(msnconn * conn, char * from, char * friendlyname, 
invitation_voice * inv)
+{
+  char dialog_message[1025];
+  char *tmp = Utf8ToStr(friendlyname);
+  sprintf(dialog_message, _("The MSN user %s (%s) would like to speak with you 
using (Gnome|Net)Meeting.\nDo you want to accept ?"),
+         tmp, from);
+  free(tmp);
+  eb_debug(DBG_MSN, "got netmeeting invitation\n");
+  eb_do_dialog(dialog_message, _("Accept invitation"), 
eb_msn_netmeeting_callback, (gpointer) inv );
 
 }
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]