Example #1
0
 private void OnPUMessageEx(IntPtr handler, IntPtr senderCe, IntPtr message, uint size)
 {
     CMessageSenderCe msc = new CMessageSenderCe();
     System.Runtime.InteropServices.Marshal.PtrToStructure(senderCe, msc);
     byte[] msg = new byte[size];
     System.Runtime.InteropServices.Marshal.Copy(message, msg, 0, (int)size);
     m_PushImpl.OnPUMessageEx(handler, ToMessageSender(msc), msg);
 }
Example #2
0
 private void OnBEx(IntPtr handler, IntPtr senderCe, IntPtr groups, uint count, IntPtr message, uint size)
 {
     CMessageSenderCe msc = new CMessageSenderCe();
     System.Runtime.InteropServices.Marshal.PtrToStructure(senderCe, msc);
     using (CScopeUQueue su = new CScopeUQueue())
     {
         ushort vt = (ushort)(tagVariantDataType.sdVT_ARRAY | tagVariantDataType.sdVT_UI4);
         su.UQueue.Save(vt);
         su.UQueue.Save(count);
         su.UQueue.Push(groups, count * sizeof(uint));
         object obj;
         su.UQueue.Load(out obj);
         byte[] msg = new byte[size];
         if (size > 0)
         {
             System.Runtime.InteropServices.Marshal.Copy(message, msg, 0, (int)size);
         }
         m_PushImpl.OnBEx(handler, ToMessageSender(msc), (uint[])obj, count, msg, size);
     }
 }
Example #3
0
 private void OnPUMessage(IntPtr handler, IntPtr senderCe, IntPtr message, uint size)
 {
     CMessageSenderCe msc = new CMessageSenderCe();
     System.Runtime.InteropServices.Marshal.PtrToStructure(senderCe, msc);
     using (CScopeUQueue su = new CScopeUQueue())
     {
         object msg;
         su.UQueue.Push(message, size).Load(out msg);
         m_PushImpl.OnPUMessage(handler, ToMessageSender(msc), msg);
     }
 }
Example #4
0
 private void OnExit(IntPtr handler, IntPtr senderCe, IntPtr groups, uint count)
 {
     CMessageSenderCe msc = new CMessageSenderCe();
     System.Runtime.InteropServices.Marshal.PtrToStructure(senderCe, msc);
     using (CScopeUQueue su = new CScopeUQueue())
     {
         ushort vt = (ushort)(tagVariantDataType.sdVT_ARRAY | tagVariantDataType.sdVT_UI4);
         su.UQueue.Save(vt);
         su.UQueue.Save(count);
         su.UQueue.Push(groups, count * sizeof(uint));
         object obj;
         su.UQueue.Load(out obj);
         m_PushImpl.OnExit(handler, ToMessageSender(msc), (uint[])obj, count);
     }
 }
Example #5
0
 private CMessageSender ToMessageSender(CMessageSenderCe senderCe)
 {
     CMessageSender sender = new CMessageSender();
     sender.UserId = senderCe.UserId;
     unsafe
     {
         sender.IpAddress = new string((sbyte*)senderCe.IpAddress);
     }
     sender.Port = senderCe.Port;
     sender.SelfMessage = (senderCe.SelfMessage != 0);
     sender.SvsID = senderCe.SvsID;
     return sender;
 }