Appspotdemo.Mono.Droid.AppRTCDemoActivity.GAEHandler.onMessage C# (CSharp) Method

onMessage() private method

private onMessage ( string data ) : void
data string
return void
            public void onMessage(string data)
            {
                try
                {
                    JSONObject json = new JSONObject(data);
                    string type = (string)json.Get("type");
                    if (type.Equals("candidate"))
                    {
                        IceCandidate candidate = new IceCandidate((string)json.Get("id"), json.GetInt("label"), (string)json.Get("candidate"));
                        if (outerInstance.queuedRemoteCandidates != null)
                        {
                            outerInstance.queuedRemoteCandidates.AddLast(candidate);
                        }
                        else
                        {
                            outerInstance.pc.AddIceCandidate(candidate);
                        }
                    }
                    else if (type.Equals("answer") || type.Equals("offer"))
                    {
                        SessionDescription sdp = new SessionDescription(SessionDescription.SessionDescriptionType.FromCanonicalForm(type), outerInstance.preferISAC((string)json.Get("sdp")));
                        outerInstance.pc.SetRemoteDescription(outerInstance.sdpObserver, sdp);
                    }
                    else if (type.Equals("bye"))
                    {
                        outerInstance.logAndToast("Remote end hung up; dropping PeerConnection");
                        outerInstance.disconnectAndExit();
                    }
                    else
                    {
                        throw new Exception("Unexpected message: " + data);
                    }
                }
                catch (JSONException e)
                {
                    throw new Exception("Error", e);
                }
            }