aboutsummaryrefslogtreecommitdiffstats
path: root/skype/skype.c
diff options
context:
space:
mode:
Diffstat (limited to 'skype/skype.c')
-rw-r--r--skype/skype.c10
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;