[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [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,
Colin Leroy <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm ChangeLog,1.348,1.349 configure.in,1.343,1.344
- Next by Date:
[Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.72,1.73
- Previous by thread:
[Ayttm-commits] CVS: ayttm ChangeLog,1.348,1.349 configure.in,1.343,1.344
- Next by thread:
[Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.72,1.73
- Index(es):