WingMan

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 8  →  ?path2? @ 9
/trunk/WingMan/MouseKey/MouseKeyBindings.cs
@@ -1,9 +1,12 @@
using System.Collections.Generic;
using System.Xml.Serialization;
 
namespace WingMan.MouseKey
{
public class MouseKeyBindings
{
[XmlIgnore] public static readonly XmlSerializer XmlSerializer = new XmlSerializer(typeof(MouseKeyBindings));
 
public MouseKeyBindings()
{
}
/trunk/WingMan/MouseKey/MouseKeyBindingsSynchronizer.cs
@@ -13,17 +13,17 @@
{
public delegate void MouseKeyBindingsSynchronized(object sender, MouseKeyBindingsSynchronizedEventArgs e);
 
public MouseKeyBindingsSynchronizer(MouseKeyBindings mouseKeyBindings, MQTTCommunication MQTTCommunication,
public MouseKeyBindingsSynchronizer(MouseKeyBindings mouseKeyBindings, MqttCommunication mqttCommunication,
TaskScheduler taskScheduler, CancellationToken cancellationToken)
{
MouseKeyBindings = mouseKeyBindings;
this.MQTTCommunication = MQTTCommunication;
MqttCommunication = mqttCommunication;
CancellationToken = cancellationToken;
TaskScheduler = taskScheduler;
 
SynchronizedMouseKeyBindings = new ConcurrentDictionary<string, List<MouseKeyBinding>>();
 
MQTTCommunication.OnMessageReceived += MqttCommunicationOnOnMessageReceived;
mqttCommunication.OnMessageReceived += MqttCommunicationOnOnMessageReceived;
 
Task.Run(Synchronize, CancellationToken);
}
@@ -32,7 +32,7 @@
 
private ConcurrentDictionary<string, List<MouseKeyBinding>> SynchronizedMouseKeyBindings { get; }
 
private MQTTCommunication MQTTCommunication { get; }
private MqttCommunication MqttCommunication { get; }
 
private CancellationToken CancellationToken { get; }
private TaskScheduler TaskScheduler { get; }
@@ -74,17 +74,17 @@
{
await Task.Delay(1000, CancellationToken).ConfigureAwait(false);
 
if (!MQTTCommunication.Running)
if (!MqttCommunication.Running)
continue;
 
using (var memoryStream = new MemoryStream())
{
MouseKeyBindingExchange.XmlSerializer.Serialize(memoryStream,
new MouseKeyBindingExchange(MQTTCommunication.Nick, MouseKeyBindings.Bindings));
new MouseKeyBindingExchange(MqttCommunication.Nick, MouseKeyBindings.Bindings));
 
memoryStream.Position = 0L;
 
await MQTTCommunication.Broadcast("exchange", memoryStream.ToArray()).ConfigureAwait(false);
await MqttCommunication.Broadcast("exchange", memoryStream.ToArray()).ConfigureAwait(false);
}
} while (!CancellationToken.IsCancellationRequested);
}
/trunk/WingMan/MouseKey/RemoteMouseKeyBinding.cs
@@ -0,0 +1,24 @@
using System.Collections.Generic;
 
namespace WingMan.MouseKey
{
public class RemoteMouseKeyBinding
{
public RemoteMouseKeyBinding()
{
}
 
public RemoteMouseKeyBinding(string nick, string name, List<string> mouseKeyCombo)
{
Nick = nick;
Name = name;
Keys = mouseKeyCombo;
}
 
public string Nick { get; set; }
 
public string Name { get; set; }
 
public List<string> Keys { get; set; }
}
}
/trunk/WingMan/MouseKey/RemoteMouseKeyBindings.cs
@@ -0,0 +1,22 @@
using System.Collections.Generic;
using System.Xml.Serialization;
 
namespace WingMan.MouseKey
{
public class RemoteMouseKeyBindings
{
[XmlIgnore] public static readonly XmlSerializer XmlSerializer =
new XmlSerializer(typeof(RemoteMouseKeyBindings));
 
public RemoteMouseKeyBindings()
{
}
 
public RemoteMouseKeyBindings(List<RemoteMouseKeyBinding> bindings)
{
Bindings = bindings;
}
 
public List<RemoteMouseKeyBinding> Bindings { get; set; }
}
}