[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r30739 - gnunet/src/conversation
From: |
gnunet |
Subject: |
[GNUnet-SVN] r30739 - gnunet/src/conversation |
Date: |
Sat, 16 Nov 2013 00:03:15 +0100 |
Author: grothoff
Date: 2013-11-16 00:03:15 +0100 (Sat, 16 Nov 2013)
New Revision: 30739
Modified:
gnunet/src/conversation/conversation_api_call.c
Log:
-completing API implementation
Modified: gnunet/src/conversation/conversation_api_call.c
===================================================================
--- gnunet/src/conversation/conversation_api_call.c 2013-11-15 22:58:21 UTC
(rev 30738)
+++ gnunet/src/conversation/conversation_api_call.c 2013-11-15 23:03:15 UTC
(rev 30739)
@@ -652,7 +652,24 @@
void
GNUNET_CONVERSATION_call_suspend (struct GNUNET_CONVERSATION_Call *call)
{
- GNUNET_break (0);
+ struct GNUNET_MQ_Envelope *e;
+ struct ClientPhoneSuspendMessage *suspend;
+
+ GNUNET_assert ( (CS_SUSPENDED_CALLEE == call->state) ||
+ (CS_ACTIVE == call->state) );
+ if (CS_ACTIVE == call->state)
+ {
+ call->speaker->disable_speaker (call->speaker->cls);
+ call->mic->disable_microphone (call->mic->cls);
+ }
+ call->speaker = NULL;
+ call->mic = NULL;
+ e = GNUNET_MQ_msg (suspend,
GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_SUSPEND);
+ GNUNET_MQ_send (call->mq, e);
+ if (CS_SUSPENDED_CALLER == call->state)
+ call->state = CS_SUSPENDED_BOTH;
+ else
+ call->state = CS_SUSPENDED_CALLER;
}
@@ -671,7 +688,27 @@
struct GNUNET_SPEAKER_Handle *speaker,
struct GNUNET_MICROPHONE_Handle *mic)
{
- GNUNET_break (0);
+ struct GNUNET_MQ_Envelope *e;
+ struct ClientPhoneResumeMessage *resume;
+
+ GNUNET_assert ( (CS_SUSPENDED_CALLER == call->state) ||
+ (CS_SUSPENDED_BOTH == call->state) );
+ e = GNUNET_MQ_msg (resume, GNUNET_MESSAGE_TYPE_CONVERSATION_CS_PHONE_RESUME);
+ GNUNET_MQ_send (call->mq, e);
+ call->speaker = speaker;
+ call->mic = mic;
+ if (CS_SUSPENDED_CALLER == call->state)
+ {
+ call->state = CS_ACTIVE;
+ call->speaker->enable_speaker (call->speaker->cls);
+ call->mic->enable_microphone (call->mic->cls,
+ &transmit_call_audio,
+ call);
+ }
+ else
+ {
+ call->state = CS_SUSPENDED_CALLEE;
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r30739 - gnunet/src/conversation,
gnunet <=