public override void handler(MessageElement m, HandlerErrorInfo error)
        {
            // using (m)
            {
                try
                {
                    this.Dispose();

                    if (error.error_code != 0)
                    {
                        using (m) using (MessageEntry merr = new MessageEntry())
                            {
                                this.handler_task.SetException(RobotRaconteurExceptionUtil.ErrorInfoToException(error));
                                return;
                            }
                    }

                    this.handler_task.SetResult(m);
                }
                catch (Exception e)
                {
                    using (m) using (MessageEntry merr = new MessageEntry())
                        {
                            RobotRaconteurExceptionUtil.ExceptionToMessageEntry(e, merr);
                            RRDirectorExceptionHelper.SetError(merr, e.ToString());
                        }
                }
            }
        }
Exemple #2
0
 public override void SetRobotRaconteurException(HandlerErrorInfo error)
 {
     using (MessageEntry e = new MessageEntry())
     {
         Exception ex = RobotRaconteurExceptionUtil.ErrorInfoToException(error);
         RobotRaconteurNETPINVOKE.SWIGPendingException.Set(ex);
     }
 }
        public override void handler(WrappedServiceStub innerstub, HandlerErrorInfo error)
        {
            try
            {
                if (error.error_code != 0)
                {
                    using (MessageEntry merr = new MessageEntry())
                    {
                        this.handler_task.SetException(RobotRaconteurExceptionUtil.ErrorInfoToException(error));
                        return;
                    }
                }

                object s  = null;
                T      s1 = default(T);
                try
                {
                    int id = innerstub.GetObjectHeapID();
                    if (id != 0)
                    {
                        handler_task.SetResult((T)RRObjectHeap.GetObject(id));
                        return;
                    }

                    ServiceFactory f;
                    if (factory == null)
                    {
                        f = RobotRaconteurNode.s.GetServiceType(innerstub.RR_objecttype.GetServiceDefinition().Name);
                    }
                    else
                    {
                        f = factory;
                    }
                    s  = f.CreateStub(innerstub);
                    s1 = (T)s;
                }
                catch (Exception e)
                {
                    handler_task.SetException(e);
                    return;
                }

                handler_task.SetResult(s1);
            }
            catch (Exception e)
            {
                using (MessageEntry merr = new MessageEntry())
                {
                    RobotRaconteurExceptionUtil.ExceptionToMessageEntry(e, merr);
                    RRDirectorExceptionHelper.SetError(merr, e.ToString());
                }
            }
        }
 public override void handler(TimerEvent ev, HandlerErrorInfo error)
 {
     try
     {
         handler_func(ev);
     }
     catch (Exception e)
     {
         using (MessageEntry merr = new MessageEntry())
         {
             RobotRaconteurExceptionUtil.ExceptionToMessageEntry(e, merr);
             RRDirectorExceptionHelper.SetError(merr, e.ToString());
         }
     }
 }
Exemple #5
0
            public override void ClientConnectFailed(WrappedServiceSubscription subscription,
                                                     WrappedServiceSubscriptionClientID id, vectorstring url,
                                                     HandlerErrorInfo err)
            {
                var s = (ServiceSubscription)subscription1.Target;

                if (s == null)
                {
                    return;
                }
                if (s.ClientConnectFailed == null)
                {
                    return;
                }

                s.ClientConnectFailed(s, new ServiceSubscriptionClientID(id), url.ToArray(),
                                      RobotRaconteurExceptionUtil.ErrorInfoToException(err));
            }
        public override void handler(HandlerErrorInfo error)
        {
            try
            {
                if (error.error_code != 0)
                {
                    using (MessageEntry merr = new MessageEntry())
                    {
                        this.handler_func(RobotRaconteurExceptionUtil.ErrorInfoToException(error));
                        return;
                    }
                }

                handler_func(new Exception("Unknown exception"));
            }
            catch (Exception e)
            {
                using (MessageEntry merr = new MessageEntry())
                {
                    RobotRaconteurExceptionUtil.ExceptionToMessageEntry(e, merr);
                    RRDirectorExceptionHelper.SetError(merr, e.ToString());
                }
            }
        }
        public override void handler(string s, HandlerErrorInfo error)
        {
            try
            {
                if (error.error_code != 0)
                {
                    using (MessageEntry merr = new MessageEntry())
                    {
                        handler_task.SetException(RobotRaconteurExceptionUtil.ErrorInfoToException(error));
                        return;
                    }
                }

                handler_task.SetResult(s);
            }
            catch (Exception e)
            {
                using (MessageEntry merr = new MessageEntry())
                {
                    RobotRaconteurExceptionUtil.ExceptionToMessageEntry(e, merr);
                    RRDirectorExceptionHelper.SetError(merr, e.ToString());
                }
            }
        }