Adding support for display type selection.
2 using System.Collections.Generic;
5 using System.Threading.Tasks;
6 using System.ServiceModel;
7 using System.Collections;
9 using System.Runtime.Serialization;
12 namespace SharpDisplayInterface
15 public class TextField
21 Alignment = ContentAlignment.MiddleLeft;
24 public TextField(int aIndex, string aText = "", ContentAlignment aAlignment = ContentAlignment.MiddleLeft)
28 Alignment = aAlignment;
32 public int Index { get; set; }
35 public string Text { get; set; }
38 public ContentAlignment Alignment { get; set; }
42 [ServiceContract( CallbackContract = typeof(IDisplayServiceCallback),
43 SessionMode = SessionMode.Required)]
44 public interface IDisplayService
47 /// Set the name of this client.
48 /// Name is a convenient way to recognize your client.
49 /// Naming you client is not mandatory.
50 /// In the absence of a name the session ID is often used instead.
52 /// <param name="aClientName"></param>
53 [OperationContract(IsOneWay = true)]
54 void SetName(string aClientName);
57 /// Put the given text in the given field on your display.
58 /// Fields are often just lines of text.
60 /// <param name="aTextFieldIndex"></param>
61 [OperationContract(IsOneWay = true)]
62 void SetText(TextField aTextField);
65 /// Allows a client to set multiple text fields at once.
67 /// <param name="aTexts"></param>
68 [OperationContract(IsOneWay = true)]
69 void SetTexts(System.Collections.Generic.IList<TextField> aTextFields);
72 /// Provides the number of clients currently connected
74 /// <returns></returns>
81 public interface IDisplayServiceCallback
83 [OperationContract(IsOneWay = true)]
87 /// Tell our client to close its connection.
88 /// Notably sent when the server is shutting down.
90 [OperationContract(IsOneWay = true)]