internal void CreateSession() { Uri serviceAddress = new Uri("net.pipe://localhost/Multitouch.Service/ApplicationInterface"); EndpointAddress remoteAddress = new EndpointAddress(serviceAddress); NetNamedPipeBinding namedPipeBinding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None); namedPipeBinding.MaxReceivedMessageSize = int.MaxValue; namedPipeBinding.MaxBufferSize = int.MaxValue; namedPipeBinding.ReaderQuotas.MaxArrayLength = int.MaxValue; namedPipeBinding.ReceiveTimeout = TimeSpan.MaxValue; IApplicationInterfaceCallback dispatcher = new MultitouchServiceContactDispatcher(logic); InstanceContext instanceContext = new InstanceContext(dispatcher); service = new ApplicationInterfaceClient(instanceContext, namedPipeBinding, remoteAddress); try { service.CreateSession(); MouseHelper.SingleMouseFallback = false; } catch (EndpointNotFoundException) { //throw new MultitouchException("Could not connect to Multitouch service, please start Multitouch input server before running this application.", e); Trace.TraceWarning("Could not connect to Multitouch service. Enabling single mouse input."); SingleMouseClientAndDispatcher client = new SingleMouseClientAndDispatcher(logic); service = client; dispatcher = client; MouseHelper.SingleMouseFallback = true; } contactDispatcher = dispatcher; }
public SessionContext(string sessionId, IApplicationInterfaceCallback callback) { SessionId = sessionId; Callback = callback; ImagesToSend = new Dictionary <ImageType, bool>(); foreach (ImageType value in Enum.GetValues(typeof(ImageType))) { ImagesToSend.Add(value, false); } SendEmptyFrames = false; }
internal void RemoveSession() { if (contactDispatcher != null) { try { service.RemoveSession(); IDisposable client = service as IDisposable; if(client != null) client.Dispose(); } catch (Exception e) { Trace.TraceWarning(e.ToString()); } contactDispatcher = null; service = null; } }
internal void RemoveSession() { if (contactDispatcher != null) { try { service.RemoveSession(); IDisposable client = service as IDisposable; if (client != null) { client.Dispose(); } } catch (Exception e) { Trace.TraceWarning(e.ToString()); } contactDispatcher = null; service = null; } }