Esempio n. 1
0
        protected void BeginGetResponseAsyncCallback(IAsyncResult ar)
        {
            if (ar.IsCompleted)
            {
                string     outString = string.Empty;
                PendingJob job       = ar.AsyncState as PendingJob;
                if (job == null)
                {
                    return;
                }

                lock (Jobs)
                {
                    Jobs.Remove(job);
                }

                JsonMessageResponceArgs args = new JsonMessageResponceArgs();
                args.RequestMessage = job.Request;
                args.Token          = job.MessagToken;

                var resp = job.Requester.EndGetResponse(ar);
                var os   = resp.GetResponseStream();
                var sr   = new StreamReader(os);
                outString = sr.ReadToEnd();
                sr.Close();
                os.Close();

                args.ResponceMessage = MessageProcessor.ParseMessage(outString);

                job.CallResponce(args);
            }
        }
Esempio n. 2
0
        public void SendMessage(JsonMessage request, object token, EventHandler <JsonMessageResponceArgs> handler)
        {
            byte[] buffer = System.Text.Encoding.UTF8.GetBytes(MessageProcessor.PackMessage(request));

            PendingJob job = new PendingJob();

            job.MessagToken = token;
            job.Request     = request;

            job.Requester = WebRequest.Create(BaseURL);

            job.Requester.ContentType   = "application/json";
            job.Requester.Method        = "POST";
            job.Requester.ContentLength = buffer.Length;
            if (handler != null)
            {
                job.ResponceCallback += handler;
            }

            var stream = job.Requester.GetRequestStream();

            stream.Write(buffer, 0, buffer.Length);
            stream.Close();

            // job.
            lock (Jobs)
            {
                Jobs.Add(job);
                job.AsyncResult = job.Requester.BeginGetResponse(BeginGetResponseAsyncCallback, job);
            }
        }
Esempio n. 3
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PendingJob obj)
 {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }
Esempio n. 4
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PendingJob obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Esempio n. 5
0
 public void utilAddPendingJob(PendingJob job)
 {
     pjsua2PINVOKE.Endpoint_utilAddPendingJob(swigCPtr, PendingJob.getCPtr(job));
 }
Esempio n. 6
0
 public void utilAddPendingJob(PendingJob job)
 {
     pjsua2PINVOKE.Endpoint_utilAddPendingJob(swigCPtr, PendingJob.getCPtr(job));
 }