Reworking our protocols. Client name now displayed in our clients tab.
2 using System.Collections.Generic;
5 using System.Threading.Tasks;
6 using System.ServiceModel;
7 using System.Collections;
10 namespace SharpDisplayInterface
13 [ServiceContract( CallbackContract = typeof(IDisplayServiceCallback),
14 SessionMode = SessionMode.Required)]
15 public interface IDisplayService
18 /// Set the name of this client.
19 /// Name is a convenient way to recognize your client.
20 /// Naming you client is not mandatory.
21 /// In the absence of a name the session ID is often used instead.
23 /// <param name="aClientName"></param>
24 [OperationContract(IsOneWay = true)]
25 void SetName(string aClientName);
28 /// Put the given text in the given field on your display.
29 /// Fields are often just lines of text.
31 /// <param name="aFieldIndex"></param>
32 /// <param name="aText"></param>
33 [OperationContract(IsOneWay = true)]
34 void SetText(int aFieldIndex, string aText);
37 /// Allows a client to set multiple text fields at once.
38 /// First text in the list is set into field index 0.
39 /// Last text in the list is set into field index N-1.
41 /// <param name="aTexts"></param>
42 [OperationContract(IsOneWay = true)]
43 void SetTexts(System.Collections.Generic.IList<string> aTexts);
46 /// Provides the number of clients currently connected
48 /// <returns></returns>
55 public interface IDisplayServiceCallback
57 [OperationContract(IsOneWay = true)]
61 /// Tell our client to close its connection.
62 /// Notably sent when the server is shutting down.
64 [OperationContract(IsOneWay = true)]