diff options
author | marcinzelent <zelent.marcin@protonmail.com> | 2017-10-09 08:56:25 +0200 |
---|---|---|
committer | marcinzelent <zelent.marcin@protonmail.com> | 2017-10-09 08:56:25 +0200 |
commit | 295e3c10bb6d1c83796554edf8369e5aa87a20a8 (patch) | |
tree | f6ad54798c039b6db9aceca3099fd409f6ea4ba8 |
Initial commit.
44 files changed, 960 insertions, 0 deletions
diff --git a/Server/App.cs b/Server/App.cs new file mode 100644 index 0000000..8d02d69 --- /dev/null +++ b/Server/App.cs @@ -0,0 +1,10 @@ +sing System; +namespace Server +{ + public class App + { + public App() + { + } + } +} diff --git a/Server/ClientConnection.cs b/Server/ClientConnection.cs new file mode 100644 index 0000000..f2d8976 --- /dev/null +++ b/Server/ClientConnection.cs @@ -0,0 +1,34 @@ +using System; +using System.IO; +using System.Net.Sockets; +using System.Threading.Tasks; + +namespace Server +{ + public class ClientConnection + { + public StreamReader StreamReader { get; set; } + public StreamWriter StreamWriter { get; set; } + + public ClientConnection(TcpListener listener) + { + TcpClient connectionSocket = listener.AcceptTcpClient(); + NetworkStream ns = connectionSocket.GetStream(); + StreamReader = new StreamReader(ns); + StreamWriter = new StreamWriter(ns); + StreamWriter.AutoFlush = true; + Task.Run(() => EchoService(StreamReader, StreamWriter)); + } + + private async Task EchoService(StreamReader sr, StreamWriter sw) + { + while (true) + { + string message = await sr.ReadLineAsync(); + LogSingleton.Instance.Log += $"{message}\n"; + foreach (ClientConnection client in LogSingleton.Instance.ConnectedClients) client.StreamWriter.WriteLine(message); + message = ""; + } + } + } +} diff --git a/Server/LogSingleton.cs b/Server/LogSingleton.cs new file mode 100644 index 0000000..158440d --- /dev/null +++ b/Server/LogSingleton.cs @@ -0,0 +1,40 @@ +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; + +namespace Server +{ + public class LogSingleton : INotifyPropertyChanged + { + private static LogSingleton _instance; + public static LogSingleton Instance => _instance ?? (_instance = new LogSingleton()); + + private string log; + public string Log + { + get + { + return log; + } + set + { + log = value; + OnPropertyChanged(); + } + } + + public List<ClientConnection> ConnectedClients { get; set; } + + private LogSingleton() + { + ConnectedClients = new List<ClientConnection>(); + } + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } +} diff --git a/Server/MainWindow.cs b/Server/MainWindow.cs new file mode 100644 index 0000000..e8974d2 --- /dev/null +++ b/Server/MainWindow.cs @@ -0,0 +1,76 @@ +using System; +using Xwt; +using Xwt.Formats; + +namespace Server +{ + public class MainWindow : Window + { + TcpChatServer tcpChatServer; + + public MainWindow() + { + Title = "TCP Chat X Server"; + Width = 600; + Height = 400; + + VBox mainVBox; + HBox connectionHBox, messageHBox; + TextEntry ipTextEntry = new TextEntry + { + PlaceholderText = "IP Address", + Text = "127.0.0.1", + }; + TextEntry portTextEntry = new TextEntry + { + WidthRequest = 100, + PlaceholderText = "Port", + Text = "6789" + }; + Button startButton = new Button + { + Label = "Start" + }; + startButton.Clicked += (object sender, EventArgs e) => + { + tcpChatServer = new TcpChatServer(); + tcpChatServer.Start(ipTextEntry.Text, int.Parse(portTextEntry.Text)); + }; + RichTextView outputTextView = new RichTextView + { + ExpandHorizontal = true, + ExpandVertical = true, + MinHeight = 200 + }; + LogSingleton.Instance.PropertyChanged += (sender, args) => + outputTextView.LoadText(LogSingleton.Instance.Log, TextFormat.Plain); + + TextEntry messageTextEntry = new TextEntry() + { + PlaceholderText = "Message" + }; + Button sendButton = new Button + { + Label = "Send" + }; + sendButton.Clicked += (object sender, EventArgs e) => + { + tcpChatServer.SendMessage($"Server: {messageTextEntry.Text}"); + messageTextEntry.Text = ""; + }; + + Content = mainVBox = new VBox(); + + mainVBox.PackStart(connectionHBox = new HBox()); + connectionHBox.PackStart(ipTextEntry , true); + connectionHBox.PackStart(portTextEntry); + connectionHBox.PackStart(startButton); + + mainVBox.PackStart(outputTextView, true, true); + + mainVBox.PackStart(messageHBox = new HBox()); + messageHBox.PackStart(messageTextEntry, true, true); + messageHBox.PackStart(sendButton); + } + } +} diff --git a/Server/Program.cs b/Server/Program.cs new file mode 100644 index 0000000..35bf5e4 --- /dev/null +++ b/Server/Program.cs @@ -0,0 +1,19 @@ +using System; +using Xwt; + +namespace Server +{ + class Program + { + [STAThread] + static void Main() + { + Application.Initialize(); + var mainWindow = new MainWindow(); + mainWindow.Show(); + Application.Run(); + mainWindow.Dispose(); + } + } + +} diff --git a/Server/Server.csproj b/Server/Server.csproj new file mode 100644 index 0000000..5b68532 --- /dev/null +++ b/Server/Server.csproj @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="..\packages\Xwt.Gtk.0.2.40\build\Xwt.Gtk.props" Condition="Exists('..\packages\Xwt.Gtk.0.2.40\build\Xwt.Gtk.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProjectGuid>{8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>Server</RootNamespace>
+ <AssemblyName>Server</AssemblyName>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Program.cs" />
+ <Compile Include="MainWindow.cs" />
+ <Compile Include="ClientConnection.cs" />
+ <Compile Include="LogSingleton.cs" />
+ <Compile Include="TcpChatServer.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="Xwt">
+ <HintPath>..\packages\Xwt.0.2.40\lib\net40\Xwt.dll</HintPath>
+ </Reference>
+ <Reference Include="Xwt.Gtk">
+ <HintPath>..\packages\Xwt.Gtk.0.2.40\lib\net40\Xwt.Gtk.dll</HintPath>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
\ No newline at end of file diff --git a/Server/TcpChatServer.cs b/Server/TcpChatServer.cs new file mode 100644 index 0000000..986bbf1 --- /dev/null +++ b/Server/TcpChatServer.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Threading.Tasks; + +namespace Server +{ + public class TcpChatServer + { + TcpListener serverSocket; + + public void Start(string ipAddress, int port) + { + try + { + serverSocket = new TcpListener(IPAddress.Parse(ipAddress), port); + serverSocket.Start(); + LogSingleton.Instance.Log += "Server started.\n"; + Task.Run(() => Listen(serverSocket)); + LogSingleton.Instance.Log += "Waiting for connections...\n"; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + private void Listen(TcpListener listener) + { + while (true) + { + ClientConnection cc = new ClientConnection(listener); + LogSingleton.Instance.ConnectedClients.Add(cc); + } + } + + public void Stop() + { + serverSocket.Stop(); + LogSingleton.Instance.Log += "Server stopped\n"; + } + + public void SendMessage(string message) + { + foreach (ClientConnection client in LogSingleton.Instance.ConnectedClients) client.StreamWriter.WriteLine(message); + } + } +} diff --git a/Server/bin/Debug/Eto.Gtk2.dll b/Server/bin/Debug/Eto.Gtk2.dll Binary files differnew file mode 100644 index 0000000..c0fddb7 --- /dev/null +++ b/Server/bin/Debug/Eto.Gtk2.dll diff --git a/Server/bin/Debug/Eto.Gtk3.dll b/Server/bin/Debug/Eto.Gtk3.dll Binary files differnew file mode 100644 index 0000000..21bbb3d --- /dev/null +++ b/Server/bin/Debug/Eto.Gtk3.dll diff --git a/Server/bin/Debug/Eto.dll b/Server/bin/Debug/Eto.dll Binary files differnew file mode 100644 index 0000000..306ef1d --- /dev/null +++ b/Server/bin/Debug/Eto.dll diff --git a/Server/bin/Debug/Server.exe b/Server/bin/Debug/Server.exe Binary files differnew file mode 100644 index 0000000..482894d --- /dev/null +++ b/Server/bin/Debug/Server.exe diff --git a/Server/bin/Debug/Server.pdb b/Server/bin/Debug/Server.pdb Binary files differnew file mode 100644 index 0000000..a70dc58 --- /dev/null +++ b/Server/bin/Debug/Server.pdb diff --git a/Server/bin/Debug/Xwt.Gtk.dll b/Server/bin/Debug/Xwt.Gtk.dll Binary files differnew file mode 100644 index 0000000..b80892c --- /dev/null +++ b/Server/bin/Debug/Xwt.Gtk.dll diff --git a/Server/bin/Debug/Xwt.Gtk.dll.config b/Server/bin/Debug/Xwt.Gtk.dll.config new file mode 100644 index 0000000..f1630bb --- /dev/null +++ b/Server/bin/Debug/Xwt.Gtk.dll.config @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libatk-1.0-0.dll" target="libatk-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-x11-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-x11-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libpango-1.0-0.dll" target="libpango-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.so.0"/> + <dllmap os="!windows,osx" dll="fontconfig" target="libfontconfig.so.1"/> + + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + <dllmap os="osx" dll="libatk-1.0-0.dll" target="libatk-1.0.0.dylib"/> + <dllmap os="osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-quartz-2.0.0.dylib"/> + <dllmap os="osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-quartz-2.0.0.dylib"/> + <dllmap os="osx" dll="libpango-1.0-0.dll" target="libpango-1.0.0.dylib"/> + <dllmap os="osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.0.dylib"/> + <dllmap os="osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.0.dylib"/> + <dllmap os="osx" dll="fontconfig" target="libfontconfig.1.dylib"/> +</configuration> diff --git a/Server/bin/Debug/Xwt.dll b/Server/bin/Debug/Xwt.dll Binary files differnew file mode 100644 index 0000000..c50a574 --- /dev/null +++ b/Server/bin/Debug/Xwt.dll diff --git a/Server/bin/Debug/atk-sharp.dll.config b/Server/bin/Debug/atk-sharp.dll.config new file mode 100644 index 0000000..671f620 --- /dev/null +++ b/Server/bin/Debug/atk-sharp.dll.config @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + + <dllmap os="!windows,osx" dll="libatk-1.0-0.dll" target="libatk-1.0.so.0"/> + <dllmap os="osx" dll="libatk-1.0-0.dll" target="libatk-1.0.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/gdk-sharp.dll.config b/Server/bin/Debug/gdk-sharp.dll.config new file mode 100644 index 0000000..00917fd --- /dev/null +++ b/Server/bin/Debug/gdk-sharp.dll.config @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libgio-2.0-0.dll" target="libgio-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgdk-3-0.dll" target="libgdk-3.so.0"/> + <dllmap os="!windows,osx" dll="libgdk_pixbuf-2.0-0.dll" target="libgdk_pixbuf-2.0.so.0"/> + + <dllmap os="osx" dll="libgio-2.0-0.dll" target="libgio-2.0.0.dylib"/> + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + <dllmap os="osx" dll="libgdk-3-0.dll" target="libgdk-quartz-3.0.0.dylib"/> + <dllmap os="osx" dll="libgdk_pixbuf-2.0-0.dll" target="libgdk_pixbuf-2.0.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/gio-sharp.dll.config b/Server/bin/Debug/gio-sharp.dll.config new file mode 100644 index 0000000..47c0700 --- /dev/null +++ b/Server/bin/Debug/gio-sharp.dll.config @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libgio-2.0-0.dll" target="libgio-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + + <dllmap os="osx" dll="libgio-2.0-0.dll" target="libgio-2.0.0.dylib"/> + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/glib-sharp.dll.config b/Server/bin/Debug/glib-sharp.dll.config new file mode 100644 index 0000000..2fd9ec4 --- /dev/null +++ b/Server/bin/Debug/glib-sharp.dll.config @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/gtk-dotnet.dll.config b/Server/bin/Debug/gtk-dotnet.dll.config new file mode 100644 index 0000000..ebd8040 --- /dev/null +++ b/Server/bin/Debug/gtk-dotnet.dll.config @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libgdk-3-0.dll" target="libgdk-3.so.0"/> + <dllmap os="osx" dll="libgdk-3-0.dll" target="libgdk-quartz-3.0.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/gtk-sharp.dll.config b/Server/bin/Debug/gtk-sharp.dll.config new file mode 100644 index 0000000..2914bb7 --- /dev/null +++ b/Server/bin/Debug/gtk-sharp.dll.config @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libatk-1.0-0.dll" target="libatk-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libgtk-3-0.dll" target="libgtk-3.so.0"/> + + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + <dllmap os="osx" dll="libatk-1.0-0.dll" target="libatk-1.0.0.dylib"/> + <dllmap os="osx" dll="libgtk-3-0.dll" target="libgtk-3.0.dylib"/> +</configuration> diff --git a/Server/bin/Debug/pango-sharp.dll.config b/Server/bin/Debug/pango-sharp.dll.config new file mode 100644 index 0000000..2ec8168 --- /dev/null +++ b/Server/bin/Debug/pango-sharp.dll.config @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libpango-1.0-0.dll" target="libpango-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.so.0"/> + + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + <dllmap os="osx" dll="libpango-1.0-0.dll" target="libpango-1.0.0.dylib"/> + <dllmap os="osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.0.dylib"/> +</configuration> diff --git a/Server/obj/x86/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs b/Server/obj/x86/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs new file mode 100644 index 0000000..fdcb678 --- /dev/null +++ b/Server/obj/x86/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs @@ -0,0 +1,2 @@ +// <autogenerated /> +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = "")] diff --git a/Server/obj/x86/Debug/Server.csproj.CopyComplete b/Server/obj/x86/Debug/Server.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Server/obj/x86/Debug/Server.csproj.CopyComplete diff --git a/Server/obj/x86/Debug/Server.csproj.CoreCompileInputs.cache b/Server/obj/x86/Debug/Server.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..b760382 --- /dev/null +++ b/Server/obj/x86/Debug/Server.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +288dbf2ed052e53bd705274b9a599fcb3c80460a diff --git a/Server/obj/x86/Debug/Server.csproj.FileListAbsolute.txt b/Server/obj/x86/Debug/Server.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..531304f --- /dev/null +++ b/Server/obj/x86/Debug/Server.csproj.FileListAbsolute.txt @@ -0,0 +1,9 @@ +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Server.exe +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Server.pdb +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.csproj.CoreCompileInputs.cache +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.exe +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.pdb +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.Gtk.dll.config +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.Gtk.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.csprojResolveAssemblyReference.cache diff --git a/Server/obj/x86/Debug/Server.csproj.FilesWrittenAbsolute.txt b/Server/obj/x86/Debug/Server.csproj.FilesWrittenAbsolute.txt new file mode 100644 index 0000000..5ab07d3 --- /dev/null +++ b/Server/obj/x86/Debug/Server.csproj.FilesWrittenAbsolute.txt @@ -0,0 +1,13 @@ +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Eto.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Eto.Gtk3.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Server.pdb +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Server.exe +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.exe +/home/marcin/MonoDevelop Projects/TcpChatX/Server/obj/x86/Debug/Server.pdb +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Eto.Gtk2.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.Gtk.dll.config +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.Gtk.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.WPF.dll +/home/marcin/MonoDevelop Projects/TcpChatX/Server/bin/Debug/Xwt.Gtk.Windows.dll diff --git a/Server/obj/x86/Debug/Server.csprojResolveAssemblyReference.cache b/Server/obj/x86/Debug/Server.csprojResolveAssemblyReference.cache Binary files differnew file mode 100644 index 0000000..0cdf7de --- /dev/null +++ b/Server/obj/x86/Debug/Server.csprojResolveAssemblyReference.cache diff --git a/Server/obj/x86/Debug/Server.exe b/Server/obj/x86/Debug/Server.exe Binary files differnew file mode 100644 index 0000000..482894d --- /dev/null +++ b/Server/obj/x86/Debug/Server.exe diff --git a/Server/obj/x86/Debug/Server.pdb b/Server/obj/x86/Debug/Server.pdb Binary files differnew file mode 100644 index 0000000..a70dc58 --- /dev/null +++ b/Server/obj/x86/Debug/Server.pdb diff --git a/Server/packages.config b/Server/packages.config new file mode 100644 index 0000000..5714f0f --- /dev/null +++ b/Server/packages.config @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Xwt" version="0.2.40" targetFramework="net45" /> + <package id="Xwt.Gtk" version="0.2.40" targetFramework="net45" /> +</packages>
\ No newline at end of file diff --git a/TcpChatX.sln b/TcpChatX.sln new file mode 100644 index 0000000..66e9ea4 --- /dev/null +++ b/TcpChatX.sln @@ -0,0 +1,23 @@ +
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "..\TcpChatGui\Client\Client.csproj", "{73154F68-BBEB-48FC-86C4-BB4909C1C7B4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}.Debug|x86.ActiveCfg = Debug|x86
+ {8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}.Debug|x86.Build.0 = Debug|x86
+ {8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}.Release|x86.ActiveCfg = Release|x86
+ {8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}.Release|x86.Build.0 = Release|x86
+ {73154F68-BBEB-48FC-86C4-BB4909C1C7B4}.Debug|x86.ActiveCfg = Debug|x86
+ {73154F68-BBEB-48FC-86C4-BB4909C1C7B4}.Debug|x86.Build.0 = Debug|x86
+ {73154F68-BBEB-48FC-86C4-BB4909C1C7B4}.Release|x86.ActiveCfg = Release|x86
+ {73154F68-BBEB-48FC-86C4-BB4909C1C7B4}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+EndGlobal
diff --git a/TcpChatX.userprefs b/TcpChatX.userprefs new file mode 100644 index 0000000..c461aec --- /dev/null +++ b/TcpChatX.userprefs @@ -0,0 +1,21 @@ +<Properties StartupConfiguration="{8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}|Default"> + <MonoDevelop.Ide.Workbench ActiveDocument="Server/Program.cs"> + <Files> + <File FileName="Server/App.cs" Line="1" Column="1" /> + <File FileName="Server/Program.cs" Line="17" Column="3" /> + <File FileName="Server/MainWindow.cs" Line="18" Column="37" /> + <File FileName="Server/ClientConnection.cs" Line="1" Column="1" /> + <File FileName="Server/LogSingleton.cs" Line="1" Column="1" /> + <File FileName="Server/packages.config" Line="1" Column="1" /> + <File FileName="Server/TcpChatServer.cs" Line="24" Column="24" /> + </Files> + </MonoDevelop.Ide.Workbench> + <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|x86" /> + <MonoDevelop.Ide.ItemProperties.Server PreferredExecutionTarget="MonoDevelop.Default" /> + <MonoDevelop.Ide.DebuggingService.Breakpoints> + <BreakpointStore /> + </MonoDevelop.Ide.DebuggingService.Breakpoints> + <MonoDevelop.Ide.DebuggingService.PinnedWatches /> + <MultiItemStartupConfigurations /> + <MonoDevelop.Ide.ItemProperties.Client PreferredExecutionTarget="MonoDevelop.Default" /> +</Properties>
\ No newline at end of file diff --git a/TcpChatX.zip b/TcpChatX.zip Binary files differnew file mode 100644 index 0000000..3f8a961 --- /dev/null +++ b/TcpChatX.zip diff --git a/packages/Xwt.0.2.40/LICENSE.txt b/packages/Xwt.0.2.40/LICENSE.txt new file mode 100644 index 0000000..170a488 --- /dev/null +++ b/packages/Xwt.0.2.40/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Xamarin, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/Xwt.0.2.40/README.markdown b/packages/Xwt.0.2.40/README.markdown new file mode 100644 index 0000000..54de416 --- /dev/null +++ b/packages/Xwt.0.2.40/README.markdown @@ -0,0 +1,221 @@ +This document is an introduction to XWT, a cross-platform UI toolkit +for creating desktop applications. + +If you have any question about XWT or do you want to contribute +a discussion group for XWT is available here: + +http://groups.google.com/group/xwt-list + +Introduction +============ + +Xwt is a new .NET framework for creating desktop applications that run +on multiple platforms from the same codebase. Xwt works by exposing +one unified API across all environments that is mapped to a set of +native controls on each platform. + +This means that Xwt tends to focus on providing controls that will +work across all platforms. However, that doesn't mean that the +functionality available is a common denominator of all platforms. +If a specific feature or widget is not available in the +native framework of a platform, it will be emulated or implemented +as a set of native widgets. + +Xwt can be used as a standalone framework to power the entire application +or it can be embedded into an existing host. This allows developers +to develop their "shell" using native components (for example a Ribbon +on Windows, toolbars on Linux) and use Xwt for specific bits of the +application, like dialog boxes or cross platform surfaces. + +Xwt works by creating an engine at runtime that will map to the +underlying platform. These are the engines that are supported on +each platform: + +* Windows: WPF engine, Gtk engine (using Gtk#) +* MacOS X: Cocoa engine (using Xamarin.Mac) and Gtk engine (using Gtk#) +* Linux: Gtk engine (using Gtk#) + +This means for example that you can write code for Xwt on Windows that +can be hosted on an existing WPF application (like Visual Studio) or +an existing Gtk# application (like MonoDevelop). Or on Mac, you can +host Xwt on an existing Cocoa/Xamarin.Mac application or you can host it +in our own MonoDevelop IDE. + +Getting Started +--------------- + +Open the Xwt.sln with MonoDevelop (or VisualStudio on Windows) and +build the solution. You should end up with the libraries that you +can use in your project and a couple of sample applications. + +Using Xwt in your app +--------------------- + +Based on your platform and the backend that you want to use, you need +to pick the libraries that you want to use in your project. + +* Windows+WPF: Xwt.dll + Xwt.WPF.dll (requires WPF) +* Windows+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Linux+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Mac+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Mac+Cocoa: Xwt.dll + Xwt.XamMac.dll (requires Xamarin.Mac.dll) + +Hello World +----------- + +To write your first application, create an empty .NET project in your +favorite language in MonoDevelop or Visual Studio and reference the +Xwt.dll library. This is the only library that you need to reference +at compile time. + +This is the simplest Xwt program you can write: + + using System; + using Xwt; + + class XwtDemo { + [STAThread] + static void Main () + { + Application.Initialize (ToolkitType.Gtk); + var mainWindow = new Window (){ + Title = "Xwt Demo Application", + Width = 500, + Height = 400 + }; + mainWindow.Show (); + Application.Run (); + mainWindow.Dispose (); + } + } + +You use the Application.Initialize() method to get the backend +initialized. In this example we are using the Gtk backend. If you +want to use another backend, just change the parameter provided +to the Initialize() method. Also make sure the appropiate backend +DLL is available in the application directory. + +Then we create an instance of the Window class, this class exposes two +interesting properties, MainMenu which can be used to set the Window's +main menu and "Content" which is of type "Widget" and allows you to +add some content to the window. + +Finally, the Application.Run method is called to get the UI events +processing going. + +Widget Class Hierarchy +====================== + +You will be using widgets to create the contents for your +application. Xwt.Widget is the abstract base class from which all +the other components are created. + +Some Widgets can contain other widgets, these are container widgets, +and in Xwt those are Canvas, Paned, HBox, VBox and Table. The first +two implement a box layout system, while the last one implements a +Table layout that allows widgets to be attached to different +anchor-points in a grid. + +The layout system uses an auto-sizing system similar to what is +availble in Gtk and HTML allowing the user interface to grow or shrink +based on the contents of the childrens on it. + +* XwtComponent + * Menu + * MenuItem + * Widget + * Box (Container) + * HBox (Container) + * VBox (Container) + * Button + * MenuButton + * ToggleButton + * Calendar + * Canvas (Container) + * Checkbox + * ComboBox + * Frame + * ImageView + * Label + * ListView + * NoteBook + * Paned (Container) + * HPaned (Container) + * VPaned (Container) + * ProgressBar + * ScrollView + * Separator + * VSeparator + * HSeparator + * Table (Container) + * TextEntry + * TreeView + * WindowFrame + * Window + * Dialog + +For example, the following attaches various labels and data entries to +a Table: + + t = new Table (); + t.Attach (new Label ("One:"), 0, 1, 0, 1); + t.Attach (new TextEntry (), 1, 2, 0, 1); + t.Attach (new Label ("Two:"), 0, 1, 1, 2); + t.Attach (new TextEntry (), 1, 2, 1, 2); + t.Attach (new Label ("Three:"), 0, 1, 2, 3); + t.Attach (new TextEntry (), 1, 2, 2, 3); + + +The Application Class +===================== + +The Application class is a static class that provides services to run +your application. + +Initialization +-------------- + +The Application.Initialize API will instruct Xwt to initialize its +binding to the native toolkit. You can pass an optional parameter to +this method that specifies the full type name to load as the backend. + +For example, you can force the initialization of the backend to be +specifically Gtk+ or specifically Xamarin.Mac based on MacOS. This is +currently done like this: + + Application.Initialize ("Xwt.GtkBackend.GtkEngine, Xwt.Gtk, Version=1.0.0.0"); + +or: + + Application.Initialize ("Xwt.Mac.MacEngine, Xwt.XamMac, Version=1.0.0.0"); + +As you saw from the Hello World sample, toplevel windows are created +by creating an instance of the "Xwt.Window" class. This class +exposes a couple of properties that you can use to spice it up. The +MainMenu property is used to control the contents of the application +menus while the "Content" property is used to hold a Widget. + +Timers +------ + +The Application.TimeoutInvoke method takes a timespan and a Func<bool> +action method and invokes that method in the main user interface +loop. + +If the provided function returns true, then the timer is restarted, +otherwise the timer ends. + +Background Threads +------------------ + +It is very common to perform tasks in the background and for those +tasks in the background to later update the user interface. The Xwt +API is not thread safe, which means that calls to the Xwt API must +only be done from the main user interface thread. + +This is a trait from the underlying toolkits used by Xwt. + +If you want a background thread to run some code on the main loop, you +use the Application.Invoke (Action action) method. The provided +"action" method is guaranteed to run on the main loop. + diff --git a/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg b/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg Binary files differnew file mode 100644 index 0000000..f428a4c --- /dev/null +++ b/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg diff --git a/packages/Xwt.0.2.40/lib/net40/Xwt.dll b/packages/Xwt.0.2.40/lib/net40/Xwt.dll Binary files differnew file mode 100644 index 0000000..c50a574 --- /dev/null +++ b/packages/Xwt.0.2.40/lib/net40/Xwt.dll diff --git a/packages/Xwt.Gtk.0.2.40/LICENSE.txt b/packages/Xwt.Gtk.0.2.40/LICENSE.txt new file mode 100644 index 0000000..170a488 --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Xamarin, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/Xwt.Gtk.0.2.40/README.markdown b/packages/Xwt.Gtk.0.2.40/README.markdown new file mode 100644 index 0000000..54de416 --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/README.markdown @@ -0,0 +1,221 @@ +This document is an introduction to XWT, a cross-platform UI toolkit +for creating desktop applications. + +If you have any question about XWT or do you want to contribute +a discussion group for XWT is available here: + +http://groups.google.com/group/xwt-list + +Introduction +============ + +Xwt is a new .NET framework for creating desktop applications that run +on multiple platforms from the same codebase. Xwt works by exposing +one unified API across all environments that is mapped to a set of +native controls on each platform. + +This means that Xwt tends to focus on providing controls that will +work across all platforms. However, that doesn't mean that the +functionality available is a common denominator of all platforms. +If a specific feature or widget is not available in the +native framework of a platform, it will be emulated or implemented +as a set of native widgets. + +Xwt can be used as a standalone framework to power the entire application +or it can be embedded into an existing host. This allows developers +to develop their "shell" using native components (for example a Ribbon +on Windows, toolbars on Linux) and use Xwt for specific bits of the +application, like dialog boxes or cross platform surfaces. + +Xwt works by creating an engine at runtime that will map to the +underlying platform. These are the engines that are supported on +each platform: + +* Windows: WPF engine, Gtk engine (using Gtk#) +* MacOS X: Cocoa engine (using Xamarin.Mac) and Gtk engine (using Gtk#) +* Linux: Gtk engine (using Gtk#) + +This means for example that you can write code for Xwt on Windows that +can be hosted on an existing WPF application (like Visual Studio) or +an existing Gtk# application (like MonoDevelop). Or on Mac, you can +host Xwt on an existing Cocoa/Xamarin.Mac application or you can host it +in our own MonoDevelop IDE. + +Getting Started +--------------- + +Open the Xwt.sln with MonoDevelop (or VisualStudio on Windows) and +build the solution. You should end up with the libraries that you +can use in your project and a couple of sample applications. + +Using Xwt in your app +--------------------- + +Based on your platform and the backend that you want to use, you need +to pick the libraries that you want to use in your project. + +* Windows+WPF: Xwt.dll + Xwt.WPF.dll (requires WPF) +* Windows+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Linux+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Mac+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#) +* Mac+Cocoa: Xwt.dll + Xwt.XamMac.dll (requires Xamarin.Mac.dll) + +Hello World +----------- + +To write your first application, create an empty .NET project in your +favorite language in MonoDevelop or Visual Studio and reference the +Xwt.dll library. This is the only library that you need to reference +at compile time. + +This is the simplest Xwt program you can write: + + using System; + using Xwt; + + class XwtDemo { + [STAThread] + static void Main () + { + Application.Initialize (ToolkitType.Gtk); + var mainWindow = new Window (){ + Title = "Xwt Demo Application", + Width = 500, + Height = 400 + }; + mainWindow.Show (); + Application.Run (); + mainWindow.Dispose (); + } + } + +You use the Application.Initialize() method to get the backend +initialized. In this example we are using the Gtk backend. If you +want to use another backend, just change the parameter provided +to the Initialize() method. Also make sure the appropiate backend +DLL is available in the application directory. + +Then we create an instance of the Window class, this class exposes two +interesting properties, MainMenu which can be used to set the Window's +main menu and "Content" which is of type "Widget" and allows you to +add some content to the window. + +Finally, the Application.Run method is called to get the UI events +processing going. + +Widget Class Hierarchy +====================== + +You will be using widgets to create the contents for your +application. Xwt.Widget is the abstract base class from which all +the other components are created. + +Some Widgets can contain other widgets, these are container widgets, +and in Xwt those are Canvas, Paned, HBox, VBox and Table. The first +two implement a box layout system, while the last one implements a +Table layout that allows widgets to be attached to different +anchor-points in a grid. + +The layout system uses an auto-sizing system similar to what is +availble in Gtk and HTML allowing the user interface to grow or shrink +based on the contents of the childrens on it. + +* XwtComponent + * Menu + * MenuItem + * Widget + * Box (Container) + * HBox (Container) + * VBox (Container) + * Button + * MenuButton + * ToggleButton + * Calendar + * Canvas (Container) + * Checkbox + * ComboBox + * Frame + * ImageView + * Label + * ListView + * NoteBook + * Paned (Container) + * HPaned (Container) + * VPaned (Container) + * ProgressBar + * ScrollView + * Separator + * VSeparator + * HSeparator + * Table (Container) + * TextEntry + * TreeView + * WindowFrame + * Window + * Dialog + +For example, the following attaches various labels and data entries to +a Table: + + t = new Table (); + t.Attach (new Label ("One:"), 0, 1, 0, 1); + t.Attach (new TextEntry (), 1, 2, 0, 1); + t.Attach (new Label ("Two:"), 0, 1, 1, 2); + t.Attach (new TextEntry (), 1, 2, 1, 2); + t.Attach (new Label ("Three:"), 0, 1, 2, 3); + t.Attach (new TextEntry (), 1, 2, 2, 3); + + +The Application Class +===================== + +The Application class is a static class that provides services to run +your application. + +Initialization +-------------- + +The Application.Initialize API will instruct Xwt to initialize its +binding to the native toolkit. You can pass an optional parameter to +this method that specifies the full type name to load as the backend. + +For example, you can force the initialization of the backend to be +specifically Gtk+ or specifically Xamarin.Mac based on MacOS. This is +currently done like this: + + Application.Initialize ("Xwt.GtkBackend.GtkEngine, Xwt.Gtk, Version=1.0.0.0"); + +or: + + Application.Initialize ("Xwt.Mac.MacEngine, Xwt.XamMac, Version=1.0.0.0"); + +As you saw from the Hello World sample, toplevel windows are created +by creating an instance of the "Xwt.Window" class. This class +exposes a couple of properties that you can use to spice it up. The +MainMenu property is used to control the contents of the application +menus while the "Content" property is used to hold a Widget. + +Timers +------ + +The Application.TimeoutInvoke method takes a timespan and a Func<bool> +action method and invokes that method in the main user interface +loop. + +If the provided function returns true, then the timer is restarted, +otherwise the timer ends. + +Background Threads +------------------ + +It is very common to perform tasks in the background and for those +tasks in the background to later update the user interface. The Xwt +API is not thread safe, which means that calls to the Xwt API must +only be done from the main user interface thread. + +This is a trait from the underlying toolkits used by Xwt. + +If you want a background thread to run some code on the main loop, you +use the Application.Invoke (Action action) method. The provided +"action" method is guaranteed to run on the main loop. + diff --git a/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg b/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg Binary files differnew file mode 100644 index 0000000..82046f5 --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg diff --git a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config new file mode 100644 index 0000000..f1630bb --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libatk-1.0-0.dll" target="libatk-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-x11-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-x11-2.0.so.0"/> + <dllmap os="!windows,osx" dll="libpango-1.0-0.dll" target="libpango-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.so.0"/> + <dllmap os="!windows,osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.so.0"/> + <dllmap os="!windows,osx" dll="fontconfig" target="libfontconfig.so.1"/> + + <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/> + <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/> + <dllmap os="osx" dll="libatk-1.0-0.dll" target="libatk-1.0.0.dylib"/> + <dllmap os="osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-quartz-2.0.0.dylib"/> + <dllmap os="osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-quartz-2.0.0.dylib"/> + <dllmap os="osx" dll="libpango-1.0-0.dll" target="libpango-1.0.0.dylib"/> + <dllmap os="osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.0.dylib"/> + <dllmap os="osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.0.dylib"/> + <dllmap os="osx" dll="fontconfig" target="libfontconfig.1.dylib"/> +</configuration> diff --git a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props new file mode 100644 index 0000000..f66dc3a --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <None Include="$(MSBuildThisFileDirectory)Xwt.Gtk.dll.config"> + <Link>Xwt.Gtk.dll.config</Link> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Visible>False</Visible> + </None> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll b/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll Binary files differnew file mode 100644 index 0000000..b80892c --- /dev/null +++ b/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll |