Migration to SharpLibDisplay.
1.1 --- a/Client/Client.cs Tue Sep 29 18:38:36 2015 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,325 +0,0 @@
1.4 -//
1.5 -// Copyright (C) 2014-2015 Stéphane Lenclud.
1.6 -//
1.7 -// This file is part of SharpDisplayManager.
1.8 -//
1.9 -// SharpDisplayManager is free software: you can redistribute it and/or modify
1.10 -// it under the terms of the GNU General Public License as published by
1.11 -// the Free Software Foundation, either version 3 of the License, or
1.12 -// (at your option) any later version.
1.13 -//
1.14 -// SharpDisplayManager is distributed in the hope that it will be useful,
1.15 -// but WITHOUT ANY WARRANTY; without even the implied warranty of
1.16 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1.17 -// GNU General Public License for more details.
1.18 -//
1.19 -// You should have received a copy of the GNU General Public License
1.20 -// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
1.21 -//
1.22 -
1.23 -using System;
1.24 -using System.Collections.Generic;
1.25 -using System.Linq;
1.26 -using System.Text;
1.27 -using System.Threading.Tasks;
1.28 -using System.Windows.Forms;
1.29 -using SharpDisplay;
1.30 -using System.ServiceModel;
1.31 -using System.ServiceModel.Channels;
1.32 -
1.33 -
1.34 -namespace SharpDisplayClient
1.35 -{
1.36 - /// <summary>
1.37 - /// Client side Sharp Display callback implementation.
1.38 - /// </summary>
1.39 - [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]
1.40 - public class Callback : ICallback, IDisposable
1.41 - {
1.42 - private MainForm MainForm { get; set; }
1.43 -
1.44 - public Callback(MainForm aMainForm)
1.45 - {
1.46 - MainForm = aMainForm;
1.47 - }
1.48 -
1.49 - /// <summary>
1.50 - /// Not used I believe.
1.51 - /// </summary>
1.52 - public void OnConnected()
1.53 - {
1.54 - //Debug.Assert(Thread.CurrentThread.IsThreadPoolThread);
1.55 - //Trace.WriteLine("Callback thread = " + Thread.CurrentThread.ManagedThreadId);
1.56 -
1.57 - MessageBox.Show("OnConnected()", "Client");
1.58 - }
1.59 -
1.60 -
1.61 - public void OnCloseOrder()
1.62 - {
1.63 - //Debug.Assert(Thread.CurrentThread.IsThreadPoolThread);
1.64 - //Trace.WriteLine("Callback thread = " + Thread.CurrentThread.ManagedThreadId);
1.65 -
1.66 - //MessageBox.Show("OnServerClosing()", "Client");
1.67 - MainForm.CloseConnectionThreadSafe();
1.68 - MainForm.CloseThreadSafe();
1.69 - }
1.70 -
1.71 - //From IDisposable
1.72 - public void Dispose()
1.73 - {
1.74 -
1.75 - }
1.76 - }
1.77 -
1.78 -
1.79 - /// <summary>
1.80 - /// Client side implementation of our Sharp Display Service.
1.81 - /// </summary>
1.82 - [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple)]
1.83 - public class Client : DuplexClientBase<IService>
1.84 - {
1.85 - public string SessionId { get { return InnerChannel.SessionId; } }
1.86 -
1.87 - public Client(ICallback aCallback)
1.88 - : base(new InstanceContext(aCallback), new NetTcpBinding(SecurityMode.None, true), new EndpointAddress("net.tcp://localhost:8001/DisplayService"))
1.89 - { }
1.90 -
1.91 - public void SetName(string aClientName)
1.92 - {
1.93 - Channel.SetName(aClientName);
1.94 - }
1.95 -
1.96 - public void SetLayout(TableLayout aLayout)
1.97 - {
1.98 - Channel.SetLayout(aLayout);
1.99 - }
1.100 -
1.101 - public void SetField(DataField aField)
1.102 - {
1.103 - Channel.SetField(aField);
1.104 - }
1.105 -
1.106 - public void SetFields(System.Collections.Generic.IList<DataField> aFields)
1.107 - {
1.108 - Channel.SetFields(aFields);
1.109 - }
1.110 -
1.111 - public int ClientCount()
1.112 - {
1.113 - return Channel.ClientCount();
1.114 - }
1.115 -
1.116 - public bool IsReady()
1.117 - {
1.118 - return State == CommunicationState.Opened || State == CommunicationState.Created;
1.119 - }
1.120 - }
1.121 -
1.122 -
1.123 - /// <summary>
1.124 - /// Handle connection with our Sharp Display Server.
1.125 - /// If the connection is faulted it will attempt to restart it.
1.126 - /// </summary>
1.127 - public class DisplayClient
1.128 - {
1.129 - private Client iClient;
1.130 - private Callback iCallback;
1.131 - private bool resetingConnection = false;
1.132 -
1.133 - private MainForm MainForm { get; set; }
1.134 - public string SessionId { get { return iClient.SessionId; } }
1.135 - public string Name { get; private set; }
1.136 - private TableLayout Layout { get; set; }
1.137 - private System.Collections.Generic.IList<DataField> Fields { get; set; }
1.138 -
1.139 -
1.140 - public DisplayClient(MainForm aMainForm)
1.141 - {
1.142 - MainForm = aMainForm;
1.143 - Name = "";
1.144 - Fields = new DataField[]{};
1.145 - }
1.146 -
1.147 - /// <summary>
1.148 - /// Initialize our server connection.
1.149 - /// </summary>
1.150 - public void Open()
1.151 - {
1.152 - iCallback = new Callback(MainForm);
1.153 - iClient = new Client(iCallback);
1.154 - }
1.155 -
1.156 - /// <summary>
1.157 - /// Terminate our server connection.
1.158 - /// </summary>
1.159 - public void Close()
1.160 - {
1.161 - iClient.Close();
1.162 - iClient = null;
1.163 - iCallback.Dispose();
1.164 - iCallback = null;
1.165 - }
1.166 -
1.167 - /// <summary>
1.168 - /// Tells whether a server connection is available.
1.169 - /// </summary>
1.170 - /// <returns>True if a server connection is available. False otherwise.</returns>
1.171 - public bool IsReady()
1.172 - {
1.173 - return (iClient != null && iCallback != null && iClient.IsReady());
1.174 - }
1.175 -
1.176 - /// <summary>
1.177 - /// Check if our server connection is available and attempt reset it if it isn't.
1.178 - /// This is notably dealing with timed out connections.
1.179 - /// </summary>
1.180 - public void CheckConnection()
1.181 - {
1.182 - if (!IsReady() && !resetingConnection)
1.183 - {
1.184 - //Try to reconnect
1.185 - Open();
1.186 -
1.187 - //Avoid stack overflow in case of persisting failure
1.188 - resetingConnection = true;
1.189 -
1.190 - try
1.191 - {
1.192 - //On reconnect there is a bunch of properties we need to reset
1.193 - if (Name != "")
1.194 - {
1.195 - iClient.SetName(Name);
1.196 - }
1.197 -
1.198 - SetLayout(Layout);
1.199 - iClient.SetFields(Fields);
1.200 - }
1.201 - finally
1.202 - {
1.203 - //Make sure our this state does not get out of sync
1.204 - resetingConnection = true;
1.205 - }
1.206 - }
1.207 - }
1.208 -
1.209 - /// <summary>
1.210 - /// Set our client's name.
1.211 - /// Client's name is typically user friendly.
1.212 - /// It does not have to be unique.
1.213 - /// </summary>
1.214 - /// <param name="aClientName">Our client name.</param>
1.215 - public void SetName(string aClientName)
1.216 - {
1.217 - Name = aClientName;
1.218 - CheckConnection();
1.219 - iClient.SetName(aClientName);
1.220 - }
1.221 -
1.222 - /// <summary>
1.223 - /// Set your client fields' layout.
1.224 - /// </summary>
1.225 - /// <param name="aLayout">The layout to apply for this client.</param>
1.226 - public void SetLayout(TableLayout aLayout)
1.227 - {
1.228 - Layout = aLayout;
1.229 - CheckConnection();
1.230 - iClient.SetLayout(aLayout);
1.231 - }
1.232 -
1.233 - /// <summary>
1.234 - /// Set the specified field.
1.235 - /// </summary>
1.236 - /// <param name="aField"></param>
1.237 - /// <returns>True if the specified field was set client side. False means you need to redefine all your fields using CreateFields.</returns>
1.238 - public bool SetField(DataField aField)
1.239 - {
1.240 - int i = 0;
1.241 - bool fieldFound = false;
1.242 - foreach (DataField field in Fields)
1.243 - {
1.244 - if (field.Index == aField.Index)
1.245 - {
1.246 - //Update our field then
1.247 - Fields[i] = aField;
1.248 - fieldFound = true;
1.249 - break;
1.250 - }
1.251 - i++;
1.252 - }
1.253 -
1.254 - if (!fieldFound)
1.255 - {
1.256 - //Field not found, make sure to use CreateFields first after setting your layout.
1.257 - return false;
1.258 - }
1.259 -
1.260 - CheckConnection();
1.261 - iClient.SetField(aField);
1.262 - return true;
1.263 - }
1.264 -
1.265 - /// <summary>
1.266 - /// Use this function when updating existing fields.
1.267 - /// </summary>
1.268 - /// <param name="aFields"></param>
1.269 - public bool SetFields(System.Collections.Generic.IList<DataField> aFields)
1.270 - {
1.271 - int fieldFoundCount = 0;
1.272 - foreach (DataField fieldUpdate in aFields)
1.273 - {
1.274 - int i = 0;
1.275 - foreach (DataField existingField in Fields)
1.276 - {
1.277 - if (existingField.Index == fieldUpdate.Index)
1.278 - {
1.279 - //Update our field then
1.280 - Fields[i] = fieldUpdate;
1.281 - fieldFoundCount++;
1.282 - //Move on to the next field
1.283 - break;
1.284 - }
1.285 - i++;
1.286 - }
1.287 - }
1.288 -
1.289 - //
1.290 - if (fieldFoundCount!=aFields.Count)
1.291 - {
1.292 - //Field not found, make sure to use CreateFields first after setting your layout.
1.293 - return false;
1.294 - }
1.295 -
1.296 - CheckConnection();
1.297 - iClient.SetFields(aFields);
1.298 - return true;
1.299 - }
1.300 -
1.301 - /// <summary>
1.302 - /// Use this function when creating your fields.
1.303 - /// This must be done at least once after setting your layout.
1.304 - /// </summary>
1.305 - /// <param name="aFields"></param>
1.306 - public void CreateFields(System.Collections.Generic.IList<DataField> aFields)
1.307 - {
1.308 - Fields = aFields;
1.309 - CheckConnection();
1.310 - iClient.SetFields(aFields);
1.311 - }
1.312 -
1.313 - /// <summary>
1.314 - /// Provide the number of clients currently connected to our server.
1.315 - /// </summary>
1.316 - /// <returns>Number of clients currently connected to our server.</returns>
1.317 - public int ClientCount()
1.318 - {
1.319 - CheckConnection();
1.320 - return iClient.ClientCount();
1.321 - }
1.322 -
1.323 -
1.324 -
1.325 - }
1.326 -
1.327 -
1.328 -}
2.1 --- a/Client/MainForm.cs Tue Sep 29 18:38:36 2015 +0200
2.2 +++ b/Client/MainForm.cs Fri Oct 30 16:45:33 2015 +0100
2.3 @@ -29,7 +29,7 @@
2.4 using System.ServiceModel;
2.5 using System.ServiceModel.Channels;
2.6 using System.Diagnostics;
2.7 -using SharpDisplay;
2.8 +using SharpLib.Display;
2.9
2.10
2.11 namespace SharpDisplayClient
2.12 @@ -39,7 +39,7 @@
2.13 public StartParams Params { get; set; }
2.14
2.15 //
2.16 - DisplayClient iClient;
2.17 + Client iClient;
2.18 //
2.19 ContentAlignment Alignment;
2.20 DataField iTextFieldTop;
2.21 @@ -55,14 +55,20 @@
2.22 iTextFieldTop = new DataField(0);
2.23 }
2.24
2.25 - /// <summary>
2.26 - ///
2.27 - /// </summary>
2.28 - /// <param name="sender"></param>
2.29 - /// <param name="e"></param>
2.30 + public void OnCloseOrder()
2.31 + {
2.32 + CloseThreadSafe();
2.33 + }
2.34 +
2.35 + /// <summary>
2.36 + ///
2.37 + /// </summary>
2.38 + /// <param name="sender"></param>
2.39 + /// <param name="e"></param>
2.40 private void MainForm_Load(object sender, EventArgs e)
2.41 {
2.42 - iClient = new DisplayClient(this);
2.43 + iClient = new Client();
2.44 + iClient.CloseOrderEvent += OnCloseOrder;
2.45 iClient.Open();
2.46
2.47 //Connect using unique name
3.1 --- a/Client/SharpDisplayClient.csproj Tue Sep 29 18:38:36 2015 +0200
3.2 +++ b/Client/SharpDisplayClient.csproj Fri Oct 30 16:45:33 2015 +0100
3.3 @@ -84,6 +84,10 @@
3.4 <NoWin32Manifest>true</NoWin32Manifest>
3.5 </PropertyGroup>
3.6 <ItemGroup>
3.7 + <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
3.8 + <HintPath>..\packages\SharpLibDisplay.0.0.2\lib\net40\SharpLibDisplay.dll</HintPath>
3.9 + <Private>True</Private>
3.10 + </Reference>
3.11 <Reference Include="System" />
3.12 <Reference Include="System.Core" />
3.13 <Reference Include="System.ServiceModel" />
3.14 @@ -97,7 +101,6 @@
3.15 <Reference Include="System.Xml" />
3.16 </ItemGroup>
3.17 <ItemGroup>
3.18 - <Compile Include="Client.cs" />
3.19 <Compile Include="MainForm.cs">
3.20 <SubType>Form</SubType>
3.21 </Compile>
3.22 @@ -119,6 +122,7 @@
3.23 <DependentUpon>Resources.resx</DependentUpon>
3.24 <DesignTime>True</DesignTime>
3.25 </Compile>
3.26 + <None Include="packages.config" />
3.27 <None Include="Properties\Settings.settings">
3.28 <Generator>SettingsSingleFileGenerator</Generator>
3.29 <LastGenOutput>Settings.Designer.cs</LastGenOutput>
3.30 @@ -133,12 +137,6 @@
3.31 <None Include="App.config" />
3.32 </ItemGroup>
3.33 <ItemGroup>
3.34 - <ProjectReference Include="..\Interface\SharpDisplayInterface.csproj">
3.35 - <Project>{88eee0dc-abbc-4738-bad6-7e08cf7f50f9}</Project>
3.36 - <Name>SharpDisplayInterface</Name>
3.37 - </ProjectReference>
3.38 - </ItemGroup>
3.39 - <ItemGroup>
3.40 <BootstrapperPackage Include=".NETFramework,Version=v4.5">
3.41 <Visible>False</Visible>
3.42 <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
4.1 --- a/Interface/Interface.cs Tue Sep 29 18:38:36 2015 +0200
4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
4.3 @@ -1,251 +0,0 @@
4.4 -//
4.5 -// Define a public API for both SharpDisplay client and server to use.
4.6 -//
4.7 -
4.8 -using System;
4.9 -using System.Collections.Generic;
4.10 -using System.Linq;
4.11 -using System.Text;
4.12 -using System.Threading.Tasks;
4.13 -using System.ServiceModel;
4.14 -using System.Collections;
4.15 -using System.Drawing;
4.16 -using System.Runtime.Serialization;
4.17 -using System.Windows.Forms;
4.18 -
4.19 -
4.20 -namespace SharpDisplay
4.21 -{
4.22 - /// <summary>
4.23 - /// For client to specify a specific layout.
4.24 - /// A table layout is sent from client to server and defines data fields layout on our display.
4.25 - /// </summary>
4.26 - [DataContract]
4.27 - public class TableLayout
4.28 - {
4.29 - public TableLayout()
4.30 - {
4.31 - Columns = new List<ColumnStyle>();
4.32 - Rows = new List<RowStyle>();
4.33 - }
4.34 -
4.35 - /// <summary>
4.36 - /// Construct our table layout.
4.37 - /// </summary>
4.38 - /// <param name="aColumnCount">Number of column in our table.</param>
4.39 - /// <param name="aRowCount">Number of rows in our table.</param>
4.40 - public TableLayout(int aColumnCount, int aRowCount)
4.41 - {
4.42 - Columns = new List<ColumnStyle>();
4.43 - Rows = new List<RowStyle>();
4.44 -
4.45 - for (int i = 0; i < aColumnCount; i++)
4.46 - {
4.47 - Columns.Add(new ColumnStyle(SizeType.Percent, 100 / aColumnCount));
4.48 - }
4.49 -
4.50 - for (int i = 0; i < aRowCount; i++)
4.51 - {
4.52 - Rows.Add(new RowStyle(SizeType.Percent, 100 / aRowCount));
4.53 - }
4.54 - }
4.55 -
4.56 - /// <summary>
4.57 - /// Compare two TableLayout object.
4.58 - /// </summary>
4.59 - /// <returns>Tells whether both layout are identical.</returns>
4.60 - public bool IsSameAs(TableLayout aTableLayout)
4.61 - {
4.62 - //Check rows and columns counts
4.63 - if (Columns.Count != aTableLayout.Columns.Count || Rows.Count != aTableLayout.Rows.Count)
4.64 - {
4.65 - return false;
4.66 - }
4.67 -
4.68 - //Compare each columns
4.69 - for (int i=0;i<Columns.Count;i++)
4.70 - {
4.71 - if (Columns[i].SizeType != aTableLayout.Columns[i].SizeType)
4.72 - {
4.73 - return false;
4.74 - }
4.75 -
4.76 - if (Columns[i].Width != aTableLayout.Columns[i].Width)
4.77 - {
4.78 - return false;
4.79 - }
4.80 - }
4.81 -
4.82 - //Compare each columns
4.83 - for (int i = 0; i < Rows.Count; i++)
4.84 - {
4.85 - if (Rows[i].SizeType != aTableLayout.Rows[i].SizeType)
4.86 - {
4.87 - return false;
4.88 - }
4.89 -
4.90 - if (Rows[i].Height != aTableLayout.Rows[i].Height)
4.91 - {
4.92 - return false;
4.93 - }
4.94 - }
4.95 -
4.96 - //Both rows and columns have the same content.
4.97 - return true;
4.98 - }
4.99 -
4.100 - [DataMember]
4.101 - public List<ColumnStyle> Columns { get; set; }
4.102 -
4.103 - [DataMember]
4.104 - public List<RowStyle> Rows { get; set; }
4.105 - }
4.106 -
4.107 - /// <summary>
4.108 - /// Define a data field on our display.
4.109 - /// Data field can be either text or bitmap.
4.110 - /// </summary>
4.111 - [DataContract]
4.112 - public class DataField
4.113 - {
4.114 - public DataField()
4.115 - {
4.116 - Index = 0;
4.117 - ColumnSpan = 1;
4.118 - RowSpan = 1;
4.119 - //Text
4.120 - Text = "";
4.121 - Alignment = ContentAlignment.MiddleLeft;
4.122 - //Bitmap
4.123 - Bitmap = null;
4.124 - }
4.125 -
4.126 - //Text constructor
4.127 - public DataField(int aIndex, string aText = "", ContentAlignment aAlignment = ContentAlignment.MiddleLeft)
4.128 - {
4.129 - ColumnSpan = 1;
4.130 - RowSpan = 1;
4.131 - Index = aIndex;
4.132 - Text = aText;
4.133 - Alignment = aAlignment;
4.134 - //
4.135 - Bitmap = null;
4.136 - }
4.137 -
4.138 - //Bitmap constructor
4.139 - public DataField(int aIndex, Bitmap aBitmap)
4.140 - {
4.141 - ColumnSpan = 1;
4.142 - RowSpan = 1;
4.143 - Index = aIndex;
4.144 - Bitmap = aBitmap;
4.145 - //Text
4.146 - Text = "";
4.147 - Alignment = ContentAlignment.MiddleLeft;
4.148 - }
4.149 -
4.150 -
4.151 - //Generic layout properties
4.152 - [DataMember]
4.153 - public int Index { get; set; }
4.154 -
4.155 - [DataMember]
4.156 - public int Column { get; set; }
4.157 -
4.158 - [DataMember]
4.159 - public int Row { get; set; }
4.160 -
4.161 - [DataMember]
4.162 - public int ColumnSpan { get; set; }
4.163 -
4.164 - [DataMember]
4.165 - public int RowSpan { get; set; }
4.166 -
4.167 - //Text properties
4.168 - [DataMember]
4.169 - public string Text { get; set; }
4.170 -
4.171 - [DataMember]
4.172 - public ContentAlignment Alignment { get; set; }
4.173 -
4.174 - //Bitmap properties
4.175 - [DataMember]
4.176 - public Bitmap Bitmap { get; set; }
4.177 -
4.178 - //
4.179 - public bool IsBitmap { get{ return Bitmap!=null;} }
4.180 - //
4.181 - public bool IsText { get { return Bitmap == null; } }
4.182 - //
4.183 - public bool IsSameLayout(DataField aField)
4.184 - {
4.185 - return (aField.ColumnSpan == ColumnSpan && aField.RowSpan == RowSpan);
4.186 - }
4.187 - }
4.188 -
4.189 - /// <summary>
4.190 - /// Define our SharpDisplay service.
4.191 - /// Clients and servers must implement it to communicate with one another.
4.192 - /// Through this service clients can send requests to a server.
4.193 - /// Through this service a server session can receive requests from a client.
4.194 - /// </summary>
4.195 - [ServiceContract( CallbackContract = typeof(ICallback), SessionMode = SessionMode.Required)]
4.196 - public interface IService
4.197 - {
4.198 - /// <summary>
4.199 - /// Set the name of this client.
4.200 - /// Name is a convenient way to recognize your client.
4.201 - /// Naming you client is not mandatory.
4.202 - /// In the absence of a name the session ID is often used instead.
4.203 - /// </summary>
4.204 - /// <param name="aClientName"></param>
4.205 - [OperationContract(IsOneWay = true)]
4.206 - void SetName(string aClientName);
4.207 -
4.208 - /// <summary>
4.209 - /// </summary>
4.210 - /// <param name="aLayout"></param>
4.211 - [OperationContract(IsOneWay = true)]
4.212 - void SetLayout(TableLayout aLayout);
4.213 -
4.214 - /// <summary>
4.215 - /// Set the given field on your display.
4.216 - /// Fields are often just lines of text or bitmaps.
4.217 - /// </summary>
4.218 - /// <param name="aTextFieldIndex"></param>
4.219 - [OperationContract(IsOneWay = true)]
4.220 - void SetField(DataField aField);
4.221 -
4.222 - /// <summary>
4.223 - /// Allows a client to set multiple fields at once.
4.224 - /// </summary>
4.225 - /// <param name="aFields"></param>
4.226 - [OperationContract(IsOneWay = true)]
4.227 - void SetFields(System.Collections.Generic.IList<DataField> aFields);
4.228 -
4.229 - /// <summary>
4.230 - /// Provides the number of clients currently connected
4.231 - /// </summary>
4.232 - /// <returns></returns>
4.233 - [OperationContract()]
4.234 - int ClientCount();
4.235 -
4.236 - }
4.237 -
4.238 - /// <summary>
4.239 - /// SharDisplay callback provides a means for a server to notify its clients.
4.240 - /// </summary>
4.241 - public interface ICallback
4.242 - {
4.243 - [OperationContract(IsOneWay = true)]
4.244 - void OnConnected();
4.245 -
4.246 - /// <summary>
4.247 - /// Tell our client to close its connection.
4.248 - /// Notably sent when the server is shutting down.
4.249 - /// </summary>
4.250 - [OperationContract(IsOneWay = true)]
4.251 - void OnCloseOrder();
4.252 - }
4.253 -
4.254 -}
5.1 --- a/Interface/Properties/AssemblyInfo.cs Tue Sep 29 18:38:36 2015 +0200
5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
5.3 @@ -1,36 +0,0 @@
5.4 -using System.Reflection;
5.5 -using System.Runtime.CompilerServices;
5.6 -using System.Runtime.InteropServices;
5.7 -
5.8 -// General Information about an assembly is controlled through the following
5.9 -// set of attributes. Change these attribute values to modify the information
5.10 -// associated with an assembly.
5.11 -[assembly: AssemblyTitle("SharpDisplayInterface")]
5.12 -[assembly: AssemblyDescription("")]
5.13 -[assembly: AssemblyConfiguration("")]
5.14 -[assembly: AssemblyCompany("")]
5.15 -[assembly: AssemblyProduct("SharpDisplayInterface")]
5.16 -[assembly: AssemblyCopyright("Copyright © 2014")]
5.17 -[assembly: AssemblyTrademark("")]
5.18 -[assembly: AssemblyCulture("")]
5.19 -
5.20 -// Setting ComVisible to false makes the types in this assembly not visible
5.21 -// to COM components. If you need to access a type in this assembly from
5.22 -// COM, set the ComVisible attribute to true on that type.
5.23 -[assembly: ComVisible(false)]
5.24 -
5.25 -// The following GUID is for the ID of the typelib if this project is exposed to COM
5.26 -[assembly: Guid("53136116-6621-4ac0-8a01-bf746674b192")]
5.27 -
5.28 -// Version information for an assembly consists of the following four values:
5.29 -//
5.30 -// Major Version
5.31 -// Minor Version
5.32 -// Build Number
5.33 -// Revision
5.34 -//
5.35 -// You can specify all the values or you can default the Build and Revision Numbers
5.36 -// by using the '*' as shown below:
5.37 -// [assembly: AssemblyVersion("1.0.*")]
5.38 -[assembly: AssemblyVersion("1.0.0.0")]
5.39 -[assembly: AssemblyFileVersion("1.0.0.0")]
6.1 --- a/Interface/SharpDisplayInterface.csproj Tue Sep 29 18:38:36 2015 +0200
6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
6.3 @@ -1,82 +0,0 @@
6.4 -<?xml version="1.0" encoding="utf-8"?>
6.5 -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6.6 - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
6.7 - <PropertyGroup>
6.8 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6.9 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6.10 - <ProjectGuid>{88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}</ProjectGuid>
6.11 - <OutputType>Library</OutputType>
6.12 - <AppDesignerFolder>Properties</AppDesignerFolder>
6.13 - <RootNamespace>SharpDisplayInterface</RootNamespace>
6.14 - <AssemblyName>SharpDisplayInterface</AssemblyName>
6.15 - <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
6.16 - <FileAlignment>512</FileAlignment>
6.17 - <TargetFrameworkProfile />
6.18 - </PropertyGroup>
6.19 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
6.20 - <DebugSymbols>true</DebugSymbols>
6.21 - <DebugType>full</DebugType>
6.22 - <Optimize>false</Optimize>
6.23 - <OutputPath>bin\Debug\</OutputPath>
6.24 - <DefineConstants>DEBUG;TRACE</DefineConstants>
6.25 - <ErrorReport>prompt</ErrorReport>
6.26 - <WarningLevel>4</WarningLevel>
6.27 - <Prefer32Bit>false</Prefer32Bit>
6.28 - </PropertyGroup>
6.29 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
6.30 - <DebugType>pdbonly</DebugType>
6.31 - <Optimize>true</Optimize>
6.32 - <OutputPath>bin\Release\</OutputPath>
6.33 - <DefineConstants>TRACE</DefineConstants>
6.34 - <ErrorReport>prompt</ErrorReport>
6.35 - <WarningLevel>4</WarningLevel>
6.36 - <Prefer32Bit>false</Prefer32Bit>
6.37 - </PropertyGroup>
6.38 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
6.39 - <DebugSymbols>true</DebugSymbols>
6.40 - <OutputPath>..\bin\x86\Debug\</OutputPath>
6.41 - <BaseIntermediateOutputPath>..\bin\x86\Debug\obj</BaseIntermediateOutputPath>
6.42 - <DefineConstants>DEBUG;TRACE</DefineConstants>
6.43 - <DebugType>full</DebugType>
6.44 - <PlatformTarget>x86</PlatformTarget>
6.45 - <ErrorReport>prompt</ErrorReport>
6.46 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
6.47 - <Prefer32Bit>false</Prefer32Bit>
6.48 - </PropertyGroup>
6.49 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
6.50 - <OutputPath>..\bin\x86\Release\</OutputPath>
6.51 - <BaseIntermediateOutputPath>..\bin\x86\Release\obj</BaseIntermediateOutputPath>
6.52 - <DefineConstants>TRACE</DefineConstants>
6.53 - <Optimize>true</Optimize>
6.54 - <DebugType>pdbonly</DebugType>
6.55 - <PlatformTarget>x86</PlatformTarget>
6.56 - <ErrorReport>prompt</ErrorReport>
6.57 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
6.58 - <Prefer32Bit>false</Prefer32Bit>
6.59 - </PropertyGroup>
6.60 - <ItemGroup>
6.61 - <Reference Include="System" />
6.62 - <Reference Include="System.Core" />
6.63 - <Reference Include="System.Drawing" />
6.64 - <Reference Include="System.Runtime.Serialization" />
6.65 - <Reference Include="System.ServiceModel" />
6.66 - <Reference Include="System.Windows.Forms" />
6.67 - <Reference Include="System.Xml.Linq" />
6.68 - <Reference Include="System.Data.DataSetExtensions" />
6.69 - <Reference Include="Microsoft.CSharp" />
6.70 - <Reference Include="System.Data" />
6.71 - <Reference Include="System.Xml" />
6.72 - </ItemGroup>
6.73 - <ItemGroup>
6.74 - <Compile Include="Interface.cs" />
6.75 - <Compile Include="Properties\AssemblyInfo.cs" />
6.76 - </ItemGroup>
6.77 - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
6.78 - <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6.79 - Other similar extension points exist, see Microsoft.Common.targets.
6.80 - <Target Name="BeforeBuild">
6.81 - </Target>
6.82 - <Target Name="AfterBuild">
6.83 - </Target>
6.84 - -->
6.85 -</Project>
6.86 \ No newline at end of file
7.1 --- a/Server/ClientData.cs Tue Sep 29 18:38:36 2015 +0200
7.2 +++ b/Server/ClientData.cs Fri Oct 30 16:45:33 2015 +0100
7.3 @@ -4,7 +4,7 @@
7.4 using System.Text;
7.5 using System.Threading.Tasks;
7.6 //
7.7 -using SharpDisplay;
7.8 +using SharpLib.Display;
7.9
7.10 namespace SharpDisplayManager
7.11 {
8.1 --- a/Server/MainForm.cs Tue Sep 29 18:38:36 2015 +0200
8.2 +++ b/Server/MainForm.cs Fri Oct 30 16:45:33 2015 +0100
8.3 @@ -44,7 +44,7 @@
8.4 using SharpDisplayClient;
8.5 using SharpDisplay;
8.6 using MiniDisplayInterop;
8.7 -
8.8 +using SharpLib.Display;
8.9
8.10 namespace SharpDisplayManager
8.11 {
9.1 --- a/Server/Session.cs Tue Sep 29 18:38:36 2015 +0200
9.2 +++ b/Server/Session.cs Fri Oct 30 16:45:33 2015 +0100
9.3 @@ -24,7 +24,7 @@
9.4 using System.Collections.Generic;
9.5 using System.Linq;
9.6 using System.Diagnostics;
9.7 -using SharpDisplay;
9.8 +using SharpLib.Display;
9.9
9.10 namespace SharpDisplay
9.11 {
10.1 --- a/Server/SharpDisplayManager.csproj Tue Sep 29 18:38:36 2015 +0200
10.2 +++ b/Server/SharpDisplayManager.csproj Fri Oct 30 16:45:33 2015 +0100
10.3 @@ -103,7 +103,7 @@
10.4 <StartupObject>SharpDisplayManager.Program</StartupObject>
10.5 </PropertyGroup>
10.6 <PropertyGroup>
10.7 - <ApplicationManifest>app.manifest</ApplicationManifest>
10.8 + <ApplicationManifest>Resources\app.manifest</ApplicationManifest>
10.9 </PropertyGroup>
10.10 <PropertyGroup>
10.11 <TargetZone>LocalIntranet</TargetZone>
10.12 @@ -122,6 +122,10 @@
10.13 <SpecificVersion>False</SpecificVersion>
10.14 <HintPath>..\packages\NAudio.1.7.3\lib\net35\NAudio.dll</HintPath>
10.15 </Reference>
10.16 + <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
10.17 + <HintPath>..\packages\SharpLibDisplay.0.0.2\lib\net40\SharpLibDisplay.dll</HintPath>
10.18 + <Private>True</Private>
10.19 + </Reference>
10.20 <Reference Include="SharpLibHid">
10.21 <HintPath>..\packages\SharpLibHid.1.2.1\lib\net20\SharpLibHid.dll</HintPath>
10.22 <Private>True</Private>
10.23 @@ -197,7 +201,7 @@
10.24 <DependentUpon>Resources.resx</DependentUpon>
10.25 <DesignTime>True</DesignTime>
10.26 </Compile>
10.27 - <None Include="app.manifest">
10.28 + <None Include="Resources\app.manifest">
10.29 <SubType>Designer</SubType>
10.30 </None>
10.31 <None Include="packages.config" />
10.32 @@ -214,17 +218,13 @@
10.33 <None Include="SharpDisplayManager_TemporaryKey.pfx" />
10.34 </ItemGroup>
10.35 <ItemGroup>
10.36 - <None Include="App.config" />
10.37 + <None Include="Resources\App.config" />
10.38 </ItemGroup>
10.39 <ItemGroup>
10.40 <ProjectReference Include="..\Client\SharpDisplayClient.csproj">
10.41 <Project>{7ee64074-8cdb-4448-b40c-81b75d6b31cd}</Project>
10.42 <Name>SharpDisplayClient</Name>
10.43 </ProjectReference>
10.44 - <ProjectReference Include="..\Interface\SharpDisplayInterface.csproj">
10.45 - <Project>{88eee0dc-abbc-4738-bad6-7e08cf7f50f9}</Project>
10.46 - <Name>SharpDisplayInterface</Name>
10.47 - </ProjectReference>
10.48 <ProjectReference Include="..\PowerManager\PowerManager.vcxproj">
10.49 <Project>{c174f23d-3055-49bc-b6b0-563011af624d}</Project>
10.50 <Name>PowerManager</Name>
11.1 --- a/Server/packages.config Tue Sep 29 18:38:36 2015 +0200
11.2 +++ b/Server/packages.config Fri Oct 30 16:45:33 2015 +0100
11.3 @@ -2,6 +2,7 @@
11.4 <packages>
11.5 <package id="LibMiniDisplay" version="1.1.8" targetFramework="net46" />
11.6 <package id="NAudio" version="1.7.3" targetFramework="net45" />
11.7 + <package id="SharpLibDisplay" version="0.0.2" targetFramework="net46" />
11.8 <package id="SharpLibHid" version="1.2.1" targetFramework="net45" />
11.9 <package id="SharpLibWin32" version="0.0.7" targetFramework="net45" />
11.10 </packages>
11.11 \ No newline at end of file
12.1 --- a/Setup/Setup.vdproj Tue Sep 29 18:38:36 2015 +0200
12.2 +++ b/Setup/Setup.vdproj Fri Oct 30 16:45:33 2015 +0100
12.3 @@ -82,19 +82,13 @@
12.4 "Entry"
12.5 {
12.6 "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
12.7 - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
12.8 + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
12.9 "MsmSig" = "8:_UNDEFINED"
12.10 }
12.11 "Entry"
12.12 {
12.13 "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
12.14 - "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
12.15 - "MsmSig" = "8:_UNDEFINED"
12.16 - }
12.17 - "Entry"
12.18 - {
12.19 - "MsmKey" = "8:_A8CD4C9EB63D487F8E718093F92404DB"
12.20 - "OwnerKey" = "8:_UNDEFINED"
12.21 + "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
12.22 "MsmSig" = "8:_UNDEFINED"
12.23 }
12.24 "Entry"
12.25 @@ -118,13 +112,49 @@
12.26 "Entry"
12.27 {
12.28 "MsmKey" = "8:_UNDEFINED"
12.29 - "OwnerKey" = "8:_A8CD4C9EB63D487F8E718093F92404DB"
12.30 + "OwnerKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
12.31 "MsmSig" = "8:_UNDEFINED"
12.32 }
12.33 "Entry"
12.34 {
12.35 "MsmKey" = "8:_UNDEFINED"
12.36 - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
12.37 + "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422"
12.38 + "MsmSig" = "8:_UNDEFINED"
12.39 + }
12.40 + "Entry"
12.41 + {
12.42 + "MsmKey" = "8:_UNDEFINED"
12.43 + "OwnerKey" = "8:_C2E6C8EB1D62D3C8FA1D1C243958D2D5"
12.44 + "MsmSig" = "8:_UNDEFINED"
12.45 + }
12.46 + "Entry"
12.47 + {
12.48 + "MsmKey" = "8:_UNDEFINED"
12.49 + "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4"
12.50 + "MsmSig" = "8:_UNDEFINED"
12.51 + }
12.52 + "Entry"
12.53 + {
12.54 + "MsmKey" = "8:_UNDEFINED"
12.55 + "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB"
12.56 + "MsmSig" = "8:_UNDEFINED"
12.57 + }
12.58 + "Entry"
12.59 + {
12.60 + "MsmKey" = "8:_UNDEFINED"
12.61 + "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46"
12.62 + "MsmSig" = "8:_UNDEFINED"
12.63 + }
12.64 + "Entry"
12.65 + {
12.66 + "MsmKey" = "8:_UNDEFINED"
12.67 + "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
12.68 + "MsmSig" = "8:_UNDEFINED"
12.69 + }
12.70 + "Entry"
12.71 + {
12.72 + "MsmKey" = "8:_UNDEFINED"
12.73 + "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009"
12.74 "MsmSig" = "8:_UNDEFINED"
12.75 }
12.76 "Entry"
12.77 @@ -136,49 +166,7 @@
12.78 "Entry"
12.79 {
12.80 "MsmKey" = "8:_UNDEFINED"
12.81 - "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009"
12.82 - "MsmSig" = "8:_UNDEFINED"
12.83 - }
12.84 - "Entry"
12.85 - {
12.86 - "MsmKey" = "8:_UNDEFINED"
12.87 - "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
12.88 - "MsmSig" = "8:_UNDEFINED"
12.89 - }
12.90 - "Entry"
12.91 - {
12.92 - "MsmKey" = "8:_UNDEFINED"
12.93 - "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46"
12.94 - "MsmSig" = "8:_UNDEFINED"
12.95 - }
12.96 - "Entry"
12.97 - {
12.98 - "MsmKey" = "8:_UNDEFINED"
12.99 - "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB"
12.100 - "MsmSig" = "8:_UNDEFINED"
12.101 - }
12.102 - "Entry"
12.103 - {
12.104 - "MsmKey" = "8:_UNDEFINED"
12.105 - "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4"
12.106 - "MsmSig" = "8:_UNDEFINED"
12.107 - }
12.108 - "Entry"
12.109 - {
12.110 - "MsmKey" = "8:_UNDEFINED"
12.111 - "OwnerKey" = "8:_C2E6C8EB1D62D3C8FA1D1C243958D2D5"
12.112 - "MsmSig" = "8:_UNDEFINED"
12.113 - }
12.114 - "Entry"
12.115 - {
12.116 - "MsmKey" = "8:_UNDEFINED"
12.117 - "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422"
12.118 - "MsmSig" = "8:_UNDEFINED"
12.119 - }
12.120 - "Entry"
12.121 - {
12.122 - "MsmKey" = "8:_UNDEFINED"
12.123 - "OwnerKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
12.124 + "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
12.125 "MsmSig" = "8:_UNDEFINED"
12.126 }
12.127 }
12.128 @@ -199,6 +187,14 @@
12.129 "PrivateKeyFile" = "8:"
12.130 "TimeStampServer" = "8:"
12.131 "InstallerBootstrapper" = "3:2"
12.132 + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
12.133 + {
12.134 + "Enabled" = "11:TRUE"
12.135 + "PromptEnabled" = "11:TRUE"
12.136 + "PrerequisitesLocation" = "2:1"
12.137 + "Url" = "8:"
12.138 + "ComponentsUrl" = "8:"
12.139 + }
12.140 }
12.141 "Release"
12.142 {
12.143 @@ -215,6 +211,14 @@
12.144 "PrivateKeyFile" = "8:"
12.145 "TimeStampServer" = "8:"
12.146 "InstallerBootstrapper" = "3:2"
12.147 + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
12.148 + {
12.149 + "Enabled" = "11:TRUE"
12.150 + "PromptEnabled" = "11:TRUE"
12.151 + "PrerequisitesLocation" = "2:1"
12.152 + "Url" = "8:"
12.153 + "ComponentsUrl" = "8:"
12.154 + }
12.155 }
12.156 }
12.157 "Deployable"
12.158 @@ -251,11 +255,6 @@
12.159 "AssemblyAsmDisplayName" = "8:SharpDisplayClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
12.160 "ScatterAssemblies"
12.161 {
12.162 - "_0BDF79321B394EC0E77BF680C3F40422"
12.163 - {
12.164 - "Name" = "8:SharpDisplayClient.exe"
12.165 - "Attributes" = "3:512"
12.166 - }
12.167 }
12.168 "SourcePath" = "8:SharpDisplayClient.exe"
12.169 "TargetName" = "8:"
12.170 @@ -282,11 +281,6 @@
12.171 "AssemblyAsmDisplayName" = "8:SharpLibHid, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
12.172 "ScatterAssemblies"
12.173 {
12.174 - "_295C95460CE37C9B5A2F236412BA3C46"
12.175 - {
12.176 - "Name" = "8:SharpLibHid.dll"
12.177 - "Attributes" = "3:512"
12.178 - }
12.179 }
12.180 "SourcePath" = "8:SharpLibHid.dll"
12.181 "TargetName" = "8:"
12.182 @@ -313,11 +307,6 @@
12.183 "AssemblyAsmDisplayName" = "8:SharpLibWin32, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
12.184 "ScatterAssemblies"
12.185 {
12.186 - "_334B309CE72870CC620EAB7737749CDB"
12.187 - {
12.188 - "Name" = "8:SharpLibWin32.dll"
12.189 - "Attributes" = "3:512"
12.190 - }
12.191 }
12.192 "SourcePath" = "8:SharpLibWin32.dll"
12.193 "TargetName" = "8:"
12.194 @@ -344,11 +333,6 @@
12.195 "AssemblyAsmDisplayName" = "8:NAudio, Version=1.7.3.0, Culture=neutral, processorArchitecture=MSIL"
12.196 "ScatterAssemblies"
12.197 {
12.198 - "_3EF5004CB20A413815D0A2588A19CDD4"
12.199 - {
12.200 - "Name" = "8:NAudio.dll"
12.201 - "Attributes" = "3:512"
12.202 - }
12.203 }
12.204 "SourcePath" = "8:NAudio.dll"
12.205 "TargetName" = "8:"
12.206 @@ -375,11 +359,6 @@
12.207 "AssemblyAsmDisplayName" = "8:System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
12.208 "ScatterAssemblies"
12.209 {
12.210 - "_63DC5055504D8E8030D07BDDC074A009"
12.211 - {
12.212 - "Name" = "8:System.Xml.Serialization.dll"
12.213 - "Attributes" = "3:512"
12.214 - }
12.215 }
12.216 "SourcePath" = "8:System.Xml.Serialization.dll"
12.217 "TargetName" = "8:"
12.218 @@ -406,11 +385,6 @@
12.219 "AssemblyAsmDisplayName" = "8:LibCecSharp, Version=2.2.0.0, Culture=neutral, processorArchitecture=x86"
12.220 "ScatterAssemblies"
12.221 {
12.222 - "_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
12.223 - {
12.224 - "Name" = "8:LibCecSharp.dll"
12.225 - "Attributes" = "3:512"
12.226 - }
12.227 }
12.228 "SourcePath" = "8:LibCecSharp.dll"
12.229 "TargetName" = "8:"
12.230 @@ -437,11 +411,6 @@
12.231 "AssemblyAsmDisplayName" = "8:SharpDisplayInterface, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
12.232 "ScatterAssemblies"
12.233 {
12.234 - "_9F004B0F8506B523869FACB14EFF064D"
12.235 - {
12.236 - "Name" = "8:SharpDisplayInterface.dll"
12.237 - "Attributes" = "3:512"
12.238 - }
12.239 }
12.240 "SourcePath" = "8:SharpDisplayInterface.dll"
12.241 "TargetName" = "8:"
12.242 @@ -468,11 +437,6 @@
12.243 "AssemblyAsmDisplayName" = "8:MiniDisplayInterop, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
12.244 "ScatterAssemblies"
12.245 {
12.246 - "_C2E6C8EB1D62D3C8FA1D1C243958D2D5"
12.247 - {
12.248 - "Name" = "8:MiniDisplayInterop.dll"
12.249 - "Attributes" = "3:512"
12.250 - }
12.251 }
12.252 "SourcePath" = "8:MiniDisplayInterop.dll"
12.253 "TargetName" = "8:"
12.254 @@ -499,11 +463,6 @@
12.255 "AssemblyAsmDisplayName" = "8:PowerManager, Version=1.0.5750.26884, Culture=neutral, processorArchitecture=x86"
12.256 "ScatterAssemblies"
12.257 {
12.258 - "_FE5CFB2A37C82C1C9824F67FFE127C01"
12.259 - {
12.260 - "Name" = "8:PowerManager.dll"
12.261 - "Attributes" = "3:512"
12.262 - }
12.263 }
12.264 "SourcePath" = "8:PowerManager.dll"
12.265 "TargetName" = "8:"
12.266 @@ -1222,34 +1181,6 @@
12.267 {
12.268 }
12.269 }
12.270 - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A8CD4C9EB63D487F8E718093F92404DB"
12.271 - {
12.272 - "SourcePath" = "8:..\\bin\\x86\\Release\\obj\\x86\\Release\\SharpDisplayInterface.dll"
12.273 - "TargetName" = "8:"
12.274 - "Tag" = "8:"
12.275 - "Folder" = "8:_E283B42AF1634497931184D1A685745A"
12.276 - "Condition" = "8:"
12.277 - "Transitive" = "11:FALSE"
12.278 - "Vital" = "11:TRUE"
12.279 - "ReadOnly" = "11:FALSE"
12.280 - "Hidden" = "11:FALSE"
12.281 - "System" = "11:FALSE"
12.282 - "Permanent" = "11:FALSE"
12.283 - "SharedLegacy" = "11:FALSE"
12.284 - "PackageAs" = "3:1"
12.285 - "Register" = "3:1"
12.286 - "Exclude" = "11:FALSE"
12.287 - "IsDependency" = "11:FALSE"
12.288 - "IsolateTo" = "8:"
12.289 - "ProjectOutputGroupRegister" = "3:1"
12.290 - "OutputConfiguration" = "8:"
12.291 - "OutputGroupCanonicalName" = "8:Built"
12.292 - "OutputProjectGuid" = "8:{88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}"
12.293 - "ShowKeyOutput" = "11:TRUE"
12.294 - "ExcludeFilters"
12.295 - {
12.296 - }
12.297 - }
12.298 "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F8D21A6176DE48AB9A10DB85A3DEEB49"
12.299 {
12.300 "SourcePath" = "8:"
13.1 --- a/SharpDisplayManager.sln Tue Sep 29 18:38:36 2015 +0200
13.2 +++ b/SharpDisplayManager.sln Fri Oct 30 16:45:33 2015 +0100
13.3 @@ -7,8 +7,6 @@
13.4 EndProject
13.5 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClient", "Client\SharpDisplayClient.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
13.6 EndProject
13.7 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayInterface", "Interface\SharpDisplayInterface.csproj", "{88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}"
13.8 -EndProject
13.9 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerManager", "PowerManager\PowerManager.vcxproj", "{C174F23D-3055-49BC-B6B0-563011AF624D}"
13.10 EndProject
13.11 Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{22C920A9-2352-4DC9-91E2-035EBD712866}"
13.12 @@ -47,18 +45,6 @@
13.13 {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.Build.0 = Release|Any CPU
13.14 {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.ActiveCfg = Release|x86
13.15 {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.Build.0 = Release|x86
13.16 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
13.17 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
13.18 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x64.ActiveCfg = Debug|Any CPU
13.19 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x64.Build.0 = Debug|Any CPU
13.20 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x86.ActiveCfg = Debug|x86
13.21 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Debug|x86.Build.0 = Debug|x86
13.22 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
13.23 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|Any CPU.Build.0 = Release|Any CPU
13.24 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x64.ActiveCfg = Release|Any CPU
13.25 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x64.Build.0 = Release|Any CPU
13.26 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x86.ActiveCfg = Release|x86
13.27 - {88EEE0DC-ABBC-4738-BAD6-7E08CF7F50F9}.Release|x86.Build.0 = Release|x86
13.28 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|Any CPU.ActiveCfg = Debug|Win32
13.29 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.ActiveCfg = Debug|x64
13.30 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.Build.0 = Debug|x64