aboutsummaryrefslogtreecommitdiff
path: root/Emby.Common.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Common.Implementations')
-rw-r--r--Emby.Common.Implementations/BaseApplicationHost.cs50
-rw-r--r--Emby.Common.Implementations/Diagnostics/CommonProcess.cs2
-rw-r--r--Emby.Common.Implementations/Emby.Common.Implementations.csproj381
-rw-r--r--Emby.Common.Implementations/Emby.Common.Implementations.xproj23
-rw-r--r--Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs46
-rw-r--r--Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs36
-rw-r--r--Emby.Common.Implementations/Net/SocketFactory.cs11
-rw-r--r--Emby.Common.Implementations/Net/UdpSocket.cs169
-rw-r--r--Emby.Common.Implementations/Properties/AssemblyInfo.cs23
-rw-r--r--Emby.Common.Implementations/Reflection/AssemblyInfo.cs6
-rw-r--r--Emby.Common.Implementations/Serialization/XmlSerializer.cs9
-rw-r--r--Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs2
-rw-r--r--Emby.Common.Implementations/packages.config7
-rw-r--r--Emby.Common.Implementations/project.json71
14 files changed, 452 insertions, 384 deletions
diff --git a/Emby.Common.Implementations/BaseApplicationHost.cs b/Emby.Common.Implementations/BaseApplicationHost.cs
index d3d8672be..dd4be9aae 100644
--- a/Emby.Common.Implementations/BaseApplicationHost.cs
+++ b/Emby.Common.Implementations/BaseApplicationHost.cs
@@ -39,10 +39,6 @@ using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks;
using MediaBrowser.Model.Threading;
-#if NETSTANDARD1_6
-using System.Runtime.Loader;
-#endif
-
namespace Emby.Common.Implementations
{
/// <summary>
@@ -306,7 +302,6 @@ namespace Emby.Common.Implementations
builder.AppendLine(string.Format("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs())));
-#if NET46
builder.AppendLine(string.Format("Operating system: {0}", Environment.OSVersion));
builder.AppendLine(string.Format("64-Bit OS: {0}", Environment.Is64BitOperatingSystem));
builder.AppendLine(string.Format("64-Bit Process: {0}", Environment.Is64BitProcess));
@@ -320,7 +315,6 @@ namespace Emby.Common.Implementations
builder.AppendLine("Mono: " + displayName.Invoke(null, null));
}
}
-#endif
builder.AppendLine(string.Format("Processor count: {0}", Environment.ProcessorCount));
builder.AppendLine(string.Format("Program data path: {0}", appPaths.ProgramDataPath));
@@ -336,9 +330,7 @@ namespace Emby.Common.Implementations
try
{
// Increase the max http request limit
-#if NET46
ServicePointManager.DefaultConnectionLimit = Math.Max(96, ServicePointManager.DefaultConnectionLimit);
-#endif
}
catch (Exception ex)
{
@@ -436,7 +428,6 @@ namespace Emby.Common.Implementations
if (assemblyPlugin != null)
{
-#if NET46
var assembly = plugin.GetType().Assembly;
var assemblyName = assembly.GetName();
@@ -447,21 +438,7 @@ namespace Emby.Common.Implementations
var assemblyFilePath = Path.Combine(ApplicationPaths.PluginsPath, assemblyFileName);
assemblyPlugin.SetAttributes(assemblyFilePath, assemblyFileName, assemblyName.Version, assemblyId);
-#elif NETSTANDARD1_6
- var typeInfo = plugin.GetType().GetTypeInfo();
- var assembly = typeInfo.Assembly;
- var assemblyName = assembly.GetName();
-
- var attribute = (GuidAttribute)assembly.GetCustomAttribute(typeof(GuidAttribute));
- var assemblyId = new Guid(attribute.Value);
-
- var assemblyFileName = assemblyName.Name + ".dll";
- var assemblyFilePath = Path.Combine(ApplicationPaths.PluginsPath, assemblyFileName);
-
- assemblyPlugin.SetAttributes(assemblyFilePath, assemblyFileName, assemblyName.Version, assemblyId);
-#else
-return null;
-#endif
+ return null;
}
var isFirstRun = !File.Exists(plugin.ConfigurationFilePath);
@@ -492,17 +469,7 @@ return null;
AllConcreteTypes = assemblies
.SelectMany(GetTypes)
- .Where(t =>
- {
-#if NET46
- return t.IsClass && !t.IsAbstract && !t.IsInterface && !t.IsGenericType;
-#endif
-#if NETSTANDARD1_6
- var typeInfo = t.GetTypeInfo();
- return typeInfo.IsClass && !typeInfo.IsAbstract && !typeInfo.IsInterface && !typeInfo.IsGenericType;
-#endif
- return false;
- })
+ .Where(t => t.IsClass && !t.IsAbstract && !t.IsInterface && !t.IsGenericType)
.ToArray();
}
@@ -717,13 +684,7 @@ return null;
{
try
{
-#if NET46
return Assembly.Load(File.ReadAllBytes(file));
-#elif NETSTANDARD1_6
-
- return AssemblyLoadContext.Default.LoadFromStream(new MemoryStream(File.ReadAllBytes(file)));
-#endif
- return null;
}
catch (Exception ex)
{
@@ -742,14 +703,7 @@ return null;
{
var currentType = typeof(T);
-#if NET46
return AllConcreteTypes.Where(currentType.IsAssignableFrom);
-#elif NETSTANDARD1_6
- var currentTypeInfo = currentType.GetTypeInfo();
-
- return AllConcreteTypes.Where(currentTypeInfo.IsAssignableFrom);
-#endif
- return new List<Type>();
}
/// <summary>
diff --git a/Emby.Common.Implementations/Diagnostics/CommonProcess.cs b/Emby.Common.Implementations/Diagnostics/CommonProcess.cs
index 462345ced..f6ca6cf9c 100644
--- a/Emby.Common.Implementations/Diagnostics/CommonProcess.cs
+++ b/Emby.Common.Implementations/Diagnostics/CommonProcess.cs
@@ -31,14 +31,12 @@ namespace Emby.Common.Implementations.Diagnostics
RedirectStandardOutput = options.RedirectStandardOutput
};
-#if NET46
startInfo.ErrorDialog = options.ErrorDialog;
if (options.IsHidden)
{
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
}
-#endif
_process = new Process
{
diff --git a/Emby.Common.Implementations/Emby.Common.Implementations.csproj b/Emby.Common.Implementations/Emby.Common.Implementations.csproj
new file mode 100644
index 000000000..6e818b163
--- /dev/null
+++ b/Emby.Common.Implementations/Emby.Common.Implementations.csproj
@@ -0,0 +1,381 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{1E37A338-9F57-4B70-BD6D-BB9C591E319B}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Emby.Common.Implementations</RootNamespace>
+ <AssemblyName>Emby.Common.Implementations</AssemblyName>
+ <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <TargetFrameworkProfile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
+ <HintPath>..\packages\NLog.4.4.3\lib\net45\NLog.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="ServiceStack.Text, Version=4.5.8.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\ServiceStack.Text.4.5.8\lib\net45\ServiceStack.Text.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="SharpCompress, Version=0.14.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="SimpleInjector, Version=4.0.7.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
+ <HintPath>..\packages\SimpleInjector.4.0.7\lib\net45\SimpleInjector.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="..\SharedVersion.cs">
+ <Link>Properties\SharedVersion.cs</Link>
+ </Compile>
+ <Compile Include="Archiving\ZipClient.cs" />
+ <Compile Include="BaseApplicationHost.cs" />
+ <Compile Include="Cryptography\CryptographyProvider.cs" />
+ <Compile Include="Devices\DeviceId.cs" />
+ <Compile Include="Diagnostics\CommonProcess.cs" />
+ <Compile Include="Diagnostics\ProcessFactory.cs" />
+ <Compile Include="EnvironmentInfo\EnvironmentInfo.cs" />
+ <Compile Include="HttpClientManager\HttpClientInfo.cs" />
+ <Compile Include="HttpClientManager\HttpClientManager.cs" />
+ <Compile Include="IO\IsoManager.cs" />
+ <Compile Include="IO\LnkShortcutHandler.cs" />
+ <Compile Include="IO\ManagedFileSystem.cs" />
+ <Compile Include="IO\SharpCifsFileSystem.cs" />
+ <Compile Include="IO\SharpCifs\Config.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcBind.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcBinding.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcConstants.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcError.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcException.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcMessage.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcPipeHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\DcerpcSecurityProvider.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\LsaPolicyHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\Lsarpc.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\LsarSidArrayX.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcDfsRootEnum.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcEnumerateAliasesInDomain.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcGetMembersInAlias.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcLookupSids.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcLsarOpenPolicy2.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcQueryInformationPolicy.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcSamrConnect2.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcSamrConnect4.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcSamrOpenAlias.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcSamrOpenDomain.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcShareEnum.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\MsrpcShareGetInfo.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\Netdfs.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\Samr.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\SamrAliasHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\SamrDomainHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\SamrPolicyHandle.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Msrpc\Srvsvc.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrBuffer.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrException.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrHyper.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrLong.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrObject.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrShort.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Ndr\NdrSmall.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\Rpc.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\UnicodeString.cs" />
+ <Compile Include="IO\SharpCifs\Dcerpc\UUID.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\Lmhosts.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\Name.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NameQueryRequest.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NameQueryResponse.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NameServiceClient.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NameServicePacket.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NbtAddress.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NbtException.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NodeStatusRequest.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\NodeStatusResponse.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\SessionRequestPacket.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\SessionRetargetResponsePacket.cs" />
+ <Compile Include="IO\SharpCifs\Netbios\SessionServicePacket.cs" />
+ <Compile Include="IO\SharpCifs\Ntlmssp\NtlmFlags.cs" />
+ <Compile Include="IO\SharpCifs\Ntlmssp\NtlmMessage.cs" />
+ <Compile Include="IO\SharpCifs\Ntlmssp\Type1Message.cs" />
+ <Compile Include="IO\SharpCifs\Ntlmssp\Type2Message.cs" />
+ <Compile Include="IO\SharpCifs\Ntlmssp\Type3Message.cs" />
+ <Compile Include="IO\SharpCifs\Smb\ACE.cs" />
+ <Compile Include="IO\SharpCifs\Smb\AllocInfo.cs" />
+ <Compile Include="IO\SharpCifs\Smb\AndXServerMessageBlock.cs" />
+ <Compile Include="IO\SharpCifs\Smb\BufferCache.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Dfs.cs" />
+ <Compile Include="IO\SharpCifs\Smb\DfsReferral.cs" />
+ <Compile Include="IO\SharpCifs\Smb\DosError.cs" />
+ <Compile Include="IO\SharpCifs\Smb\DosFileFilter.cs" />
+ <Compile Include="IO\SharpCifs\Smb\FileEntry.cs" />
+ <Compile Include="IO\SharpCifs\Smb\IInfo.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NetServerEnum2.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NetServerEnum2Response.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NetShareEnum.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NetShareEnumResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtlmAuthenticator.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtlmChallenge.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtlmContext.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtlmPasswordAuthentication.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtStatus.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtTransQuerySecurityDesc.cs" />
+ <Compile Include="IO\SharpCifs\Smb\NtTransQuerySecurityDescResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Principal.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SecurityDescriptor.cs" />
+ <Compile Include="IO\SharpCifs\Smb\ServerMessageBlock.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SID.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SigningDigest.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbAuthException.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComBlankResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComClose.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComCreateDirectory.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComDelete.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComDeleteDirectory.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComFindClose2.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComLogoffAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNegotiate.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNegotiateResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNTCreateAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNTCreateAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNtTransaction.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComNtTransactionResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComOpenAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComOpenAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComQueryInformation.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComQueryInformationResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComReadAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComReadAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComRename.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComSessionSetupAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComSessionSetupAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComTransaction.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComTransactionResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComTreeConnectAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComTreeConnectAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComTreeDisconnect.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComWrite.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComWriteAndX.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComWriteAndXResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbComWriteResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbConstants.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbException.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFile.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFileExtensions.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFileFilter.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFileInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFilenameFilter.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbFileOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbNamedPipe.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbRandomAccessFile.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbSession.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbShareInfo.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbTransport.cs" />
+ <Compile Include="IO\SharpCifs\Smb\SmbTree.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2FindFirst2.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2FindFirst2Response.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2FindNext2.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2GetDfsReferral.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2GetDfsReferralResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2QueryFSInformation.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2QueryFSInformationResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2QueryPathInformation.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2QueryPathInformationResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2SetFileInformation.cs" />
+ <Compile Include="IO\SharpCifs\Smb\Trans2SetFileInformationResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransactNamedPipeInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransactNamedPipeOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransCallNamedPipe.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransCallNamedPipeResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransPeekNamedPipe.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransPeekNamedPipeResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransTransactNamedPipe.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransTransactNamedPipeResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransWaitNamedPipe.cs" />
+ <Compile Include="IO\SharpCifs\Smb\TransWaitNamedPipeResponse.cs" />
+ <Compile Include="IO\SharpCifs\Smb\WinError.cs" />
+ <Compile Include="IO\SharpCifs\UniAddress.cs" />
+ <Compile Include="IO\SharpCifs\Util\Base64.cs" />
+ <Compile Include="IO\SharpCifs\Util\DES.cs" />
+ <Compile Include="IO\SharpCifs\Util\Encdec.cs" />
+ <Compile Include="IO\SharpCifs\Util\Hexdump.cs" />
+ <Compile Include="IO\SharpCifs\Util\HMACT64.cs" />
+ <Compile Include="IO\SharpCifs\Util\LogStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\MD4.cs" />
+ <Compile Include="IO\SharpCifs\Util\RC4.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\AbstractMap.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Arrays.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\BufferedReader.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\BufferedWriter.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\CharBuffer.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\CharSequence.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Collections.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ConcurrentHashMap.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\DateFormat.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\EnumeratorWrapper.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Exceptions.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Extensions.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FileInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FileOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FilePath.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FileReader.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FileWriter.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FilterInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\FilterOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Hashtable.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\HttpURLConnection.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ICallable.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IConcurrentMap.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IExecutor.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IFilenameFilter.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IFuture.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\InputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\InputStreamReader.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IPrivilegedAction.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\IRunnable.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Iterator.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\LinkageError.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Matcher.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\MD5.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\MD5Managed.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\MessageDigest.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\NetworkStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ObjectInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ObjectOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\OutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\OutputStreamWriter.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\PipedInputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\PipedOutputStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\PrintWriter.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Properties.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\RandomAccessFile.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ReentrantLock.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Reference.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Runtime.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\SimpleDateFormat.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\SocketEx.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\StringTokenizer.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\SynchronizedList.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\Thread.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ThreadFactory.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\ThreadPoolExecutor.cs" />
+ <Compile Include="IO\SharpCifs\Util\Sharpen\WrappedSystemStream.cs" />
+ <Compile Include="IO\SharpCifs\Util\Transport\Request.cs" />
+ <Compile Include="IO\SharpCifs\Util\Transport\Response.cs" />
+ <Compile Include="IO\SharpCifs\Util\Transport\Transport.cs" />
+ <Compile Include="IO\SharpCifs\Util\Transport\TransportException.cs" />
+ <Compile Include="Logging\NLogger.cs" />
+ <Compile Include="Logging\NlogManager.cs" />
+ <Compile Include="Networking\NetworkManager.cs" />
+ <Compile Include="Net\DisposableManagedObjectBase.cs" />
+ <Compile Include="Net\NetAcceptSocket.cs" />
+ <Compile Include="Net\SocketAcceptor.cs" />
+ <Compile Include="Net\SocketFactory.cs" />
+ <Compile Include="Net\UdpSocket.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Reflection\AssemblyInfo.cs" />
+ <Compile Include="ScheduledTasks\DailyTrigger.cs" />
+ <Compile Include="ScheduledTasks\IntervalTrigger.cs" />
+ <Compile Include="ScheduledTasks\ScheduledTaskWorker.cs" />
+ <Compile Include="ScheduledTasks\StartupTrigger.cs" />
+ <Compile Include="ScheduledTasks\SystemEventTrigger.cs" />
+ <Compile Include="ScheduledTasks\TaskManager.cs" />
+ <Compile Include="ScheduledTasks\Tasks\DeleteCacheFileTask.cs" />
+ <Compile Include="ScheduledTasks\Tasks\DeleteLogFileTask.cs" />
+ <Compile Include="ScheduledTasks\Tasks\ReloadLoggerFileTask.cs" />
+ <Compile Include="ScheduledTasks\WeeklyTrigger.cs" />
+ <Compile Include="Serialization\JsonSerializer.cs" />
+ <Compile Include="Serialization\XmlSerializer.cs" />
+ <Compile Include="TextEncoding\TextEncoding.cs" />
+ <Compile Include="TextEncoding\TextEncodingDetect.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\CharsetDetector.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\Big5Prober.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\BitPackage.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\CharDistributionAnalyser.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\CharsetProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\Charsets.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\CodingStateMachine.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\EscCharsetProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\EscSM.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\EUCJPProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\EUCKRProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\EUCTWProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\GB18030Prober.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\HebrewProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\JapaneseContextAnalyser.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangBulgarianModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangCyrillicModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangGreekModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangHebrewModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangHungarianModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\LangThaiModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\Latin1Prober.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\MBCSGroupProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\MBCSSM.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\SBCharsetProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\SBCSGroupProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\SequenceModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\SJISProber.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\SMModel.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\UniversalDetector.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\Core\UTF8Prober.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\DetectionConfidence.cs" />
+ <Compile Include="TextEncoding\UniversalDetector\ICharsetDetector.cs" />
+ <Compile Include="Threading\CommonTimer.cs" />
+ <Compile Include="Threading\TimerFactory.cs" />
+ <Compile Include="Xml\XmlReaderSettingsFactory.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
+ <Project>{9142eefa-7570-41e1-bfcc-468bb571af2f}</Project>
+ <Name>MediaBrowser.Common</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj">
+ <Project>{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}</Project>
+ <Name>MediaBrowser.Model</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/Emby.Common.Implementations/Emby.Common.Implementations.xproj b/Emby.Common.Implementations/Emby.Common.Implementations.xproj
deleted file mode 100644
index 5bb6e4e58..000000000
--- a/Emby.Common.Implementations/Emby.Common.Implementations.xproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
- <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
- </PropertyGroup>
- <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>5a27010a-09c6-4e86-93ea-437484c10917</ProjectGuid>
- <RootNamespace>Emby.Common.Implementations</RootNamespace>
- <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
- <OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
- <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
- </PropertyGroup>
- <PropertyGroup>
- <SchemaVersion>2.0</SchemaVersion>
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
- <ProjectReference Include="..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
- </ItemGroup>
- <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
-</Project> \ No newline at end of file
diff --git a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs
index 27fc642f1..89aa787b5 100644
--- a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs
+++ b/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs
@@ -10,7 +10,7 @@ namespace Emby.Common.Implementations.EnvironmentInfo
{
public class EnvironmentInfo : IEnvironmentInfo
{
- public MediaBrowser.Model.System.Architecture? CustomArchitecture { get; set; }
+ public Architecture? CustomArchitecture { get; set; }
public MediaBrowser.Model.System.OperatingSystem? CustomOperatingSystem { get; set; }
public virtual MediaBrowser.Model.System.OperatingSystem OperatingSystem
@@ -22,7 +22,6 @@ namespace Emby.Common.Implementations.EnvironmentInfo
return CustomOperatingSystem.Value;
}
-#if NET46
switch (Environment.OSVersion.Platform)
{
case PlatformID.MacOSX:
@@ -32,20 +31,7 @@ namespace Emby.Common.Implementations.EnvironmentInfo
case PlatformID.Unix:
return MediaBrowser.Model.System.OperatingSystem.Linux;
}
-#elif NETSTANDARD1_6
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
- {
- return OperatingSystem.OSX;
- }
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- return OperatingSystem.Windows;
- }
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- return OperatingSystem.Linux;
- }
-#endif
+
return MediaBrowser.Model.System.OperatingSystem.Windows;
}
}
@@ -54,12 +40,7 @@ namespace Emby.Common.Implementations.EnvironmentInfo
{
get
{
-#if NET46
return Environment.OSVersion.Platform.ToString();
-#elif NETSTANDARD1_6
- return System.Runtime.InteropServices.RuntimeInformation.OSDescription;
-#endif
- return "Operating System";
}
}
@@ -67,12 +48,7 @@ namespace Emby.Common.Implementations.EnvironmentInfo
{
get
{
-#if NET46
return Environment.OSVersion.Version.ToString() + " " + Environment.OSVersion.ServicePack.ToString();
-#elif NETSTANDARD1_6
- return System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;
-#endif
- return "1.0";
}
}
@@ -84,7 +60,7 @@ namespace Emby.Common.Implementations.EnvironmentInfo
}
}
- public MediaBrowser.Model.System.Architecture SystemArchitecture
+ public Architecture SystemArchitecture
{
get
{
@@ -92,22 +68,8 @@ namespace Emby.Common.Implementations.EnvironmentInfo
{
return CustomArchitecture.Value;
}
-#if NET46
+
return Environment.Is64BitOperatingSystem ? MediaBrowser.Model.System.Architecture.X64 : MediaBrowser.Model.System.Architecture.X86;
-#elif NETSTANDARD1_6
- switch(System.Runtime.InteropServices.RuntimeInformation.OSArchitecture)
- {
- case System.Runtime.InteropServices.Architecture.Arm:
- return MediaBrowser.Model.System.Architecture.Arm;
- case System.Runtime.InteropServices.Architecture.Arm64:
- return MediaBrowser.Model.System.Architecture.Arm64;
- case System.Runtime.InteropServices.Architecture.X64:
- return MediaBrowser.Model.System.Architecture.X64;
- case System.Runtime.InteropServices.Architecture.X86:
- return MediaBrowser.Model.System.Architecture.X86;
- }
-#endif
- return MediaBrowser.Model.System.Architecture.X64;
}
}
diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
index eb9bc1bd0..c2a310c0e 100644
--- a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -66,13 +66,11 @@ namespace Emby.Common.Implementations.HttpClientManager
_appPaths = appPaths;
_defaultUserAgentFn = defaultUserAgentFn;
-#if NET46
// http://stackoverflow.com/questions/566437/http-post-returns-the-error-417-expectation-failed-c
ServicePointManager.Expect100Continue = false;
// Trakt requests sometimes fail without this
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
-#endif
}
/// <summary>
@@ -129,7 +127,6 @@ namespace Emby.Common.Implementations.HttpClientManager
private void AddIpv4Option(HttpWebRequest request, HttpRequestOptions options)
{
-#if NET46
request.ServicePoint.BindIPEndPointDelegate = (servicePount, remoteEndPoint, retryCount) =>
{
if (remoteEndPoint.AddressFamily == AddressFamily.InterNetwork)
@@ -138,7 +135,6 @@ namespace Emby.Common.Implementations.HttpClientManager
}
throw new InvalidOperationException("no IPv4 address");
};
-#endif
}
private WebRequest GetRequest(HttpRequestOptions options, string method)
@@ -165,7 +161,6 @@ namespace Emby.Common.Implementations.HttpClientManager
AddRequestHeaders(httpWebRequest, options);
-#if NET46
if (options.EnableHttpCompression)
{
if (options.DecompressionMethod.HasValue)
@@ -183,48 +178,33 @@ namespace Emby.Common.Implementations.HttpClientManager
{
httpWebRequest.AutomaticDecompression = DecompressionMethods.None;
}
-#endif
}
-#if NET46
request.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.BypassCache);
-#endif
if (httpWebRequest != null)
{
if (options.EnableKeepAlive)
{
-#if NET46
httpWebRequest.KeepAlive = true;
-#endif
}
}
request.Method = method;
-#if NET46
request.Timeout = options.TimeoutMs;
-#endif
if (httpWebRequest != null)
{
if (!string.IsNullOrEmpty(options.Host))
{
-#if NET46
httpWebRequest.Host = options.Host;
-#elif NETSTANDARD1_6
- httpWebRequest.Headers["Host"] = options.Host;
-#endif
}
if (!string.IsNullOrEmpty(options.Referer))
{
-#if NET46
httpWebRequest.Referer = options.Referer;
-#elif NETSTANDARD1_6
- httpWebRequest.Headers["Referer"] = options.Referer;
-#endif
}
}
@@ -235,9 +215,7 @@ namespace Emby.Common.Implementations.HttpClientManager
{
request.Credentials = GetCredential(url, parts[0], parts[1]);
// TODO: .net core ??
-#if NET46
request.PreAuthenticate = true;
-#endif
}
}
@@ -269,11 +247,7 @@ namespace Emby.Common.Implementations.HttpClientManager
}
else
{
-#if NET46
request.Headers.Set(header.Key, header.Value);
-#elif NETSTANDARD1_6
- request.Headers[header.Key] = header.Value;
-#endif
}
}
@@ -285,11 +259,7 @@ namespace Emby.Common.Implementations.HttpClientManager
private void SetUserAgent(HttpWebRequest request, string userAgent)
{
-#if NET46
request.UserAgent = userAgent;
-#elif NETSTANDARD1_6
- request.Headers["User-Agent"] = userAgent;
-#endif
}
/// <summary>
@@ -465,9 +435,7 @@ namespace Emby.Common.Implementations.HttpClientManager
httpWebRequest.ContentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
-#if NET46
httpWebRequest.ContentLength = bytes.Length;
-#endif
(await httpWebRequest.GetRequestStreamAsync().ConfigureAwait(false)).Write(bytes, 0, bytes.Length);
}
catch (Exception ex)
@@ -950,7 +918,6 @@ namespace Emby.Common.Implementations.HttpClientManager
private Task<WebResponse> GetResponseAsync(WebRequest request, TimeSpan timeout)
{
-#if NET46
var taskCompletion = new TaskCompletionSource<WebResponse>();
Task<WebResponse> asyncTask = Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);
@@ -963,9 +930,6 @@ namespace Emby.Common.Implementations.HttpClientManager
asyncTask.ContinueWith(callback.OnError, TaskContinuationOptions.OnlyOnFaulted);
return taskCompletion.Task;
-#endif
-
- return request.GetResponseAsync();
}
private static void TimeoutCallback(object state, bool timedOut)
diff --git a/Emby.Common.Implementations/Net/SocketFactory.cs b/Emby.Common.Implementations/Net/SocketFactory.cs
index 39f236afa..3562a8644 100644
--- a/Emby.Common.Implementations/Net/SocketFactory.cs
+++ b/Emby.Common.Implementations/Net/SocketFactory.cs
@@ -188,16 +188,7 @@ namespace Emby.Common.Implementations.Net
try
{
-#if NET46
- retVal.ExclusiveAddressUse = false;
-#else
- // The ExclusiveAddressUse acceptSocket option is a Windows-specific option that, when set to "true," tells Windows not to allow another acceptSocket to use the same local address as this acceptSocket
- // See https://github.com/dotnet/corefx/pull/11509 for more details
- if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows))
- {
- retVal.ExclusiveAddressUse = false;
- }
-#endif
+ retVal.ExclusiveAddressUse = false;
//retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
retVal.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, multicastTimeToLive);
diff --git a/Emby.Common.Implementations/Net/UdpSocket.cs b/Emby.Common.Implementations/Net/UdpSocket.cs
index f9181eb6a..678cf6f03 100644
--- a/Emby.Common.Implementations/Net/UdpSocket.cs
+++ b/Emby.Common.Implementations/Net/UdpSocket.cs
@@ -116,129 +116,64 @@ namespace Emby.Common.Implementations.Net
private set;
}
- public Task<SocketReceiveResult> ReceiveAsync(CancellationToken cancellationToken)
+ private readonly AsyncCallback _defaultAsyncCallback = (i) => { };
+
+ public IAsyncResult BeginReceive(byte[] buffer, int offset, int count, AsyncCallback callback)
{
- ThrowIfDisposed();
- var tcs = new TaskCompletionSource<SocketReceiveResult>();
EndPoint receivedFromEndPoint = new IPEndPoint(IPAddress.Any, 0);
- var state = new AsyncReceiveState(_Socket, receivedFromEndPoint);
- state.TaskCompletionSource = tcs;
-
- cancellationToken.Register(() => tcs.TrySetCanceled());
-
- _receiveSocketAsyncEventArgs.RemoteEndPoint = receivedFromEndPoint;
- _currentReceiveTaskCompletionSource = tcs;
-
- try
- {
- var willRaiseEvent = _Socket.ReceiveFromAsync(_receiveSocketAsyncEventArgs);
-
- if (!willRaiseEvent)
- {
- _receiveSocketAsyncEventArgs_Completed(this, _receiveSocketAsyncEventArgs);
- }
- }
- catch (Exception ex)
- {
- tcs.TrySetException(ex);
- }
-
- return tcs.Task;
+ return _Socket.BeginReceiveFrom(buffer, offset, count, SocketFlags.None, ref receivedFromEndPoint, callback, buffer);
}
- public Task SendAsync(byte[] buffer, int size, IpEndPointInfo endPoint, CancellationToken cancellationToken)
+ public SocketReceiveResult EndReceive(IAsyncResult result)
{
- ThrowIfDisposed();
-
- if (buffer == null) throw new ArgumentNullException("messageData");
- if (endPoint == null) throw new ArgumentNullException("endPoint");
+ IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
+ EndPoint remoteEndPoint = (EndPoint)sender;
- var ipEndPoint = NetworkManager.ToIPEndPoint(endPoint);
+ var receivedBytes = _Socket.EndReceiveFrom(result, ref remoteEndPoint);
-#if NETSTANDARD1_6
+ var buffer = (byte[]) result.AsyncState;
- if (size != buffer.Length)
+ return new SocketReceiveResult
{
- byte[] copy = new byte[size];
- Buffer.BlockCopy(buffer, 0, copy, 0, size);
- buffer = copy;
- }
-
- cancellationToken.ThrowIfCancellationRequested();
-
- _Socket.SendTo(buffer, ipEndPoint);
- return Task.FromResult(true);
-#else
- var taskSource = new TaskCompletionSource<bool>();
-
- try
- {
- _Socket.BeginSendTo(buffer, 0, size, SocketFlags.None, ipEndPoint, result =>
- {
- if (cancellationToken.IsCancellationRequested)
- {
- taskSource.TrySetCanceled();
- return;
- }
- try
- {
- _Socket.EndSend(result);
- taskSource.TrySetResult(true);
- }
- catch (Exception ex)
- {
- taskSource.TrySetException(ex);
- }
-
- }, null);
- }
- catch (Exception ex)
- {
- taskSource.TrySetException(ex);
- }
-
- return taskSource.Task;
-#endif
- //ThrowIfDisposed();
-
- //if (buffer == null) throw new ArgumentNullException("messageData");
- //if (endPoint == null) throw new ArgumentNullException("endPoint");
-
- //cancellationToken.ThrowIfCancellationRequested();
+ ReceivedBytes = receivedBytes,
+ RemoteEndPoint = ToIpEndPointInfo((IPEndPoint)remoteEndPoint),
+ Buffer = buffer,
+ LocalIPAddress = LocalIPAddress
+ };
+ }
- //var tcs = new TaskCompletionSource<int>();
+ public Task<SocketReceiveResult> ReceiveAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken)
+ {
+ var result = BeginReceive(buffer, offset, count, _defaultAsyncCallback);
- //cancellationToken.Register(() => tcs.TrySetCanceled());
+ return Task.Factory.FromAsync(result, EndReceive);
+ }
- //_sendSocketAsyncEventArgs.SetBuffer(buffer, 0, size);
- //_sendSocketAsyncEventArgs.RemoteEndPoint = NetworkManager.ToIPEndPoint(endPoint);
- //_currentSendTaskCompletionSource = tcs;
+ public Task<SocketReceiveResult> ReceiveAsync(CancellationToken cancellationToken)
+ {
+ var buffer = new byte[8192];
- //var willRaiseEvent = _Socket.SendAsync(_sendSocketAsyncEventArgs);
+ return ReceiveAsync(buffer, 0, buffer.Length, cancellationToken);
+ }
- //if (!willRaiseEvent)
- //{
- // _sendSocketAsyncEventArgs_Completed(this, _sendSocketAsyncEventArgs);
- //}
+ public Task SendToAsync(byte[] buffer, int offset, int size, IpEndPointInfo endPoint, CancellationToken cancellationToken)
+ {
+ var result = BeginSendTo(buffer, offset, size, endPoint, _defaultAsyncCallback, null);
- //return tcs.Task;
+ return Task.Factory.FromAsync(result, EndSendTo);
}
- public async Task SendWithLockAsync(byte[] buffer, int size, IpEndPointInfo endPoint, CancellationToken cancellationToken)
+ public IAsyncResult BeginSendTo(byte[] buffer, int offset, int size, IpEndPointInfo endPoint, AsyncCallback callback, object state)
{
- ThrowIfDisposed();
+ var ipEndPoint = NetworkManager.ToIPEndPoint(endPoint);
- //await _sendLock.WaitAsync(cancellationToken).ConfigureAwait(false);
+ return _Socket.BeginSendTo(buffer, offset, size, SocketFlags.None, ipEndPoint, callback, state);
+ }
- try
- {
- await SendAsync(buffer, size, endPoint, cancellationToken).ConfigureAwait(false);
- }
- finally
- {
- //_sendLock.Release();
- }
+ public int EndSendTo(IAsyncResult result)
+ {
+ return _Socket.EndSendTo(result);
}
protected override void Dispose(bool disposing)
@@ -274,36 +209,6 @@ namespace Emby.Common.Implementations.Net
return NetworkManager.ToIpEndPointInfo(endpoint);
}
- private void ProcessResponse(IAsyncResult asyncResult)
- {
-#if NET46
- var state = asyncResult.AsyncState as AsyncReceiveState;
- try
- {
- var bytesRead = state.Socket.EndReceiveFrom(asyncResult, ref state.RemoteEndPoint);
-
- var ipEndPoint = state.RemoteEndPoint as IPEndPoint;
- state.TaskCompletionSource.SetResult(
- new SocketReceiveResult
- {
- Buffer = state.Buffer,
- ReceivedBytes = bytesRead,
- RemoteEndPoint = ToIpEndPointInfo(ipEndPoint),
- LocalIPAddress = LocalIPAddress
- }
- );
- }
- catch (ObjectDisposedException)
- {
- state.TaskCompletionSource.SetCanceled();
- }
- catch (Exception ex)
- {
- state.TaskCompletionSource.SetException(ex);
- }
-#endif
- }
-
private class AsyncReceiveState
{
public AsyncReceiveState(Socket socket, EndPoint remoteEndPoint)
diff --git a/Emby.Common.Implementations/Properties/AssemblyInfo.cs b/Emby.Common.Implementations/Properties/AssemblyInfo.cs
index 1a5abcb27..787f18997 100644
--- a/Emby.Common.Implementations/Properties/AssemblyInfo.cs
+++ b/Emby.Common.Implementations/Properties/AssemblyInfo.cs
@@ -2,18 +2,33 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
+[assembly: AssemblyTitle("Emby.Common.Implementations")]
+[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Emby.Common.Implementations")]
+[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("5a27010a-09c6-4e86-93ea-437484c10917")]
+[assembly: Guid("1e37a338-9f57-4b70-bd6d-bb9c591e319b")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")] \ No newline at end of file
diff --git a/Emby.Common.Implementations/Reflection/AssemblyInfo.cs b/Emby.Common.Implementations/Reflection/AssemblyInfo.cs
index 7a92f02d6..87821bf7a 100644
--- a/Emby.Common.Implementations/Reflection/AssemblyInfo.cs
+++ b/Emby.Common.Implementations/Reflection/AssemblyInfo.cs
@@ -9,18 +9,12 @@ namespace Emby.Common.Implementations.Reflection
{
public Stream GetManifestResourceStream(Type type, string resource)
{
-#if NET46
return type.Assembly.GetManifestResourceStream(resource);
-#endif
- return type.GetTypeInfo().Assembly.GetManifestResourceStream(resource);
}
public string[] GetManifestResourceNames(Type type)
{
-#if NET46
return type.Assembly.GetManifestResourceNames();
-#endif
- return type.GetTypeInfo().Assembly.GetManifestResourceNames();
}
public Assembly[] GetCurrentAssemblies()
diff --git a/Emby.Common.Implementations/Serialization/XmlSerializer.cs b/Emby.Common.Implementations/Serialization/XmlSerializer.cs
index 3583f998e..ad2708387 100644
--- a/Emby.Common.Implementations/Serialization/XmlSerializer.cs
+++ b/Emby.Common.Implementations/Serialization/XmlSerializer.cs
@@ -78,18 +78,11 @@ namespace Emby.Common.Implementations.Serialization
/// <param name="stream">The stream.</param>
public void SerializeToStream(object obj, Stream stream)
{
-#if NET46
- using (var writer = new XmlTextWriter(stream, null))
+ using (var writer = new XmlTextWriter(stream, null))
{
writer.Formatting = Formatting.Indented;
SerializeToWriter(obj, writer);
}
-#else
- using (var writer = XmlWriter.Create(stream))
- {
- SerializeToWriter(obj, writer);
- }
-#endif
}
/// <summary>
diff --git a/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs b/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs
index 806290cf4..35c266cdb 100644
--- a/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs
+++ b/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs
@@ -11,9 +11,7 @@ namespace Emby.Common.Implementations.Xml
if (!enableValidation)
{
-#if NET46
settings.ValidationType = ValidationType.None;
-#endif
}
return settings;
diff --git a/Emby.Common.Implementations/packages.config b/Emby.Common.Implementations/packages.config
new file mode 100644
index 000000000..18022eb2e
--- /dev/null
+++ b/Emby.Common.Implementations/packages.config
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="NLog" version="4.4.3" targetFramework="net462" />
+ <package id="ServiceStack.Text" version="4.5.8" targetFramework="net462" />
+ <package id="SharpCompress" version="0.14.0" targetFramework="net462" />
+ <package id="SimpleInjector" version="4.0.7" targetFramework="net462" />
+</packages> \ No newline at end of file
diff --git a/Emby.Common.Implementations/project.json b/Emby.Common.Implementations/project.json
deleted file mode 100644
index ff60c740e..000000000
--- a/Emby.Common.Implementations/project.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "version": "1.0.0-*",
-
- "dependencies": {
-
- },
-
- "frameworks": {
- "net46": {
- "frameworkAssemblies": {
- "System.Collections": "4.0.0.0",
- "System.IO": "4.0.0.0",
- "System.Net": "4.0.0.0",
- "System.Net.Http": "4.0.0.0",
- "System.Net.Primitives": "4.0.0.0",
- "System.Net.Http.WebRequest": "4.0.0.0",
- "System.Reflection": "4.0.0.0",
- "System.Runtime": "4.0.0.0",
- "System.Runtime.Extensions": "4.0.0.0",
- "System.Text.Encoding": "4.0.0.0",
- "System.Threading": "4.0.0.0",
- "System.Threading.Tasks": "4.0.0.0",
- "System.Xml.ReaderWriter": "4.0.0"
- },
- "dependencies": {
- "SimpleInjector": "3.2.4",
- "ServiceStack.Text": "4.5.4",
- "NLog": "4.4.0-betaV15",
- "sharpcompress": "0.14.0",
- "MediaBrowser.Model": {
- "target": "project"
- },
- "MediaBrowser.Common": {
- "target": "project"
- }
- }
- },
- "netstandard1.6": {
- "imports": "dnxcore50",
- "dependencies": {
- "NETStandard.Library": "1.6.1",
- "System.IO.FileSystem.DriveInfo": "4.3.0",
- "System.Diagnostics.Process": "4.3.0",
- "System.Threading.Timer": "4.3.0",
- "System.Net.Requests": "4.3.0",
- "System.Xml.ReaderWriter": "4.3.0",
- "System.Xml.XmlSerializer": "4.3.0",
- "System.Net.Http": "4.3.2",
- "System.Net.Primitives": "4.3.0",
- "System.Net.Sockets": "4.3.0",
- "System.Net.NetworkInformation": "4.3.0",
- "System.Net.NameResolution": "4.3.0",
- "System.Runtime.InteropServices.RuntimeInformation": "4.3.0",
- "System.Reflection": "4.3.0",
- "System.Reflection.Primitives": "4.3.0",
- "System.Runtime.Loader": "4.3.0",
- "SimpleInjector": "3.2.4",
- "ServiceStack.Text.Core": "1.0.27",
- "NLog": "4.4.0-betaV15",
- "sharpcompress": "0.14.0",
- "System.AppDomain": "2.0.11",
- "MediaBrowser.Model": {
- "target": "project"
- },
- "MediaBrowser.Common": {
- "target": "project"
- }
- }
- }
- }
-}