Esempio n. 1
0
 private void OnChanged(signals.IAttribute attr, object value)
 {
     lock (st_screenLock)
     {
         if (value == null)
         {
             Console.Out.WriteLine(String.Format("{0}: null", attr.Name));
         }
         else
         {
             Console.Out.WriteLine(String.Format("{0}: ({1}){2}", attr.Name, value.GetType().Name, value));
         }
     }
 }
Esempio n. 2
0
 private void OnAttrValueChanged(signals.IAttribute attr, object value)
 {
     if (attr == mBoundAttr)
     {
         Action action = delegate()
         {
             Value = Convert.ToInt64(value);
         };
         if (InvokeRequired)
         {
             Invoke(action);
         }
         else
         {
             action();
         }
     }
 }
Esempio n. 3
0
 public IEnumerator<signals.IAttribute> Itemize(signals.EAttrEnumFlags flags)
 {
     uint numAttr = m_native.Itemize(IntPtr.Zero, 0, (uint)flags);
     if (numAttr == 0) return ((IList<signals.IAttribute>)new signals.IAttribute[0]).GetEnumerator();
     IntPtr[] ptrArr = new IntPtr[numAttr];
     GCHandle pin = GCHandle.Alloc(ptrArr, GCHandleType.Pinned);
     uint numObj;
     try
     {
         numObj = m_native.Itemize(pin.AddrOfPinnedObject(), numAttr, (uint)flags);
     }
     finally
     {
         pin.Free();
     }
     signals.IAttribute[] attrArray = new signals.IAttribute[numObj];
     for (int idx = 0; idx < numObj; idx++)
     {
         if (ptrArr[idx] != IntPtr.Zero)
         {
             signals.IAttribute newObj = (signals.IAttribute)Registration.retrieveObject(ptrArr[idx]);
             if (newObj == null) newObj = new CppProxyAttribute(ptrArr[idx]);
             attrArray[idx] = newObj;
         }
     }
     return ((IList<signals.IAttribute>)attrArray).GetEnumerator();
 }