aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Common.Implementations/BaseApplicationHost.cs902
-rw-r--r--Emby.Common.Implementations/Emby.Common.Implementations.csproj452
-rw-r--r--Emby.Common.Implementations/Logging/NLogger.cs224
-rw-r--r--Emby.Common.Implementations/Logging/NlogManager.cs554
-rw-r--r--Emby.Common.Implementations/Properties/AssemblyInfo.cs34
-rw-r--r--Emby.Common.Implementations/packages.config7
-rw-r--r--Emby.Dlna/Didl/DidlBuilder.cs2
-rw-r--r--Emby.Dlna/Main/DlnaEntryPoint.cs2
-rw-r--r--Emby.Drawing.Skia/SkiaEncoder.cs19
-rw-r--r--Emby.Drawing/Emby.Drawing.csproj5
-rw-r--r--Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs9
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs903
-rw-r--r--Emby.Server.Implementations/Archiving/ZipClient.cs (renamed from Emby.Common.Implementations/Archiving/ZipClient.cs)3
-rw-r--r--Emby.Server.Implementations/Cryptography/CertificateGenerator.cs42
-rw-r--r--Emby.Server.Implementations/Cryptography/CryptographyProvider.cs (renamed from Emby.Common.Implementations/Cryptography/CryptographyProvider.cs)2
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs42
-rw-r--r--Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs1
-rw-r--r--Emby.Server.Implementations/Devices/CameraUploadsFolder.cs (renamed from MediaBrowser.Server.Implementations/Devices/CameraUploadsFolder.cs)10
-rw-r--r--Emby.Server.Implementations/Devices/DeviceId.cs (renamed from Emby.Common.Implementations/Devices/DeviceId.cs)2
-rw-r--r--Emby.Server.Implementations/Diagnostics/CommonProcess.cs (renamed from Emby.Common.Implementations/Diagnostics/CommonProcess.cs)4
-rw-r--r--Emby.Server.Implementations/Diagnostics/ProcessFactory.cs (renamed from Emby.Common.Implementations/Diagnostics/ProcessFactory.cs)2
-rw-r--r--Emby.Server.Implementations/Emby.Server.Implementations.csproj390
-rw-r--r--Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs (renamed from Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs)26
-rw-r--r--Emby.Server.Implementations/HttpClientManager/HttpClientInfo.cs (renamed from Emby.Common.Implementations/HttpClientManager/HttpClientInfo.cs)2
-rw-r--r--Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs (renamed from Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs)31
-rw-r--r--Emby.Server.Implementations/HttpServerFactory.cs2
-rw-r--r--Emby.Server.Implementations/IO/FileRefresher.cs6
-rw-r--r--Emby.Server.Implementations/IO/IsoManager.cs (renamed from Emby.Common.Implementations/IO/IsoManager.cs)2
-rw-r--r--Emby.Server.Implementations/IO/LnkShortcutHandler.cs (renamed from Emby.Common.Implementations/IO/LnkShortcutHandler.cs)3
-rw-r--r--Emby.Server.Implementations/IO/ManagedFileSystem.cs (renamed from Emby.Common.Implementations/IO/ManagedFileSystem.cs)2
-rw-r--r--Emby.Server.Implementations/IO/MemoryStreamProvider.cs27
-rw-r--r--Emby.Server.Implementations/IO/ProgressStream.cs (renamed from Emby.Common.Implementations/IO/ProgressStream.cs)2
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Config.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Config.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UUID.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UUID.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/Name.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/ACE.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/ACE.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/AllocInfo.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/AllocInfo.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/BufferCache.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/BufferCache.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Dfs.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Dfs.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/DfsReferral.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/DfsReferral.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/DosError.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/DosError.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/FileEntry.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/FileEntry.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/IInfo.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/IInfo.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtStatus.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtStatus.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmContext.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Principal.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Principal.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SID.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SID.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SigningDigest.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SigningDigest.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComClose.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComClose.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComRename.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComRename.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbConstants.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbConstants.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFile.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbSession.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbSession.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTransport.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTransport.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTree.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTree.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/WinError.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Smb/WinError.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/UniAddress.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/UniAddress.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Base64.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Base64.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/DES.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/DES.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Encdec.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Encdec.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/HMACT64.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/HMACT64.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Hexdump.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Hexdump.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/LogStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/LogStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/MD4.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/MD4.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/RC4.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/RC4.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Request.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Request.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Response.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Response.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Transport.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Transport.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs (renamed from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs)0
-rw-r--r--Emby.Server.Implementations/IO/SharpCifsFileSystem.cs (renamed from Emby.Common.Implementations/IO/SharpCifsFileSystem.cs)7
-rw-r--r--Emby.Server.Implementations/Library/UserManager.cs6
-rw-r--r--Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs5
-rw-r--r--Emby.Server.Implementations/Logging/SimpleLogManager.cs301
-rw-r--r--Emby.Server.Implementations/Net/DisposableManagedObjectBase.cs (renamed from Emby.Common.Implementations/Net/DisposableManagedObjectBase.cs)5
-rw-r--r--Emby.Server.Implementations/Net/NetAcceptSocket.cs (renamed from Emby.Common.Implementations/Net/NetAcceptSocket.cs)6
-rw-r--r--Emby.Server.Implementations/Net/SocketAcceptor.cs (renamed from Emby.Common.Implementations/Net/SocketAcceptor.cs)2
-rw-r--r--Emby.Server.Implementations/Net/SocketFactory.cs (renamed from Emby.Common.Implementations/Net/SocketFactory.cs)30
-rw-r--r--Emby.Server.Implementations/Net/UdpSocket.cs (renamed from Emby.Common.Implementations/Net/UdpSocket.cs)7
-rw-r--r--Emby.Server.Implementations/Networking/NetworkManager.cs (renamed from Emby.Common.Implementations/Networking/NetworkManager.cs)10
-rw-r--r--Emby.Server.Implementations/Playlists/ManualPlaylistsFolder.cs (renamed from MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs)6
-rw-r--r--Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs1
-rw-r--r--Emby.Server.Implementations/Reflection/AssemblyInfo.cs (renamed from Emby.Common.Implementations/Reflection/AssemblyInfo.cs)4
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs (renamed from Emby.Common.Implementations/ScheduledTasks/DailyTrigger.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs (renamed from Emby.Common.Implementations/ScheduledTasks/IntervalTrigger.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs (renamed from Emby.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs)4
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs (renamed from Emby.Common.Implementations/ScheduledTasks/StartupTrigger.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs (renamed from Emby.Common.Implementations/ScheduledTasks/SystemEventTrigger.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/TaskManager.cs (renamed from Emby.Common.Implementations/ScheduledTasks/TaskManager.cs)16
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs (renamed from Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs (renamed from Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs (renamed from Emby.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs)2
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs (renamed from Emby.Common.Implementations/ScheduledTasks/WeeklyTrigger.cs)2
-rw-r--r--Emby.Server.Implementations/Serialization/JsonSerializer.cs (renamed from Emby.Common.Implementations/Serialization/JsonSerializer.cs)0
-rw-r--r--Emby.Server.Implementations/Serialization/XmlSerializer.cs (renamed from Emby.Common.Implementations/Serialization/XmlSerializer.cs)7
-rw-r--r--Emby.Server.Implementations/ServerApplicationPaths.cs4
-rw-r--r--Emby.Server.Implementations/Session/SessionManager.cs1
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Detector.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Detector.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/ErrorCode.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/ErrorCode.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/GenProfile.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/GenProfile.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/InternalException.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/InternalException.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Language.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Language.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/ProbVector.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/ProbVector.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/afr (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/afr)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ara (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ara)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ben (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ben)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/bul (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/bul)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ces (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ces)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/dan (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/dan)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/deu (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/deu)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ell (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ell)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/eng (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/eng)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/est (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/est)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fas (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fas)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fin (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fin)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fra (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fra)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/guj (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/guj)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/heb (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/heb)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hin (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hin)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hrv (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hrv)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hun (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hun)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ind (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ind)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ita (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ita)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/jpn (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/jpn)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kan (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kan)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kor (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kor)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lav (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lav)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lit (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lit)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mal (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mal)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mar (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mar)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mkd (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mkd)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nep (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nep)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nld (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nld)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nor (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nor)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pan (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pan)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pol (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pol)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/por (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/por)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ron (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ron)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/rus (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/rus)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slk (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slk)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slv (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slv)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/som (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/som)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/spa (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/spa)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/sqi (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/sqi)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swa (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swa)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swe (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swe)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tam (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tam)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tel (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tel)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tgl (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tgl)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tha (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tha)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tur (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tur)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ukr (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ukr)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/urd (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/urd)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/vie (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/vie)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/messages.properties (renamed from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/messages.properties)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/TextEncoding.cs (renamed from Emby.Common.Implementations/TextEncoding/TextEncoding.cs)12
-rw-r--r--Emby.Server.Implementations/TextEncoding/TextEncodingDetect.cs (renamed from Emby.Common.Implementations/TextEncoding/TextEncodingDetect.cs)7
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs)0
-rw-r--r--Emby.Server.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs (renamed from Emby.Common.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs)0
-rw-r--r--Emby.Server.Implementations/Threading/CommonTimer.cs (renamed from Emby.Common.Implementations/Threading/CommonTimer.cs)5
-rw-r--r--Emby.Server.Implementations/Threading/TimerFactory.cs (renamed from Emby.Common.Implementations/Threading/TimerFactory.cs)5
-rw-r--r--Emby.Server.Implementations/Xml/XmlReaderSettingsFactory.cs (renamed from Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs)2
-rw-r--r--Emby.Server.Implementations/packages.config6
-rw-r--r--MediaBrowser.Api/LiveTv/LiveTvService.cs2
-rw-r--r--MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs2
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs1
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs6
-rw-r--r--MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs4
-rw-r--r--MediaBrowser.Model/LiveTv/LiveTvOptions.cs1
-rw-r--r--MediaBrowser.Model/Logging/ILogManager.cs6
-rw-r--r--MediaBrowser.Model/Querying/ItemFields.cs5
-rw-r--r--MediaBrowser.Model/Session/PlaybackProgressInfo.cs2
-rw-r--r--MediaBrowser.Providers/Manager/ProviderUtils.cs17
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj69
-rw-r--r--MediaBrowser.Server.Implementations/Properties/AssemblyInfo.cs30
-rw-r--r--MediaBrowser.Server.Implementations/app.config11
-rw-r--r--MediaBrowser.Server.Mono/ApplicationPathHelper.cs (renamed from Emby.Server.Implementations/ApplicationPathHelper.cs)2
-rw-r--r--MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj12
-rw-r--r--MediaBrowser.Server.Mono/MonoAppHost.cs2
-rw-r--r--MediaBrowser.Server.Mono/Native/MonoFileSystem.cs2
-rw-r--r--MediaBrowser.Server.Mono/Program.cs54
-rw-r--r--MediaBrowser.Server.Mono/packages.config1
-rw-r--r--MediaBrowser.ServerApplication/ApplicationPathHelper.cs51
-rw-r--r--MediaBrowser.ServerApplication/ImageEncoderHelper.cs1
-rw-r--r--MediaBrowser.ServerApplication/MainStartup.cs24
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj16
-rw-r--r--MediaBrowser.ServerApplication/Networking/NetworkManager.cs2
-rw-r--r--MediaBrowser.ServerApplication/WindowsAppHost.cs6
-rw-r--r--MediaBrowser.ServerApplication/packages.config1
-rw-r--r--MediaBrowser.Tests/M3uParserTest.cs2
-rw-r--r--MediaBrowser.Tests/MediaBrowser.Tests.csproj8
-rw-r--r--MediaBrowser.sln80
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
423 files changed, 1727 insertions, 2888 deletions
diff --git a/Emby.Common.Implementations/BaseApplicationHost.cs b/Emby.Common.Implementations/BaseApplicationHost.cs
deleted file mode 100644
index e7710162c..000000000
--- a/Emby.Common.Implementations/BaseApplicationHost.cs
+++ /dev/null
@@ -1,902 +0,0 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
-using Emby.Common.Implementations.Devices;
-using Emby.Common.Implementations.IO;
-using Emby.Common.Implementations.ScheduledTasks;
-using Emby.Common.Implementations.Serialization;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Plugins;
-using MediaBrowser.Common.Progress;
-using MediaBrowser.Common.Security;
-using MediaBrowser.Common.Updates;
-using MediaBrowser.Model.Events;
-using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Serialization;
-using MediaBrowser.Model.Updates;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Extensions;
-using Emby.Common.Implementations.Cryptography;
-using Emby.Common.Implementations.Diagnostics;
-using Emby.Common.Implementations.Net;
-using Emby.Common.Implementations.EnvironmentInfo;
-using Emby.Common.Implementations.Threading;
-using MediaBrowser.Common;
-using MediaBrowser.Model.Cryptography;
-using MediaBrowser.Model.Diagnostics;
-using MediaBrowser.Model.Net;
-using MediaBrowser.Model.System;
-using MediaBrowser.Model.Tasks;
-using MediaBrowser.Model.Threading;
-
-namespace Emby.Common.Implementations
-{
- /// <summary>
- /// Class BaseApplicationHost
- /// </summary>
- /// <typeparam name="TApplicationPathsType">The type of the T application paths type.</typeparam>
- public abstract class BaseApplicationHost<TApplicationPathsType> : IApplicationHost
- where TApplicationPathsType : class, IApplicationPaths
- {
- /// <summary>
- /// Occurs when [has pending restart changed].
- /// </summary>
- public event EventHandler HasPendingRestartChanged;
-
- /// <summary>
- /// Occurs when [application updated].
- /// </summary>
- public event EventHandler<GenericEventArgs<PackageVersionInfo>> ApplicationUpdated;
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance has changes that require the entire application to restart.
- /// </summary>
- /// <value><c>true</c> if this instance has pending application restart; otherwise, <c>false</c>.</value>
- public bool HasPendingRestart { get; private set; }
-
- /// <summary>
- /// Gets or sets the logger.
- /// </summary>
- /// <value>The logger.</value>
- protected ILogger Logger { get; private set; }
-
- /// <summary>
- /// Gets or sets the plugins.
- /// </summary>
- /// <value>The plugins.</value>
- public IPlugin[] Plugins { get; protected set; }
-
- /// <summary>
- /// Gets or sets the log manager.
- /// </summary>
- /// <value>The log manager.</value>
- public ILogManager LogManager { get; protected set; }
-
- /// <summary>
- /// Gets the application paths.
- /// </summary>
- /// <value>The application paths.</value>
- protected TApplicationPathsType ApplicationPaths { get; private set; }
-
- /// <summary>
- /// The json serializer
- /// </summary>
- public IJsonSerializer JsonSerializer { get; private set; }
-
- /// <summary>
- /// The _XML serializer
- /// </summary>
- protected readonly IXmlSerializer XmlSerializer;
-
- /// <summary>
- /// Gets assemblies that failed to load
- /// </summary>
- /// <value>The failed assemblies.</value>
- public List<string> FailedAssemblies { get; protected set; }
-
- /// <summary>
- /// Gets all concrete types.
- /// </summary>
- /// <value>All concrete types.</value>
- public Type[] AllConcreteTypes { get; protected set; }
-
- /// <summary>
- /// The disposable parts
- /// </summary>
- protected readonly List<IDisposable> DisposableParts = new List<IDisposable>();
-
- /// <summary>
- /// Gets a value indicating whether this instance is first run.
- /// </summary>
- /// <value><c>true</c> if this instance is first run; otherwise, <c>false</c>.</value>
- public bool IsFirstRun { get; private set; }
-
- /// <summary>
- /// Gets the kernel.
- /// </summary>
- /// <value>The kernel.</value>
- protected ITaskManager TaskManager { get; private set; }
- /// <summary>
- /// Gets the HTTP client.
- /// </summary>
- /// <value>The HTTP client.</value>
- public IHttpClient HttpClient { get; private set; }
- /// <summary>
- /// Gets the network manager.
- /// </summary>
- /// <value>The network manager.</value>
- protected INetworkManager NetworkManager { get; private set; }
-
- /// <summary>
- /// Gets the configuration manager.
- /// </summary>
- /// <value>The configuration manager.</value>
- protected IConfigurationManager ConfigurationManager { get; private set; }
-
- public IFileSystem FileSystemManager { get; private set; }
-
- protected IIsoManager IsoManager { get; private set; }
-
- protected IProcessFactory ProcessFactory { get; private set; }
- protected ITimerFactory TimerFactory { get; private set; }
- protected ISocketFactory SocketFactory { get; private set; }
-
- /// <summary>
- /// Gets the name.
- /// </summary>
- /// <value>The name.</value>
- public abstract string Name { get; }
-
- protected ICryptoProvider CryptographyProvider = new CryptographyProvider();
-
- protected IEnvironmentInfo EnvironmentInfo { get; private set; }
-
- private DeviceId _deviceId;
- public string SystemId
- {
- get
- {
- if (_deviceId == null)
- {
- _deviceId = new DeviceId(ApplicationPaths, LogManager.GetLogger("SystemId"), FileSystemManager);
- }
-
- return _deviceId.Value;
- }
- }
-
- public PackageVersionClass SystemUpdateLevel
- {
- get
- {
-
-#if BETA
- return PackageVersionClass.Beta;
-#endif
- return PackageVersionClass.Release;
- }
- }
-
- public virtual string OperatingSystemDisplayName
- {
- get { return EnvironmentInfo.OperatingSystemName; }
- }
-
- /// <summary>
- /// The container
- /// </summary>
- protected readonly SimpleInjector.Container Container = new SimpleInjector.Container();
-
- protected ISystemEvents SystemEvents { get; private set; }
- protected IMemoryStreamFactory MemoryStreamFactory { get; private set; }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="BaseApplicationHost{TApplicationPathsType}"/> class.
- /// </summary>
- protected BaseApplicationHost(TApplicationPathsType applicationPaths,
- ILogManager logManager,
- IFileSystem fileSystem,
- IEnvironmentInfo environmentInfo,
- ISystemEvents systemEvents,
- IMemoryStreamFactory memoryStreamFactory,
- INetworkManager networkManager)
- {
- NetworkManager = networkManager;
- EnvironmentInfo = environmentInfo;
- SystemEvents = systemEvents;
- MemoryStreamFactory = memoryStreamFactory;
-
- // hack alert, until common can target .net core
- BaseExtensions.CryptographyProvider = CryptographyProvider;
-
- XmlSerializer = new MyXmlSerializer(fileSystem, logManager.GetLogger("XmlSerializer"));
- FailedAssemblies = new List<string>();
-
- ApplicationPaths = applicationPaths;
- LogManager = logManager;
- FileSystemManager = fileSystem;
-
- ConfigurationManager = GetConfigurationManager();
-
- // Initialize this early in case the -v command line option is used
- Logger = LogManager.GetLogger("App");
- }
-
- /// <summary>
- /// Inits this instance.
- /// </summary>
- /// <returns>Task.</returns>
- public virtual async Task Init(IProgress<double> progress)
- {
- progress.Report(1);
-
- JsonSerializer = CreateJsonSerializer();
-
- OnLoggerLoaded(true);
- LogManager.LoggerLoaded += (s, e) => OnLoggerLoaded(false);
-
- IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
- progress.Report(2);
-
- LogManager.LogSeverity = ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging
- ? LogSeverity.Debug
- : LogSeverity.Info;
-
- progress.Report(3);
-
- DiscoverTypes();
- progress.Report(14);
-
- SetHttpLimit();
- progress.Report(15);
-
- var innerProgress = new ActionableProgress<double>();
- innerProgress.RegisterAction(p => progress.Report(.8 * p + 15));
-
- await RegisterResources(innerProgress).ConfigureAwait(false);
-
- FindParts();
- progress.Report(95);
-
- await InstallIsoMounters(CancellationToken.None).ConfigureAwait(false);
-
- progress.Report(100);
- }
-
- protected virtual void OnLoggerLoaded(bool isFirstLoad)
- {
- Logger.Info("Application version: {0}", ApplicationVersion);
-
- if (!isFirstLoad)
- {
- LogEnvironmentInfo(Logger, ApplicationPaths, false);
- }
-
- // Put the app config in the log for troubleshooting purposes
- Logger.LogMultiline("Application configuration:", LogSeverity.Info, new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration)));
-
- if (Plugins != null)
- {
- var pluginBuilder = new StringBuilder();
-
- foreach (var plugin in Plugins)
- {
- pluginBuilder.AppendLine(string.Format("{0} {1}", plugin.Name, plugin.Version));
- }
-
- Logger.LogMultiline("Plugins:", LogSeverity.Info, pluginBuilder);
- }
- }
-
- public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup)
- {
- logger.LogMultiline("Emby", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
- }
-
- protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths)
- {
- var builder = new StringBuilder();
-
- builder.AppendLine(string.Format("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs())));
-
- 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));
-
- Type type = Type.GetType("Mono.Runtime");
- if (type != null)
- {
- MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
- if (displayName != null)
- {
- builder.AppendLine("Mono: " + displayName.Invoke(null, null));
- }
- }
-
- builder.AppendLine(string.Format("Processor count: {0}", Environment.ProcessorCount));
- builder.AppendLine(string.Format("Program data path: {0}", appPaths.ProgramDataPath));
- builder.AppendLine(string.Format("Application directory: {0}", appPaths.ProgramSystemPath));
-
- return builder;
- }
-
- protected abstract IJsonSerializer CreateJsonSerializer();
-
- private void SetHttpLimit()
- {
- try
- {
- // Increase the max http request limit
- ServicePointManager.DefaultConnectionLimit = Math.Max(96, ServicePointManager.DefaultConnectionLimit);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error setting http limit", ex);
- }
- }
-
- /// <summary>
- /// Installs the iso mounters.
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- private async Task InstallIsoMounters(CancellationToken cancellationToken)
- {
- var list = new List<IIsoMounter>();
-
- foreach (var isoMounter in GetExports<IIsoMounter>())
- {
- try
- {
- if (isoMounter.RequiresInstallation && !isoMounter.IsInstalled)
- {
- Logger.Info("Installing {0}", isoMounter.Name);
-
- await isoMounter.Install(cancellationToken).ConfigureAwait(false);
- }
-
- list.Add(isoMounter);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("{0} failed to load.", ex, isoMounter.Name);
- }
- }
-
- IsoManager.AddParts(list);
- }
-
- /// <summary>
- /// Runs the startup tasks.
- /// </summary>
- /// <returns>Task.</returns>
- public virtual Task RunStartupTasks()
- {
- Resolve<ITaskManager>().AddTasks(GetExports<IScheduledTask>(false));
-
- ConfigureAutorun();
-
- ConfigurationManager.ConfigurationUpdated += OnConfigurationUpdated;
-
- return Task.FromResult(true);
- }
-
- /// <summary>
- /// Configures the autorun.
- /// </summary>
- private void ConfigureAutorun()
- {
- try
- {
- ConfigureAutoRunAtStartup(ConfigurationManager.CommonConfiguration.RunAtStartup);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error configuring autorun", ex);
- }
- }
-
- /// <summary>
- /// Gets the composable part assemblies.
- /// </summary>
- /// <returns>IEnumerable{Assembly}.</returns>
- protected abstract IEnumerable<Assembly> GetComposablePartAssemblies();
-
- /// <summary>
- /// Gets the configuration manager.
- /// </summary>
- /// <returns>IConfigurationManager.</returns>
- protected abstract IConfigurationManager GetConfigurationManager();
-
- /// <summary>
- /// Finds the parts.
- /// </summary>
- protected virtual void FindParts()
- {
- ConfigurationManager.AddParts(GetExports<IConfigurationFactory>());
- Plugins = GetExports<IPlugin>().Select(LoadPlugin).Where(i => i != null).ToArray();
- }
-
- private IPlugin LoadPlugin(IPlugin plugin)
- {
- try
- {
- var assemblyPlugin = plugin as IPluginAssembly;
-
- if (assemblyPlugin != null)
- {
- var assembly = plugin.GetType().Assembly;
- var assemblyName = assembly.GetName();
-
- var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute), true)[0];
- 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);
- }
-
- var isFirstRun = !File.Exists(plugin.ConfigurationFilePath);
- plugin.SetStartupInfo(isFirstRun, File.GetLastWriteTimeUtc, s => Directory.CreateDirectory(s));
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error loading plugin {0}", ex, plugin.GetType().FullName);
- return null;
- }
-
- return plugin;
- }
-
- /// <summary>
- /// Discovers the types.
- /// </summary>
- protected void DiscoverTypes()
- {
- FailedAssemblies.Clear();
-
- var assemblies = GetComposablePartAssemblies().ToList();
-
- foreach (var assembly in assemblies)
- {
- Logger.Info("Loading {0}", assembly.FullName);
- }
-
- AllConcreteTypes = assemblies
- .SelectMany(GetTypes)
- .Where(t => t.IsClass && !t.IsAbstract && !t.IsInterface && !t.IsGenericType)
- .ToArray();
- }
-
- /// <summary>
- /// Registers resources that classes will depend on
- /// </summary>
- /// <returns>Task.</returns>
- protected virtual Task RegisterResources(IProgress<double> progress)
- {
- RegisterSingleInstance(ConfigurationManager);
- RegisterSingleInstance<IApplicationHost>(this);
-
- RegisterSingleInstance<IApplicationPaths>(ApplicationPaths);
-
- TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LogManager.GetLogger("TaskManager"), FileSystemManager, SystemEvents);
-
- RegisterSingleInstance(JsonSerializer);
- RegisterSingleInstance(XmlSerializer);
- RegisterSingleInstance(MemoryStreamFactory);
- RegisterSingleInstance(SystemEvents);
-
- RegisterSingleInstance(LogManager);
- RegisterSingleInstance(Logger);
-
- RegisterSingleInstance(TaskManager);
- RegisterSingleInstance(EnvironmentInfo);
-
- RegisterSingleInstance(FileSystemManager);
-
- HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, MemoryStreamFactory, GetDefaultUserAgent);
- RegisterSingleInstance(HttpClient);
-
- RegisterSingleInstance(NetworkManager);
-
- IsoManager = new IsoManager();
- RegisterSingleInstance(IsoManager);
-
- ProcessFactory = new ProcessFactory();
- RegisterSingleInstance(ProcessFactory);
-
- TimerFactory = new TimerFactory();
- RegisterSingleInstance(TimerFactory);
-
- SocketFactory = new SocketFactory(LogManager.GetLogger("SocketFactory"));
- RegisterSingleInstance(SocketFactory);
-
- RegisterSingleInstance(CryptographyProvider);
-
- return Task.FromResult(true);
- }
-
- private string GetDefaultUserAgent()
- {
- var name = FormatAttribute(Name);
-
- return name + "/" + ApplicationVersion.ToString();
- }
-
- private string FormatAttribute(string str)
- {
- var arr = str.ToCharArray();
-
- arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c)
- || char.IsWhiteSpace(c))));
-
- var result = new string(arr);
-
- if (string.IsNullOrWhiteSpace(result))
- {
- result = "Emby";
- }
-
- return result;
- }
-
- /// <summary>
- /// Gets a list of types within an assembly
- /// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
- /// </summary>
- /// <param name="assembly">The assembly.</param>
- /// <returns>IEnumerable{Type}.</returns>
- /// <exception cref="System.ArgumentNullException">assembly</exception>
- protected List<Type> GetTypes(Assembly assembly)
- {
- if (assembly == null)
- {
- return new List<Type>();
- }
-
- try
- {
- // This null checking really shouldn't be needed but adding it due to some
- // unhandled exceptions in mono 5.0 that are a little hard to hunt down
- var types = assembly.GetTypes() ?? new Type[] { };
- return types.Where(t => t != null).ToList();
- }
- catch (ReflectionTypeLoadException ex)
- {
- if (ex.LoaderExceptions != null)
- {
- foreach (var loaderException in ex.LoaderExceptions)
- {
- if (loaderException != null)
- {
- Logger.Error("LoaderException: " + loaderException.Message);
- }
- }
- }
-
- // If it fails we can still get a list of the Types it was able to resolve
- var types = ex.Types ?? new Type[] { };
- return types.Where(t => t != null).ToList();
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error loading types from assembly", ex);
-
- return new List<Type>();
- }
- }
-
- /// <summary>
- /// Creates an instance of type and resolves all constructor dependancies
- /// </summary>
- /// <param name="type">The type.</param>
- /// <returns>System.Object.</returns>
- public object CreateInstance(Type type)
- {
- try
- {
- return Container.GetInstance(type);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error creating {0}", ex, type.FullName);
-
- throw;
- }
- }
-
- /// <summary>
- /// Creates the instance safe.
- /// </summary>
- /// <param name="type">The type.</param>
- /// <returns>System.Object.</returns>
- protected object CreateInstanceSafe(Type type)
- {
- try
- {
- return Container.GetInstance(type);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error creating {0}", ex, type.FullName);
- // Don't blow up in release mode
- return null;
- }
- }
-
- /// <summary>
- /// Registers the specified obj.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="obj">The obj.</param>
- /// <param name="manageLifetime">if set to <c>true</c> [manage lifetime].</param>
- protected void RegisterSingleInstance<T>(T obj, bool manageLifetime = true)
- where T : class
- {
- Container.RegisterSingleton(obj);
-
- if (manageLifetime)
- {
- var disposable = obj as IDisposable;
-
- if (disposable != null)
- {
- DisposableParts.Add(disposable);
- }
- }
- }
-
- /// <summary>
- /// Registers the single instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="func">The func.</param>
- protected void RegisterSingleInstance<T>(Func<T> func)
- where T : class
- {
- Container.RegisterSingleton(func);
- }
-
- /// <summary>
- /// Resolves this instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns>``0.</returns>
- public T Resolve<T>()
- {
- return (T)Container.GetRegistration(typeof(T), true).GetInstance();
- }
-
- /// <summary>
- /// Resolves this instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns>``0.</returns>
- public T TryResolve<T>()
- {
- var result = Container.GetRegistration(typeof(T), false);
-
- if (result == null)
- {
- return default(T);
- }
- return (T)result.GetInstance();
- }
-
- /// <summary>
- /// Loads the assembly.
- /// </summary>
- /// <param name="file">The file.</param>
- /// <returns>Assembly.</returns>
- protected Assembly LoadAssembly(string file)
- {
- try
- {
- return Assembly.Load(File.ReadAllBytes(file));
- }
- catch (Exception ex)
- {
- FailedAssemblies.Add(file);
- Logger.ErrorException("Error loading assembly {0}", ex, file);
- return null;
- }
- }
-
- /// <summary>
- /// Gets the export types.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns>IEnumerable{Type}.</returns>
- public IEnumerable<Type> GetExportTypes<T>()
- {
- var currentType = typeof(T);
-
- return AllConcreteTypes.Where(currentType.IsAssignableFrom);
- }
-
- /// <summary>
- /// Gets the exports.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="manageLiftime">if set to <c>true</c> [manage liftime].</param>
- /// <returns>IEnumerable{``0}.</returns>
- public IEnumerable<T> GetExports<T>(bool manageLiftime = true)
- {
- var parts = GetExportTypes<T>()
- .Select(CreateInstanceSafe)
- .Where(i => i != null)
- .Cast<T>()
- .ToList();
-
- if (manageLiftime)
- {
- lock (DisposableParts)
- {
- DisposableParts.AddRange(parts.OfType<IDisposable>());
- }
- }
-
- return parts;
- }
-
- /// <summary>
- /// Gets the application version.
- /// </summary>
- /// <value>The application version.</value>
- public abstract Version ApplicationVersion { get; }
-
- /// <summary>
- /// Handles the ConfigurationUpdated event of the ConfigurationManager control.
- /// </summary>
- /// <param name="sender">The source of the event.</param>
- /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
- /// <exception cref="System.NotImplementedException"></exception>
- protected virtual void OnConfigurationUpdated(object sender, EventArgs e)
- {
- ConfigureAutorun();
- }
-
- protected abstract void ConfigureAutoRunAtStartup(bool autorun);
-
- /// <summary>
- /// Removes the plugin.
- /// </summary>
- /// <param name="plugin">The plugin.</param>
- public void RemovePlugin(IPlugin plugin)
- {
- var list = Plugins.ToList();
- list.Remove(plugin);
- Plugins = list.ToArray();
- }
-
- /// <summary>
- /// Gets a value indicating whether this instance can self restart.
- /// </summary>
- /// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
- public abstract bool CanSelfRestart { get; }
-
- /// <summary>
- /// Notifies that the kernel that a change has been made that requires a restart
- /// </summary>
- public void NotifyPendingRestart()
- {
- Logger.Info("App needs to be restarted.");
-
- var changed = !HasPendingRestart;
-
- HasPendingRestart = true;
-
- if (changed)
- {
- EventHelper.QueueEventIfNotNull(HasPendingRestartChanged, this, EventArgs.Empty, Logger);
- }
- }
-
- /// <summary>
- /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- /// </summary>
- public void Dispose()
- {
- Dispose(true);
- }
-
- /// <summary>
- /// Releases unmanaged and - optionally - managed resources.
- /// </summary>
- /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
- protected virtual void Dispose(bool dispose)
- {
- if (dispose)
- {
- var type = GetType();
-
- Logger.Info("Disposing " + type.Name);
-
- var parts = DisposableParts.Distinct().Where(i => i.GetType() != type).ToList();
- DisposableParts.Clear();
-
- foreach (var part in parts)
- {
- Logger.Info("Disposing " + part.GetType().Name);
-
- try
- {
- part.Dispose();
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error disposing {0}", ex, part.GetType().Name);
- }
- }
- }
- }
-
- /// <summary>
- /// Restarts this instance.
- /// </summary>
- public abstract Task Restart();
-
- /// <summary>
- /// Gets or sets a value indicating whether this instance can self update.
- /// </summary>
- /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
- public virtual bool CanSelfUpdate
- {
- get
- {
- return false;
- }
- }
-
- /// <summary>
- /// Checks for update.
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <param name="progress">The progress.</param>
- /// <returns>Task{CheckForUpdateResult}.</returns>
- public abstract Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken,
- IProgress<double> progress);
-
- /// <summary>
- /// Updates the application.
- /// </summary>
- /// <param name="package">The package that contains the update</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <param name="progress">The progress.</param>
- /// <returns>Task.</returns>
- public abstract Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken,
- IProgress<double> progress);
-
- /// <summary>
- /// Shuts down.
- /// </summary>
- public abstract Task Shutdown();
-
- /// <summary>
- /// Called when [application updated].
- /// </summary>
- /// <param name="package">The package.</param>
- protected void OnApplicationUpdated(PackageVersionInfo package)
- {
- Logger.Info("Application has been updated to version {0}", package.versionStr);
-
- EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs<PackageVersionInfo>
- {
- Argument = package
-
- }, Logger);
-
- NotifyPendingRestart();
- }
- }
-}
diff --git a/Emby.Common.Implementations/Emby.Common.Implementations.csproj b/Emby.Common.Implementations/Emby.Common.Implementations.csproj
deleted file mode 100644
index cbd077e19..000000000
--- a/Emby.Common.Implementations/Emby.Common.Implementations.csproj
+++ /dev/null
@@ -1,452 +0,0 @@
-<?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</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.12\lib\net45\NLog.dll</HintPath>
- </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.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
- <HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
- </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\ProgressStream.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\NLangDetect\Detector.cs" />
- <Compile Include="TextEncoding\NLangDetect\DetectorFactory.cs" />
- <Compile Include="TextEncoding\NLangDetect\ErrorCode.cs" />
- <Compile Include="TextEncoding\NLangDetect\Extensions\CharExtensions.cs" />
- <Compile Include="TextEncoding\NLangDetect\Extensions\RandomExtensions.cs" />
- <Compile Include="TextEncoding\NLangDetect\Extensions\StringExtensions.cs" />
- <Compile Include="TextEncoding\NLangDetect\Extensions\UnicodeBlock.cs" />
- <Compile Include="TextEncoding\NLangDetect\GenProfile.cs" />
- <Compile Include="TextEncoding\NLangDetect\InternalException.cs" />
- <Compile Include="TextEncoding\NLangDetect\Language.cs" />
- <Compile Include="TextEncoding\NLangDetect\LanguageDetector.cs" />
- <Compile Include="TextEncoding\NLangDetect\NLangDetectException.cs" />
- <Compile Include="TextEncoding\NLangDetect\ProbVector.cs" />
- <Compile Include="TextEncoding\NLangDetect\Utils\LangProfile.cs" />
- <Compile Include="TextEncoding\NLangDetect\Utils\Messages.cs" />
- <Compile Include="TextEncoding\NLangDetect\Utils\NGram.cs" />
- <Compile Include="TextEncoding\NLangDetect\Utils\TagExtractor.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" />
- <None Include="TextEncoding\NLangDetect\Profiles\afr" />
- <None Include="TextEncoding\NLangDetect\Profiles\ara" />
- <None Include="TextEncoding\NLangDetect\Profiles\bul" />
- <None Include="TextEncoding\NLangDetect\Profiles\ben" />
- <None Include="TextEncoding\NLangDetect\Profiles\ces" />
- <None Include="TextEncoding\NLangDetect\Profiles\dan" />
- <None Include="TextEncoding\NLangDetect\Profiles\deu" />
- <None Include="TextEncoding\NLangDetect\Profiles\ell" />
- <None Include="TextEncoding\NLangDetect\Profiles\eng" />
- <None Include="TextEncoding\NLangDetect\Profiles\spa" />
- <None Include="TextEncoding\NLangDetect\Profiles\est" />
- <None Include="TextEncoding\NLangDetect\Profiles\fas" />
- <None Include="TextEncoding\NLangDetect\Profiles\fin" />
- <None Include="TextEncoding\NLangDetect\Profiles\fra" />
- <None Include="TextEncoding\NLangDetect\Profiles\guj" />
- <None Include="TextEncoding\NLangDetect\Profiles\heb" />
- <None Include="TextEncoding\NLangDetect\Profiles\hin" />
- <None Include="TextEncoding\NLangDetect\Profiles\hrv" />
- <None Include="TextEncoding\NLangDetect\Profiles\hun" />
- <None Include="TextEncoding\NLangDetect\Profiles\ind" />
- <None Include="TextEncoding\NLangDetect\Profiles\ita" />
- <None Include="TextEncoding\NLangDetect\Profiles\jpn" />
- <None Include="TextEncoding\NLangDetect\Profiles\kan" />
- <None Include="TextEncoding\NLangDetect\Profiles\kor" />
- <None Include="TextEncoding\NLangDetect\Profiles\lit" />
- <None Include="TextEncoding\NLangDetect\Profiles\lav" />
- <None Include="TextEncoding\NLangDetect\Profiles\mkd" />
- <None Include="TextEncoding\NLangDetect\Profiles\mal" />
- <None Include="TextEncoding\NLangDetect\Profiles\mar" />
- <None Include="TextEncoding\NLangDetect\Profiles\nep" />
- <None Include="TextEncoding\NLangDetect\Profiles\nld" />
- <None Include="TextEncoding\NLangDetect\Profiles\nor" />
- <None Include="TextEncoding\NLangDetect\Profiles\pan" />
- <None Include="TextEncoding\NLangDetect\Profiles\pol" />
- <None Include="TextEncoding\NLangDetect\Profiles\por" />
- <None Include="TextEncoding\NLangDetect\Profiles\ron" />
- <None Include="TextEncoding\NLangDetect\Profiles\rus" />
- <None Include="TextEncoding\NLangDetect\Profiles\slk" />
- <None Include="TextEncoding\NLangDetect\Profiles\slv" />
- <None Include="TextEncoding\NLangDetect\Profiles\som" />
- <None Include="TextEncoding\NLangDetect\Profiles\sqi" />
- <None Include="TextEncoding\NLangDetect\Profiles\swe" />
- <None Include="TextEncoding\NLangDetect\Profiles\swa" />
- <None Include="TextEncoding\NLangDetect\Profiles\tam" />
- <None Include="TextEncoding\NLangDetect\Profiles\tel" />
- <None Include="TextEncoding\NLangDetect\Profiles\tha" />
- <None Include="TextEncoding\NLangDetect\Profiles\tgl" />
- <None Include="TextEncoding\NLangDetect\Profiles\tur" />
- <None Include="TextEncoding\NLangDetect\Profiles\ukr" />
- <None Include="TextEncoding\NLangDetect\Profiles\urd" />
- <None Include="TextEncoding\NLangDetect\Profiles\vie" />
- <EmbeddedResource Include="TextEncoding\NLangDetect\Profiles\zh-cn" />
- <EmbeddedResource Include="TextEncoding\NLangDetect\Profiles\zh-tw" />
- <EmbeddedResource Include="TextEncoding\NLangDetect\Utils\messages.properties" />
- </ItemGroup>
- <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/Logging/NLogger.cs b/Emby.Common.Implementations/Logging/NLogger.cs
deleted file mode 100644
index 8abd3d0d9..000000000
--- a/Emby.Common.Implementations/Logging/NLogger.cs
+++ /dev/null
@@ -1,224 +0,0 @@
-using MediaBrowser.Model.Logging;
-using System;
-using System.Text;
-
-namespace Emby.Common.Implementations.Logging
-{
- /// <summary>
- /// Class NLogger
- /// </summary>
- public class NLogger : ILogger
- {
- /// <summary>
- /// The _logger
- /// </summary>
- private readonly NLog.Logger _logger;
-
- private readonly ILogManager _logManager;
-
- /// <summary>
- /// The _lock object
- /// </summary>
- private static readonly object LockObject = new object();
-
- /// <summary>
- /// Initializes a new instance of the <see cref="NLogger" /> class.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="logManager">The log manager.</param>
- public NLogger(string name, ILogManager logManager)
- {
- _logManager = logManager;
- lock (LockObject)
- {
- _logger = NLog.LogManager.GetLogger(name);
- }
- }
-
- /// <summary>
- /// Infoes the specified message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Info(string message, params object[] paramList)
- {
- _logger.Info(message, paramList);
- }
-
- /// <summary>
- /// Errors the specified message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Error(string message, params object[] paramList)
- {
- _logger.Error(message, paramList);
- }
-
- /// <summary>
- /// Warns the specified message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Warn(string message, params object[] paramList)
- {
- _logger.Warn(message, paramList);
- }
-
- /// <summary>
- /// Debugs the specified message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Debug(string message, params object[] paramList)
- {
- if (_logManager.LogSeverity == LogSeverity.Info)
- {
- return;
- }
-
- _logger.Debug(message, paramList);
- }
-
- /// <summary>
- /// Logs the exception.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="paramList">The param list.</param>
- /// <exception cref="System.NotImplementedException"></exception>
- public void ErrorException(string message, Exception exception, params object[] paramList)
- {
- LogException(LogSeverity.Error, message, exception, paramList);
- }
-
- /// <summary>
- /// Logs the exception.
- /// </summary>
- /// <param name="level">The level.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="paramList">The param list.</param>
- private void LogException(LogSeverity level, string message, Exception exception, params object[] paramList)
- {
- message = FormatMessage(message, paramList).Replace(Environment.NewLine, ". ");
-
- var messageText = LogHelper.GetLogMessage(exception);
-
- var prefix = _logManager.ExceptionMessagePrefix;
-
- if (!string.IsNullOrWhiteSpace(prefix))
- {
- messageText.Insert(0, prefix);
- }
-
- LogMultiline(message, level, messageText);
- }
-
- /// <summary>
- /// Formats the message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- /// <returns>System.String.</returns>
- private static string FormatMessage(string message, params object[] paramList)
- {
- if (paramList != null)
- {
- for (var i = 0; i < paramList.Length; i++)
- {
- var obj = paramList[i];
-
- message = message.Replace("{" + i + "}", (obj == null ? "null" : obj.ToString()));
- }
- }
-
- return message;
- }
-
- /// <summary>
- /// Logs the multiline.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="severity">The severity.</param>
- /// <param name="additionalContent">Content of the additional.</param>
- public void LogMultiline(string message, LogSeverity severity, StringBuilder additionalContent)
- {
- if (severity == LogSeverity.Debug && _logManager.LogSeverity == LogSeverity.Info)
- {
- return;
- }
-
- additionalContent.Insert(0, message + Environment.NewLine);
-
- const char tabChar = '\t';
-
- var text = additionalContent.ToString()
- .Replace(Environment.NewLine, Environment.NewLine + tabChar)
- .TrimEnd(tabChar);
-
- if (text.EndsWith(Environment.NewLine))
- {
- text = text.Substring(0, text.LastIndexOf(Environment.NewLine, StringComparison.OrdinalIgnoreCase));
- }
-
- _logger.Log(GetLogLevel(severity), text);
- }
-
- /// <summary>
- /// Gets the log level.
- /// </summary>
- /// <param name="severity">The severity.</param>
- /// <returns>NLog.LogLevel.</returns>
- private NLog.LogLevel GetLogLevel(LogSeverity severity)
- {
- switch (severity)
- {
- case LogSeverity.Debug:
- return NLog.LogLevel.Debug;
- case LogSeverity.Error:
- return NLog.LogLevel.Error;
- case LogSeverity.Warn:
- return NLog.LogLevel.Warn;
- case LogSeverity.Fatal:
- return NLog.LogLevel.Fatal;
- case LogSeverity.Info:
- return NLog.LogLevel.Info;
- default:
- throw new ArgumentException("Unknown LogSeverity: " + severity.ToString());
- }
- }
-
- /// <summary>
- /// Logs the specified severity.
- /// </summary>
- /// <param name="severity">The severity.</param>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Log(LogSeverity severity, string message, params object[] paramList)
- {
- _logger.Log(GetLogLevel(severity), message, paramList);
- }
-
- /// <summary>
- /// Fatals the specified message.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="paramList">The param list.</param>
- public void Fatal(string message, params object[] paramList)
- {
- _logger.Fatal(message, paramList);
- }
-
- /// <summary>
- /// Fatals the exception.
- /// </summary>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="paramList">The param list.</param>
- public void FatalException(string message, Exception exception, params object[] paramList)
- {
- LogException(LogSeverity.Fatal, message, exception, paramList);
- }
- }
-}
diff --git a/Emby.Common.Implementations/Logging/NlogManager.cs b/Emby.Common.Implementations/Logging/NlogManager.cs
deleted file mode 100644
index 4446e2cdb..000000000
--- a/Emby.Common.Implementations/Logging/NlogManager.cs
+++ /dev/null
@@ -1,554 +0,0 @@
-using System;
-using System.IO;
-using System.Linq;
-using System.Xml;
-using NLog;
-using NLog.Config;
-using NLog.Filters;
-using NLog.Targets;
-using NLog.Targets.Wrappers;
-using MediaBrowser.Model.Logging;
-
-namespace Emby.Common.Implementations.Logging
-{
- /// <summary>
- /// Class NlogManager
- /// </summary>
- public class NlogManager : ILogManager
- {
- #region Private Fields
-
- private LogSeverity _severity = LogSeverity.Debug;
-
- /// <summary>
- /// Gets or sets the log directory.
- /// </summary>
- /// <value>The log directory.</value>
- private readonly string LogDirectory;
-
- /// <summary>
- /// Gets or sets the log file prefix.
- /// </summary>
- /// <value>The log file prefix.</value>
- private readonly string LogFilePrefix;
-
- #endregion
-
- #region Event Declarations
-
- /// <summary>
- /// Occurs when [logger loaded].
- /// </summary>
- public event EventHandler LoggerLoaded;
-
- #endregion
-
- #region Public Properties
-
- /// <summary>
- /// Gets the log file path.
- /// </summary>
- /// <value>The log file path.</value>
- public string LogFilePath { get; private set; }
-
- /// <summary>
- /// Gets or sets the exception message prefix.
- /// </summary>
- /// <value>The exception message prefix.</value>
- public string ExceptionMessagePrefix { get; set; }
-
- public string NLogConfigurationFilePath { get; set; }
-
- public LogSeverity LogSeverity
- {
-
- get
- {
- return _severity;
- }
-
- set
- {
- DebugFileWriter(
- LogDirectory, String.Format(
- "SET LogSeverity, _severity = [{0}], value = [{1}]",
- _severity.ToString(),
- value.ToString()
- ));
-
- var changed = _severity != value;
-
- _severity = value;
-
- if (changed)
- {
- UpdateLogLevel(value);
- }
-
- }
- }
-
- #endregion
-
- #region Constructor(s)
-
- /// <summary>
- /// Initializes a new instance of the <see cref="NlogManager" /> class.
- /// </summary>
- /// <param name="logDirectory">The log directory.</param>
- /// <param name="logFileNamePrefix">The log file name prefix.</param>
- public NlogManager(string logDirectory, string logFileNamePrefix)
- {
- DebugFileWriter(
- logDirectory, String.Format(
- "NlogManager constructor called, logDirectory is [{0}], logFileNamePrefix is [{1}], _severity is [{2}].",
- logDirectory,
- logFileNamePrefix,
- _severity.ToString()
- ));
-
- LogDirectory = logDirectory;
- LogFilePrefix = logFileNamePrefix;
-
- LogManager.Configuration = new LoggingConfiguration();
- }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="NlogManager" /> class.
- /// </summary>
- /// <param name="logDirectory">The log directory.</param>
- /// <param name="logFileNamePrefix">The log file name prefix.</param>
- public NlogManager(string logDirectory, string logFileNamePrefix, LogSeverity initialSeverity) : this(logDirectory, logFileNamePrefix)
- {
- _severity = initialSeverity;
-
- DebugFileWriter(
- logDirectory, String.Format(
- "NlogManager constructor called, logDirectory is [{0}], logFileNamePrefix is [{1}], _severity is [{2}].",
- logDirectory,
- logFileNamePrefix,
- _severity.ToString()
- ));
- }
-
- #endregion
-
- #region Private Methods
-
- /// <summary>
- /// Adds the file target.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <param name="level">The level.</param>
- private void AddFileTarget(string path, LogSeverity level)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "AddFileTarget called, path = [{0}], level = [{1}].",
- path,
- level.ToString()
- ));
-
- RemoveTarget("ApplicationLogFileWrapper");
-
- // https://github.com/NLog/NLog/wiki/Performance
- var wrapper = new AsyncTargetWrapper
- {
- OverflowAction = AsyncTargetWrapperOverflowAction.Block,
- QueueLimit = 10000,
- BatchSize = 500,
- TimeToSleepBetweenBatches = 50
- };
-
- wrapper.Name = "ApplicationLogFileWrapper";
-
- var logFile = new FileTarget
- {
- FileName = path,
- Layout = "${longdate} ${level} ${logger}: ${message}",
- KeepFileOpen = true,
- ConcurrentWrites = false
- };
-
- logFile.Name = "ApplicationLogFile";
-
- wrapper.WrappedTarget = logFile;
-
- AddLogTarget(wrapper, level);
-
- }
-
- /// <summary>
- /// Gets the log level.
- /// </summary>
- /// <param name="severity">The severity.</param>
- /// <returns>LogLevel.</returns>
- /// <exception cref="System.ArgumentException">Unrecognized LogSeverity</exception>
- private LogLevel GetLogLevel(LogSeverity severity)
- {
- switch (severity)
- {
- case LogSeverity.Debug:
- return LogLevel.Debug;
- case LogSeverity.Error:
- return LogLevel.Error;
- case LogSeverity.Fatal:
- return LogLevel.Fatal;
- case LogSeverity.Info:
- return LogLevel.Info;
- case LogSeverity.Warn:
- return LogLevel.Warn;
- default:
- throw new ArgumentException("Unrecognized LogSeverity");
- }
- }
-
- private void UpdateLogLevel(LogSeverity newLevel)
- {
- DebugFileWriter(
- LogDirectory, String.Format(
- "UpdateLogLevel called, newLevel = [{0}].",
- newLevel.ToString()
- ));
-
- var level = GetLogLevel(newLevel);
-
- var rules = LogManager.Configuration.LoggingRules;
-
- foreach (var rule in rules)
- {
- if (!rule.IsLoggingEnabledForLevel(level))
- {
- rule.EnableLoggingForLevel(level);
- }
- foreach (var lev in rule.Levels.ToArray())
- {
- if (lev < level)
- {
- rule.DisableLoggingForLevel(lev);
- }
- }
- }
- }
-
- private void AddCustomFilters(string defaultLoggerNamePattern, LoggingRule defaultRule)
- {
- DebugFileWriter(
- LogDirectory, String.Format(
- "AddCustomFilters called, defaultLoggerNamePattern = [{0}], defaultRule.LoggerNamePattern = [{1}].",
- defaultLoggerNamePattern,
- defaultRule.LoggerNamePattern
- ));
-
- try
- {
- var customConfig = new NLog.Config.XmlLoggingConfiguration(NLogConfigurationFilePath);
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Custom Configuration Loaded, Rule Count = [{0}].",
- customConfig.LoggingRules.Count.ToString()
- ));
-
- foreach (var customRule in customConfig.LoggingRules)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Read Custom Rule, LoggerNamePattern = [{0}], Targets = [{1}].",
- customRule.LoggerNamePattern,
- string.Join(",", customRule.Targets.Select(x => x.Name).ToList())
- ));
-
- if (customRule.LoggerNamePattern.Equals(defaultLoggerNamePattern))
- {
-
- if (customRule.Targets.Any((arg) => arg.Name.Equals(defaultRule.Targets.First().Name)))
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Custom rule filters can be applied to this target, Filter Count = [{0}].",
- customRule.Filters.Count.ToString()
- ));
-
- foreach (ConditionBasedFilter customFilter in customRule.Filters)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Read Custom Filter, Filter = [{0}], Action = [{1}], Type = [{2}].",
- customFilter.Condition.ToString(),
- customFilter.Action.ToString(),
- customFilter.GetType().ToString()
- ));
-
- defaultRule.Filters.Add(customFilter);
-
- }
- }
- else
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Ignoring custom rule as [Target] does not match."
- ));
-
- }
-
- }
- else
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Ignoring custom rule as [LoggerNamePattern] does not match."
- ));
-
- }
- }
- }
- catch (Exception ex)
- {
- // Intentionally do nothing, prevent issues affecting normal execution.
- DebugFileWriter(
- LogDirectory, String.Format(
- "Exception in AddCustomFilters, ex.Message = [{0}].",
- ex.Message
- )
- );
-
- }
- }
-
- #endregion
-
- #region Public Methods
-
- /// <summary>
- /// Gets the logger.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>ILogger.</returns>
- public MediaBrowser.Model.Logging.ILogger GetLogger(string name)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "GetLogger called, name = [{0}].",
- name
- ));
-
- return new NLogger(name, this);
-
- }
-
- /// <summary>
- /// Adds the log target.
- /// </summary>
- /// <param name="target">The target.</param>
- /// <param name="level">The level.</param>
- public void AddLogTarget(Target target, LogSeverity level)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "AddLogTarget called, target.Name = [{0}], level = [{1}].",
- target.Name,
- level.ToString()
- ));
-
- string loggerNamePattern = "*";
- var config = LogManager.Configuration;
- var rule = new LoggingRule(loggerNamePattern, GetLogLevel(level), target);
-
- config.AddTarget(target.Name, target);
-
- AddCustomFilters(loggerNamePattern, rule);
-
- config.LoggingRules.Add(rule);
-
- LogManager.Configuration = config;
-
- }
-
- /// <summary>
- /// Removes the target.
- /// </summary>
- /// <param name="name">The name.</param>
- public void RemoveTarget(string name)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "RemoveTarget called, name = [{0}].",
- name
- ));
-
- var config = LogManager.Configuration;
-
- var target = config.FindTargetByName(name);
-
- if (target != null)
- {
- foreach (var rule in config.LoggingRules.ToList())
- {
- var contains = rule.Targets.Contains(target);
-
- rule.Targets.Remove(target);
-
- if (contains)
- {
- config.LoggingRules.Remove(rule);
- }
- }
-
- config.RemoveTarget(name);
- LogManager.Configuration = config;
- }
- }
-
- public void AddConsoleOutput()
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "AddConsoleOutput called."
- ));
-
- RemoveTarget("ConsoleTargetWrapper");
-
- var wrapper = new AsyncTargetWrapper();
- wrapper.Name = "ConsoleTargetWrapper";
-
- var target = new ConsoleTarget()
- {
- Layout = "${level}, ${logger}, ${message}",
- Error = false
- };
-
- target.Name = "ConsoleTarget";
-
- wrapper.WrappedTarget = target;
-
- AddLogTarget(wrapper, LogSeverity);
-
- }
-
- public void RemoveConsoleOutput()
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "RemoveConsoleOutput called."
- ));
-
- RemoveTarget("ConsoleTargetWrapper");
-
- }
-
- /// <summary>
- /// Reloads the logger, maintaining the current log level.
- /// </summary>
- public void ReloadLogger()
- {
- ReloadLogger(LogSeverity);
- }
-
- /// <summary>
- /// Reloads the logger, using the specified logging level.
- /// </summary>
- /// <param name="level">The level.</param>
- public void ReloadLogger(LogSeverity level)
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "ReloadLogger called, level = [{0}], LogFilePath (existing) = [{1}].",
- level.ToString(),
- LogFilePath
- ));
-
- LogFilePath = Path.Combine(LogDirectory, LogFilePrefix + "-" + decimal.Floor(DateTime.Now.Ticks / 10000000) + ".txt");
-
- Directory.CreateDirectory(Path.GetDirectoryName(LogFilePath));
-
- AddFileTarget(LogFilePath, level);
-
- LogSeverity = level;
-
- if (LoggerLoaded != null)
- {
- try
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "ReloadLogger called, raised event LoggerLoaded."
- ));
-
- LoggerLoaded(this, EventArgs.Empty);
-
- }
- catch (Exception ex)
- {
- GetLogger("Logger").ErrorException("Error in LoggerLoaded event", ex);
- }
- }
- }
-
- /// <summary>
- /// Flushes this instance.
- /// </summary>
- public void Flush()
- {
-
- DebugFileWriter(
- LogDirectory, String.Format(
- "Flush called."
- ));
-
- LogManager.Flush();
-
- }
-
- #endregion
-
- #region Conditional Debug Methods
-
- /// <summary>
- /// DEBUG: Standalone method to write out debug to assist with logger development/troubleshooting.
- /// <list type="bullet">
- /// <item><description>The output file will be written to the server's log directory.</description></item>
- /// <item><description>Calls to the method are safe and will never throw any exceptions.</description></item>
- /// <item><description>Method calls will be omitted unless the library is compiled with DEBUG defined.</description></item>
- /// </list>
- /// </summary>
- private static void DebugFileWriter(string logDirectory, string message)
- {
-#if DEBUG
- try
- {
-
- System.IO.File.AppendAllText(
- Path.Combine(logDirectory, "NlogManager.txt"),
- String.Format(
- "{0} : {1}{2}",
- System.DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
- message,
- System.Environment.NewLine
- )
- );
-
- }
- catch (Exception ex)
- {
- // Intentionally do nothing, prevent issues affecting normal execution.
- }
-#endif
- }
- #endregion
- }
-} \ No newline at end of file
diff --git a/Emby.Common.Implementations/Properties/AssemblyInfo.cs b/Emby.Common.Implementations/Properties/AssemblyInfo.cs
deleted file mode 100644
index 787f18997..000000000
--- a/Emby.Common.Implementations/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// 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
-// 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("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/packages.config b/Emby.Common.Implementations/packages.config
deleted file mode 100644
index eb8fd586e..000000000
--- a/Emby.Common.Implementations/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="NLog" version="4.4.12" targetFramework="net46" />
- <package id="ServiceStack.Text" version="4.5.8" targetFramework="net46" />
- <package id="SharpCompress" version="0.14.0" targetFramework="net462" />
- <package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
-</packages> \ No newline at end of file
diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs
index 71a049394..64e76276c 100644
--- a/Emby.Dlna/Didl/DidlBuilder.cs
+++ b/Emby.Dlna/Didl/DidlBuilder.cs
@@ -661,7 +661,7 @@ namespace Emby.Dlna.Didl
return;
}
- XmlAttribute secAttribute = null;
+ MediaBrowser.Model.Dlna.XmlAttribute secAttribute = null;
foreach (var attribute in _profile.XmlRootAttributes)
{
if (string.Equals(attribute.Name, "xmlns:sec", StringComparison.OrdinalIgnoreCase))
diff --git a/Emby.Dlna/Main/DlnaEntryPoint.cs b/Emby.Dlna/Main/DlnaEntryPoint.cs
index 16108522c..a6facab7d 100644
--- a/Emby.Dlna/Main/DlnaEntryPoint.cs
+++ b/Emby.Dlna/Main/DlnaEntryPoint.cs
@@ -158,7 +158,7 @@ namespace Emby.Dlna.Main
{
if (_communicationsServer == null)
{
- var enableMultiSocketBinding = _environmentInfo.OperatingSystem == OperatingSystem.Windows;
+ var enableMultiSocketBinding = _environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows;
_communicationsServer = new SsdpCommunicationsServer(_socketFactory, _networkManager, _logger, enableMultiSocketBinding)
{
diff --git a/Emby.Drawing.Skia/SkiaEncoder.cs b/Emby.Drawing.Skia/SkiaEncoder.cs
index 071c40c29..77ab1919a 100644
--- a/Emby.Drawing.Skia/SkiaEncoder.cs
+++ b/Emby.Drawing.Skia/SkiaEncoder.cs
@@ -74,8 +74,9 @@ namespace Emby.Drawing.Skia
return typeof(SKBitmap).GetTypeInfo().Assembly.GetName().Version.ToString();
}
- private static bool IsWhiteSpace(SKColor color)
+ private static bool IsTransparent(SKColor color)
{
+
return (color.Red == 255 && color.Green == 255 && color.Blue == 255) || color.Alpha == 0;
}
@@ -96,11 +97,11 @@ namespace Emby.Drawing.Skia
}
}
- private static bool IsAllWhiteRow(SKBitmap bmp, int row)
+ private static bool IsTransparentRow(SKBitmap bmp, int row)
{
for (var i = 0; i < bmp.Width; ++i)
{
- if (!IsWhiteSpace(bmp.GetPixel(i, row)))
+ if (!IsTransparent(bmp.GetPixel(i, row)))
{
return false;
}
@@ -108,11 +109,11 @@ namespace Emby.Drawing.Skia
return true;
}
- private static bool IsAllWhiteColumn(SKBitmap bmp, int col)
+ private static bool IsTransparentColumn(SKBitmap bmp, int col)
{
for (var i = 0; i < bmp.Height; ++i)
{
- if (!IsWhiteSpace(bmp.GetPixel(col, i)))
+ if (!IsTransparent(bmp.GetPixel(col, i)))
{
return false;
}
@@ -125,7 +126,7 @@ namespace Emby.Drawing.Skia
var topmost = 0;
for (int row = 0; row < bitmap.Height; ++row)
{
- if (IsAllWhiteRow(bitmap, row))
+ if (IsTransparentRow(bitmap, row))
topmost = row + 1;
else break;
}
@@ -133,7 +134,7 @@ namespace Emby.Drawing.Skia
int bottommost = bitmap.Height;
for (int row = bitmap.Height - 1; row >= 0; --row)
{
- if (IsAllWhiteRow(bitmap, row))
+ if (IsTransparentRow(bitmap, row))
bottommost = row;
else break;
}
@@ -141,7 +142,7 @@ namespace Emby.Drawing.Skia
int leftmost = 0, rightmost = bitmap.Width;
for (int col = 0; col < bitmap.Width; ++col)
{
- if (IsAllWhiteColumn(bitmap, col))
+ if (IsTransparentColumn(bitmap, col))
leftmost = col + 1;
else
break;
@@ -149,7 +150,7 @@ namespace Emby.Drawing.Skia
for (int col = bitmap.Width - 1; col >= 0; --col)
{
- if (IsAllWhiteColumn(bitmap, col))
+ if (IsTransparentColumn(bitmap, col))
rightmost = col;
else
break;
diff --git a/Emby.Drawing/Emby.Drawing.csproj b/Emby.Drawing/Emby.Drawing.csproj
index 90418f631..c5dd671a8 100644
--- a/Emby.Drawing/Emby.Drawing.csproj
+++ b/Emby.Drawing/Emby.Drawing.csproj
@@ -33,11 +33,6 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
- <Reference Include="TagLib.Portable">
- <HintPath>..\ThirdParty\taglib\TagLib.Portable.dll</HintPath>
- </Reference>
- </ItemGroup>
- <ItemGroup>
<Compile Include="..\SharedVersion.cs">
<Link>Properties\SharedVersion.cs</Link>
</Compile>
diff --git a/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs b/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
index 54d1d5302..1e63aa1a6 100644
--- a/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
+++ b/Emby.Server.Implementations/AppBase/BaseApplicationPaths.cs
@@ -13,15 +13,12 @@ namespace Emby.Server.Implementations.AppBase
/// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationPaths"/> class.
/// </summary>
- protected BaseApplicationPaths(string programDataPath, string appFolderPath, Action<string> createDirectoryFn)
+ protected BaseApplicationPaths(string programDataPath, string appFolderPath)
{
ProgramDataPath = programDataPath;
ProgramSystemPath = appFolderPath;
- CreateDirectoryFn = createDirectoryFn;
}
- protected Action<string> CreateDirectoryFn;
-
public string ProgramDataPath { get; private set; }
/// <summary>
@@ -45,7 +42,7 @@ namespace Emby.Server.Implementations.AppBase
{
_dataDirectory = Path.Combine(ProgramDataPath, "data");
- CreateDirectoryFn(_dataDirectory);
+ Directory.CreateDirectory(_dataDirectory);
}
return _dataDirectory;
@@ -152,7 +149,7 @@ namespace Emby.Server.Implementations.AppBase
{
_cachePath = Path.Combine(ProgramDataPath, "cache");
- CreateDirectoryFn(_cachePath);
+ Directory.CreateDirectory(_cachePath);
}
return _cachePath;
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 7f893d8f7..bc88d652c 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -1,11 +1,5 @@
using Emby.Common.Implementations;
-using Emby.Common.Implementations.Archiving;
-using Emby.Common.Implementations.IO;
-using Emby.Common.Implementations.Reflection;
-using Emby.Common.Implementations.ScheduledTasks;
using Emby.Common.Implementations.Serialization;
-using Emby.Common.Implementations.TextEncoding;
-using Emby.Common.Implementations.Xml;
using Emby.Dlna;
using Emby.Dlna.ConnectionManager;
using Emby.Dlna.ContentDirectory;
@@ -110,12 +104,29 @@ using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
+using System.Net;
using System.Reflection;
+using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
+using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Emby.Server.Core.Cryptography;
+using Emby.Server.Implementations.Archiving;
+using Emby.Server.Implementations.Cryptography;
+using Emby.Server.Implementations.Diagnostics;
+using Emby.Server.Implementations.Net;
+using Emby.Server.Implementations.Reflection;
+using Emby.Server.Implementations.ScheduledTasks;
+using Emby.Server.Implementations.Serialization;
+using Emby.Server.Implementations.Threading;
+using Emby.Server.Implementations.Xml;
using Emby.Server.MediaEncoding.Subtitles;
using MediaBrowser.MediaEncoding.BdInfo;
+using MediaBrowser.Model.Cryptography;
+using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Tasks;
+using MediaBrowser.Model.Threading;
using StringExtensions = MediaBrowser.Controller.Extensions.StringExtensions;
namespace Emby.Server.Implementations
@@ -123,9 +134,125 @@ namespace Emby.Server.Implementations
/// <summary>
/// Class CompositionRoot
/// </summary>
- public abstract class ApplicationHost : BaseApplicationHost<ServerApplicationPaths>, IServerApplicationHost, IDependencyContainer
+ public abstract class ApplicationHost : IServerApplicationHost, IDependencyContainer
{
/// <summary>
+ /// Gets a value indicating whether this instance can self restart.
+ /// </summary>
+ /// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
+ public abstract bool CanSelfRestart { get; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance can self update.
+ /// </summary>
+ /// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
+ public virtual bool CanSelfUpdate
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Occurs when [has pending restart changed].
+ /// </summary>
+ public event EventHandler HasPendingRestartChanged;
+
+ /// <summary>
+ /// Occurs when [application updated].
+ /// </summary>
+ public event EventHandler<GenericEventArgs<PackageVersionInfo>> ApplicationUpdated;
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance has changes that require the entire application to restart.
+ /// </summary>
+ /// <value><c>true</c> if this instance has pending application restart; otherwise, <c>false</c>.</value>
+ public bool HasPendingRestart { get; private set; }
+
+ /// <summary>
+ /// Gets or sets the logger.
+ /// </summary>
+ /// <value>The logger.</value>
+ protected ILogger Logger { get; set; }
+
+ /// <summary>
+ /// Gets or sets the plugins.
+ /// </summary>
+ /// <value>The plugins.</value>
+ public IPlugin[] Plugins { get; protected set; }
+
+ /// <summary>
+ /// Gets or sets the log manager.
+ /// </summary>
+ /// <value>The log manager.</value>
+ public ILogManager LogManager { get; protected set; }
+
+ /// <summary>
+ /// Gets the application paths.
+ /// </summary>
+ /// <value>The application paths.</value>
+ protected ServerApplicationPaths ApplicationPaths { get; set; }
+
+ /// <summary>
+ /// Gets assemblies that failed to load
+ /// </summary>
+ /// <value>The failed assemblies.</value>
+ public List<string> FailedAssemblies { get; protected set; }
+
+ /// <summary>
+ /// Gets all concrete types.
+ /// </summary>
+ /// <value>All concrete types.</value>
+ public Type[] AllConcreteTypes { get; protected set; }
+
+ /// <summary>
+ /// The disposable parts
+ /// </summary>
+ protected readonly List<IDisposable> DisposableParts = new List<IDisposable>();
+
+ /// <summary>
+ /// Gets a value indicating whether this instance is first run.
+ /// </summary>
+ /// <value><c>true</c> if this instance is first run; otherwise, <c>false</c>.</value>
+ public bool IsFirstRun { get; private set; }
+
+ /// <summary>
+ /// Gets the configuration manager.
+ /// </summary>
+ /// <value>The configuration manager.</value>
+ protected IConfigurationManager ConfigurationManager { get; set; }
+
+ public IFileSystem FileSystemManager { get; set; }
+
+ protected IEnvironmentInfo EnvironmentInfo { get; set; }
+
+ public PackageVersionClass SystemUpdateLevel
+ {
+ get
+ {
+
+#if BETA
+ return PackageVersionClass.Beta;
+#endif
+ return PackageVersionClass.Release;
+ }
+ }
+
+ public virtual string OperatingSystemDisplayName
+ {
+ get { return EnvironmentInfo.OperatingSystemName; }
+ }
+
+ /// <summary>
+ /// The container
+ /// </summary>
+ protected readonly SimpleInjector.Container Container = new SimpleInjector.Container();
+
+ protected ISystemEvents SystemEvents { get; set; }
+ protected IMemoryStreamFactory MemoryStreamFactory { get; set; }
+
+ /// <summary>
/// Gets the server configuration manager.
/// </summary>
/// <value>The server configuration manager.</value>
@@ -138,7 +265,7 @@ namespace Emby.Server.Implementations
/// Gets the configuration manager.
/// </summary>
/// <returns>IConfigurationManager.</returns>
- protected override IConfigurationManager GetConfigurationManager()
+ protected IConfigurationManager GetConfigurationManager()
{
return new ServerConfigurationManager(ApplicationPaths, LogManager, XmlSerializer, FileSystemManager);
}
@@ -242,8 +369,17 @@ namespace Emby.Server.Implementations
internal IPowerManagement PowerManagement { get; private set; }
internal IImageEncoder ImageEncoder { get; private set; }
- private readonly Action<string, string, string> _certificateGenerator;
- private readonly Func<string> _defaultUserNameFactory;
+ protected IProcessFactory ProcessFactory { get; private set; }
+ protected ITimerFactory TimerFactory { get; private set; }
+ protected ICryptoProvider CryptographyProvider = new CryptographyProvider();
+ protected readonly IXmlSerializer XmlSerializer;
+
+ protected ISocketFactory SocketFactory { get; private set; }
+ protected ITaskManager TaskManager { get; private set; }
+ public IHttpClient HttpClient { get; private set; }
+ protected INetworkManager NetworkManager { get; set; }
+ public IJsonSerializer JsonSerializer { get; private set; }
+ protected IIsoManager IsoManager { get; private set; }
/// <summary>
/// Initializes a new instance of the <see cref="ApplicationHost" /> class.
@@ -257,22 +393,31 @@ namespace Emby.Server.Implementations
IEnvironmentInfo environmentInfo,
IImageEncoder imageEncoder,
ISystemEvents systemEvents,
- IMemoryStreamFactory memoryStreamFactory,
- INetworkManager networkManager,
- Action<string, string, string> certificateGenerator,
- Func<string> defaultUsernameFactory)
- : base(applicationPaths,
- logManager,
- fileSystem,
- environmentInfo,
- systemEvents,
- memoryStreamFactory,
- networkManager)
+ INetworkManager networkManager)
{
+ // hack alert, until common can target .net core
+ BaseExtensions.CryptographyProvider = CryptographyProvider;
+
+ XmlSerializer = new MyXmlSerializer(fileSystem, logManager.GetLogger("XmlSerializer"));
+
+ NetworkManager = networkManager;
+ EnvironmentInfo = environmentInfo;
+ SystemEvents = systemEvents;
+ MemoryStreamFactory = new MemoryStreamProvider();
+
+ FailedAssemblies = new List<string>();
+
+ ApplicationPaths = applicationPaths;
+ LogManager = logManager;
+ FileSystemManager = fileSystem;
+
+ ConfigurationManager = GetConfigurationManager();
+
+ // Initialize this early in case the -v command line option is used
+ Logger = LogManager.GetLogger("App");
+
StartupOptions = options;
- _certificateGenerator = certificateGenerator;
_releaseAssetFilename = releaseAssetFilename;
- _defaultUserNameFactory = defaultUsernameFactory;
PowerManagement = powerManagement;
ImageEncoder = imageEncoder;
@@ -292,7 +437,7 @@ namespace Emby.Server.Implementations
/// Gets the current application version
/// </summary>
/// <value>The application version.</value>
- public override Version ApplicationVersion
+ public Version ApplicationVersion
{
get
{
@@ -308,11 +453,25 @@ namespace Emby.Server.Implementations
}
}
+ private DeviceId _deviceId;
+ public string SystemId
+ {
+ get
+ {
+ if (_deviceId == null)
+ {
+ _deviceId = new DeviceId(ApplicationPaths, LogManager.GetLogger("SystemId"), FileSystemManager);
+ }
+
+ return _deviceId.Value;
+ }
+ }
+
/// <summary>
/// Gets the name.
/// </summary>
/// <value>The name.</value>
- public override string Name
+ public string Name
{
get
{
@@ -341,6 +500,159 @@ namespace Emby.Server.Implementations
}
}
+ /// <summary>
+ /// Creates an instance of type and resolves all constructor dependancies
+ /// </summary>
+ /// <param name="type">The type.</param>
+ /// <returns>System.Object.</returns>
+ public object CreateInstance(Type type)
+ {
+ try
+ {
+ return Container.GetInstance(type);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error creating {0}", ex, type.FullName);
+
+ throw;
+ }
+ }
+
+ /// <summary>
+ /// Creates the instance safe.
+ /// </summary>
+ /// <param name="type">The type.</param>
+ /// <returns>System.Object.</returns>
+ protected object CreateInstanceSafe(Type type)
+ {
+ try
+ {
+ return Container.GetInstance(type);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error creating {0}", ex, type.FullName);
+ // Don't blow up in release mode
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// Registers the specified obj.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="obj">The obj.</param>
+ /// <param name="manageLifetime">if set to <c>true</c> [manage lifetime].</param>
+ protected void RegisterSingleInstance<T>(T obj, bool manageLifetime = true)
+ where T : class
+ {
+ Container.RegisterSingleton(obj);
+
+ if (manageLifetime)
+ {
+ var disposable = obj as IDisposable;
+
+ if (disposable != null)
+ {
+ DisposableParts.Add(disposable);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Registers the single instance.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="func">The func.</param>
+ protected void RegisterSingleInstance<T>(Func<T> func)
+ where T : class
+ {
+ Container.RegisterSingleton(func);
+ }
+
+ /// <summary>
+ /// Resolves this instance.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <returns>``0.</returns>
+ public T Resolve<T>()
+ {
+ return (T)Container.GetRegistration(typeof(T), true).GetInstance();
+ }
+
+ /// <summary>
+ /// Resolves this instance.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <returns>``0.</returns>
+ public T TryResolve<T>()
+ {
+ var result = Container.GetRegistration(typeof(T), false);
+
+ if (result == null)
+ {
+ return default(T);
+ }
+ return (T)result.GetInstance();
+ }
+
+ /// <summary>
+ /// Loads the assembly.
+ /// </summary>
+ /// <param name="file">The file.</param>
+ /// <returns>Assembly.</returns>
+ protected Assembly LoadAssembly(string file)
+ {
+ try
+ {
+ return Assembly.Load(File.ReadAllBytes(file));
+ }
+ catch (Exception ex)
+ {
+ FailedAssemblies.Add(file);
+ Logger.ErrorException("Error loading assembly {0}", ex, file);
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// Gets the export types.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <returns>IEnumerable{Type}.</returns>
+ public IEnumerable<Type> GetExportTypes<T>()
+ {
+ var currentType = typeof(T);
+
+ return AllConcreteTypes.Where(currentType.IsAssignableFrom);
+ }
+
+ /// <summary>
+ /// Gets the exports.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="manageLiftime">if set to <c>true</c> [manage liftime].</param>
+ /// <returns>IEnumerable{``0}.</returns>
+ public IEnumerable<T> GetExports<T>(bool manageLiftime = true)
+ {
+ var parts = GetExportTypes<T>()
+ .Select(CreateInstanceSafe)
+ .Where(i => i != null)
+ .Cast<T>()
+ .ToList();
+
+ if (manageLiftime)
+ {
+ lock (DisposableParts)
+ {
+ DisposableParts.AddRange(parts.OfType<IDisposable>());
+ }
+ }
+
+ return parts;
+ }
+
private void SetBaseExceptionMessage()
{
var builder = GetBaseExceptionMessage(ApplicationPaths);
@@ -354,11 +666,13 @@ namespace Emby.Server.Implementations
/// <summary>
/// Runs the startup tasks.
/// </summary>
- public override async Task RunStartupTasks()
+ public async Task RunStartupTasks()
{
- await PerformPreInitMigrations().ConfigureAwait(false);
+ Resolve<ITaskManager>().AddTasks(GetExports<IScheduledTask>(false));
+
+ ConfigureAutorun();
- await base.RunStartupTasks().ConfigureAwait(false);
+ ConfigurationManager.ConfigurationUpdated += OnConfigurationUpdated;
await MediaEncoder.Init().ConfigureAwait(false);
@@ -375,7 +689,6 @@ namespace Emby.Server.Implementations
Logger.Info("Core startup complete");
HttpServer.GlobalResponse = null;
- PerformPostInitMigrations();
Logger.Info("Post-init migrations complete");
foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
@@ -398,7 +711,22 @@ namespace Emby.Server.Implementations
LogManager.RemoveConsoleOutput();
}
- protected override IJsonSerializer CreateJsonSerializer()
+ /// <summary>
+ /// Configures the autorun.
+ /// </summary>
+ private void ConfigureAutorun()
+ {
+ try
+ {
+ ConfigureAutoRunAtStartup(ConfigurationManager.CommonConfiguration.RunAtStartup);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error configuring autorun", ex);
+ }
+ }
+
+ private IJsonSerializer CreateJsonSerializer()
{
try
{
@@ -410,48 +738,10 @@ namespace Emby.Server.Implementations
// Failing under mono
}
- var result = new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer"));
-
- ServiceStack.Text.JsConfig<LiveTvProgram>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<LiveTvChannel>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<LiveTvVideoRecording>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<LiveTvAudioRecording>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Series>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Audio>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<MusicAlbum>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<MusicArtist>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<MusicGenre>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<MusicVideo>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Movie>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Playlist>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<AudioPodcast>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<AudioBook>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Trailer>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<BoxSet>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Episode>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Season>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Book>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<CollectionFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Folder>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Game>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<GameGenre>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<GameSystem>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Genre>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Person>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Photo>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<PhotoAlbum>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Studio>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<UserRootFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<UserView>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Video>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Year>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<Channel>.ExcludePropertyNames = new[] { "ProviderIds" };
- ServiceStack.Text.JsConfig<AggregateFolder>.ExcludePropertyNames = new[] { "ProviderIds" };
-
- return result;
+ return new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer"));
}
- public override Task Init(IProgress<double> progress)
+ public async Task Init(IProgress<double> progress)
{
HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber;
HttpsPort = ServerConfigurationManager.Configuration.HttpsPortNumber;
@@ -463,44 +753,63 @@ namespace Emby.Server.Implementations
HttpsPort = ServerConfiguration.DefaultHttpsPort;
}
- return base.Init(progress);
+ progress.Report(1);
+
+ JsonSerializer = CreateJsonSerializer();
+
+ OnLoggerLoaded(true);
+ LogManager.LoggerLoaded += (s, e) => OnLoggerLoaded(false);
+
+ IsFirstRun = !ConfigurationManager.CommonConfiguration.IsStartupWizardCompleted;
+ progress.Report(2);
+
+ LogManager.LogSeverity = ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging
+ ? LogSeverity.Debug
+ : LogSeverity.Info;
+
+ progress.Report(3);
+
+ DiscoverTypes();
+ progress.Report(14);
+
+ SetHttpLimit();
+ progress.Report(15);
+
+ var innerProgress = new ActionableProgress<double>();
+ innerProgress.RegisterAction(p => progress.Report(.8 * p + 15));
+
+ await RegisterResources(innerProgress).ConfigureAwait(false);
+
+ FindParts();
+ progress.Report(95);
+
+ await InstallIsoMounters(CancellationToken.None).ConfigureAwait(false);
+
+ progress.Report(100);
}
- private async Task PerformPreInitMigrations()
+ protected virtual void OnLoggerLoaded(bool isFirstLoad)
{
- var migrations = new List<IVersionMigration>
- {
- };
+ Logger.Info("Application version: {0}", ApplicationVersion);
- foreach (var task in migrations)
+ if (!isFirstLoad)
{
- try
- {
- await task.Run().ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- Logger.ErrorException("Error running migration", ex);
- }
+ LogEnvironmentInfo(Logger, ApplicationPaths, false);
}
- }
- private void PerformPostInitMigrations()
- {
- var migrations = new List<IVersionMigration>
- {
- };
+ // Put the app config in the log for troubleshooting purposes
+ Logger.LogMultiline("Application configuration:", LogSeverity.Info, new StringBuilder(JsonSerializer.SerializeToString(ConfigurationManager.CommonConfiguration)));
- foreach (var task in migrations)
+ if (Plugins != null)
{
- try
- {
- task.Run();
- }
- catch (Exception ex)
+ var pluginBuilder = new StringBuilder();
+
+ foreach (var plugin in Plugins)
{
- Logger.ErrorException("Error running migration", ex);
+ pluginBuilder.AppendLine(string.Format("{0} {1}", plugin.Name, plugin.Version));
}
+
+ Logger.LogMultiline("Plugins:", LogSeverity.Info, pluginBuilder);
}
}
@@ -510,9 +819,47 @@ namespace Emby.Server.Implementations
/// <summary>
/// Registers resources that classes will depend on
/// </summary>
- protected override async Task RegisterResources(IProgress<double> progress)
+ protected async Task RegisterResources(IProgress<double> progress)
{
- await base.RegisterResources(progress).ConfigureAwait(false);
+ RegisterSingleInstance(ConfigurationManager);
+ RegisterSingleInstance<IApplicationHost>(this);
+
+ RegisterSingleInstance<IApplicationPaths>(ApplicationPaths);
+
+ RegisterSingleInstance(JsonSerializer);
+ RegisterSingleInstance(MemoryStreamFactory);
+ RegisterSingleInstance(SystemEvents);
+
+ RegisterSingleInstance(LogManager);
+ RegisterSingleInstance(Logger);
+
+ RegisterSingleInstance(EnvironmentInfo);
+
+ RegisterSingleInstance(FileSystemManager);
+
+ HttpClient = new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, MemoryStreamFactory, GetDefaultUserAgent);
+ RegisterSingleInstance(HttpClient);
+
+ RegisterSingleInstance(NetworkManager);
+
+ IsoManager = new IsoManager();
+ RegisterSingleInstance(IsoManager);
+
+ TaskManager = new TaskManager(ApplicationPaths, JsonSerializer, LogManager.GetLogger("TaskManager"), FileSystemManager, SystemEvents);
+ RegisterSingleInstance(TaskManager);
+
+ RegisterSingleInstance(XmlSerializer);
+
+ ProcessFactory = new ProcessFactory();
+ RegisterSingleInstance(ProcessFactory);
+
+ TimerFactory = new TimerFactory();
+ RegisterSingleInstance(TimerFactory);
+
+ RegisterSingleInstance(CryptographyProvider);
+
+ SocketFactory = new SocketFactory(LogManager.GetLogger("SocketFactory"));
+ RegisterSingleInstance(SocketFactory);
RegisterSingleInstance(PowerManagement);
@@ -539,7 +886,7 @@ namespace Emby.Server.Implementations
StringExtensions.LocalizationManager = LocalizationManager;
RegisterSingleInstance(LocalizationManager);
- ITextEncoding textEncoding = new TextEncoding(FileSystemManager, LogManager.GetLogger("TextEncoding"), JsonSerializer);
+ ITextEncoding textEncoding = new TextEncoding.TextEncoding(FileSystemManager, LogManager.GetLogger("TextEncoding"), JsonSerializer);
RegisterSingleInstance(textEncoding);
Utilities.EncodingHelper = textEncoding;
RegisterSingleInstance<IBlurayExaminer>(() => new BdInfoExaminer(FileSystemManager, textEncoding));
@@ -564,7 +911,7 @@ namespace Emby.Server.Implementations
AuthenticationRepository = GetAuthenticationRepository();
RegisterSingleInstance(AuthenticationRepository);
- UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this, JsonSerializer, FileSystemManager, CryptographyProvider, _defaultUserNameFactory());
+ UserManager = new UserManager(LogManager.GetLogger("UserManager"), ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, () => ConnectManager, this, JsonSerializer, FileSystemManager, CryptographyProvider);
RegisterSingleInstance(UserManager);
LibraryManager = new LibraryManager(Logger, TaskManager, UserManager, ServerConfigurationManager, UserDataManager, () => LibraryMonitor, FileSystemManager, () => ProviderManager, () => UserViewManager);
@@ -706,6 +1053,106 @@ namespace Emby.Server.Implementations
await ((UserManager)UserManager).Initialize().ConfigureAwait(false);
}
+ public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup)
+ {
+ logger.LogMultiline("Emby", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
+ }
+
+ protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths)
+ {
+ var builder = new StringBuilder();
+
+ builder.AppendLine(string.Format("Command line: {0}", string.Join(" ", Environment.GetCommandLineArgs())));
+
+ 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));
+
+ Type type = Type.GetType("Mono.Runtime");
+ if (type != null)
+ {
+ MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
+ if (displayName != null)
+ {
+ builder.AppendLine("Mono: " + displayName.Invoke(null, null));
+ }
+ }
+
+ builder.AppendLine(string.Format("Processor count: {0}", Environment.ProcessorCount));
+ builder.AppendLine(string.Format("Program data path: {0}", appPaths.ProgramDataPath));
+ builder.AppendLine(string.Format("Application directory: {0}", appPaths.ProgramSystemPath));
+
+ return builder;
+ }
+
+ private void SetHttpLimit()
+ {
+ try
+ {
+ // Increase the max http request limit
+ ServicePointManager.DefaultConnectionLimit = Math.Max(96, ServicePointManager.DefaultConnectionLimit);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error setting http limit", ex);
+ }
+ }
+
+ /// <summary>
+ /// Installs the iso mounters.
+ /// </summary>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task.</returns>
+ private async Task InstallIsoMounters(CancellationToken cancellationToken)
+ {
+ var list = new List<IIsoMounter>();
+
+ foreach (var isoMounter in GetExports<IIsoMounter>())
+ {
+ try
+ {
+ if (isoMounter.RequiresInstallation && !isoMounter.IsInstalled)
+ {
+ Logger.Info("Installing {0}", isoMounter.Name);
+
+ await isoMounter.Install(cancellationToken).ConfigureAwait(false);
+ }
+
+ list.Add(isoMounter);
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("{0} failed to load.", ex, isoMounter.Name);
+ }
+ }
+
+ IsoManager.AddParts(list);
+ }
+
+ private string GetDefaultUserAgent()
+ {
+ var name = FormatAttribute(Name);
+
+ return name + "/" + ApplicationVersion;
+ }
+
+ private string FormatAttribute(string str)
+ {
+ var arr = str.ToCharArray();
+
+ arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c)
+ || char.IsWhiteSpace(c))));
+
+ var result = new string(arr);
+
+ if (string.IsNullOrWhiteSpace(result))
+ {
+ result = "Emby";
+ }
+
+ return result;
+ }
+
protected virtual bool SupportsDualModeSockets
{
get
@@ -801,10 +1248,10 @@ namespace Emby.Server.Implementations
{
switch (EnvironmentInfo.SystemArchitecture)
{
- case Architecture.X64:
+ case MediaBrowser.Model.System.Architecture.X64:
return new[]
{
- "https://embydata.com/downloads/ffmpeg/osx/ffmpeg-x64-20170308.7z"
+ "https://embydata.com/downloads/ffmpeg/osx/ffmpeg-x64-20170308.7z"
};
}
@@ -815,15 +1262,15 @@ namespace Emby.Server.Implementations
{
switch (EnvironmentInfo.SystemArchitecture)
{
- case Architecture.X64:
+ case MediaBrowser.Model.System.Architecture.X64:
return new[]
{
- "https://embydata.com/downloads/ffmpeg/windows/ffmpeg-20170308-win64.7z"
+ "https://embydata.com/downloads/ffmpeg/windows/ffmpeg-20170308-win64.7z"
};
- case Architecture.X86:
+ case MediaBrowser.Model.System.Architecture.X86:
return new[]
{
- "https://embydata.com/downloads/ffmpeg/windows/ffmpeg-20170308-win32.7z"
+ "https://embydata.com/downloads/ffmpeg/windows/ffmpeg-20170308-win32.7z"
};
}
@@ -834,15 +1281,15 @@ namespace Emby.Server.Implementations
{
switch (EnvironmentInfo.SystemArchitecture)
{
- case Architecture.X64:
+ case MediaBrowser.Model.System.Architecture.X64:
return new[]
{
- "https://embydata.com/downloads/ffmpeg/linux/ffmpeg-git-20170301-64bit-static.7z"
+ "https://embydata.com/downloads/ffmpeg/linux/ffmpeg-git-20170301-64bit-static.7z"
};
- case Architecture.X86:
+ case MediaBrowser.Model.System.Architecture.X86:
return new[]
{
- "https://embydata.com/downloads/ffmpeg/linux/ffmpeg-git-20170301-32bit-static.7z"
+ "https://embydata.com/downloads/ffmpeg/linux/ffmpeg-git-20170301-32bit-static.7z"
};
}
@@ -968,7 +1415,7 @@ namespace Emby.Server.Implementations
/// <summary>
/// Finds the parts.
/// </summary>
- protected override void FindParts()
+ protected void FindParts()
{
if (!ServerConfigurationManager.Configuration.IsPortAuthorized)
{
@@ -979,7 +1426,8 @@ namespace Emby.Server.Implementations
RegisterModules();
- base.FindParts();
+ ConfigurationManager.AddParts(GetExports<IConfigurationFactory>());
+ Plugins = GetExports<IPlugin>().Select(LoadPlugin).Where(i => i != null).ToArray();
HttpServer.Init(GetExports<IService>(false));
@@ -988,17 +1436,17 @@ namespace Emby.Server.Implementations
StartServer();
LibraryManager.AddParts(GetExports<IResolverIgnoreRule>(),
- GetExports<IVirtualFolderCreator>(),
- GetExports<IItemResolver>(),
- GetExports<IIntroProvider>(),
- GetExports<IBaseItemComparer>(),
- GetExports<ILibraryPostScanTask>());
+ GetExports<IVirtualFolderCreator>(),
+ GetExports<IItemResolver>(),
+ GetExports<IIntroProvider>(),
+ GetExports<IBaseItemComparer>(),
+ GetExports<ILibraryPostScanTask>());
ProviderManager.AddParts(GetExports<IImageProvider>(),
- GetExports<IMetadataService>(),
- GetExports<IMetadataProvider>(),
- GetExports<IMetadataSaver>(),
- GetExports<IExternalId>());
+ GetExports<IMetadataService>(),
+ GetExports<IMetadataProvider>(),
+ GetExports<IMetadataSaver>(),
+ GetExports<IExternalId>());
ImageProcessor.AddParts(GetExports<IImageEnhancer>());
@@ -1016,6 +1464,104 @@ namespace Emby.Server.Implementations
SyncManager.AddParts(GetExports<ISyncProvider>());
}
+ private IPlugin LoadPlugin(IPlugin plugin)
+ {
+ try
+ {
+ var assemblyPlugin = plugin as IPluginAssembly;
+
+ if (assemblyPlugin != null)
+ {
+ var assembly = plugin.GetType().Assembly;
+ var assemblyName = assembly.GetName();
+
+ var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute), true)[0];
+ 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);
+ }
+
+ var isFirstRun = !File.Exists(plugin.ConfigurationFilePath);
+ plugin.SetStartupInfo(isFirstRun, File.GetLastWriteTimeUtc, s => Directory.CreateDirectory(s));
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error loading plugin {0}", ex, plugin.GetType().FullName);
+ return null;
+ }
+
+ return plugin;
+ }
+
+ /// <summary>
+ /// Discovers the types.
+ /// </summary>
+ protected void DiscoverTypes()
+ {
+ FailedAssemblies.Clear();
+
+ var assemblies = GetComposablePartAssemblies().ToList();
+
+ foreach (var assembly in assemblies)
+ {
+ Logger.Info("Loading {0}", assembly.FullName);
+ }
+
+ AllConcreteTypes = assemblies
+ .SelectMany(GetTypes)
+ .Where(t => t.IsClass && !t.IsAbstract && !t.IsInterface && !t.IsGenericType)
+ .ToArray();
+ }
+
+ /// <summary>
+ /// Gets a list of types within an assembly
+ /// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
+ /// </summary>
+ /// <param name="assembly">The assembly.</param>
+ /// <returns>IEnumerable{Type}.</returns>
+ /// <exception cref="System.ArgumentNullException">assembly</exception>
+ protected List<Type> GetTypes(Assembly assembly)
+ {
+ if (assembly == null)
+ {
+ return new List<Type>();
+ }
+
+ try
+ {
+ // This null checking really shouldn't be needed but adding it due to some
+ // unhandled exceptions in mono 5.0 that are a little hard to hunt down
+ var types = assembly.GetTypes() ?? new Type[] { };
+ return types.Where(t => t != null).ToList();
+ }
+ catch (ReflectionTypeLoadException ex)
+ {
+ if (ex.LoaderExceptions != null)
+ {
+ foreach (var loaderException in ex.LoaderExceptions)
+ {
+ if (loaderException != null)
+ {
+ Logger.Error("LoaderException: " + loaderException.Message);
+ }
+ }
+ }
+
+ // If it fails we can still get a list of the Types it was able to resolve
+ var types = ex.Types ?? new Type[] { };
+ return types.Where(t => t != null).ToList();
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error loading types from assembly", ex);
+
+ return new List<Type>();
+ }
+ }
+
private CertificateInfo CertificateInfo { get; set; }
private ICertificate Certificate { get; set; }
@@ -1100,7 +1646,7 @@ namespace Emby.Server.Implementations
try
{
- _certificateGenerator(certPath, certHost, password);
+ CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, password, Logger);
}
catch (Exception ex)
{
@@ -1122,9 +1668,9 @@ namespace Emby.Server.Implementations
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
- protected override void OnConfigurationUpdated(object sender, EventArgs e)
+ protected void OnConfigurationUpdated(object sender, EventArgs e)
{
- base.OnConfigurationUpdated(sender, e);
+ ConfigureAutorun();
var requiresRestart = false;
@@ -1168,9 +1714,26 @@ namespace Emby.Server.Implementations
}
/// <summary>
+ /// Notifies that the kernel that a change has been made that requires a restart
+ /// </summary>
+ public void NotifyPendingRestart()
+ {
+ Logger.Info("App needs to be restarted.");
+
+ var changed = !HasPendingRestart;
+
+ HasPendingRestart = true;
+
+ if (changed)
+ {
+ EventHelper.QueueEventIfNotNull(HasPendingRestartChanged, this, EventArgs.Empty, Logger);
+ }
+ }
+
+ /// <summary>
/// Restarts this instance.
/// </summary>
- public override async Task Restart()
+ public async Task Restart()
{
if (!CanSelfRestart)
{
@@ -1197,7 +1760,7 @@ namespace Emby.Server.Implementations
/// Gets the composable part assemblies.
/// </summary>
/// <returns>IEnumerable{Assembly}.</returns>
- protected override IEnumerable<Assembly> GetComposablePartAssemblies()
+ protected IEnumerable<Assembly> GetComposablePartAssemblies()
{
var list = GetPluginAssemblies()
.ToList();
@@ -1226,9 +1789,6 @@ namespace Emby.Server.Implementations
// Include composable parts in the Photos assembly
list.Add(GetAssembly(typeof(PhotoProvider)));
- // Common implementations
- list.Add(GetAssembly(typeof(TaskManager)));
-
// Emby.Server implementations
list.Add(GetAssembly(typeof(InstallationManager)));
@@ -1521,7 +2081,7 @@ namespace Emby.Server.Implementations
/// <summary>
/// Shuts down.
/// </summary>
- public override async Task Shutdown()
+ public async Task Shutdown()
{
try
{
@@ -1583,12 +2143,23 @@ namespace Emby.Server.Implementations
}
/// <summary>
+ /// Removes the plugin.
+ /// </summary>
+ /// <param name="plugin">The plugin.</param>
+ public void RemovePlugin(IPlugin plugin)
+ {
+ var list = Plugins.ToList();
+ list.Remove(plugin);
+ Plugins = list.ToArray();
+ }
+
+ /// <summary>
/// Checks for update.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <param name="progress">The progress.</param>
/// <returns>Task{CheckForUpdateResult}.</returns>
- public override async Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress)
+ public async Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress)
{
var cacheLength = TimeSpan.FromHours(1);
var updateLevel = SystemUpdateLevel;
@@ -1599,7 +2170,7 @@ namespace Emby.Server.Implementations
}
var result = await new GithubUpdater(HttpClient, JsonSerializer).CheckForUpdateResult("MediaBrowser", "Emby", ApplicationVersion, updateLevel, _releaseAssetFilename,
- "MBServer", "Mbserver.zip", cacheLength, cancellationToken).ConfigureAwait(false);
+ "MBServer", "Mbserver.zip", cacheLength, cancellationToken).ConfigureAwait(false);
HasUpdateAvailable = result.IsUpdateAvailable;
@@ -1612,7 +2183,7 @@ namespace Emby.Server.Implementations
/// <param name="package">The package that contains the update</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <param name="progress">The progress.</param>
- public override async Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress<double> progress)
+ public async Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress<double> progress)
{
await InstallationManager.InstallPackage(package, false, progress, cancellationToken).ConfigureAwait(false);
@@ -1625,7 +2196,7 @@ namespace Emby.Server.Implementations
/// Configures the automatic run at startup.
/// </summary>
/// <param name="autorun">if set to <c>true</c> [autorun].</param>
- protected override void ConfigureAutoRunAtStartup(bool autorun)
+ protected void ConfigureAutoRunAtStartup(bool autorun)
{
if (SupportsAutoRunAtStartup)
{
@@ -1720,6 +2291,68 @@ namespace Emby.Server.Implementations
}
}
+ /// <summary>
+ /// Called when [application updated].
+ /// </summary>
+ /// <param name="package">The package.</param>
+ protected void OnApplicationUpdated(PackageVersionInfo package)
+ {
+ Logger.Info("Application has been updated to version {0}", package.versionStr);
+
+ EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs<PackageVersionInfo>
+ {
+ Argument = package
+
+ }, Logger);
+
+ NotifyPendingRestart();
+ }
+
+ private bool _disposed;
+ /// <summary>
+ /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ /// </summary>
+ public void Dispose()
+ {
+ if (!_disposed)
+ {
+ _disposed = true;
+
+ Dispose(true);
+ }
+ }
+
+ /// <summary>
+ /// Releases unmanaged and - optionally - managed resources.
+ /// </summary>
+ /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
+ protected virtual void Dispose(bool dispose)
+ {
+ if (dispose)
+ {
+ var type = GetType();
+
+ Logger.Info("Disposing " + type.Name);
+
+ var parts = DisposableParts.Distinct().Where(i => i.GetType() != type).ToList();
+ DisposableParts.Clear();
+
+ foreach (var part in parts)
+ {
+ Logger.Info("Disposing " + part.GetType().Name);
+
+ try
+ {
+ part.Dispose();
+ }
+ catch (Exception ex)
+ {
+ Logger.ErrorException("Error disposing {0}", ex, part.GetType().Name);
+ }
+ }
+ }
+ }
+
void IDependencyContainer.RegisterSingleInstance<T>(T obj, bool manageLifetime)
{
RegisterSingleInstance(obj, manageLifetime);
diff --git a/Emby.Common.Implementations/Archiving/ZipClient.cs b/Emby.Server.Implementations/Archiving/ZipClient.cs
index 791c6678c..3218d56c6 100644
--- a/Emby.Common.Implementations/Archiving/ZipClient.cs
+++ b/Emby.Server.Implementations/Archiving/ZipClient.cs
@@ -3,11 +3,10 @@ using MediaBrowser.Model.IO;
using SharpCompress.Archives.Rar;
using SharpCompress.Archives.SevenZip;
using SharpCompress.Archives.Tar;
-using SharpCompress.Common;
using SharpCompress.Readers;
using SharpCompress.Readers.Zip;
-namespace Emby.Common.Implementations.Archiving
+namespace Emby.Server.Implementations.Archiving
{
/// <summary>
/// Class DotNetZipClient
diff --git a/Emby.Server.Implementations/Cryptography/CertificateGenerator.cs b/Emby.Server.Implementations/Cryptography/CertificateGenerator.cs
index 2600d7470..b4c84a600 100644
--- a/Emby.Server.Implementations/Cryptography/CertificateGenerator.cs
+++ b/Emby.Server.Implementations/Cryptography/CertificateGenerator.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections;
using System.Security.Cryptography;
+using System.Xml;
namespace Emby.Server.Core.Cryptography
{
@@ -27,7 +28,11 @@ namespace Emby.Server.Core.Cryptography
DateTime notAfter = DateTime.Now.AddYears(10);
RSA issuerKey = RSA.Create();
+#if NET46
issuerKey.FromXmlString(MonoTestRootAgency);
+#else
+ RSACryptoServiceProviderExtensions.FromXmlString(issuerKey, MonoTestRootAgency);
+#endif
RSA subjectKey = RSA.Create();
// serial number MUST be positive
@@ -44,7 +49,7 @@ namespace Emby.Server.Core.Cryptography
cb.NotAfter = notAfter;
cb.SubjectName = subject;
cb.SubjectPublicKey = subjectKey;
-
+
// signature
cb.Hash = "SHA256";
byte[] rawcert = cb.Sign(issuerKey);
@@ -66,4 +71,39 @@ namespace Emby.Server.Core.Cryptography
p12.SaveToFile(fileName);
}
}
+
+ public static class RSACryptoServiceProviderExtensions
+ {
+ public static void FromXmlString(RSA rsa, string xmlString)
+ {
+ RSAParameters parameters = new RSAParameters();
+
+ XmlDocument xmlDoc = new XmlDocument();
+ xmlDoc.LoadXml(xmlString);
+
+ if (xmlDoc.DocumentElement.Name.Equals("RSAKeyValue"))
+ {
+ foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
+ {
+ switch (node.Name)
+ {
+ case "Modulus": parameters.Modulus = Convert.FromBase64String(node.InnerText); break;
+ case "Exponent": parameters.Exponent = Convert.FromBase64String(node.InnerText); break;
+ case "P": parameters.P = Convert.FromBase64String(node.InnerText); break;
+ case "Q": parameters.Q = Convert.FromBase64String(node.InnerText); break;
+ case "DP": parameters.DP = Convert.FromBase64String(node.InnerText); break;
+ case "DQ": parameters.DQ = Convert.FromBase64String(node.InnerText); break;
+ case "InverseQ": parameters.InverseQ = Convert.FromBase64String(node.InnerText); break;
+ case "D": parameters.D = Convert.FromBase64String(node.InnerText); break;
+ }
+ }
+ }
+ else
+ {
+ throw new Exception("Invalid XML RSA key.");
+ }
+
+ rsa.ImportParameters(parameters);
+ }
+ }
}
diff --git a/Emby.Common.Implementations/Cryptography/CryptographyProvider.cs b/Emby.Server.Implementations/Cryptography/CryptographyProvider.cs
index 01a31bcc0..6402da0c9 100644
--- a/Emby.Common.Implementations/Cryptography/CryptographyProvider.cs
+++ b/Emby.Server.Implementations/Cryptography/CryptographyProvider.cs
@@ -4,7 +4,7 @@ using System.Security.Cryptography;
using System.Text;
using MediaBrowser.Model.Cryptography;
-namespace Emby.Common.Implementations.Cryptography
+namespace Emby.Server.Implementations.Cryptography
{
public class CryptographyProvider : ICryptoProvider
{
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index fc47809ac..6743e96fd 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -7,6 +7,8 @@ using System.Runtime.Serialization;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
+using Emby.Server.Implementations.Devices;
+using Emby.Server.Implementations.Playlists;
using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Collections;
using MediaBrowser.Controller.Configuration;
@@ -25,8 +27,6 @@ using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Serialization;
-using MediaBrowser.Server.Implementations.Devices;
-using MediaBrowser.Server.Implementations.Playlists;
using MediaBrowser.Model.Reflection;
using SQLitePCL.pretty;
using MediaBrowser.Model.System;
@@ -202,7 +202,6 @@ namespace Emby.Server.Implementations.Data
AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames);
AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames);
- AddColumn(db, "TypedBaseItems", "DisplayMediaType", "Text", existingColumnNames);
AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames);
AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", existingColumnNames);
@@ -307,6 +306,8 @@ namespace Emby.Server.Implementations.Data
"drop index if exists idx_TypeSeriesPresentationUniqueKey",
"drop index if exists idx_SeriesPresentationUniqueKey",
"drop index if exists idx_TypeSeriesPresentationUniqueKey2",
+ "drop index if exists idx_AncestorIds3",
+ "drop index if exists idx_AncestorIds4",
"create index if not exists idx_PathTypedBaseItems on TypedBaseItems(Path)",
"create index if not exists idx_ParentIdTypedBaseItems on TypedBaseItems(ParentId)",
@@ -417,7 +418,6 @@ namespace Emby.Server.Implementations.Data
"ProductionYear",
"OfficialRating",
"HomePageUrl",
- "DisplayMediaType",
"ForcedSortName",
"RunTimeTicks",
"DateCreated",
@@ -534,7 +534,6 @@ namespace Emby.Server.Implementations.Data
"ForcedSortName",
"RunTimeTicks",
"HomePageUrl",
- "DisplayMediaType",
"DateCreated",
"DateModified",
"PreferredMetadataLanguage",
@@ -811,7 +810,6 @@ namespace Emby.Server.Implementations.Data
saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks);
saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl);
- saveItemStatement.TryBindNull("@DisplayMediaType");
saveItemStatement.TryBind("@DateCreated", item.DateCreated);
saveItemStatement.TryBind("@DateModified", item.DateModified);
@@ -1218,14 +1216,15 @@ namespace Emby.Server.Implementations.Data
{
return false;
}
- if (type == typeof(Season))
- {
- return false;
- }
- if (type == typeof(MusicArtist))
- {
- return false;
- }
+ }
+
+ if (type == typeof(Season))
+ {
+ return false;
+ }
+ if (type == typeof(MusicArtist))
+ {
+ return false;
}
if (type == typeof(Person))
@@ -1573,19 +1572,6 @@ namespace Emby.Server.Implementations.Data
index++;
}
- var video = item as Video;
- if (HasField(query, ItemFields.DisplayMediaType))
- {
- if (video != null)
- {
- if (!reader.IsDBNull(index))
- {
- video.DisplayMediaType = reader.GetString(index);
- }
- }
- index++;
- }
-
if (HasField(query, ItemFields.SortName))
{
if (!reader.IsDBNull(index))
@@ -1737,6 +1723,7 @@ namespace Emby.Server.Implementations.Data
index++;
}
+ var video = item as Video;
if (video != null)
{
if (!reader.IsDBNull(index))
@@ -2248,7 +2235,6 @@ namespace Emby.Server.Implementations.Data
{
case ItemFields.HomePageUrl:
case ItemFields.CustomRating:
- case ItemFields.DisplayMediaType:
case ItemFields.ProductionLocations:
case ItemFields.Settings:
case ItemFields.OriginalTitle:
diff --git a/Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs b/Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs
index 52979f085..bb9ef157c 100644
--- a/Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs
+++ b/Emby.Server.Implementations/Devices/CameraUploadsDynamicFolder.cs
@@ -10,7 +10,6 @@ using MediaBrowser.Controller.IO;
using MediaBrowser.Model.IO;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Serialization;
-using MediaBrowser.Server.Implementations.Devices;
namespace Emby.Server.Implementations.Devices
{
diff --git a/MediaBrowser.Server.Implementations/Devices/CameraUploadsFolder.cs b/Emby.Server.Implementations/Devices/CameraUploadsFolder.cs
index ae700e250..55063872c 100644
--- a/MediaBrowser.Server.Implementations/Devices/CameraUploadsFolder.cs
+++ b/Emby.Server.Implementations/Devices/CameraUploadsFolder.cs
@@ -1,14 +1,12 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Controller.Entities;
-using System;
-using System.IO;
+using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Serialization;
-namespace MediaBrowser.Server.Implementations.Devices
+namespace Emby.Server.Implementations.Devices
{
public class CameraUploadsFolder : BasePluginFolder, ISupportsUserSpecificView
{
@@ -30,7 +28,7 @@ namespace MediaBrowser.Server.Implementations.Devices
[IgnoreDataMember]
public override string CollectionType
{
- get { return Model.Entities.CollectionType.Photos; }
+ get { return MediaBrowser.Model.Entities.CollectionType.Photos; }
}
[IgnoreDataMember]
diff --git a/Emby.Common.Implementations/Devices/DeviceId.cs b/Emby.Server.Implementations/Devices/DeviceId.cs
index 1de76456c..5e0323ddb 100644
--- a/Emby.Common.Implementations/Devices/DeviceId.cs
+++ b/Emby.Server.Implementations/Devices/DeviceId.cs
@@ -5,7 +5,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
-namespace Emby.Common.Implementations.Devices
+namespace Emby.Server.Implementations.Devices
{
public class DeviceId
{
diff --git a/Emby.Common.Implementations/Diagnostics/CommonProcess.cs b/Emby.Server.Implementations/Diagnostics/CommonProcess.cs
index afd30bc47..09b8bf22c 100644
--- a/Emby.Common.Implementations/Diagnostics/CommonProcess.cs
+++ b/Emby.Server.Implementations/Diagnostics/CommonProcess.cs
@@ -1,12 +1,10 @@
using System;
-using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Model.Diagnostics;
-namespace Emby.Common.Implementations.Diagnostics
+namespace Emby.Server.Implementations.Diagnostics
{
public class CommonProcess : IProcess
{
diff --git a/Emby.Common.Implementations/Diagnostics/ProcessFactory.cs b/Emby.Server.Implementations/Diagnostics/ProcessFactory.cs
index 292da023c..a2c511cb9 100644
--- a/Emby.Common.Implementations/Diagnostics/ProcessFactory.cs
+++ b/Emby.Server.Implementations/Diagnostics/ProcessFactory.cs
@@ -1,6 +1,6 @@
using MediaBrowser.Model.Diagnostics;
-namespace Emby.Common.Implementations.Diagnostics
+namespace Emby.Server.Implementations.Diagnostics
{
public class ProcessFactory : IProcessFactory
{
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index 38f51919a..1e897016e 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -43,7 +43,7 @@
<Compile Include="AppBase\BaseConfigurationManager.cs" />
<Compile Include="AppBase\ConfigurationHelper.cs" />
<Compile Include="ApplicationHost.cs" />
- <Compile Include="ApplicationPathHelper.cs" />
+ <Compile Include="Archiving\ZipClient.cs" />
<Compile Include="Branding\BrandingConfigurationFactory.cs" />
<Compile Include="Browser\BrowserLauncher.cs" />
<Compile Include="Channels\ChannelConfigurations.cs" />
@@ -61,6 +61,7 @@
<Compile Include="Cryptography\BitConverterLE.cs" />
<Compile Include="Cryptography\CertificateGenerator.cs" />
<Compile Include="Cryptography\CryptoConvert.cs" />
+ <Compile Include="Cryptography\CryptographyProvider.cs" />
<Compile Include="Cryptography\PfxGenerator.cs" />
<Compile Include="Cryptography\PKCS1.cs" />
<Compile Include="Cryptography\PKCS12.cs" />
@@ -81,8 +82,12 @@
<Compile Include="Data\SqliteUserRepository.cs" />
<Compile Include="Data\TypeMapper.cs" />
<Compile Include="Devices\CameraUploadsDynamicFolder.cs" />
+ <Compile Include="Devices\CameraUploadsFolder.cs" />
+ <Compile Include="Devices\DeviceId.cs" />
<Compile Include="Devices\DeviceManager.cs" />
<Compile Include="Devices\DeviceRepository.cs" />
+ <Compile Include="Diagnostics\CommonProcess.cs" />
+ <Compile Include="Diagnostics\ProcessFactory.cs" />
<Compile Include="Dto\DtoService.cs" />
<Compile Include="EntryPoints\AutomaticRestartEntryPoint.cs" />
<Compile Include="EntryPoints\ExternalPortForwarding.cs" />
@@ -98,9 +103,12 @@
<Compile Include="EntryPoints\UsageEntryPoint.cs" />
<Compile Include="EntryPoints\UsageReporter.cs" />
<Compile Include="EntryPoints\UserDataChangeNotifier.cs" />
+ <Compile Include="EnvironmentInfo\EnvironmentInfo.cs" />
<Compile Include="FFMpeg\FFMpegInfo.cs" />
<Compile Include="FFMpeg\FFMpegInstallInfo.cs" />
<Compile Include="FFMpeg\FFMpegLoader.cs" />
+ <Compile Include="HttpClientManager\HttpClientInfo.cs" />
+ <Compile Include="HttpClientManager\HttpClientManager.cs" />
<Compile Include="HttpServerFactory.cs" />
<Compile Include="HttpServer\FileWriter.cs" />
<Compile Include="HttpServer\HttpListenerHost.cs" />
@@ -123,9 +131,237 @@
<Compile Include="Images\BaseDynamicImageProvider.cs" />
<Compile Include="IO\AsyncStreamCopier.cs" />
<Compile Include="IO\FileRefresher.cs" />
+ <Compile Include="IO\IsoManager.cs" />
<Compile Include="IO\LibraryMonitor.cs" />
+ <Compile Include="IO\LnkShortcutHandler.cs" />
+ <Compile Include="IO\ManagedFileSystem.cs" />
<Compile Include="IO\MbLinkShortcutHandler.cs" />
<Compile Include="IO\MemoryStreamProvider.cs" />
+ <Compile Include="IO\ProgressStream.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="IO\ThrottledStream.cs" />
<Compile Include="Library\CoreResolutionIgnoreRule.cs" />
<Compile Include="Library\LibraryManager.cs" />
@@ -198,9 +434,16 @@
<Compile Include="Localization\LocalizationManager.cs" />
<Compile Include="Localization\TextLocalizer.cs" />
<Compile Include="Logging\ConsoleLogger.cs" />
+ <Compile Include="Logging\SimpleLogManager.cs" />
<Compile Include="Logging\UnhandledExceptionWriter.cs" />
<Compile Include="MediaEncoder\EncodingManager.cs" />
<Compile Include="Migrations\IVersionMigration.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="News\NewsEntryPoint.cs" />
<Compile Include="News\NewsService.cs" />
<Compile Include="Notifications\CoreNotificationTypes.cs" />
@@ -215,20 +458,34 @@
<Compile Include="Data\CleanDatabaseScheduledTask.cs" />
<Compile Include="Data\SqliteExtensions.cs" />
<Compile Include="Photos\PhotoAlbumImageProvider.cs" />
+ <Compile Include="Playlists\ManualPlaylistsFolder.cs" />
<Compile Include="Playlists\PlaylistImageProvider.cs" />
<Compile Include="Playlists\PlaylistManager.cs" />
<Compile Include="Playlists\PlaylistsDynamicFolder.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Reflection\AssemblyInfo.cs" />
<Compile Include="ScheduledTasks\ChapterImagesTask.cs" />
+ <Compile Include="ScheduledTasks\DailyTrigger.cs" />
+ <Compile Include="ScheduledTasks\IntervalTrigger.cs" />
<Compile Include="ScheduledTasks\PeopleValidationTask.cs" />
<Compile Include="ScheduledTasks\PluginUpdateTask.cs" />
<Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" />
+ <Compile Include="ScheduledTasks\ScheduledTaskWorker.cs" />
+ <Compile Include="ScheduledTasks\StartupTrigger.cs" />
+ <Compile Include="ScheduledTasks\SystemEventTrigger.cs" />
<Compile Include="ScheduledTasks\SystemUpdateTask.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="Security\AuthenticationRepository.cs" />
<Compile Include="Security\EncryptionManager.cs" />
<Compile Include="Security\MBLicenseFile.cs" />
<Compile Include="Security\PluginSecurityManager.cs" />
<Compile Include="Security\RegRecord.cs" />
+ <Compile Include="Serialization\JsonSerializer.cs" />
+ <Compile Include="Serialization\XmlSerializer.cs" />
<Compile Include="ServerApplicationPaths.cs" />
<Compile Include="ServerManager\ServerManager.cs" />
<Compile Include="ServerManager\WebSocketConnection.cs" />
@@ -277,21 +534,72 @@
<Compile Include="Sorting\StudioComparer.cs" />
<Compile Include="StartupOptions.cs" />
<Compile Include="SystemEvents.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Detector.cs" />
+ <Compile Include="TextEncoding\NLangDetect\DetectorFactory.cs" />
+ <Compile Include="TextEncoding\NLangDetect\ErrorCode.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Extensions\CharExtensions.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Extensions\RandomExtensions.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Extensions\StringExtensions.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Extensions\UnicodeBlock.cs" />
+ <Compile Include="TextEncoding\NLangDetect\GenProfile.cs" />
+ <Compile Include="TextEncoding\NLangDetect\InternalException.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Language.cs" />
+ <Compile Include="TextEncoding\NLangDetect\LanguageDetector.cs" />
+ <Compile Include="TextEncoding\NLangDetect\NLangDetectException.cs" />
+ <Compile Include="TextEncoding\NLangDetect\ProbVector.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Utils\LangProfile.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Utils\Messages.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Utils\NGram.cs" />
+ <Compile Include="TextEncoding\NLangDetect\Utils\TagExtractor.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="TV\SeriesPostScanTask.cs" />
<Compile Include="TV\TVSeriesManager.cs" />
<Compile Include="Udp\UdpServer.cs" />
<Compile Include="Updates\InstallationManager.cs" />
<Compile Include="UserViews\CollectionFolderImageProvider.cs" />
<Compile Include="UserViews\DynamicImageProvider.cs" />
+ <Compile Include="Xml\XmlReaderSettingsFactory.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Localization\iso6392.txt" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\Emby.Common.Implementations\Emby.Common.Implementations.csproj">
- <Project>{1e37a338-9f57-4b70-bd6d-bb9c591e319b}</Project>
- <Name>Emby.Common.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\Emby.Dlna\Emby.Dlna.csproj">
<Project>{805844ab-e92f-45e6-9d99-4f6d48d129a5}</Project>
<Name>Emby.Dlna</Name>
@@ -328,10 +636,6 @@
<Project>{442b5058-dcaf-4263-bb6a-f21e31120a1b}</Project>
<Name>MediaBrowser.Providers</Name>
</ProjectReference>
- <ProjectReference Include="..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj">
- <Project>{2e781478-814d-4a48-9d80-bff206441a65}</Project>
- <Name>MediaBrowser.Server.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj">
<Project>{5624b7b5-b5a7-41d8-9f10-cc5611109619}</Project>
<Name>MediaBrowser.WebDashboard</Name>
@@ -356,20 +660,18 @@
<HintPath>..\ThirdParty\emby\Emby.Server.MediaEncoding.dll</HintPath>
</Reference>
<Reference Include="Emby.XmlTv, Version=1.0.6387.29335, Culture=neutral, processorArchitecture=MSIL">
- <HintPath>..\packages\Emby.XmlTv.1.0.9\lib\portable-net45+win8\Emby.XmlTv.dll</HintPath>
- <Private>True</Private>
+ <HintPath>..\packages\Emby.XmlTv.1.0.10\lib\portable-net45+netstandard2.0+win8\Emby.XmlTv.dll</HintPath>
</Reference>
- <Reference Include="MediaBrowser.Naming, Version=1.0.6279.25941, Culture=neutral, processorArchitecture=MSIL">
- <HintPath>..\packages\MediaBrowser.Naming.1.0.5\lib\portable-net45+win8\MediaBrowser.Naming.dll</HintPath>
- <Private>True</Private>
- </Reference>
- <Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
- <HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.2\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
+ <Reference Include="MediaBrowser.Naming, Version=1.0.6437.24226, Culture=neutral, processorArchitecture=MSIL">
+ <HintPath>..\packages\MediaBrowser.Naming.1.0.6\lib\portable-net45+netstandard2.0+win8\MediaBrowser.Naming.dll</HintPath>
</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>
+ </Reference>
<Reference Include="SimpleInjector, Version=4.0.8.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
<HintPath>..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll</HintPath>
</Reference>
@@ -436,6 +738,60 @@
<EmbeddedResource Include="Localization\Core\zh-TW.json" />
<EmbeddedResource Include="Localization\countries.json" />
<None Include="packages.config" />
+ <None Include="TextEncoding\NLangDetect\Profiles\afr" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ara" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ben" />
+ <None Include="TextEncoding\NLangDetect\Profiles\bul" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ces" />
+ <None Include="TextEncoding\NLangDetect\Profiles\dan" />
+ <None Include="TextEncoding\NLangDetect\Profiles\deu" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ell" />
+ <None Include="TextEncoding\NLangDetect\Profiles\eng" />
+ <None Include="TextEncoding\NLangDetect\Profiles\est" />
+ <None Include="TextEncoding\NLangDetect\Profiles\fas" />
+ <None Include="TextEncoding\NLangDetect\Profiles\fin" />
+ <None Include="TextEncoding\NLangDetect\Profiles\fra" />
+ <None Include="TextEncoding\NLangDetect\Profiles\guj" />
+ <None Include="TextEncoding\NLangDetect\Profiles\heb" />
+ <None Include="TextEncoding\NLangDetect\Profiles\hin" />
+ <None Include="TextEncoding\NLangDetect\Profiles\hrv" />
+ <None Include="TextEncoding\NLangDetect\Profiles\hun" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ind" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ita" />
+ <None Include="TextEncoding\NLangDetect\Profiles\jpn" />
+ <None Include="TextEncoding\NLangDetect\Profiles\kan" />
+ <None Include="TextEncoding\NLangDetect\Profiles\kor" />
+ <None Include="TextEncoding\NLangDetect\Profiles\lav" />
+ <None Include="TextEncoding\NLangDetect\Profiles\lit" />
+ <None Include="TextEncoding\NLangDetect\Profiles\mal" />
+ <None Include="TextEncoding\NLangDetect\Profiles\mar" />
+ <None Include="TextEncoding\NLangDetect\Profiles\mkd" />
+ <None Include="TextEncoding\NLangDetect\Profiles\nep" />
+ <None Include="TextEncoding\NLangDetect\Profiles\nld" />
+ <None Include="TextEncoding\NLangDetect\Profiles\nor" />
+ <None Include="TextEncoding\NLangDetect\Profiles\pan" />
+ <None Include="TextEncoding\NLangDetect\Profiles\pol" />
+ <None Include="TextEncoding\NLangDetect\Profiles\por" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ron" />
+ <None Include="TextEncoding\NLangDetect\Profiles\rus" />
+ <None Include="TextEncoding\NLangDetect\Profiles\slk" />
+ <None Include="TextEncoding\NLangDetect\Profiles\slv" />
+ <None Include="TextEncoding\NLangDetect\Profiles\som" />
+ <None Include="TextEncoding\NLangDetect\Profiles\spa" />
+ <None Include="TextEncoding\NLangDetect\Profiles\sqi" />
+ <None Include="TextEncoding\NLangDetect\Profiles\swa" />
+ <None Include="TextEncoding\NLangDetect\Profiles\swe" />
+ <None Include="TextEncoding\NLangDetect\Profiles\tam" />
+ <None Include="TextEncoding\NLangDetect\Profiles\tel" />
+ <None Include="TextEncoding\NLangDetect\Profiles\tgl" />
+ <None Include="TextEncoding\NLangDetect\Profiles\tha" />
+ <None Include="TextEncoding\NLangDetect\Profiles\tur" />
+ <None Include="TextEncoding\NLangDetect\Profiles\ukr" />
+ <None Include="TextEncoding\NLangDetect\Profiles\urd" />
+ <None Include="TextEncoding\NLangDetect\Profiles\vie" />
+ <EmbeddedResource Include="TextEncoding\NLangDetect\Profiles\zh-cn" />
+ <EmbeddedResource Include="TextEncoding\NLangDetect\Profiles\zh-tw" />
+ <EmbeddedResource Include="TextEncoding\NLangDetect\Utils\messages.properties" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Localization\Ratings\au.txt" />
diff --git a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs
index 89aa787b5..f86279f37 100644
--- a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs
+++ b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs
@@ -1,25 +1,21 @@
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Threading.Tasks;
using MediaBrowser.Model.System;
-namespace Emby.Common.Implementations.EnvironmentInfo
+namespace Emby.Server.Implementations.EnvironmentInfo
{
public class EnvironmentInfo : IEnvironmentInfo
{
- public Architecture? CustomArchitecture { get; set; }
- public MediaBrowser.Model.System.OperatingSystem? CustomOperatingSystem { get; set; }
+ private Architecture? _customArchitecture;
+ private MediaBrowser.Model.System.OperatingSystem? _customOperatingSystem;
public virtual MediaBrowser.Model.System.OperatingSystem OperatingSystem
{
get
{
- if (CustomOperatingSystem.HasValue)
+ if (_customOperatingSystem.HasValue)
{
- return CustomOperatingSystem.Value;
+ return _customOperatingSystem.Value;
}
switch (Environment.OSVersion.Platform)
@@ -34,6 +30,10 @@ namespace Emby.Common.Implementations.EnvironmentInfo
return MediaBrowser.Model.System.OperatingSystem.Windows;
}
+ set
+ {
+ _customOperatingSystem = value;
+ }
}
public string OperatingSystemName
@@ -64,13 +64,17 @@ namespace Emby.Common.Implementations.EnvironmentInfo
{
get
{
- if (CustomArchitecture.HasValue)
+ if (_customArchitecture.HasValue)
{
- return CustomArchitecture.Value;
+ return _customArchitecture.Value;
}
return Environment.Is64BitOperatingSystem ? MediaBrowser.Model.System.Architecture.X64 : MediaBrowser.Model.System.Architecture.X86;
}
+ set
+ {
+ _customArchitecture = value;
+ }
}
public string GetEnvironmentVariable(string name)
diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientInfo.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientInfo.cs
index ca481b33e..6d17bf94d 100644
--- a/Emby.Common.Implementations/HttpClientManager/HttpClientInfo.cs
+++ b/Emby.Server.Implementations/HttpClientManager/HttpClientInfo.cs
@@ -1,6 +1,6 @@
using System;
-namespace Emby.Common.Implementations.HttpClientManager
+namespace Emby.Server.Implementations.HttpClientManager
{
/// <summary>
/// Class HttpClientInfo
diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs
index 700d04c4d..f512b723d 100644
--- a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs
@@ -1,26 +1,23 @@
-using System.Net.Sockets;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Net;
-using System;
+using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.Collections.Specialized;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
+using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Common.Implementations.HttpClientManager;
-using Emby.Common.Implementations.IO;
+using Emby.Server.Implementations.IO;
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Extensions;
+using MediaBrowser.Common.Net;
using MediaBrowser.Model.IO;
-using MediaBrowser.Common;
+using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.HttpClientManager
+namespace Emby.Server.Implementations.HttpClientManager
{
/// <summary>
/// Class HttpClientManager
@@ -69,8 +66,10 @@ namespace Emby.Common.Implementations.HttpClientManager
// http://stackoverflow.com/questions/566437/http-post-returns-the-error-417-expectation-failed-c
ServicePointManager.Expect100Continue = false;
- // Trakt requests sometimes fail without this
+#if NET46
+// Trakt requests sometimes fail without this
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
+#endif
}
/// <summary>
@@ -431,7 +430,7 @@ namespace Emby.Common.Implementations.HttpClientManager
try
{
var bytes = options.RequestContentBytes ??
- Encoding.UTF8.GetBytes(options.RequestContent ?? string.Empty);
+ Encoding.UTF8.GetBytes(options.RequestContent ?? string.Empty);
httpWebRequest.ContentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
@@ -730,7 +729,7 @@ namespace Emby.Common.Implementations.HttpClientManager
}
var webException = ex as WebException
- ?? ex.InnerException as WebException;
+ ?? ex.InnerException as WebException;
if (webException != null)
{
@@ -765,7 +764,7 @@ namespace Emby.Common.Implementations.HttpClientManager
}
var operationCanceledException = ex as OperationCanceledException
- ?? ex.InnerException as OperationCanceledException;
+ ?? ex.InnerException as OperationCanceledException;
if (operationCanceledException != null)
{
diff --git a/Emby.Server.Implementations/HttpServerFactory.cs b/Emby.Server.Implementations/HttpServerFactory.cs
index b1d78e6f4..007f5c829 100644
--- a/Emby.Server.Implementations/HttpServerFactory.cs
+++ b/Emby.Server.Implementations/HttpServerFactory.cs
@@ -3,8 +3,8 @@ using System.IO;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
-using Emby.Common.Implementations.Net;
using Emby.Server.Implementations.HttpServer;
+using Emby.Server.Implementations.Net;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
diff --git a/Emby.Server.Implementations/IO/FileRefresher.cs b/Emby.Server.Implementations/IO/FileRefresher.cs
index b2554049d..0ec62d895 100644
--- a/Emby.Server.Implementations/IO/FileRefresher.cs
+++ b/Emby.Server.Implementations/IO/FileRefresher.cs
@@ -121,7 +121,7 @@ namespace Emby.Server.Implementations.IO
RestartTimer();
}
- private async void OnTimerCallback(object state)
+ private void OnTimerCallback(object state)
{
List<string> paths;
@@ -137,7 +137,7 @@ namespace Emby.Server.Implementations.IO
try
{
- await ProcessPathChanges(paths.ToList()).ConfigureAwait(false);
+ ProcessPathChanges(paths.ToList());
}
catch (Exception ex)
{
@@ -145,7 +145,7 @@ namespace Emby.Server.Implementations.IO
}
}
- private async Task ProcessPathChanges(List<string> paths)
+ private void ProcessPathChanges(List<string> paths)
{
var itemsToRefresh = paths
.Distinct(StringComparer.OrdinalIgnoreCase)
diff --git a/Emby.Common.Implementations/IO/IsoManager.cs b/Emby.Server.Implementations/IO/IsoManager.cs
index 14614acaf..903d5f301 100644
--- a/Emby.Common.Implementations/IO/IsoManager.cs
+++ b/Emby.Server.Implementations/IO/IsoManager.cs
@@ -5,7 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Model.IO;
-namespace Emby.Common.Implementations.IO
+namespace Emby.Server.Implementations.IO
{
/// <summary>
/// Class IsoManager
diff --git a/Emby.Common.Implementations/IO/LnkShortcutHandler.cs b/Emby.Server.Implementations/IO/LnkShortcutHandler.cs
index 5d5f46057..093d57aa4 100644
--- a/Emby.Common.Implementations/IO/LnkShortcutHandler.cs
+++ b/Emby.Server.Implementations/IO/LnkShortcutHandler.cs
@@ -2,11 +2,10 @@
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
-using System.Security;
using System.Text;
using MediaBrowser.Model.IO;
-namespace Emby.Common.Implementations.IO
+namespace Emby.Server.Implementations.IO
{
public class LnkShortcutHandler :IShortcutHandler
{
diff --git a/Emby.Common.Implementations/IO/ManagedFileSystem.cs b/Emby.Server.Implementations/IO/ManagedFileSystem.cs
index 7d14e521f..0d85a977c 100644
--- a/Emby.Common.Implementations/IO/ManagedFileSystem.cs
+++ b/Emby.Server.Implementations/IO/ManagedFileSystem.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
-namespace Emby.Common.Implementations.IO
+namespace Emby.Server.Implementations.IO
{
/// <summary>
/// Class ManagedFileSystem
diff --git a/Emby.Server.Implementations/IO/MemoryStreamProvider.cs b/Emby.Server.Implementations/IO/MemoryStreamProvider.cs
index eca76203c..e9ecb7e44 100644
--- a/Emby.Server.Implementations/IO/MemoryStreamProvider.cs
+++ b/Emby.Server.Implementations/IO/MemoryStreamProvider.cs
@@ -1,35 +1,8 @@
using System.IO;
using MediaBrowser.Model.IO;
-using Microsoft.IO;
namespace Emby.Server.Implementations.IO
{
- public class RecyclableMemoryStreamProvider : IMemoryStreamFactory
- {
- readonly RecyclableMemoryStreamManager _manager = new RecyclableMemoryStreamManager();
-
- public MemoryStream CreateNew()
- {
- return _manager.GetStream();
- }
-
- public MemoryStream CreateNew(int capacity)
- {
- return _manager.GetStream("RecyclableMemoryStream", capacity);
- }
-
- public MemoryStream CreateNew(byte[] buffer)
- {
- return _manager.GetStream("RecyclableMemoryStream", buffer, 0, buffer.Length);
- }
-
- public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
- {
- buffer = stream.GetBuffer();
- return true;
- }
- }
-
public class MemoryStreamProvider : IMemoryStreamFactory
{
public MemoryStream CreateNew()
diff --git a/Emby.Common.Implementations/IO/ProgressStream.cs b/Emby.Server.Implementations/IO/ProgressStream.cs
index fb8cf86df..be1ff72f8 100644
--- a/Emby.Common.Implementations/IO/ProgressStream.cs
+++ b/Emby.Server.Implementations/IO/ProgressStream.cs
@@ -1,7 +1,7 @@
using System;
using System.IO;
-namespace Emby.Common.Implementations.IO
+namespace Emby.Server.Implementations.IO
{
/// <summary>
/// Measures progress when reading from a stream or writing to one
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Config.cs b/Emby.Server.Implementations/IO/SharpCifs/Config.cs
index 3fd0e5bd6..3fd0e5bd6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Config.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Config.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs
index 1d8d13c08..1d8d13c08 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs
index 234150664..234150664 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs
index 5b69c5c2e..5b69c5c2e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs
index 55c061065..55c061065 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs
index 13c4f0d0c..13c4f0d0c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs
index 786b0ac12..786b0ac12 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs
index 543dd72dd..543dd72dd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs
index 0399578cd..0399578cd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs
index cc46902f1..cc46902f1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs
index 03964fcc7..03964fcc7 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs
index ef09bb16e..ef09bb16e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs
index 1ae85c473..1ae85c473 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs
index 6a9d4302a..6a9d4302a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs
index d9c0afb34..d9c0afb34 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs
index 77b2ee375..77b2ee375 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs
index 0aaf31026..0aaf31026 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs
index 9d2c2a0f4..9d2c2a0f4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs
index 820d81ab2..820d81ab2 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs
index 80c45257c..80c45257c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs
index 0f2603e9c..0f2603e9c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs
index e0b9b68d3..e0b9b68d3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs
index 2ac6bceed..2ac6bceed 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs
index 7c7b64abf..7c7b64abf 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs
index 802ed61a3..802ed61a3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs
index a338b2885..a338b2885 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs
index bdc71695e..bdc71695e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs
index d4ebdacc4..d4ebdacc4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs
index d44c79886..d44c79886 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs
index 0cd3f9369..0cd3f9369 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs
index f33f48327..f33f48327 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs
index 0a47de799..0a47de799 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs
index 7757735f8..7757735f8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs
index 9e2932337..9e2932337 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs
index 74d90465e..74d90465e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs
index 8951fa202..8951fa202 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs
index e2ea8c65b..e2ea8c65b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs
index 8309dea66..8309dea66 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs
index aa33d3522..aa33d3522 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UUID.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UUID.cs
index bef4be214..bef4be214 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UUID.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UUID.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs
index b0c36898c..b0c36898c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs
index c94d0a260..c94d0a260 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/Name.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs
index 6c37d57a4..6c37d57a4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/Name.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/Name.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs
index 646e65bf8..646e65bf8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs
index c7fac8e93..c7fac8e93 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs
index 01700e64a..01700e64a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs
index 28e98406e..28e98406e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs
index c64d385f1..c64d385f1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtException.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtException.cs
index e785c9943..e785c9943 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NbtException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs
index 66d3bb3e5..66d3bb3e5 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs
index aa3214419..aa3214419 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs
index a5243f7aa..a5243f7aa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs
index c901c6e26..c901c6e26 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs
index c8d194222..c8d194222 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs
index 116f71b75..116f71b75 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs
index 02827d2d0..02827d2d0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs
index afcf5ec7e..afcf5ec7e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs
index 104e5b0fd..104e5b0fd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs
index 9a2a37f3c..9a2a37f3c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/ACE.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/ACE.cs
index 73b742cfb..73b742cfb 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/ACE.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/ACE.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/AllocInfo.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/AllocInfo.cs
index 6ebe88293..6ebe88293 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/AllocInfo.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/AllocInfo.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs
index e78bff9d0..e78bff9d0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/BufferCache.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/BufferCache.cs
index b36816e26..b36816e26 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/BufferCache.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/BufferCache.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Dfs.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Dfs.cs
index 2f62e5b8d..2f62e5b8d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Dfs.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Dfs.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/DfsReferral.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/DfsReferral.cs
index 3b6091f73..3b6091f73 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/DfsReferral.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/DfsReferral.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/DosError.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/DosError.cs
index d89e5bafa..d89e5bafa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/DosError.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/DosError.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs
index bbf7882c8..bbf7882c8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/FileEntry.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/FileEntry.cs
index bbf3e7cc4..bbf3e7cc4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/FileEntry.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/FileEntry.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/IInfo.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/IInfo.cs
index b0e40c5cd..b0e40c5cd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/IInfo.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/IInfo.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs
index b4a02d8c3..b4a02d8c3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs
index 9a0e5e3d5..9a0e5e3d5 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs
index 1b0c6f931..1b0c6f931 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs
index 408f8e4d1..408f8e4d1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtStatus.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtStatus.cs
index 511e7ae84..511e7ae84 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtStatus.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtStatus.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs
index 6a83543b1..6a83543b1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs
index 9365d5154..9365d5154 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs
index 853364f8e..853364f8e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs
index 745b1f663..745b1f663 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmContext.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs
index 44266f974..44266f974 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmContext.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmContext.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs
index ec3899fe9..ec3899fe9 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Principal.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Principal.cs
index 14a5479e3..14a5479e3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Principal.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Principal.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SID.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SID.cs
index a6ad59fb1..a6ad59fb1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SID.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SID.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs
index 8a424a019..8a424a019 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs
index cb38c89fa..cb38c89fa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SigningDigest.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SigningDigest.cs
index 9f57e887b..9f57e887b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SigningDigest.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SigningDigest.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs
index defaea71b..defaea71b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs
index 2295de5b9..2295de5b9 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComClose.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComClose.cs
index 4a160f518..4a160f518 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComClose.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComClose.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs
index 7549db01a..7549db01a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs
index d055d2446..d055d2446 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs
index 240139a17..240139a17 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs
index 9b7c0c765..9b7c0c765 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs
index 8f88ccd57..8f88ccd57 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs
index 26b5ba63a..26b5ba63a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs
index 4a007bdc5..4a007bdc5 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs
index 499bffbd9..499bffbd9 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs
index c4cd1c129..c4cd1c129 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs
index b5d2cf947..b5d2cf947 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs
index 88d73528a..88d73528a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs
index de11e2a6a..de11e2a6a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs
index 9c49d19a8..9c49d19a8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs
index a528dbb11..a528dbb11 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs
index 040f081f0..040f081f0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs
index e75179700..e75179700 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs
index 4d857aa2c..4d857aa2c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComRename.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComRename.cs
index 0ac57dd3e..0ac57dd3e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComRename.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComRename.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs
index a1642391c..a1642391c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs
index a3b80a669..a3b80a669 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs
index b3aeaaf7d..b3aeaaf7d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs
index 35f87594d..35f87594d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs
index 67ad04f5f..67ad04f5f 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs
index add660b26..add660b26 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs
index d9eb5b2eb..d9eb5b2eb 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs
index 418a69d1d..418a69d1d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs
index b182fd7ff..b182fd7ff 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs
index c6749b6cb..c6749b6cb 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs
index 785d406c1..785d406c1 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbConstants.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbConstants.cs
index 0793c7541..0793c7541 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbConstants.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbConstants.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbException.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbException.cs
index ea8a0b846..ea8a0b846 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFile.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs
index 151ec35c4..151ec35c4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFile.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs
index 2ebcfa20f..2ebcfa20f 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs
index 196bfc1b6..196bfc1b6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs
index a9a0ea112..a9a0ea112 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs
index 58c704dd7..58c704dd7 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs
index b66dc133a..b66dc133a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs
index f09e16cca..f09e16cca 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs
index 445a0656c..445a0656c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbSession.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbSession.cs
index 6dc5087d0..6dc5087d0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbSession.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbSession.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs
index 811c76794..811c76794 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTransport.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTransport.cs
index 800d6d9bc..800d6d9bc 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTransport.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTransport.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTree.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTree.cs
index 8dc068c4c..8dc068c4c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTree.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbTree.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs
index 2ef874882..2ef874882 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs
index 71f780ff3..71f780ff3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs
index cb860f799..cb860f799 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs
index c83de7973..c83de7973 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs
index 5fa4a795d..5fa4a795d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs
index 27b350e53..27b350e53 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs
index 2253e7b6f..2253e7b6f 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs
index b3db64790..b3db64790 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs
index 50650df62..50650df62 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs
index 289cab866..289cab866 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs
index b21f356b4..b21f356b4 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs
index 404af0aaa..404af0aaa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs
index b86cc7fdb..b86cc7fdb 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs
index 9b80bbe1e..9b80bbe1e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs
index 6bcf2d07e..6bcf2d07e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs
index 1b6ec9cca..1b6ec9cca 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs
index b8d14781c..b8d14781c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs
index a184665aa..a184665aa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs
index a62a82ec7..a62a82ec7 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs
index 46d418582..46d418582 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs
index d3e8d3e1a..d3e8d3e1a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/WinError.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/WinError.cs
index daecc5407..daecc5407 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Smb/WinError.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/WinError.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/UniAddress.cs b/Emby.Server.Implementations/IO/SharpCifs/UniAddress.cs
index 816fbe781..816fbe781 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/UniAddress.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/UniAddress.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Base64.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Base64.cs
index 4770f1354..4770f1354 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Base64.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Base64.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/DES.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/DES.cs
index c23b14cf8..c23b14cf8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/DES.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/DES.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Encdec.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Encdec.cs
index 7e4d57705..7e4d57705 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Encdec.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Encdec.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/HMACT64.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/HMACT64.cs
index 9ab31d61b..9ab31d61b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/HMACT64.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/HMACT64.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Hexdump.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Hexdump.cs
index 7e53f76e3..7e53f76e3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Hexdump.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Hexdump.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/LogStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/LogStream.cs
index 9dd130b50..9dd130b50 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/LogStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/LogStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/MD4.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/MD4.cs
index 99eb6ade6..99eb6ade6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/MD4.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/MD4.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/RC4.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/RC4.cs
index b17e076e7..b17e076e7 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/RC4.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/RC4.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
index 2868a840a..2868a840a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs
index b3a0a85fa..b3a0a85fa 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs
index b3824b0d2..b3824b0d2 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs
index 64a45915a..64a45915a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs
index 76ca2dc95..76ca2dc95 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs
index fa2acf7bd..fa2acf7bd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs
index 4432e62fb..4432e62fb 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs
index 7f464ad36..7f464ad36 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs
index 9a3b7ec4a..9a3b7ec4a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
index f8efdde2a..f8efdde2a 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs
index ec88b2849..ec88b2849 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs
index 1716adef7..1716adef7 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs
index 25c5e06e0..25c5e06e0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs
index bf8029488..bf8029488 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
index 1b2f5eddc..1b2f5eddc 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs
index 7a0c1f90e..7a0c1f90e 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs
index 0675c238b..0675c238b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs
index dfc0ba264..dfc0ba264 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs
index 4863105ed..4863105ed 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs
index c2c53485d..c2c53485d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs
index ace314eee..ace314eee 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs
index d847cb497..d847cb497 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs
index dead24244..dead24244 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs
index 5f76c2ed5..5f76c2ed5 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs
index fe2eb6a3d..fe2eb6a3d 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs
index 5215e4502..5215e4502 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs
index 4a5e92f9b..4a5e92f9b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs
index 7f6ae5533..7f6ae5533 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs
index 2f3f070b5..2f3f070b5 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs
index f9f1983b8..f9f1983b8 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs
index 634c7b404..634c7b404 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs
index 9f4970bdd..9f4970bdd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs
index 50f3fa43b..50f3fa43b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs
index e74a05abf..e74a05abf 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs
index d0bd79aa2..d0bd79aa2 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs
index 5562f9d36..5562f9d36 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs
index 05599cea3..05599cea3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs
index dc3d6ccc3..dc3d6ccc3 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs
index 97f3a2cfd..97f3a2cfd 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs
index 0e6189f0c..0e6189f0c 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs
index 6313b7c79..6313b7c79 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs
index d5004c988..d5004c988 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs
index 4c46f1ec0..4c46f1ec0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs
index c366aa665..c366aa665 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
index 3d886ea87..3d886ea87 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs
index bf3596212..bf3596212 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs
index aa34db9d0..aa34db9d0 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs
index c7fbe9a48..c7fbe9a48 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs
index 74ff16b1b..74ff16b1b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs
index 35334b4f2..35334b4f2 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs
index 4d0651949..4d0651949 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs
index 74c14cff6..74c14cff6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs
index c105a8bab..c105a8bab 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs
index 59f3df469..59f3df469 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs
index 7276c06a2..7276c06a2 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs
index ef19b8bff..ef19b8bff 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs
index ef2993fa6..ef2993fa6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Request.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Request.cs
index 6e0c3fc7b..6e0c3fc7b 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Request.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Request.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Response.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Response.cs
index 702fea918..702fea918 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Response.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Response.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Transport.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Transport.cs
index b02936ca6..b02936ca6 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Transport.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/Transport.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs
index bd0455197..bd0455197 100644
--- a/Emby.Common.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs
diff --git a/Emby.Common.Implementations/IO/SharpCifsFileSystem.cs b/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs
index 64cac7623..1d21796b1 100644
--- a/Emby.Common.Implementations/IO/SharpCifsFileSystem.cs
+++ b/Emby.Server.Implementations/IO/SharpCifsFileSystem.cs
@@ -3,13 +3,10 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
-using System.Threading.Tasks;
-using SharpCifs.Smb;
using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.System;
+using SharpCifs.Smb;
-namespace Emby.Common.Implementations.IO
+namespace Emby.Server.Implementations.IO
{
public class SharpCifsFileSystem
{
diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs
index 019b8162a..211c54cee 100644
--- a/Emby.Server.Implementations/Library/UserManager.cs
+++ b/Emby.Server.Implementations/Library/UserManager.cs
@@ -71,9 +71,8 @@ namespace Emby.Server.Implementations.Library
private readonly IServerApplicationHost _appHost;
private readonly IFileSystem _fileSystem;
private readonly ICryptoProvider _cryptographyProvider;
- private readonly string _defaultUserName;
- public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer, INetworkManager networkManager, Func<IImageProcessor> imageProcessorFactory, Func<IDtoService> dtoServiceFactory, Func<IConnectManager> connectFactory, IServerApplicationHost appHost, IJsonSerializer jsonSerializer, IFileSystem fileSystem, ICryptoProvider cryptographyProvider, string defaultUserName)
+ public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer, INetworkManager networkManager, Func<IImageProcessor> imageProcessorFactory, Func<IDtoService> dtoServiceFactory, Func<IConnectManager> connectFactory, IServerApplicationHost appHost, IJsonSerializer jsonSerializer, IFileSystem fileSystem, ICryptoProvider cryptographyProvider)
{
_logger = logger;
UserRepository = userRepository;
@@ -86,7 +85,6 @@ namespace Emby.Server.Implementations.Library
_jsonSerializer = jsonSerializer;
_fileSystem = fileSystem;
_cryptographyProvider = cryptographyProvider;
- _defaultUserName = defaultUserName;
ConfigurationManager = configurationManager;
Users = new List<User>();
@@ -381,7 +379,7 @@ namespace Emby.Server.Implementations.Library
// There always has to be at least one user.
if (users.Count == 0)
{
- var name = MakeValidUsername(_defaultUserName);
+ var name = MakeValidUsername(Environment.UserName);
var user = InstantiateNewUser(name);
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
index b6ba8b45c..eae29bee7 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
+++ b/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
@@ -68,7 +68,10 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
var id = ChannelIdPrefix + i.GuideNumber;
- id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N");
+ if (!info.EnableNewHdhrChannelIds)
+ {
+ id += '_' + (i.GuideName ?? string.Empty).GetMD5().ToString("N");
+ }
return id;
}
diff --git a/Emby.Server.Implementations/Logging/SimpleLogManager.cs b/Emby.Server.Implementations/Logging/SimpleLogManager.cs
new file mode 100644
index 000000000..5c83766fe
--- /dev/null
+++ b/Emby.Server.Implementations/Logging/SimpleLogManager.cs
@@ -0,0 +1,301 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using MediaBrowser.Model.Logging;
+
+namespace Emby.Server.Implementations.Logging
+{
+ public class SimpleLogManager : ILogManager, IDisposable
+ {
+ public LogSeverity LogSeverity { get; set; }
+ public string ExceptionMessagePrefix { get; set; }
+ private FileLogger _fileLogger;
+
+ private readonly string LogDirectory;
+ private readonly string LogFilePrefix;
+ public string DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";
+
+ public SimpleLogManager(string logDirectory, string logFileNamePrefix)
+ {
+ LogDirectory = logDirectory;
+ LogFilePrefix = logFileNamePrefix;
+ }
+
+ public ILogger GetLogger(string name)
+ {
+ return new NamedLogger(name, this);
+ }
+
+ public void ReloadLogger(LogSeverity severity)
+ {
+ LogSeverity = severity;
+
+ var logger = _fileLogger;
+ if (logger != null)
+ {
+ logger.Dispose();
+ }
+
+ var path = Path.Combine(LogDirectory, LogFilePrefix + "-" + decimal.Floor(DateTime.Now.Ticks / 10000000) + ".txt");
+
+ _fileLogger = new FileLogger(path);
+
+ if (LoggerLoaded != null)
+ {
+ try
+ {
+
+ LoggerLoaded(this, EventArgs.Empty);
+
+ }
+ catch (Exception ex)
+ {
+ GetLogger("Logger").ErrorException("Error in LoggerLoaded event", ex);
+ }
+ }
+ }
+
+ public event EventHandler LoggerLoaded;
+
+ public void Flush()
+ {
+ var logger = _fileLogger;
+ if (logger != null)
+ {
+ logger.Flush();
+ }
+ }
+
+ private bool _console = true;
+ public void AddConsoleOutput()
+ {
+ _console = true;
+ }
+
+ public void RemoveConsoleOutput()
+ {
+ _console = false;
+ }
+
+ public void Log(string message)
+ {
+ if (_console)
+ {
+ Console.WriteLine(message);
+ }
+
+ var logger = _fileLogger;
+ if (logger != null)
+ {
+ message = DateTime.Now.ToString(DateTimeFormat) + " " + message;
+
+ logger.Log(message);
+ }
+ }
+
+ public void Dispose()
+ {
+ var logger = _fileLogger;
+ if (logger != null)
+ {
+ logger.Dispose();
+ }
+
+ _fileLogger = null;
+ }
+ }
+
+ public class FileLogger : IDisposable
+ {
+ private readonly Stream _fileStream;
+
+ private bool _disposed;
+ private readonly CancellationTokenSource _cancellationTokenSource;
+ private readonly BlockingCollection<string> _queue = new BlockingCollection<string>();
+
+ public FileLogger(string path)
+ {
+ Directory.CreateDirectory(Path.GetDirectoryName(path));
+
+ _fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read);
+ _cancellationTokenSource = new CancellationTokenSource();
+
+ Task.Factory.StartNew(LogInternal, _cancellationTokenSource.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
+ }
+
+ private void LogInternal()
+ {
+ while (!_cancellationTokenSource.IsCancellationRequested)
+ {
+ try
+ {
+ var any = false;
+
+ foreach (var message in _queue.GetConsumingEnumerable())
+ {
+ var bytes = Encoding.UTF8.GetBytes(message + Environment.NewLine);
+ _fileStream.Write(bytes, 0, bytes.Length);
+
+ any = true;
+ }
+
+ if (any)
+ {
+ _fileStream.Flush();
+ }
+ }
+ catch
+ {
+
+ }
+ }
+ }
+
+ public void Log(string message)
+ {
+ if (_disposed)
+ {
+ return;
+ }
+
+ _queue.Add(message);
+ }
+
+ public void Flush()
+ {
+ if (_disposed)
+ {
+ return;
+ }
+
+ _fileStream.Flush();
+ }
+
+ public void Dispose()
+ {
+ _cancellationTokenSource.Cancel();
+
+ _disposed = true;
+
+ _fileStream.Flush();
+ _fileStream.Dispose();
+ }
+ }
+
+ public class NamedLogger : ILogger
+ {
+ public string Name { get; private set; }
+ private readonly SimpleLogManager _logManager;
+
+ public NamedLogger(string name, SimpleLogManager logManager)
+ {
+ Name = name;
+ _logManager = logManager;
+ }
+
+ public void Info(string message, params object[] paramList)
+ {
+ Log(LogSeverity.Info, message, paramList);
+ }
+
+ public void Error(string message, params object[] paramList)
+ {
+ Log(LogSeverity.Error, message, paramList);
+ }
+
+ public void Warn(string message, params object[] paramList)
+ {
+ Log(LogSeverity.Warn, message, paramList);
+ }
+
+ public void Debug(string message, params object[] paramList)
+ {
+ if (_logManager.LogSeverity == LogSeverity.Info)
+ {
+ return;
+ }
+ Log(LogSeverity.Debug, message, paramList);
+ }
+
+ public void Fatal(string message, params object[] paramList)
+ {
+ Log(LogSeverity.Fatal, message, paramList);
+ }
+
+ public void FatalException(string message, Exception exception, params object[] paramList)
+ {
+ ErrorException(message, exception, paramList);
+ }
+
+ public void ErrorException(string message, Exception exception, params object[] paramList)
+ {
+ LogException(LogSeverity.Error, message, exception, paramList);
+ }
+
+ private void LogException(LogSeverity level, string message, Exception exception, params object[] paramList)
+ {
+ message = FormatMessage(message, paramList).Replace(Environment.NewLine, ". ");
+
+ var messageText = LogHelper.GetLogMessage(exception);
+
+ var prefix = _logManager.ExceptionMessagePrefix;
+
+ if (!string.IsNullOrWhiteSpace(prefix))
+ {
+ messageText.Insert(0, prefix);
+ }
+
+ LogMultiline(message, level, messageText);
+ }
+
+ private static string FormatMessage(string message, params object[] paramList)
+ {
+ if (paramList != null)
+ {
+ for (var i = 0; i < paramList.Length; i++)
+ {
+ var obj = paramList[i];
+
+ message = message.Replace("{" + i + "}", (obj == null ? "null" : obj.ToString()));
+ }
+ }
+
+ return message;
+ }
+
+ public void LogMultiline(string message, LogSeverity severity, StringBuilder additionalContent)
+ {
+ if (severity == LogSeverity.Debug && _logManager.LogSeverity == LogSeverity.Info)
+ {
+ return;
+ }
+
+ additionalContent.Insert(0, message + Environment.NewLine);
+
+ const char tabChar = '\t';
+
+ var text = additionalContent.ToString()
+ .Replace(Environment.NewLine, Environment.NewLine + tabChar)
+ .TrimEnd(tabChar);
+
+ if (text.EndsWith(Environment.NewLine))
+ {
+ text = text.Substring(0, text.LastIndexOf(Environment.NewLine, StringComparison.OrdinalIgnoreCase));
+ }
+
+ Log(severity, text);
+ }
+
+ public void Log(LogSeverity severity, string message, params object[] paramList)
+ {
+ message = severity + " " + Name + ": " + FormatMessage(message, paramList);
+
+ _logManager.Log(message);
+ }
+ }
+}
diff --git a/Emby.Common.Implementations/Net/DisposableManagedObjectBase.cs b/Emby.Server.Implementations/Net/DisposableManagedObjectBase.cs
index 8476cea32..b18335da7 100644
--- a/Emby.Common.Implementations/Net/DisposableManagedObjectBase.cs
+++ b/Emby.Server.Implementations/Net/DisposableManagedObjectBase.cs
@@ -1,9 +1,6 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-namespace Emby.Common.Implementations.Net
+namespace Emby.Server.Implementations.Net
{
/// <summary>
/// Correclty implements the <see cref="IDisposable"/> interface and pattern for an object containing only managed resources, and adds a few common niceities not on the interface such as an <see cref="IsDisposed"/> property.
diff --git a/Emby.Common.Implementations/Net/NetAcceptSocket.cs b/Emby.Server.Implementations/Net/NetAcceptSocket.cs
index 5e831ac7a..936a66c0b 100644
--- a/Emby.Common.Implementations/Net/NetAcceptSocket.cs
+++ b/Emby.Server.Implementations/Net/NetAcceptSocket.cs
@@ -3,11 +3,11 @@ using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Common.Implementations.Networking;
-using MediaBrowser.Model.Net;
+using Emby.Server.Implementations.Networking;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.Net
+namespace Emby.Server.Implementations.Net
{
public class NetAcceptSocket : IAcceptSocket
{
diff --git a/Emby.Common.Implementations/Net/SocketAcceptor.cs b/Emby.Server.Implementations/Net/SocketAcceptor.cs
index 11a8e5381..288ba93ad 100644
--- a/Emby.Common.Implementations/Net/SocketAcceptor.cs
+++ b/Emby.Server.Implementations/Net/SocketAcceptor.cs
@@ -3,7 +3,7 @@ using System.Net.Sockets;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.Net
+namespace Emby.Server.Implementations.Net
{
public class SocketAcceptor
{
diff --git a/Emby.Common.Implementations/Net/SocketFactory.cs b/Emby.Server.Implementations/Net/SocketFactory.cs
index 0a1232a40..f78fbdfd7 100644
--- a/Emby.Common.Implementations/Net/SocketFactory.cs
+++ b/Emby.Server.Implementations/Net/SocketFactory.cs
@@ -1,15 +1,12 @@
using System;
-using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Net;
using System.Net.Sockets;
-using System.Threading.Tasks;
-using Emby.Common.Implementations.Networking;
+using Emby.Server.Implementations.Networking;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.Net
+namespace Emby.Server.Implementations.Net
{
public class SocketFactory : ISocketFactory
{
@@ -72,8 +69,8 @@ namespace Emby.Common.Implementations.Net
if (remotePort < 0) throw new ArgumentException("remotePort cannot be less than zero.", "remotePort");
var addressFamily = remoteAddress.AddressFamily == IpAddressFamily.InterNetwork
- ? AddressFamily.InterNetwork
- : AddressFamily.InterNetworkV6;
+ ? AddressFamily.InterNetwork
+ : AddressFamily.InterNetworkV6;
var retVal = new Socket(addressFamily, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp);
@@ -85,7 +82,7 @@ namespace Emby.Common.Implementations.Net
{
// This is not supported on all operating systems (qnap)
}
-
+
try
{
return new UdpSocket(retVal, new IpEndPointInfo(remoteAddress, remotePort));
@@ -142,11 +139,11 @@ namespace Emby.Common.Implementations.Net
throw;
}
}
-
+
/// <summary>
- /// Creates a new UDP acceptSocket that is a member of the SSDP multicast local admin group and binds it to the specified local port.
- /// </summary>
- /// <returns>An implementation of the <see cref="ISocket"/> interface used by RSSDP components to perform acceptSocket operations.</returns>
+ /// Creates a new UDP acceptSocket that is a member of the SSDP multicast local admin group and binds it to the specified local port.
+ /// </summary>
+ /// <returns>An implementation of the <see cref="ISocket"/> interface used by RSSDP components to perform acceptSocket operations.</returns>
public ISocket CreateSsdpUdpSocket(IpAddressInfo localIpAddress, int localPort)
{
if (localPort < 0) throw new ArgumentException("localPort cannot be less than zero.", "localPort");
@@ -189,7 +186,16 @@ namespace Emby.Common.Implementations.Net
try
{
+ // not supported on all platforms. throws on ubuntu with .net core 2.0
retVal.ExclusiveAddressUse = false;
+ }
+ catch (SocketException)
+ {
+
+ }
+
+ try
+ {
//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.Server.Implementations/Net/UdpSocket.cs
index 542d16d24..58e4d6f89 100644
--- a/Emby.Common.Implementations/Net/UdpSocket.cs
+++ b/Emby.Server.Implementations/Net/UdpSocket.cs
@@ -1,15 +1,12 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Net;
using System.Net.Sockets;
-using System.Security;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Common.Implementations.Networking;
+using Emby.Server.Implementations.Networking;
using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.Net
+namespace Emby.Server.Implementations.Net
{
// THIS IS A LINKED FILE - SHARED AMONGST MULTIPLE PLATFORMS
// Be careful to check any changes compile and work for all platform projects it is shared in.
diff --git a/Emby.Common.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs
index 354107bb7..b47c058df 100644
--- a/Emby.Common.Implementations/Networking/NetworkManager.cs
+++ b/Emby.Server.Implementations/Networking/NetworkManager.cs
@@ -1,5 +1,4 @@
-using MediaBrowser.Model.Logging;
-using System;
+using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
@@ -7,12 +6,13 @@ using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
using System.Threading.Tasks;
+using MediaBrowser.Common.Net;
using MediaBrowser.Model.Extensions;
-using MediaBrowser.Model.Net;
using MediaBrowser.Model.IO;
-using MediaBrowser.Common.Net;
+using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Net;
-namespace Emby.Common.Implementations.Networking
+namespace Emby.Server.Implementations.Networking
{
public class NetworkManager : INetworkManager
{
diff --git a/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs b/Emby.Server.Implementations/Playlists/ManualPlaylistsFolder.cs
index 236dbde9c..2a178895c 100644
--- a/MediaBrowser.Server.Implementations/Playlists/ManualPlaylistsFolder.cs
+++ b/Emby.Server.Implementations/Playlists/ManualPlaylistsFolder.cs
@@ -1,15 +1,11 @@
using System.Collections.Generic;
-using System.IO;
using System.Linq;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Playlists;
-using MediaBrowser.Model.IO;
using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Serialization;
-namespace MediaBrowser.Server.Implementations.Playlists
+namespace Emby.Server.Implementations.Playlists
{
public class PlaylistsFolder : BasePluginFolder
{
diff --git a/Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs b/Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs
index dacc937e1..2ce835576 100644
--- a/Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs
+++ b/Emby.Server.Implementations/Playlists/PlaylistsDynamicFolder.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.IO;
-using MediaBrowser.Server.Implementations.Playlists;
namespace Emby.Server.Implementations.Playlists
{
diff --git a/Emby.Common.Implementations/Reflection/AssemblyInfo.cs b/Emby.Server.Implementations/Reflection/AssemblyInfo.cs
index 87821bf7a..c3ce97d40 100644
--- a/Emby.Common.Implementations/Reflection/AssemblyInfo.cs
+++ b/Emby.Server.Implementations/Reflection/AssemblyInfo.cs
@@ -1,9 +1,9 @@
using System;
using System.IO;
-using MediaBrowser.Model.Reflection;
using System.Reflection;
+using MediaBrowser.Model.Reflection;
-namespace Emby.Common.Implementations.Reflection
+namespace Emby.Server.Implementations.Reflection
{
public class AssemblyInfo : IAssemblyInfo
{
diff --git a/Emby.Common.Implementations/ScheduledTasks/DailyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
index 5735f8026..1ba5d4329 100644
--- a/Emby.Common.Implementations/ScheduledTasks/DailyTrigger.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs
@@ -5,7 +5,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Represents a task trigger that fires everyday
diff --git a/Emby.Common.Implementations/ScheduledTasks/IntervalTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs
index 4d2769d8f..d09765e34 100644
--- a/Emby.Common.Implementations/ScheduledTasks/IntervalTrigger.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs
@@ -5,7 +5,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Represents a task trigger that runs repeatedly on an interval
diff --git a/Emby.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
index dd840677a..d7d048110 100644
--- a/Emby.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
@@ -9,14 +9,14 @@ using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Progress;
using MediaBrowser.Model.Events;
+using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks;
-using MediaBrowser.Model.Extensions;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class ScheduledTaskWorker
diff --git a/Emby.Common.Implementations/ScheduledTasks/StartupTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs
index 8aae644bc..d708c905d 100644
--- a/Emby.Common.Implementations/ScheduledTasks/StartupTrigger.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs
@@ -4,7 +4,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class StartupTaskTrigger
diff --git a/Emby.Common.Implementations/ScheduledTasks/SystemEventTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs
index a136a975a..976754a40 100644
--- a/Emby.Common.Implementations/ScheduledTasks/SystemEventTrigger.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs
@@ -5,7 +5,7 @@ using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class SystemEventTrigger
diff --git a/Emby.Common.Implementations/ScheduledTasks/TaskManager.cs b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs
index b0153c588..5f9bf3731 100644
--- a/Emby.Common.Implementations/ScheduledTasks/TaskManager.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs
@@ -1,18 +1,18 @@
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Events;
-using MediaBrowser.Model.Events;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.Model.Serialization;
-using MediaBrowser.Model.Tasks;
-using System;
+using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Events;
+using MediaBrowser.Model.Events;
using MediaBrowser.Model.IO;
+using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.System;
+using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class TaskManager
diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs
index 1cad2e9b8..701358fd4 100644
--- a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs
@@ -9,7 +9,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks.Tasks
+namespace Emby.Server.Implementations.ScheduledTasks.Tasks
{
/// <summary>
/// Deletes old cache files
diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
index 3f43fa889..f98b09659 100644
--- a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks.Tasks
+namespace Emby.Server.Implementations.ScheduledTasks.Tasks
{
/// <summary>
/// Deletes old log files
diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs
index 80411de05..032fa05a0 100644
--- a/Emby.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs
@@ -6,7 +6,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks.Tasks
+namespace Emby.Server.Implementations.ScheduledTasks.Tasks
{
/// <summary>
/// Class ReloadLoggerFileTask
diff --git a/Emby.Common.Implementations/ScheduledTasks/WeeklyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs
index 91540ba16..1a944ebf2 100644
--- a/Emby.Common.Implementations/ScheduledTasks/WeeklyTrigger.cs
+++ b/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs
@@ -4,7 +4,7 @@ using MediaBrowser.Model.Events;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Tasks;
-namespace Emby.Common.Implementations.ScheduledTasks
+namespace Emby.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Represents a task trigger that fires on a weekly basis
diff --git a/Emby.Common.Implementations/Serialization/JsonSerializer.cs b/Emby.Server.Implementations/Serialization/JsonSerializer.cs
index c9db33689..c9db33689 100644
--- a/Emby.Common.Implementations/Serialization/JsonSerializer.cs
+++ b/Emby.Server.Implementations/Serialization/JsonSerializer.cs
diff --git a/Emby.Common.Implementations/Serialization/XmlSerializer.cs b/Emby.Server.Implementations/Serialization/XmlSerializer.cs
index b5896e6b0..e0603a01f 100644
--- a/Emby.Common.Implementations/Serialization/XmlSerializer.cs
+++ b/Emby.Server.Implementations/Serialization/XmlSerializer.cs
@@ -1,14 +1,13 @@
-using MediaBrowser.Model.Serialization;
-using System;
-using System.Collections.Concurrent;
+using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.Serialization;
-namespace Emby.Common.Implementations.Serialization
+namespace Emby.Server.Implementations.Serialization
{
/// <summary>
/// Provides a wrapper around third party xml serialization.
diff --git a/Emby.Server.Implementations/ServerApplicationPaths.cs b/Emby.Server.Implementations/ServerApplicationPaths.cs
index b4b2bb139..675b0d78c 100644
--- a/Emby.Server.Implementations/ServerApplicationPaths.cs
+++ b/Emby.Server.Implementations/ServerApplicationPaths.cs
@@ -13,8 +13,8 @@ namespace Emby.Server.Implementations
/// <summary>
/// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class.
/// </summary>
- public ServerApplicationPaths(string programDataPath, string appFolderPath, string applicationResourcesPath, Action<string> createDirectoryFn)
- : base(programDataPath, appFolderPath, createDirectoryFn)
+ public ServerApplicationPaths(string programDataPath, string appFolderPath, string applicationResourcesPath)
+ : base(programDataPath, appFolderPath)
{
ApplicationResourcesPath = applicationResourcesPath;
}
diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index 9a1a229c5..dc7e83992 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -1670,7 +1670,6 @@ namespace Emby.Server.Implementations.Session
dtoOptions.Fields.Remove(ItemFields.DateLastMediaAdded);
dtoOptions.Fields.Remove(ItemFields.DateLastRefreshed);
dtoOptions.Fields.Remove(ItemFields.DateLastSaved);
- dtoOptions.Fields.Remove(ItemFields.DisplayMediaType);
dtoOptions.Fields.Remove(ItemFields.DisplayPreferencesId);
dtoOptions.Fields.Remove(ItemFields.Etag);
dtoOptions.Fields.Remove(ItemFields.ExternalEtag);
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Detector.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Detector.cs
index 507dd5e42..507dd5e42 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Detector.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Detector.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
index 9d75b8356..9d75b8356 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/ErrorCode.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/ErrorCode.cs
index 3ffd3b2d9..3ffd3b2d9 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/ErrorCode.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/ErrorCode.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs
index 59076bd66..59076bd66 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs
index d55ca80df..d55ca80df 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs
index fc6c58a95..fc6c58a95 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs
index 71b5de75e..71b5de75e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/GenProfile.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/GenProfile.cs
index 5895f68ae..5895f68ae 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/GenProfile.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/GenProfile.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/InternalException.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/InternalException.cs
index 32e50a219..32e50a219 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/InternalException.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/InternalException.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Language.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Language.cs
index f4b4b153e..f4b4b153e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Language.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Language.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs
index fc7d420a9..fc7d420a9 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs
index e0d066020..e0d066020 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/ProbVector.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/ProbVector.cs
index c5a20dbf0..c5a20dbf0 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/ProbVector.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/ProbVector.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/afr b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/afr
index be8b1722a..be8b1722a 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/afr
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/afr
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ara b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ara
index a7b40cca0..a7b40cca0 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ara
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ara
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ben b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ben
index 69083369c..69083369c 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ben
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ben
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/bul b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/bul
index 201663afc..201663afc 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/bul
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/bul
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ces b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ces
index e46e24f29..e46e24f29 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ces
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ces
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/dan b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/dan
index 23e865876..23e865876 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/dan
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/dan
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/deu b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/deu
index 94ebdbbdc..94ebdbbdc 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/deu
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/deu
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ell b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ell
index 9ef014bcb..9ef014bcb 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ell
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ell
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/eng b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/eng
index 4807e957e..4807e957e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/eng
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/eng
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/est b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/est
index 2bdb2a607..2bdb2a607 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/est
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/est
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fas b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fas
index 87dddc1b1..87dddc1b1 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fas
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fas
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fin b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fin
index fdb41748e..fdb41748e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fin
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fin
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fra b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fra
index 1d6d3baa0..1d6d3baa0 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fra
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/fra
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/guj b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/guj
index 5ab783f82..5ab783f82 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/guj
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/guj
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/heb b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/heb
index 38a8c9d47..38a8c9d47 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/heb
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/heb
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hin b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hin
index 104ed583e..104ed583e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hin
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hin
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hrv b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hrv
index 116cfa0d0..116cfa0d0 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hrv
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hrv
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hun b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hun
index 77ab7c4c8..77ab7c4c8 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hun
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/hun
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ind b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ind
index 578fd6c45..578fd6c45 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ind
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ind
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ita b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ita
index 4ba4b4009..4ba4b4009 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ita
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ita
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/jpn b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/jpn
index 5a76401a1..5a76401a1 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/jpn
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/jpn
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kan b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kan
index 7a599ba75..7a599ba75 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kan
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kan
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kor b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kor
index 1f30ef966..1f30ef966 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kor
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/kor
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lav b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lav
index ce5ff7ed1..ce5ff7ed1 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lav
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lav
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lit b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lit
index 3f3e0526e..3f3e0526e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lit
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/lit
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mal b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mal
index 422334423..422334423 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mal
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mal
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mar b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mar
index 19a194292..19a194292 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mar
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mar
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mkd b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mkd
index a0c736aa6..a0c736aa6 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mkd
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/mkd
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nep b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nep
index 22477481b..22477481b 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nep
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nep
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nld b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nld
index c74f0d267..c74f0d267 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nld
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nld
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nor b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nor
index 7dc51ea94..7dc51ea94 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nor
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/nor
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pan b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pan
index 1140be0bf..1140be0bf 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pan
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pan
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pol b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pol
index 139647c01..139647c01 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pol
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/pol
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/por b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/por
index bbdf3ed0e..bbdf3ed0e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/por
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/por
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ron b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ron
index a5c7b8d49..a5c7b8d49 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ron
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ron
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/rus b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/rus
index 228e71e1b..228e71e1b 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/rus
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/rus
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slk b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slk
index 97f988076..97f988076 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slk
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slk
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slv b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slv
index cb9617131..cb9617131 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slv
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/slv
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/som b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/som
index 9d0c19cf6..9d0c19cf6 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/som
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/som
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/spa b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/spa
index cdc195676..cdc195676 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/spa
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/spa
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/sqi b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/sqi
index fe3fc7a2f..fe3fc7a2f 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/sqi
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/sqi
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swa b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swa
index e745ecba7..e745ecba7 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swa
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swa
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swe b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swe
index a648588e8..a648588e8 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swe
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/swe
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tam b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tam
index facb43d2d..facb43d2d 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tam
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tam
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tel b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tel
index 2a2370453..2a2370453 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tel
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tel
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tgl b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tgl
index d68c2b3df..d68c2b3df 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tgl
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tgl
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tha b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tha
index 2852f4340..2852f4340 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tha
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tha
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tur b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tur
index ed84e9ba3..ed84e9ba3 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tur
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/tur
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ukr b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ukr
index e80f2034b..e80f2034b 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ukr
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/ukr
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/urd b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/urd
index 0c11cc7f6..0c11cc7f6 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/urd
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/urd
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/vie b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/vie
index 10c3d892e..10c3d892e 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/vie
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/vie
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn
index 904c61e39..904c61e39 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw
index 674b28d12..674b28d12 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs
index 0413edfad..0413edfad 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs
index 1d605cc47..1d605cc47 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs
index b1738f7ca..b1738f7ca 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs
index 896fd0960..896fd0960 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs
diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/messages.properties b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/messages.properties
index 7967efff0..7967efff0 100644
--- a/Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/messages.properties
+++ b/Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/messages.properties
diff --git a/Emby.Common.Implementations/TextEncoding/TextEncoding.cs b/Emby.Server.Implementations/TextEncoding/TextEncoding.cs
index 54c47d62c..1496d6f0f 100644
--- a/Emby.Common.Implementations/TextEncoding/TextEncoding.cs
+++ b/Emby.Server.Implementations/TextEncoding/TextEncoding.cs
@@ -1,17 +1,13 @@
using System;
using System.Text;
using MediaBrowser.Model.IO;
-using MediaBrowser.Model.Text;
-using System.IO;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Logging;
-using UniversalDetector;
-using NLangDetect.Core;
using MediaBrowser.Model.Serialization;
+using MediaBrowser.Model.Text;
+using NLangDetect.Core;
+using UniversalDetector;
-namespace Emby.Common.Implementations.TextEncoding
+namespace Emby.Server.Implementations.TextEncoding
{
public class TextEncoding : ITextEncoding
{
diff --git a/Emby.Common.Implementations/TextEncoding/TextEncodingDetect.cs b/Emby.Server.Implementations/TextEncoding/TextEncodingDetect.cs
index 1018dd24c..a0395a21b 100644
--- a/Emby.Common.Implementations/TextEncoding/TextEncodingDetect.cs
+++ b/Emby.Server.Implementations/TextEncoding/TextEncodingDetect.cs
@@ -1,9 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-
-namespace Emby.Common.Implementations.TextEncoding
+namespace Emby.Server.Implementations.TextEncoding
{
// Copyright 2015-2016 Jonathan Bennett <jon@autoitscript.com>
//
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs
index 942fda8d1..942fda8d1 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs
index 760fca9bd..760fca9bd 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs
index 16483e661..16483e661 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs
index 8b5bc37d3..8b5bc37d3 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs
index 3369dd430..3369dd430 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs
index a7c1be92a..a7c1be92a 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs
index f837dd966..f837dd966 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs
index 050a9d9ce..050a9d9ce 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs
index 67d4b0a72..67d4b0a72 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs
index a4e0b486e..a4e0b486e 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs
index e9cefa9bc..e9cefa9bc 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs
index 61ac5545f..61ac5545f 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs
index ac237c5cd..ac237c5cd 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs
index 92974d3a8..92974d3a8 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs
index 93b9d7580..93b9d7580 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs
index 4b6729ed3..4b6729ed3 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs
index 5e55a4839..5e55a4839 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs
index 563ba52c2..563ba52c2 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs
index 030fcc598..030fcc598 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs
index d7eee2251..d7eee2251 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs
index bdda20f14..bdda20f14 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs
index c79a10aa7..c79a10aa7 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs
index abf49aacd..abf49aacd 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs
index 7aa8581bc..7aa8581bc 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs
index d8f496474..d8f496474 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs
index 5a3496075..5a3496075 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs
index 515cd2498..515cd2498 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs
index 2321ecad2..2321ecad2 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs
index 9048796b5..9048796b5 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs
index 084797c5e..084797c5e 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs
index 0c9a4ee60..0c9a4ee60 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs
index 6dfa55f6c..6dfa55f6c 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs
diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs
index c0c35a59e..c0c35a59e 100644
--- a/Emby.Common.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs
+++ b/Emby.Server.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs
diff --git a/Emby.Common.Implementations/Threading/CommonTimer.cs b/Emby.Server.Implementations/Threading/CommonTimer.cs
index 8895f6798..9451b07f3 100644
--- a/Emby.Common.Implementations/Threading/CommonTimer.cs
+++ b/Emby.Server.Implementations/Threading/CommonTimer.cs
@@ -1,11 +1,8 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Threading;
-using System.Threading.Tasks;
using MediaBrowser.Model.Threading;
-namespace Emby.Common.Implementations.Threading
+namespace Emby.Server.Implementations.Threading
{
public class CommonTimer : ITimer
{
diff --git a/Emby.Common.Implementations/Threading/TimerFactory.cs b/Emby.Server.Implementations/Threading/TimerFactory.cs
index 028dd0963..4ab6f6fc4 100644
--- a/Emby.Common.Implementations/Threading/TimerFactory.cs
+++ b/Emby.Server.Implementations/Threading/TimerFactory.cs
@@ -1,10 +1,7 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using MediaBrowser.Model.Threading;
-namespace Emby.Common.Implementations.Threading
+namespace Emby.Server.Implementations.Threading
{
public class TimerFactory : ITimerFactory
{
diff --git a/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs b/Emby.Server.Implementations/Xml/XmlReaderSettingsFactory.cs
index 35c266cdb..0f4e8af3c 100644
--- a/Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs
+++ b/Emby.Server.Implementations/Xml/XmlReaderSettingsFactory.cs
@@ -1,7 +1,7 @@
using System.Xml;
using MediaBrowser.Model.Xml;
-namespace Emby.Common.Implementations.Xml
+namespace Emby.Server.Implementations.Xml
{
public class XmlReaderSettingsFactory : IXmlReaderSettingsFactory
{
diff --git a/Emby.Server.Implementations/packages.config b/Emby.Server.Implementations/packages.config
index 3675e1950..8d4d24995 100644
--- a/Emby.Server.Implementations/packages.config
+++ b/Emby.Server.Implementations/packages.config
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Emby.XmlTv" version="1.0.9" targetFramework="net46" />
- <package id="MediaBrowser.Naming" version="1.0.5" targetFramework="portable45-net45+win8" />
- <package id="Microsoft.IO.RecyclableMemoryStream" version="1.2.2" targetFramework="net46" />
+ <package id="Emby.XmlTv" version="1.0.10" targetFramework="net46" />
+ <package id="MediaBrowser.Naming" version="1.0.6" targetFramework="net46" />
<package id="ServiceStack.Text" version="4.5.8" targetFramework="net46" />
+ <package id="SharpCompress" version="0.14.0" targetFramework="net46" />
<package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
<package id="SQLitePCL.pretty" version="1.1.0" targetFramework="portable45-net45+win8" />
<package id="SQLitePCLRaw.core" version="1.1.8" targetFramework="net46" />
diff --git a/MediaBrowser.Api/LiveTv/LiveTvService.cs b/MediaBrowser.Api/LiveTv/LiveTvService.cs
index 09d4cdfa9..e2961f630 100644
--- a/MediaBrowser.Api/LiveTv/LiveTvService.cs
+++ b/MediaBrowser.Api/LiveTv/LiveTvService.cs
@@ -852,6 +852,8 @@ namespace MediaBrowser.Api.LiveTv
public async Task<object> Post(AddTunerHost request)
{
+ request.EnableNewHdhrChannelIds = true;
+
var result = await _liveTvManager.SaveTunerHost(request).ConfigureAwait(false);
return ToOptimizedResult(result);
}
diff --git a/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs b/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs
index 20466c5f6..9ce109fc4 100644
--- a/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs
+++ b/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs
@@ -80,7 +80,7 @@ namespace MediaBrowser.Api.LiveTv
var eofCount = 0;
// use non-async filestream along with read due to https://github.com/dotnet/corefx/issues/6039
- var allowAsyncFileRead = _environment.OperatingSystem != OperatingSystem.Windows;
+ var allowAsyncFileRead = _environment.OperatingSystem != MediaBrowser.Model.System.OperatingSystem.Windows;
using (var inputStream = GetInputStream(allowAsyncFileRead))
{
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 8cc90db7d..a6418418e 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1246,6 +1246,7 @@ namespace MediaBrowser.Controller.Entities
/// Gets or sets the provider ids.
/// </summary>
/// <value>The provider ids.</value>
+ [IgnoreDataMember]
public Dictionary<string, string> ProviderIds { get; set; }
[IgnoreDataMember]
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index fbeefbbd9..3b166db92 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -53,12 +53,6 @@ namespace MediaBrowser.Controller.Entities
}
}
- /// <summary>
- /// Gets or sets the display type of the media.
- /// </summary>
- /// <value>The display type of the media.</value>
- public string DisplayMediaType { get; set; }
-
[IgnoreDataMember]
public override bool SupportsPositionTicksResume
{
diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs b/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs
index 27ff334ee..43fc307f4 100644
--- a/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs
+++ b/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs
@@ -18,8 +18,6 @@ namespace MediaBrowser.Controller.LiveTv
string Container { get; }
- long? RunTimeTicks { get; set; }
-
string GetClientTypeName();
bool IsParentalAllowed(User user);
@@ -36,8 +34,6 @@ namespace MediaBrowser.Controller.LiveTv
string TimerId { get; set; }
RecordingStatus Status { get; set; }
DateTime? EndDate { get; set; }
- DateTime DateLastSaved { get; set; }
DateTime DateCreated { get; set; }
- DateTime DateModified { get; set; }
}
}
diff --git a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
index 25185b4dd..a1df35b12 100644
--- a/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
+++ b/MediaBrowser.Model/LiveTv/LiveTvOptions.cs
@@ -47,6 +47,7 @@ namespace MediaBrowser.Model.LiveTv
public bool ImportFavoritesOnly { get; set; }
public bool AllowHWTranscoding { get; set; }
public bool EnableStreamLooping { get; set; }
+ public bool EnableNewHdhrChannelIds { get; set; }
public TunerHostInfo()
{
diff --git a/MediaBrowser.Model/Logging/ILogManager.cs b/MediaBrowser.Model/Logging/ILogManager.cs
index 59bb86756..218f13eb4 100644
--- a/MediaBrowser.Model/Logging/ILogManager.cs
+++ b/MediaBrowser.Model/Logging/ILogManager.cs
@@ -32,12 +32,6 @@ namespace MediaBrowser.Model.Logging
void ReloadLogger(LogSeverity severity);
/// <summary>
- /// Gets the log file path.
- /// </summary>
- /// <value>The log file path.</value>
- string LogFilePath { get; }
-
- /// <summary>
/// Occurs when [logger loaded].
/// </summary>
event EventHandler LoggerLoaded;
diff --git a/MediaBrowser.Model/Querying/ItemFields.cs b/MediaBrowser.Model/Querying/ItemFields.cs
index 6cc6ba329..f9829c329 100644
--- a/MediaBrowser.Model/Querying/ItemFields.cs
+++ b/MediaBrowser.Model/Querying/ItemFields.cs
@@ -63,11 +63,6 @@
DisplayPreferencesId,
/// <summary>
- /// The display media type
- /// </summary>
- DisplayMediaType,
-
- /// <summary>
/// The etag
/// </summary>
Etag,
diff --git a/MediaBrowser.Model/Session/PlaybackProgressInfo.cs b/MediaBrowser.Model/Session/PlaybackProgressInfo.cs
index 5f81f7269..0319f6711 100644
--- a/MediaBrowser.Model/Session/PlaybackProgressInfo.cs
+++ b/MediaBrowser.Model/Session/PlaybackProgressInfo.cs
@@ -67,7 +67,7 @@ namespace MediaBrowser.Model.Session
/// <value>The position ticks.</value>
public long? PositionTicks { get; set; }
- public long? playbackStartTimeTicks { get; set; }
+ public long? PlaybackStartTimeTicks { get; set; }
/// <summary>
/// Gets or sets the volume level.
diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs
index af91f5e02..41612321b 100644
--- a/MediaBrowser.Providers/Manager/ProviderUtils.cs
+++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs
@@ -202,23 +202,6 @@ namespace MediaBrowser.Providers.Manager
}
}
- //if (!lockedFields.Contains(MetadataFields.DisplayMediaType))
- {
- var targetVideo = target as Video;
- var sourceVideo = source as Video;
- if (sourceVideo != null && targetVideo != null)
- {
- if (replaceData || string.IsNullOrEmpty(targetVideo.DisplayMediaType))
- {
- // Safeguard against incoming data having an emtpy name
- if (!string.IsNullOrWhiteSpace(sourceVideo.DisplayMediaType))
- {
- targetVideo.DisplayMediaType = sourceVideo.DisplayMediaType;
- }
- }
- }
- }
-
if (mergeMetadataSettings)
{
MergeMetadataSettings(source, target);
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
deleted file mode 100644
index 31c400915..000000000
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.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>{2E781478-814D-4A48-9D80-BFF206441A65}</ProjectGuid>
- <OutputType>Library</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>MediaBrowser.Server.Implementations</RootNamespace>
- <AssemblyName>MediaBrowser.Server.Implementations</AssemblyName>
- <FileAlignment>512</FileAlignment>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <TargetFrameworkProfile>Profile7</TargetFrameworkProfile>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- </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>none</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- </PropertyGroup>
- <ItemGroup>
- <Compile Include="..\SharedVersion.cs">
- <Link>Properties\SharedVersion.cs</Link>
- </Compile>
- <Compile Include="Devices\CameraUploadsFolder.cs" />
- <Compile Include="Playlists\ManualPlaylistsFolder.cs" />
- <Compile Include="Properties\AssemblyInfo.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.Controller\MediaBrowser.Controller.csproj">
- <Project>{17E1F4E6-8ABD-4FE5-9ECF-43D4B6087BA2}</Project>
- <Name>MediaBrowser.Controller</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="app.config" />
- </ItemGroup>
- <ItemGroup />
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.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/MediaBrowser.Server.Implementations/Properties/AssemblyInfo.cs b/MediaBrowser.Server.Implementations/Properties/AssemblyInfo.cs
deleted file mode 100644
index db656b934..000000000
--- a/MediaBrowser.Server.Implementations/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// 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("MediaBrowser.Server.Implementations")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("MediaBrowser.Server.Implementations")]
-[assembly: AssemblyCopyright("Copyright © 2013")]
-[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
-// 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("0537cdd3-a069-4d86-9318-d46d8b119903")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
diff --git a/MediaBrowser.Server.Implementations/app.config b/MediaBrowser.Server.Implementations/app.config
deleted file mode 100644
index 9d8c1ac93..000000000
--- a/MediaBrowser.Server.Implementations/app.config
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <runtime>
- <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
- <dependentAssembly>
- <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral"/>
- <bindingRedirect oldVersion="0.0.0.0-1.0.94.0" newVersion="1.0.94.0"/>
- </dependentAssembly>
- </assemblyBinding>
- </runtime>
-<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/></startup></configuration>
diff --git a/Emby.Server.Implementations/ApplicationPathHelper.cs b/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
index 262cc526e..c8cca40ff 100644
--- a/Emby.Server.Implementations/ApplicationPathHelper.cs
+++ b/MediaBrowser.Server.Mono/ApplicationPathHelper.cs
@@ -2,7 +2,7 @@
using System.Configuration;
using System.IO;
-namespace Emby.Server.Implementations
+namespace MediaBrowser.Server.Mono
{
public static class ApplicationPathHelper
{
diff --git a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
index 48b4fdb4f..7ddafb636 100644
--- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
+++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj
@@ -51,9 +51,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Mono.Posix.4.0.0.0\lib\net40\Mono.Posix.dll</HintPath>
</Reference>
- <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
- <HintPath>..\packages\NLog.4.4.12\lib\net45\NLog.dll</HintPath>
- </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>
@@ -89,6 +86,7 @@
<Compile Include="..\SharedVersion.cs">
<Link>Properties\SharedVersion.cs</Link>
</Compile>
+ <Compile Include="ApplicationPathHelper.cs" />
<Compile Include="ImageEncoderHelper.cs" />
<Compile Include="MonoAppHost.cs" />
<Compile Include="Native\MonoFileSystem.cs" />
@@ -106,10 +104,6 @@
<Project>{713f42b5-878e-499d-a878-e4c652b1d5e8}</Project>
<Name>DvdLib</Name>
</ProjectReference>
- <ProjectReference Include="..\Emby.Common.Implementations\Emby.Common.Implementations.csproj">
- <Project>{1e37a338-9f57-4b70-bd6d-bb9c591e319b}</Project>
- <Name>Emby.Common.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\Emby.Dlna\Emby.Dlna.csproj">
<Project>{805844ab-e92f-45e6-9d99-4f6d48d129a5}</Project>
<Name>Emby.Dlna</Name>
@@ -138,10 +132,6 @@
<Project>{5624B7B5-B5A7-41D8-9F10-CC5611109619}</Project>
<Name>MediaBrowser.WebDashboard</Name>
</ProjectReference>
- <ProjectReference Include="..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj">
- <Project>{2E781478-814D-4A48-9D80-BFF206441A65}</Project>
- <Name>MediaBrowser.Server.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\MediaBrowser.Providers\MediaBrowser.Providers.csproj">
<Project>{442B5058-DCAF-4263-BB6A-F21E31120A1B}</Project>
<Name>MediaBrowser.Providers</Name>
diff --git a/MediaBrowser.Server.Mono/MonoAppHost.cs b/MediaBrowser.Server.Mono/MonoAppHost.cs
index 1153d0f7d..e51324ec4 100644
--- a/MediaBrowser.Server.Mono/MonoAppHost.cs
+++ b/MediaBrowser.Server.Mono/MonoAppHost.cs
@@ -19,7 +19,7 @@ namespace MediaBrowser.Server.Mono
{
public class MonoAppHost : ApplicationHost
{
- public MonoAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, IMemoryStreamFactory memoryStreamFactory, MediaBrowser.Common.Net.INetworkManager networkManager, Action<string, string, string> certificateGenerator, Func<string> defaultUsernameFactory) : base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, memoryStreamFactory, networkManager, certificateGenerator, defaultUsernameFactory)
+ public MonoAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, MediaBrowser.Common.Net.INetworkManager networkManager) : base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, networkManager)
{
}
diff --git a/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs b/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs
index 91c064efe..e6b77991c 100644
--- a/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs
+++ b/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs
@@ -1,4 +1,4 @@
-using Emby.Common.Implementations.IO;
+using Emby.Server.Implementations.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
using Mono.Unix.Native;
diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs
index aa6a58b48..73a568ca9 100644
--- a/MediaBrowser.Server.Mono/Program.cs
+++ b/MediaBrowser.Server.Mono/Program.cs
@@ -11,18 +11,16 @@ using System.Net.Security;
using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
-using Emby.Common.Implementations.EnvironmentInfo;
-using Emby.Common.Implementations.Logging;
-using Emby.Common.Implementations.Networking;
using Emby.Server.Core.Cryptography;
using Emby.Server.Core;
using Emby.Server.Implementations;
+using Emby.Server.Implementations.EnvironmentInfo;
using Emby.Server.Implementations.IO;
using Emby.Server.Implementations.Logging;
+using Emby.Server.Implementations.Networking;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.System;
using Mono.Unix.Native;
-using NLog;
using ILogger = MediaBrowser.Model.Logging.ILogger;
using X509Certificate = System.Security.Cryptography.X509Certificates.X509Certificate;
@@ -49,7 +47,7 @@ namespace MediaBrowser.Server.Mono
var appPaths = CreateApplicationPaths(applicationPath, customProgramDataPath);
- var logManager = new NlogManager(appPaths.LogDirectoryPath, "server");
+ var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server");
logManager.ReloadLogger(LogSeverity.Info);
logManager.AddConsoleOutput();
@@ -85,9 +83,7 @@ namespace MediaBrowser.Server.Mono
var appFolderPath = Path.GetDirectoryName(applicationPath);
- Action<string> createDirectoryFn = s => Directory.CreateDirectory(s);
-
- return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath), createDirectoryFn);
+ return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath));
}
private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>();
@@ -114,10 +110,7 @@ namespace MediaBrowser.Server.Mono
environmentInfo,
imageEncoder,
new SystemEvents(logManager.GetLogger("SystemEvents")),
- new MemoryStreamProvider(),
- new NetworkManager(logManager.GetLogger("NetworkManager")),
- GenerateCertificate,
- () => Environment.UserName);
+ new NetworkManager(logManager.GetLogger("NetworkManager")));
if (options.ContainsOption("-v"))
{
@@ -142,11 +135,6 @@ namespace MediaBrowser.Server.Mono
Task.WaitAll(task);
}
- private static void GenerateCertificate(string certPath, string certHost, string certPassword)
- {
- CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, certPassword, _logger);
- }
-
private static MonoEnvironmentInfo GetEnvironmentInfo()
{
var info = new MonoEnvironmentInfo();
@@ -157,39 +145,38 @@ namespace MediaBrowser.Server.Mono
if (string.Equals(sysName, "Darwin", StringComparison.OrdinalIgnoreCase))
{
- //info.OperatingSystem = Startup.Common.OperatingSystem.Osx;
+ info.OperatingSystem = Model.System.OperatingSystem.OSX;
}
else if (string.Equals(sysName, "Linux", StringComparison.OrdinalIgnoreCase))
{
- //info.OperatingSystem = Startup.Common.OperatingSystem.Linux;
+ info.OperatingSystem = Model.System.OperatingSystem.Linux;
}
else if (string.Equals(sysName, "BSD", StringComparison.OrdinalIgnoreCase))
{
- //info.OperatingSystem = Startup.Common.OperatingSystem.Bsd;
- info.IsBsd = true;
+ info.OperatingSystem = Model.System.OperatingSystem.BSD;
}
var archX86 = new Regex("(i|I)[3-6]86");
if (archX86.IsMatch(uname.machine))
{
- info.CustomArchitecture = Architecture.X86;
+ info.SystemArchitecture = Architecture.X86;
}
else if (string.Equals(uname.machine, "x86_64", StringComparison.OrdinalIgnoreCase))
{
- info.CustomArchitecture = Architecture.X64;
+ info.SystemArchitecture = Architecture.X64;
}
else if (uname.machine.StartsWith("arm", StringComparison.OrdinalIgnoreCase))
{
- info.CustomArchitecture = Architecture.Arm;
+ info.SystemArchitecture = Architecture.Arm;
}
else if (System.Environment.Is64BitOperatingSystem)
{
- info.CustomArchitecture = Architecture.X64;
+ info.SystemArchitecture = Architecture.X64;
}
else
{
- info.CustomArchitecture = Architecture.X86;
+ info.SystemArchitecture = Architecture.X86;
}
return info;
@@ -309,24 +296,9 @@ namespace MediaBrowser.Server.Mono
public class MonoEnvironmentInfo : EnvironmentInfo
{
- public bool IsBsd { get; set; }
-
public override string GetUserId()
{
return Syscall.getuid().ToString(CultureInfo.InvariantCulture);
}
-
- public override Model.System.OperatingSystem OperatingSystem
- {
- get
- {
- if (IsBsd)
- {
- return Model.System.OperatingSystem.BSD;
- }
-
- return base.OperatingSystem;
- }
- }
}
}
diff --git a/MediaBrowser.Server.Mono/packages.config b/MediaBrowser.Server.Mono/packages.config
index c77327e22..525a0098c 100644
--- a/MediaBrowser.Server.Mono/packages.config
+++ b/MediaBrowser.Server.Mono/packages.config
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Mono.Posix" version="4.0.0.0" targetFramework="net45" />
- <package id="NLog" version="4.4.12" targetFramework="net46" />
<package id="ServiceStack.Text" version="4.5.8" targetFramework="net46" />
<package id="SharpCompress" version="0.14.0" targetFramework="net46" />
<package id="SimpleInjector" version="4.0.8" targetFramework="net46" />
diff --git a/MediaBrowser.ServerApplication/ApplicationPathHelper.cs b/MediaBrowser.ServerApplication/ApplicationPathHelper.cs
new file mode 100644
index 000000000..e8dad6213
--- /dev/null
+++ b/MediaBrowser.ServerApplication/ApplicationPathHelper.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Configuration;
+using System.IO;
+
+namespace MediaBrowser.ServerApplication
+{
+ public static class ApplicationPathHelper
+ {
+ /// <summary>
+ /// Gets the path to the application's ProgramDataFolder
+ /// </summary>
+ /// <returns>System.String.</returns>
+ public static string GetProgramDataPath(string applicationPath)
+ {
+ var useDebugPath = false;
+
+#if DEBUG
+ useDebugPath = true;
+#endif
+
+ var programDataPath = useDebugPath ?
+ ConfigurationManager.AppSettings["DebugProgramDataPath"] :
+ ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
+
+ programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
+
+ programDataPath = programDataPath
+ .Replace('/', Path.DirectorySeparatorChar)
+ .Replace('\\', Path.DirectorySeparatorChar);
+
+ // If it's a relative path, e.g. "..\"
+ if (!Path.IsPathRooted(programDataPath))
+ {
+ var path = Path.GetDirectoryName(applicationPath);
+
+ if (string.IsNullOrEmpty(path))
+ {
+ throw new ApplicationException("Unable to determine running assembly location");
+ }
+
+ programDataPath = Path.Combine(path, programDataPath);
+
+ programDataPath = Path.GetFullPath(programDataPath);
+ }
+
+ Directory.CreateDirectory(programDataPath);
+
+ return programDataPath;
+ }
+ }
+}
diff --git a/MediaBrowser.ServerApplication/ImageEncoderHelper.cs b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs
index 77e6c65fe..0e99bbbad 100644
--- a/MediaBrowser.ServerApplication/ImageEncoderHelper.cs
+++ b/MediaBrowser.ServerApplication/ImageEncoderHelper.cs
@@ -1,6 +1,5 @@
using System;
using Emby.Drawing;
-using Emby.Drawing.ImageMagick;
using Emby.Drawing.Skia;
using Emby.Server.Core;
using Emby.Server.Implementations;
diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs
index e687b34cf..6635cddb7 100644
--- a/MediaBrowser.ServerApplication/MainStartup.cs
+++ b/MediaBrowser.ServerApplication/MainStartup.cs
@@ -1,5 +1,4 @@
using MediaBrowser.Model.Logging;
-using MediaBrowser.Server.Implementations;
using MediaBrowser.Server.Startup.Common;
using MediaBrowser.ServerApplication.Native;
using MediaBrowser.ServerApplication.Splash;
@@ -17,15 +16,12 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
-using Emby.Common.Implementations.EnvironmentInfo;
-using Emby.Common.Implementations.IO;
-using Emby.Common.Implementations.Logging;
-using Emby.Common.Implementations.Networking;
using Emby.Server.Core.Cryptography;
using Emby.Drawing;
using Emby.Server.Core;
using Emby.Server.Implementations;
using Emby.Server.Implementations.Browser;
+using Emby.Server.Implementations.EnvironmentInfo;
using Emby.Server.Implementations.IO;
using Emby.Server.Implementations.Logging;
using MediaBrowser.Common.Net;
@@ -76,7 +72,7 @@ namespace MediaBrowser.ServerApplication
var appPaths = CreateApplicationPaths(ApplicationPath, IsRunningAsService);
- var logManager = new NlogManager(appPaths.LogDirectoryPath, "server");
+ var logManager = new SimpleLogManager(appPaths.LogDirectoryPath, "server");
logManager.ReloadLogger(LogSeverity.Debug);
logManager.AddConsoleOutput();
@@ -240,18 +236,16 @@ namespace MediaBrowser.ServerApplication
var resourcesPath = Path.GetDirectoryName(applicationPath);
- Action<string> createDirectoryFn = s => Directory.CreateDirectory(s);
-
if (runAsService)
{
var systemPath = Path.GetDirectoryName(applicationPath);
var programDataPath = Path.GetDirectoryName(systemPath);
- return new ServerApplicationPaths(programDataPath, appFolderPath, resourcesPath, createDirectoryFn);
+ return new ServerApplicationPaths(programDataPath, appFolderPath, resourcesPath);
}
- return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), appFolderPath, resourcesPath, createDirectoryFn);
+ return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), appFolderPath, resourcesPath);
}
/// <summary>
@@ -320,10 +314,7 @@ namespace MediaBrowser.ServerApplication
environmentInfo,
new NullImageEncoder(),
new SystemEvents(logManager.GetLogger("SystemEvents")),
- new MemoryStreamProvider(),
- new Networking.NetworkManager(logManager.GetLogger("NetworkManager")),
- GenerateCertificate,
- () => Environment.UserDomainName);
+ new Networking.NetworkManager(logManager.GetLogger("NetworkManager")));
var initProgress = new Progress<double>();
@@ -370,11 +361,6 @@ namespace MediaBrowser.ServerApplication
}
}
- private static void GenerateCertificate(string certPath, string certHost, string certPassword)
- {
- CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, certPassword, _logger);
- }
-
private static ServerNotifyIcon _serverNotifyIcon;
private static TaskScheduler _mainTaskScheduler;
private static void ShowTrayIcon()
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index a4138a57d..2ee2acfc2 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -73,9 +73,6 @@
<Reference Include="Emby.Server.Sync">
<HintPath>..\ThirdParty\emby\Emby.Server.Sync.dll</HintPath>
</Reference>
- <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
- <HintPath>..\packages\NLog.4.4.12\lib\net45\NLog.dll</HintPath>
- </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>
@@ -116,6 +113,7 @@
<Compile Include="..\SharedVersion.cs">
<Link>Properties\SharedVersion.cs</Link>
</Compile>
+ <Compile Include="ApplicationPathHelper.cs" />
<Compile Include="BackgroundService.cs">
<SubType>Component</SubType>
</Compile>
@@ -199,18 +197,10 @@
<Project>{713f42b5-878e-499d-a878-e4c652b1d5e8}</Project>
<Name>DvdLib</Name>
</ProjectReference>
- <ProjectReference Include="..\Emby.Common.Implementations\Emby.Common.Implementations.csproj">
- <Project>{1e37a338-9f57-4b70-bd6d-bb9c591e319b}</Project>
- <Name>Emby.Common.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\Emby.Dlna\Emby.Dlna.csproj">
<Project>{805844ab-e92f-45e6-9d99-4f6d48d129a5}</Project>
<Name>Emby.Dlna</Name>
</ProjectReference>
- <ProjectReference Include="..\Emby.Drawing.ImageMagick\Emby.Drawing.ImageMagick.csproj">
- <Project>{6cfee013-6e7c-432b-ac37-cabf0880c69a}</Project>
- <Name>Emby.Drawing.ImageMagick</Name>
- </ProjectReference>
<ProjectReference Include="..\Emby.Drawing.Skia\Emby.Drawing.Skia.csproj">
<Project>{2312da6d-ff86-4597-9777-bceec32d96dd}</Project>
<Name>Emby.Drawing.Skia</Name>
@@ -251,10 +241,6 @@
<Project>{442b5058-dcaf-4263-bb6a-f21e31120a1b}</Project>
<Name>MediaBrowser.Providers</Name>
</ProjectReference>
- <ProjectReference Include="..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj">
- <Project>{2e781478-814d-4a48-9d80-bff206441a65}</Project>
- <Name>MediaBrowser.Server.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj">
<Project>{5624b7b5-b5a7-41d8-9f10-cc5611109619}</Project>
<Name>MediaBrowser.WebDashboard</Name>
diff --git a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs
index 6d3d96e19..8933a5760 100644
--- a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs
+++ b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs
@@ -13,7 +13,7 @@ namespace MediaBrowser.ServerApplication.Networking
/// <summary>
/// Class NetUtils
/// </summary>
- public class NetworkManager : Emby.Common.Implementations.Networking.NetworkManager
+ public class NetworkManager : Emby.Server.Implementations.Networking.NetworkManager
{
public NetworkManager(ILogger logger)
: base(logger)
diff --git a/MediaBrowser.ServerApplication/WindowsAppHost.cs b/MediaBrowser.ServerApplication/WindowsAppHost.cs
index 7a35c5614..d72bd532e 100644
--- a/MediaBrowser.ServerApplication/WindowsAppHost.cs
+++ b/MediaBrowser.ServerApplication/WindowsAppHost.cs
@@ -4,13 +4,13 @@ using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices.ComTypes;
-using Emby.Common.Implementations.IO;
using Emby.Server.CinemaMode;
using Emby.Server.Connect;
using Emby.Server.Core;
using Emby.Server.Implementations;
using Emby.Server.Implementations.EntryPoints;
using Emby.Server.Implementations.FFMpeg;
+using Emby.Server.Implementations.IO;
using Emby.Server.Sync;
using MediaBrowser.Controller.Connect;
using MediaBrowser.Controller.Sync;
@@ -25,8 +25,8 @@ namespace MediaBrowser.ServerApplication
{
public class WindowsAppHost : ApplicationHost
{
- public WindowsAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, IMemoryStreamFactory memoryStreamFactory, MediaBrowser.Common.Net.INetworkManager networkManager, Action<string, string, string> certificateGenerator, Func<string> defaultUsernameFactory)
- : base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, memoryStreamFactory, networkManager, certificateGenerator, defaultUsernameFactory)
+ public WindowsAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, MediaBrowser.Common.Net.INetworkManager networkManager)
+ : base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, networkManager)
{
}
diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config
index ed953e299..3af1bcf4d 100644
--- a/MediaBrowser.ServerApplication/packages.config
+++ b/MediaBrowser.ServerApplication/packages.config
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="NLog" version="4.4.12" 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.8" targetFramework="net462" />
diff --git a/MediaBrowser.Tests/M3uParserTest.cs b/MediaBrowser.Tests/M3uParserTest.cs
index 3320d8794..1b42a3823 100644
--- a/MediaBrowser.Tests/M3uParserTest.cs
+++ b/MediaBrowser.Tests/M3uParserTest.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Emby.Common.Implementations.Cryptography;
+using Emby.Server.Implementations.Cryptography;
using Emby.Server.Implementations.LiveTv.TunerHosts;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Model.Logging;
diff --git a/MediaBrowser.Tests/MediaBrowser.Tests.csproj b/MediaBrowser.Tests/MediaBrowser.Tests.csproj
index 57a645ce0..62bcad000 100644
--- a/MediaBrowser.Tests/MediaBrowser.Tests.csproj
+++ b/MediaBrowser.Tests/MediaBrowser.Tests.csproj
@@ -68,10 +68,6 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\Emby.Common.Implementations\Emby.Common.Implementations.csproj">
- <Project>{1e37a338-9f57-4b70-bd6d-bb9c591e319b}</Project>
- <Name>Emby.Common.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj">
<Project>{e383961b-9356-4d5d-8233-9a1079d03055}</Project>
<Name>Emby.Server.Implementations</Name>
@@ -92,10 +88,6 @@
<Project>{442B5058-DCAF-4263-BB6A-F21E31120A1B}</Project>
<Name>MediaBrowser.Providers</Name>
</ProjectReference>
- <ProjectReference Include="..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj">
- <Project>{2E781478-814D-4A48-9D80-BFF206441A65}</Project>
- <Name>MediaBrowser.Server.Implementations</Name>
- </ProjectReference>
<ProjectReference Include="..\MediaBrowser.XbmcMetadata\MediaBrowser.XbmcMetadata.csproj">
<Project>{23499896-b135-4527-8574-c26e926ea99e}</Project>
<Name>MediaBrowser.XbmcMetadata</Name>
diff --git a/MediaBrowser.sln b/MediaBrowser.sln
index 382417bb6..32485a8c9 100644
--- a/MediaBrowser.sln
+++ b/MediaBrowser.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26403.7
+VisualStudioVersion = 15.0.26730.3
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F0E0E64C-2A6F-4E35-9533-D53AC07C2CD1}"
EndProject
@@ -34,8 +34,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Model", "Media
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.WebDashboard", "MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj", "{5624B7B5-B5A7-41D8-9F10-CC5611109619}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Server.Implementations", "MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj", "{2E781478-814D-4A48-9D80-BFF206441A65}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Tests", "MediaBrowser.Tests\MediaBrowser.Tests.csproj", "{E22BFD35-0FCD-4A85-978A-C22DCD73A081}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MediaBrowser.Providers", "MediaBrowser.Providers\MediaBrowser.Providers.csproj", "{442B5058-DCAF-4263-BB6A-F21E31120A1B}"
@@ -70,8 +68,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Drawing.Skia", "Emby.D
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Nat", "Mono.Nat\Mono.Nat.csproj", "{CB7F2326-6497-4A3D-BA03-48513B17A7BE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Emby.Common.Implementations", "Emby.Common.Implementations\Emby.Common.Implementations.csproj", "{1E37A338-9F57-4B70-BD6D-BB9C591E319B}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SocketHttpListener", "SocketHttpListener\SocketHttpListener.csproj", "{1D74413B-E7CF-455B-B021-F52BDF881542}"
EndProject
Global
@@ -268,37 +264,6 @@ Global
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Signed|x64.Build.0 = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Signed|x86.ActiveCfg = Release|Any CPU
{5624B7B5-B5A7-41D8-9F10-CC5611109619}.Signed|x86.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|Any CPU.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|Mixed Platforms.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|Mixed Platforms.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|Win32.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|x64.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release Mono|x86.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|Any CPU.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|Win32.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|x64.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Release|x86.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Any CPU.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Any CPU.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Mixed Platforms.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Mixed Platforms.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Win32.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|Win32.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|x64.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|x64.Build.0 = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|x86.ActiveCfg = Release|Any CPU
- {2E781478-814D-4A48-9D80-BFF206441A65}.Signed|x86.Build.0 = Release|Any CPU
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E22BFD35-0FCD-4A85-978A-C22DCD73A081}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -910,46 +875,6 @@ Global
{CB7F2326-6497-4A3D-BA03-48513B17A7BE}.Signed|x64.Build.0 = Release|Any CPU
{CB7F2326-6497-4A3D-BA03-48513B17A7BE}.Signed|x86.ActiveCfg = Release|Any CPU
{CB7F2326-6497-4A3D-BA03-48513B17A7BE}.Signed|x86.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|Win32.Build.0 = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|x64.Build.0 = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|x86.ActiveCfg = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Debug|x86.Build.0 = Debug|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Any CPU.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Any CPU.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Mixed Platforms.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Mixed Platforms.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Win32.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|Win32.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|x64.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|x64.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|x86.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release Mono|x86.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Any CPU.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Win32.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|Win32.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|x64.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|x64.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|x86.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Release|x86.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Any CPU.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Any CPU.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Mixed Platforms.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Mixed Platforms.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Win32.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|Win32.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|x64.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|x64.Build.0 = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|x86.ActiveCfg = Release|Any CPU
- {1E37A338-9F57-4B70-BD6D-BB9C591E319B}.Signed|x86.Build.0 = Release|Any CPU
{1D74413B-E7CF-455B-B021-F52BDF881542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D74413B-E7CF-455B-B021-F52BDF881542}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D74413B-E7CF-455B-B021-F52BDF881542}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -994,4 +919,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {3448830C-EBDC-426C-85CD-7BBB9651A7FE}
+ EndGlobalSection
EndGlobal
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index 9be89112a..d9e6fdc7d 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.729</version>
+ <version>3.0.730</version>
<title>Emby.Common</title>
<authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index 1d2e484db..b79e0c435 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.729</version>
+ <version>3.0.730</version>
<title>Emby.Server.Core</title>
<authors>Emby Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Emby Server.</description>
<copyright>Copyright © Emby 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.729" />
+ <dependency id="MediaBrowser.Common" version="3.0.730" />
</dependencies>
</metadata>
<files>