Beispiel #1
0
        public void UpdateServiceURL(string url, string username = null, Dictionary <string, object> credentials = null,
                                     string objecttype           = null, bool close_connected = false)
        {
            MessageElementData credentials2 = null;

            try
            {
                if (username == null)
                {
                    username = "";
                }
                if (credentials != null)
                {
                    credentials2 = (MessageElementData)RobotRaconteurNode.s.PackVarType(credentials);
                }

                if (objecttype == null)
                {
                    objecttype = "";
                }

                _subscription.UpdateServiceURL(url, username, credentials2, objecttype, close_connected);
            }
            finally
            {
                if (credentials2 != null)
                {
                    credentials2.Dispose();
                }
            }
        }
Beispiel #2
0
        private object GetData()
        {
            using (MessageElementData val = _GetData())
            {
                if (val == null)
                {
                    return(null);
                }
                object a = null;
                a = MessageElementDataUtil.ToRRBaseArray(val);
                if (a != null)
                {
                    if (DataTypeUtil.IsNumber(val.GetTypeID()))
                    {
                        RRBaseArray ra = (RRBaseArray)a;
                        try
                        {
                            return(MessageElementDataUtil.RRBaseArrayToArray(ra));
                        }
                        finally
                        {
                            ra.Dispose();
                        }
                    }
                    if (val.GetTypeID() == DataTypes.string_t)
                    {
                        RRBaseArray ra = (RRBaseArray)a;
                        try
                        {
                            return(MessageElementDataUtil.RRBaseArrayToString(ra));
                        }
                        finally
                        {
                            ra.Dispose();
                        }
                    }
                    IDisposable ad = a as IDisposable;
                    if (ad != null)
                    {
                        ad.Dispose();
                    }
                    throw new DataTypeException("Unknown RRArray type");
                }
                a = MessageElementDataUtil.ToMessageElementNestedElementList(val);
                if (a != null)
                {
                    return(a);
                }
                throw new ApplicationException("Unknown data type");
            }

            throw new ApplicationException("Unknown data type");
        }
Beispiel #3
0
        public ServiceSubscription SubscribeService(string[] url, string username           = null,
                                                    Dictionary <string, object> credentials = null, string objecttype = null)
        {
            MessageElementData credentials2 = null;

            try
            {
                if (username == null)
                {
                    username = "";
                }
                if (credentials != null)
                {
                    credentials2 = (MessageElementData)PackVarType(credentials);
                }

                if (objecttype == null)
                {
                    objecttype = "";
                }
                vectorstring url2 = new vectorstring();
                foreach (string ss in url)
                {
                    url2.Add(ss);
                }

                var sub1 = RobotRaconteurNET.WrappedSubscribeService(this, url2, username, credentials2, objecttype);
                return(new ServiceSubscription(sub1));
            }
            finally
            {
                if (credentials2 != null)
                {
                    credentials2.Dispose();
                }
            }
        }