ayttm-commits
[Top][All Lists]
Advanced

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

[Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.31,1.32 msn


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2/libmsn2 msn_core.C,1.31,1.32 msn_core.h,1.8,1.9 msn_interface.C,1.6,1.7 msn_interface.h,1.5,1.6
Date: Wed, 19 Mar 2003 11:42:23 -0500

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

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


Index: msn_core.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.C,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- msn_core.C  18 Mar 2003 10:09:59 -0000      1.31
+++ msn_core.C  19 Mar 2003 16:42:21 -0000      1.32
@@ -963,6 +963,11 @@
       msn_recv_file((invitation_ftp *)inv, body);
     } else if(inv_is_out && inv->app==APP_FTP) {
       msn_send_file((invitation_ftp *)inv, body);
+    } else if(!inv_is_out && inv->app == APP_NETMEETING) {
+           char *ip = msn_find_in_mime(body, "IP-Address");
+           /* got a voice invitation and we agreed */
+           ext_start_netmeeting(ip);
+           free(ip);
     }
   } else if(!strcmp(command, "CANCEL") || !strcmp(command, "REJECT")) {
     if(inv==NULL)
@@ -981,9 +986,17 @@
         msn_del_from_llist(conn->invitations_in, inv);
       }
       delete inv;
+    } else if (inv->app == APP_NETMEETING) {
+      if(inv_is_out)
+      {
+        msn_del_from_llist(conn->invitations_out, inv);
+      } else {
+        msn_del_from_llist(conn->invitations_in, inv);
+      }
+      delete inv;
     }
   } else {
-    printf("Argh, don't support %s yet!\n", command);
+    printf("Argh, don't support %s yet!\n(%s)", command,body);
   }
 
   delete command;
@@ -1017,15 +1030,21 @@
     ext_filetrans_invite(conn, from, friendlyname, inv);
     if(tmp1!=NULL) { delete tmp1; tmp1=NULL;}
     if(tmp2!=NULL) { delete tmp2; tmp1=NULL;}
-  } else if ((tmp1=msn_find_in_mime(body, "Session-Protocol")) != NULL
-        &&  (tmp2=msn_find_in_mime(body, "Context-Data")) != NULL) {
-    snprintf(buf, 1024, "%s sent a yet-unsupported Voice Invitation.",from);
-    ext_show_error(conn, buf);
-    recognized=1;
+  } else if ((tmp1=msn_find_in_mime(body, "Session-Protocol")) != NULL) {
+    invitation_voice * inv=new invitation_voice;
+    invg=inv;    
+    invg->app=APP_NETMEETING;
+    invg->other_user=msn_permstring(from);
+    invg->cookie=msn_find_in_mime(body, "Invitation-Cookie");
+    invg->conn=conn;
+    inv->sessionid=msn_find_in_mime(body, "Session-ID");
+         
+    ext_netmeeting_invite(conn, from, friendlyname, inv);
+    if(tmp1!=NULL) { delete tmp1; tmp1=NULL;}
+    if(tmp2!=NULL) { delete tmp2; tmp1=NULL;}
+
   }
   
-  if(tmp1!=NULL) { delete tmp1; tmp1=NULL;}
-  if(tmp2!=NULL) { delete tmp2; tmp1=NULL;}
 
   delete appname;
 
@@ -1369,7 +1388,13 @@
   msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
 
 
-  sprintf(buf, "Invitation-Command: ACCEPT\r\nInvitation-Cookie: 
%s\r\nIP-Address: %s\r\nPort: %d\r\nAuthCookie: %s\r\nLaunch-Application: 
FALSE\r\nRequest-Data: IP-Address:\r\n\r\n",
+  sprintf(buf, "Invitation-Command: ACCEPT\r\n"
+                 "Invitation-Cookie: %s\r\n"
+                 "IP-Address: %s\r\n"
+                 "Port: %d\r\n"
+                 "AuthCookie: %s\r\n"
+                 "Launch-Application: FALSE\r\n"
+                 "Request-Data: IP-Address:\r\n\r\n",
     inv->cookie, ext_get_IP(), port, auth->cookie);
 
   msg->body=msn_permstring(buf);
@@ -1569,7 +1594,9 @@
 {
    message * msg=new message;
 
-   sprintf(buf, "Invitation-Command: CANCEL\r\nInvitation-Cookie: 
%s\r\nCancel-Code: REJECT\r\n",
+   sprintf(buf, "Invitation-Command: CANCEL\r\n"
+                  "Invitation-Cookie: %s\r\n"
+                  "Cancel-Code: REJECT\r\n",
      inv->cookie);
    msg->body=msn_permstring(buf);
    msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
@@ -1588,7 +1615,10 @@
 
    delete inv->filename;
    inv->filename=msn_permstring(dest);
-   sprintf(buf, "Invitation-Command: ACCEPT\r\nInvitation-Cookie: 
%s\r\nLaunch-Application: FALSE\r\nRequest-Data: IP-Address\r\n\r\n",
+   sprintf(buf, "Invitation-Command: ACCEPT\r\n"
+                  "Invitation-Cookie: %s\r\n"
+                  "Launch-Application: FALSE\r\n"
+                  "Request-Data: IP-Address\r\n\r\n",
      inv->cookie);
    msg->body=msn_permstring(buf);
    msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
@@ -1597,6 +1627,48 @@
 
 if(DEBUG)
    printf("Accepting file transfer\n");
+}
+
+void msn_netmeeting_reject(invitation_voice * inv)
+{
+   message * msg=new message;
+
+   sprintf(buf, "Invitation-Command: CANCEL\r\n"
+                  "Invitation-Cookie: %s\r\n"
+                  "Cancel-Code: REJECT\r\n",
+     inv->cookie);
+   msg->body=msn_permstring(buf);
+   msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
+   msn_send_IM(inv->conn, NULL, msg);
+   delete msg;
+
+if(DEBUG)
+   printf("Rejecting netmeeting\n");
+
+   msn_del_from_llist(inv->conn->invitations_in, inv);
+}
+
+void msn_netmeeting_accept(invitation_voice * inv)
+{
+   message * msg=new message;
+
+   sprintf(buf, "Invitation-Command: ACCEPT\r\n"
+                  "Invitation-Cookie: %s\r\n"
+                  "Launch-Application: TRUE\r\n"
+                  "Session-ID: %s\r\n"
+                  "Session-Protocol: SM1\r\n"
+                  "Request-Data: IP-Address:\r\n"
+                  "IP-Address: %s\r\n\r\n",
+     inv->cookie,
+     inv->sessionid,
+     ext_get_IP());
+   msg->body=msn_permstring(buf);
+   msg->content=msn_permstring("text/x-msmsgsinvite; charset=UTF-8");
+   msn_send_IM(inv->conn, NULL, msg);
+   delete msg;
+
+if(DEBUG)
+   printf("Accepting netmeeting\n");
 
 }
 

Index: msn_core.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_core.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- msn_core.h  16 Mar 2003 03:33:44 -0000      1.8
+++ msn_core.h  19 Mar 2003 16:42:21 -0000      1.9
@@ -142,6 +142,7 @@
 };
 
 #define APP_FTP 1       // NOTE: this is MSN file transfer, which is NOTHING 
to do with ordinary FTP!
+#define APP_NETMEETING 2
 
 class invitation_ftp : public invitation
 {
@@ -154,6 +155,16 @@
     { if(filename!=NULL) { delete filename; } }
 };
 
+class invitation_voice : public invitation
+{
+  public:
+  char * sessionid;
+
+  invitation_voice() { sessionid=NULL; }
+  ~invitation_voice()
+    { if(sessionid!=NULL) { delete sessionid; } }
+};
+
 
 class authdata_FTP : public authdata
 {
@@ -212,6 +223,10 @@
 void msn_filetrans_accept(invitation_ftp * inv, char * dest);
 
 void msn_filetrans_reject(invitation_ftp * inv);
+
+void msn_netmeeting_accept(invitation_voice * inv);
+
+void msn_netmeeting_reject(invitation_voice * inv);
 
 invitation_ftp * msn_filetrans_send(msnconn * conn, char * path);
 

Index: msn_interface.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_interface.C,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- msn_interface.C     2 Mar 2003 01:06:37 -0000       1.6
+++ msn_interface.C     19 Mar 2003 16:42:21 -0000      1.7
@@ -309,6 +309,17 @@
   msn_filetrans_accept(inv, "tmp.out");
 }
 
+void ext_neetmeeting_invite(msnconn * conn, char * username, char * 
friendlyname, invitation_voice * inv)
+{
+  printf("Got netmeeting invitation from %s (%s)\n", friendlyname, username);
+  msn_netmeeting_reject(inv);
+}
+
+void ext_start_netmeeting(char *ip)
+{
+       printf("run `gnomemeeting -c callto://%s`\n",ip);
+}
+
 void ext_filetrans_progress(invitation_ftp * inv, char * status, unsigned long 
sent, unsigned long total)
 {
   printf("File transfer: %s\t(%lu/%lu bytes sent)\n", status, sent, total);

Index: msn_interface.h
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/libmsn2/msn_interface.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- msn_interface.h     28 Feb 2003 10:51:46 -0000      1.5
+++ msn_interface.h     19 Mar 2003 16:42:21 -0000      1.6
@@ -53,6 +53,8 @@
 void ext_new_mail_arrived(msnconn * conn, char * from, char * subject);
 
 void ext_filetrans_invite(msnconn * conn, char * username, char * 
friendlyname, invitation_ftp * inv);
+void ext_netmeeting_invite(msnconn * conn, char * username, char * 
friendlyname, invitation_voice * inv);
+void ext_start_netmeeting(char *ip);
 
 void ext_filetrans_progress(invitation_ftp * inv, char * status, unsigned long 
recv, unsigned long total);
 





reply via email to

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