Ejemplo n.º 1
0
        public static T CastDataAndDispose <T>(MessageElement m)
        {
            object dat = null;

            try
            {
                dat = m.Data;
                return((T)dat);
            }
            catch
            {
                IDisposable dat2 = dat as IDisposable;
                if (dat2 != null)
                {
                    dat2.Dispose();
                }
                throw;
            }
            finally
            {
                if (m != null)
                {
                    m.Dispose();
                }
            }
        }
Ejemplo n.º 2
0
        public static MessageElement NewMessageElementDispose(int i, object data)
        {
            MessageElement m = null;

            try
            {
                m = new MessageElement();
                m.ElementNumber = i;
                m.ElementFlags &= ((byte)~RobotRaconteurNET.MessageElementFlags_ELEMENT_NAME_STR);
                m.ElementFlags |= ((byte)RobotRaconteurNET.MessageElementFlags_ELEMENT_NUMBER);
                m.Data          = data;
                return(m);
            }
            catch
            {
                if (m != null)
                {
                    m.Dispose();
                }
                throw;
            }
            finally
            {
                IDisposable d = data as IDisposable;
                if (d != null)
                {
                    d.Dispose();
                }
            }
        }
Ejemplo n.º 3
0
        public static MessageElement NewMessageElementDispose(string name, object data)
        {
            MessageElement m = null;

            try
            {
                m             = new MessageElement();
                m.ElementName = name;
                m.Data        = data;
                return(m);
            }
            catch
            {
                if (m != null)
                {
                    m.Dispose();
                }
                throw;
            }
            finally
            {
                IDisposable d = data as IDisposable;
                if (d != null)
                {
                    d.Dispose();
                }
            }
        }
Ejemplo n.º 4
0
 public static void AddMessageElementDispose(vectorptr_messageelement vct, MessageElement m)
 {
     try
     {
         vct.Add(m);
     }
     finally
     {
         if (m != null)
         {
             m.Dispose();
         }
     }
 }