diff options
author | Miklos Vajna <vmiklos@frugalware.org> | 2008-02-29 01:43:02 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@frugalware.org> | 2008-02-29 01:43:02 +0100 |
commit | acd94789946b2bc83ab529485a3342255a2cdecf (patch) | |
tree | c133f7816c338d46d99a313b0f38fbd6a12904a5 | |
parent | 239b036c7fc0eb9e9484e84caeb6e03594cc9eb6 (diff) |
report 'finished' when call finishes
till now we reported only cancelled calls
-rw-r--r-- | skype/skype.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/skype/skype.c b/skype/skype.c index 40b43a02..299e0768 100644 --- a/skype/skype.c +++ b/skype/skype.c @@ -43,6 +43,7 @@ typedef enum SKYPE_CALL_MISSED, SKYPE_CALL_UNPLACED, SKYPE_CALL_CANCELLED, + SKYPE_CALL_FINISHED, /* This means we are ringing somebody, not somebody rings us. */ SKYPE_CALL_RINGING_OUT } skype_call_status; @@ -583,6 +584,12 @@ static gboolean skype_read_callback( gpointer data, gint fd, b_input_condition c skype_write( ic, buf, strlen( buf ) ); sd->call_status = SKYPE_CALL_CANCELLED; } + else if(!strcmp(info, "STATUS FINISHED")) + { + g_snprintf(buf, 1024, "GET CALL %s PARTNER_HANDLE\n", id); + skype_write( ic, buf, strlen( buf ) ); + sd->call_status = SKYPE_CALL_FINISHED; + } else if(!strcmp(info, "STATUS UNPLACED")) { if(sd->call_id) @@ -609,6 +616,9 @@ static gboolean skype_read_callback( gpointer data, gint fd, b_input_condition c case SKYPE_CALL_CANCELLED: imcb_log(ic, "You cancelled the call to the user %s.", info); break; + case SKYPE_CALL_FINISHED: + imcb_log(ic, "You finished the call to the user %s.", info); + break; default: /* Don't be noisy, ignore other statuses for now. */ break; |