From bfcd1b520fd79b893e721ba916ae5e1656407d2f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 16 Aug 2017 02:43:41 -0400 Subject: [PATCH] merge common implementations and server implementations --- .../BaseApplicationHost.cs | 902 ------------------ .../Emby.Common.Implementations.csproj | 452 --------- .../Properties/AssemblyInfo.cs | 34 - Emby.Common.Implementations/packages.config | 7 - Emby.Dlna/Didl/DidlBuilder.cs | 2 +- Emby.Dlna/Main/DlnaEntryPoint.cs | 2 +- Emby.Drawing/Emby.Drawing.csproj | 5 - .../ApplicationHost.cs | 785 ++++++++++++++- .../Archiving/ZipClient.cs | 3 +- .../Cryptography/CryptographyProvider.cs | 2 +- .../Devices/DeviceId.cs | 2 +- .../Diagnostics/CommonProcess.cs | 4 +- .../Diagnostics/ProcessFactory.cs | 2 +- .../Emby.Server.Implementations.csproj | 376 +++++++- .../EnvironmentInfo/EnvironmentInfo.cs | 6 +- .../HttpClientManager/HttpClientInfo.cs | 2 +- .../HttpClientManager/HttpClientManager.cs | 21 +- .../HttpServerFactory.cs | 2 +- .../IO/IsoManager.cs | 2 +- .../IO/LnkShortcutHandler.cs | 3 +- .../IO/ManagedFileSystem.cs | 2 +- .../IO/ProgressStream.cs | 2 +- .../IO/SharpCifs/Config.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcBind.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcBinding.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcConstants.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcError.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcException.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcHandle.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcMessage.cs | 0 .../IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs | 0 .../Dcerpc/DcerpcSecurityProvider.cs | 0 .../SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs | 0 .../SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs | 0 .../IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs | 0 .../Dcerpc/Msrpc/MsrpcDfsRootEnum.cs | 0 .../Msrpc/MsrpcEnumerateAliasesInDomain.cs | 0 .../Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs | 0 .../SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs | 0 .../Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs | 0 .../Msrpc/MsrpcQueryInformationPolicy.cs | 0 .../Dcerpc/Msrpc/MsrpcSamrConnect2.cs | 0 .../Dcerpc/Msrpc/MsrpcSamrConnect4.cs | 0 .../Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs | 0 .../Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs | 0 .../SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs | 0 .../Dcerpc/Msrpc/MsrpcShareGetInfo.cs | 0 .../IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs | 0 .../IO/SharpCifs/Dcerpc/Msrpc/Samr.cs | 0 .../SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs | 0 .../Dcerpc/Msrpc/SamrDomainHandle.cs | 0 .../Dcerpc/Msrpc/SamrPolicyHandle.cs | 0 .../IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrException.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs | 0 .../IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs | 0 .../IO/SharpCifs/Dcerpc/Rpc.cs | 0 .../IO/SharpCifs/Dcerpc/UUID.cs | 0 .../IO/SharpCifs/Dcerpc/UnicodeString.cs | 0 .../IO/SharpCifs/Netbios/Lmhosts.cs | 0 .../IO/SharpCifs/Netbios/Name.cs | 0 .../IO/SharpCifs/Netbios/NameQueryRequest.cs | 0 .../IO/SharpCifs/Netbios/NameQueryResponse.cs | 0 .../IO/SharpCifs/Netbios/NameServiceClient.cs | 0 .../IO/SharpCifs/Netbios/NameServicePacket.cs | 0 .../IO/SharpCifs/Netbios/NbtAddress.cs | 0 .../IO/SharpCifs/Netbios/NbtException.cs | 0 .../IO/SharpCifs/Netbios/NodeStatusRequest.cs | 0 .../SharpCifs/Netbios/NodeStatusResponse.cs | 0 .../SharpCifs/Netbios/SessionRequestPacket.cs | 0 .../Netbios/SessionRetargetResponsePacket.cs | 0 .../SharpCifs/Netbios/SessionServicePacket.cs | 0 .../IO/SharpCifs/Ntlmssp/NtlmFlags.cs | 0 .../IO/SharpCifs/Ntlmssp/NtlmMessage.cs | 0 .../IO/SharpCifs/Ntlmssp/Type1Message.cs | 0 .../IO/SharpCifs/Ntlmssp/Type2Message.cs | 0 .../IO/SharpCifs/Ntlmssp/Type3Message.cs | 0 .../IO/SharpCifs/Smb/ACE.cs | 0 .../IO/SharpCifs/Smb/AllocInfo.cs | 0 .../SharpCifs/Smb/AndXServerMessageBlock.cs | 0 .../IO/SharpCifs/Smb/BufferCache.cs | 0 .../IO/SharpCifs/Smb/Dfs.cs | 0 .../IO/SharpCifs/Smb/DfsReferral.cs | 0 .../IO/SharpCifs/Smb/DosError.cs | 0 .../IO/SharpCifs/Smb/DosFileFilter.cs | 0 .../IO/SharpCifs/Smb/FileEntry.cs | 0 .../IO/SharpCifs/Smb/IInfo.cs | 0 .../IO/SharpCifs/Smb/NetServerEnum2.cs | 0 .../SharpCifs/Smb/NetServerEnum2Response.cs | 0 .../IO/SharpCifs/Smb/NetShareEnum.cs | 0 .../IO/SharpCifs/Smb/NetShareEnumResponse.cs | 0 .../IO/SharpCifs/Smb/NtStatus.cs | 0 .../SharpCifs/Smb/NtTransQuerySecurityDesc.cs | 0 .../Smb/NtTransQuerySecurityDescResponse.cs | 0 .../IO/SharpCifs/Smb/NtlmAuthenticator.cs | 0 .../IO/SharpCifs/Smb/NtlmChallenge.cs | 0 .../IO/SharpCifs/Smb/NtlmContext.cs | 0 .../Smb/NtlmPasswordAuthentication.cs | 0 .../IO/SharpCifs/Smb/Principal.cs | 0 .../IO/SharpCifs/Smb/SID.cs | 0 .../IO/SharpCifs/Smb/SecurityDescriptor.cs | 0 .../IO/SharpCifs/Smb/ServerMessageBlock.cs | 0 .../IO/SharpCifs/Smb/SigningDigest.cs | 0 .../IO/SharpCifs/Smb/SmbAuthException.cs | 0 .../IO/SharpCifs/Smb/SmbComBlankResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComClose.cs | 0 .../IO/SharpCifs/Smb/SmbComCreateDirectory.cs | 0 .../IO/SharpCifs/Smb/SmbComDelete.cs | 0 .../IO/SharpCifs/Smb/SmbComDeleteDirectory.cs | 0 .../IO/SharpCifs/Smb/SmbComFindClose2.cs | 0 .../IO/SharpCifs/Smb/SmbComLogoffAndX.cs | 0 .../IO/SharpCifs/Smb/SmbComNTCreateAndX.cs | 0 .../Smb/SmbComNTCreateAndXResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComNegotiate.cs | 0 .../SharpCifs/Smb/SmbComNegotiateResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComNtTransaction.cs | 0 .../Smb/SmbComNtTransactionResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComOpenAndX.cs | 0 .../SharpCifs/Smb/SmbComOpenAndXResponse.cs | 0 .../SharpCifs/Smb/SmbComQueryInformation.cs | 0 .../Smb/SmbComQueryInformationResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComReadAndX.cs | 0 .../SharpCifs/Smb/SmbComReadAndXResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComRename.cs | 0 .../SharpCifs/Smb/SmbComSessionSetupAndX.cs | 0 .../Smb/SmbComSessionSetupAndXResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComTransaction.cs | 0 .../Smb/SmbComTransactionResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs | 0 .../Smb/SmbComTreeConnectAndXResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComTreeDisconnect.cs | 0 .../IO/SharpCifs/Smb/SmbComWrite.cs | 0 .../IO/SharpCifs/Smb/SmbComWriteAndX.cs | 0 .../SharpCifs/Smb/SmbComWriteAndXResponse.cs | 0 .../IO/SharpCifs/Smb/SmbComWriteResponse.cs | 0 .../IO/SharpCifs/Smb/SmbConstants.cs | 0 .../IO/SharpCifs/Smb/SmbException.cs | 0 .../IO/SharpCifs/Smb/SmbFile.cs | 0 .../IO/SharpCifs/Smb/SmbFileExtensions.cs | 0 .../IO/SharpCifs/Smb/SmbFileFilter.cs | 0 .../IO/SharpCifs/Smb/SmbFileInputStream.cs | 0 .../IO/SharpCifs/Smb/SmbFileOutputStream.cs | 0 .../IO/SharpCifs/Smb/SmbFilenameFilter.cs | 0 .../IO/SharpCifs/Smb/SmbNamedPipe.cs | 0 .../IO/SharpCifs/Smb/SmbRandomAccessFile.cs | 0 .../IO/SharpCifs/Smb/SmbSession.cs | 0 .../IO/SharpCifs/Smb/SmbShareInfo.cs | 0 .../IO/SharpCifs/Smb/SmbTransport.cs | 0 .../IO/SharpCifs/Smb/SmbTree.cs | 0 .../IO/SharpCifs/Smb/Trans2FindFirst2.cs | 0 .../SharpCifs/Smb/Trans2FindFirst2Response.cs | 0 .../IO/SharpCifs/Smb/Trans2FindNext2.cs | 0 .../IO/SharpCifs/Smb/Trans2GetDfsReferral.cs | 0 .../Smb/Trans2GetDfsReferralResponse.cs | 0 .../SharpCifs/Smb/Trans2QueryFSInformation.cs | 0 .../Smb/Trans2QueryFSInformationResponse.cs | 0 .../Smb/Trans2QueryPathInformation.cs | 0 .../Smb/Trans2QueryPathInformationResponse.cs | 0 .../SharpCifs/Smb/Trans2SetFileInformation.cs | 0 .../Smb/Trans2SetFileInformationResponse.cs | 0 .../IO/SharpCifs/Smb/TransCallNamedPipe.cs | 0 .../Smb/TransCallNamedPipeResponse.cs | 0 .../IO/SharpCifs/Smb/TransPeekNamedPipe.cs | 0 .../Smb/TransPeekNamedPipeResponse.cs | 0 .../SharpCifs/Smb/TransTransactNamedPipe.cs | 0 .../Smb/TransTransactNamedPipeResponse.cs | 0 .../IO/SharpCifs/Smb/TransWaitNamedPipe.cs | 0 .../Smb/TransWaitNamedPipeResponse.cs | 0 .../Smb/TransactNamedPipeInputStream.cs | 0 .../Smb/TransactNamedPipeOutputStream.cs | 0 .../IO/SharpCifs/Smb/WinError.cs | 0 .../IO/SharpCifs/UniAddress.cs | 0 .../IO/SharpCifs/Util/Base64.cs | 0 .../IO/SharpCifs/Util/DES.cs | 0 .../IO/SharpCifs/Util/Encdec.cs | 0 .../IO/SharpCifs/Util/HMACT64.cs | 0 .../IO/SharpCifs/Util/Hexdump.cs | 0 .../IO/SharpCifs/Util/LogStream.cs | 0 .../IO/SharpCifs/Util/MD4.cs | 0 .../IO/SharpCifs/Util/RC4.cs | 0 .../IO/SharpCifs/Util/Sharpen/AbstractMap.cs | 0 .../IO/SharpCifs/Util/Sharpen/Arrays.cs | 0 .../SharpCifs/Util/Sharpen/BufferedReader.cs | 0 .../SharpCifs/Util/Sharpen/BufferedWriter.cs | 0 .../IO/SharpCifs/Util/Sharpen/CharBuffer.cs | 0 .../IO/SharpCifs/Util/Sharpen/CharSequence.cs | 0 .../IO/SharpCifs/Util/Sharpen/Collections.cs | 0 .../Util/Sharpen/ConcurrentHashMap.cs | 0 .../IO/SharpCifs/Util/Sharpen/DateFormat.cs | 0 .../Util/Sharpen/EnumeratorWrapper.cs | 0 .../IO/SharpCifs/Util/Sharpen/Exceptions.cs | 0 .../IO/SharpCifs/Util/Sharpen/Extensions.cs | 0 .../SharpCifs/Util/Sharpen/FileInputStream.cs | 0 .../Util/Sharpen/FileOutputStream.cs | 0 .../IO/SharpCifs/Util/Sharpen/FilePath.cs | 0 .../IO/SharpCifs/Util/Sharpen/FileReader.cs | 0 .../IO/SharpCifs/Util/Sharpen/FileWriter.cs | 0 .../Util/Sharpen/FilterInputStream.cs | 0 .../Util/Sharpen/FilterOutputStream.cs | 0 .../IO/SharpCifs/Util/Sharpen/Hashtable.cs | 0 .../Util/Sharpen/HttpURLConnection.cs | 0 .../IO/SharpCifs/Util/Sharpen/ICallable.cs | 0 .../SharpCifs/Util/Sharpen/IConcurrentMap.cs | 0 .../IO/SharpCifs/Util/Sharpen/IExecutor.cs | 0 .../SharpCifs/Util/Sharpen/IFilenameFilter.cs | 0 .../IO/SharpCifs/Util/Sharpen/IFuture.cs | 0 .../Util/Sharpen/IPrivilegedAction.cs | 0 .../IO/SharpCifs/Util/Sharpen/IRunnable.cs | 0 .../IO/SharpCifs/Util/Sharpen/InputStream.cs | 0 .../Util/Sharpen/InputStreamReader.cs | 0 .../IO/SharpCifs/Util/Sharpen/Iterator.cs | 0 .../IO/SharpCifs/Util/Sharpen/LinkageError.cs | 0 .../IO/SharpCifs/Util/Sharpen/MD5.cs | 0 .../IO/SharpCifs/Util/Sharpen/MD5Managed.cs | 0 .../IO/SharpCifs/Util/Sharpen/Matcher.cs | 0 .../SharpCifs/Util/Sharpen/MessageDigest.cs | 0 .../SharpCifs/Util/Sharpen/NetworkStream.cs | 0 .../Util/Sharpen/ObjectInputStream.cs | 0 .../Util/Sharpen/ObjectOutputStream.cs | 0 .../IO/SharpCifs/Util/Sharpen/OutputStream.cs | 0 .../Util/Sharpen/OutputStreamWriter.cs | 0 .../Util/Sharpen/PipedInputStream.cs | 0 .../Util/Sharpen/PipedOutputStream.cs | 0 .../IO/SharpCifs/Util/Sharpen/PrintWriter.cs | 0 .../IO/SharpCifs/Util/Sharpen/Properties.cs | 0 .../Util/Sharpen/RandomAccessFile.cs | 0 .../SharpCifs/Util/Sharpen/ReentrantLock.cs | 0 .../IO/SharpCifs/Util/Sharpen/Reference.cs | 0 .../IO/SharpCifs/Util/Sharpen/Runtime.cs | 0 .../Util/Sharpen/SimpleDateFormat.cs | 0 .../IO/SharpCifs/Util/Sharpen/SocketEx.cs | 0 .../SharpCifs/Util/Sharpen/StringTokenizer.cs | 0 .../Util/Sharpen/SynchronizedList.cs | 0 .../IO/SharpCifs/Util/Sharpen/Thread.cs | 0 .../SharpCifs/Util/Sharpen/ThreadFactory.cs | 0 .../Util/Sharpen/ThreadPoolExecutor.cs | 0 .../Util/Sharpen/WrappedSystemStream.cs | 0 .../IO/SharpCifs/Util/Transport/Request.cs | 0 .../IO/SharpCifs/Util/Transport/Response.cs | 0 .../IO/SharpCifs/Util/Transport/Transport.cs | 0 .../Util/Transport/TransportException.cs | 0 .../IO/SharpCifsFileSystem.cs | 7 +- .../Logging/NLogger.cs | 6 +- .../Logging/NlogManager.cs | 5 +- .../Net/DisposableManagedObjectBase.cs | 5 +- .../Net/NetAcceptSocket.cs | 6 +- .../Net/SocketAcceptor.cs | 2 +- .../Net/SocketFactory.cs | 7 +- .../Net/UdpSocket.cs | 7 +- .../Networking/NetworkManager.cs | 12 +- .../Reflection/AssemblyInfo.cs | 4 +- .../ScheduledTasks/DailyTrigger.cs | 2 +- .../ScheduledTasks/IntervalTrigger.cs | 2 +- .../ScheduledTasks/ScheduledTaskWorker.cs | 4 +- .../ScheduledTasks/StartupTrigger.cs | 2 +- .../ScheduledTasks/SystemEventTrigger.cs | 2 +- .../ScheduledTasks/TaskManager.cs | 16 +- .../Tasks/DeleteCacheFileTask.cs | 2 +- .../ScheduledTasks/Tasks/DeleteLogFileTask.cs | 2 +- .../Tasks/ReloadLoggerFileTask.cs | 2 +- .../ScheduledTasks/WeeklyTrigger.cs | 2 +- .../Serialization/JsonSerializer.cs | 0 .../Serialization/XmlSerializer.cs | 7 +- .../TextEncoding/NLangDetect/Detector.cs | 0 .../NLangDetect/DetectorFactory.cs | 0 .../TextEncoding/NLangDetect/ErrorCode.cs | 0 .../NLangDetect/Extensions/CharExtensions.cs | 0 .../Extensions/RandomExtensions.cs | 0 .../Extensions/StringExtensions.cs | 0 .../NLangDetect/Extensions/UnicodeBlock.cs | 0 .../TextEncoding/NLangDetect/GenProfile.cs | 0 .../NLangDetect/InternalException.cs | 0 .../TextEncoding/NLangDetect/Language.cs | 0 .../NLangDetect/LanguageDetector.cs | 0 .../NLangDetect/NLangDetectException.cs | 0 .../TextEncoding/NLangDetect/ProbVector.cs | 0 .../TextEncoding/NLangDetect/Profiles/afr | 0 .../TextEncoding/NLangDetect/Profiles/ara | 0 .../TextEncoding/NLangDetect/Profiles/ben | 0 .../TextEncoding/NLangDetect/Profiles/bul | 0 .../TextEncoding/NLangDetect/Profiles/ces | 0 .../TextEncoding/NLangDetect/Profiles/dan | 0 .../TextEncoding/NLangDetect/Profiles/deu | 0 .../TextEncoding/NLangDetect/Profiles/ell | 0 .../TextEncoding/NLangDetect/Profiles/eng | 0 .../TextEncoding/NLangDetect/Profiles/est | 0 .../TextEncoding/NLangDetect/Profiles/fas | 0 .../TextEncoding/NLangDetect/Profiles/fin | 0 .../TextEncoding/NLangDetect/Profiles/fra | 0 .../TextEncoding/NLangDetect/Profiles/guj | 0 .../TextEncoding/NLangDetect/Profiles/heb | 0 .../TextEncoding/NLangDetect/Profiles/hin | 0 .../TextEncoding/NLangDetect/Profiles/hrv | 0 .../TextEncoding/NLangDetect/Profiles/hun | 0 .../TextEncoding/NLangDetect/Profiles/ind | 0 .../TextEncoding/NLangDetect/Profiles/ita | 0 .../TextEncoding/NLangDetect/Profiles/jpn | 0 .../TextEncoding/NLangDetect/Profiles/kan | 0 .../TextEncoding/NLangDetect/Profiles/kor | 0 .../TextEncoding/NLangDetect/Profiles/lav | 0 .../TextEncoding/NLangDetect/Profiles/lit | 0 .../TextEncoding/NLangDetect/Profiles/mal | 0 .../TextEncoding/NLangDetect/Profiles/mar | 0 .../TextEncoding/NLangDetect/Profiles/mkd | 0 .../TextEncoding/NLangDetect/Profiles/nep | 0 .../TextEncoding/NLangDetect/Profiles/nld | 0 .../TextEncoding/NLangDetect/Profiles/nor | 0 .../TextEncoding/NLangDetect/Profiles/pan | 0 .../TextEncoding/NLangDetect/Profiles/pol | 0 .../TextEncoding/NLangDetect/Profiles/por | 0 .../TextEncoding/NLangDetect/Profiles/ron | 0 .../TextEncoding/NLangDetect/Profiles/rus | 0 .../TextEncoding/NLangDetect/Profiles/slk | 0 .../TextEncoding/NLangDetect/Profiles/slv | 0 .../TextEncoding/NLangDetect/Profiles/som | 0 .../TextEncoding/NLangDetect/Profiles/spa | 0 .../TextEncoding/NLangDetect/Profiles/sqi | 0 .../TextEncoding/NLangDetect/Profiles/swa | 0 .../TextEncoding/NLangDetect/Profiles/swe | 0 .../TextEncoding/NLangDetect/Profiles/tam | 0 .../TextEncoding/NLangDetect/Profiles/tel | 0 .../TextEncoding/NLangDetect/Profiles/tgl | 0 .../TextEncoding/NLangDetect/Profiles/tha | 0 .../TextEncoding/NLangDetect/Profiles/tur | 0 .../TextEncoding/NLangDetect/Profiles/ukr | 0 .../TextEncoding/NLangDetect/Profiles/urd | 0 .../TextEncoding/NLangDetect/Profiles/vie | 0 .../TextEncoding/NLangDetect/Profiles/zh-cn | 0 .../TextEncoding/NLangDetect/Profiles/zh-tw | 0 .../NLangDetect/Utils/LangProfile.cs | 0 .../NLangDetect/Utils/Messages.cs | 0 .../TextEncoding/NLangDetect/Utils/NGram.cs | 0 .../NLangDetect/Utils/TagExtractor.cs | 0 .../NLangDetect/Utils/messages.properties | 0 .../TextEncoding/TextEncoding.cs | 12 +- .../TextEncoding/TextEncodingDetect.cs | 7 +- .../UniversalDetector/CharsetDetector.cs | 0 .../UniversalDetector/Core/Big5Prober.cs | 0 .../UniversalDetector/Core/BitPackage.cs | 0 .../Core/CharDistributionAnalyser.cs | 0 .../UniversalDetector/Core/CharsetProber.cs | 0 .../UniversalDetector/Core/Charsets.cs | 0 .../Core/CodingStateMachine.cs | 0 .../UniversalDetector/Core/EUCJPProber.cs | 0 .../UniversalDetector/Core/EUCKRProber.cs | 0 .../UniversalDetector/Core/EUCTWProber.cs | 0 .../Core/EscCharsetProber.cs | 0 .../UniversalDetector/Core/EscSM.cs | 0 .../UniversalDetector/Core/GB18030Prober.cs | 0 .../UniversalDetector/Core/HebrewProber.cs | 0 .../Core/JapaneseContextAnalyser.cs | 0 .../Core/LangBulgarianModel.cs | 0 .../Core/LangCyrillicModel.cs | 0 .../UniversalDetector/Core/LangGreekModel.cs | 0 .../UniversalDetector/Core/LangHebrewModel.cs | 0 .../Core/LangHungarianModel.cs | 0 .../UniversalDetector/Core/LangThaiModel.cs | 0 .../UniversalDetector/Core/Latin1Prober.cs | 0 .../UniversalDetector/Core/MBCSGroupProber.cs | 0 .../UniversalDetector/Core/MBCSSM.cs | 0 .../UniversalDetector/Core/SBCSGroupProber.cs | 0 .../UniversalDetector/Core/SBCharsetProber.cs | 0 .../UniversalDetector/Core/SJISProber.cs | 0 .../UniversalDetector/Core/SMModel.cs | 0 .../UniversalDetector/Core/SequenceModel.cs | 0 .../UniversalDetector/Core/UTF8Prober.cs | 0 .../Core/UniversalDetector.cs | 0 .../UniversalDetector/DetectionConfidence.cs | 0 .../UniversalDetector/ICharsetDetector.cs | 0 .../Threading/CommonTimer.cs | 5 +- .../Threading/TimerFactory.cs | 5 +- .../Xml/XmlReaderSettingsFactory.cs | 2 +- Emby.Server.Implementations/packages.config | 2 + .../LiveTv/ProgressiveFileCopier.cs | 2 +- .../LiveTv/ILiveTvRecording.cs | 4 - .../MediaBrowser.Server.Mono.csproj | 4 - .../Native/MonoFileSystem.cs | 2 +- MediaBrowser.Server.Mono/Program.cs | 5 +- MediaBrowser.ServerApplication/MainStartup.cs | 5 +- .../MediaBrowser.ServerApplication.csproj | 4 - .../Networking/NetworkManager.cs | 2 +- .../WindowsAppHost.cs | 2 +- MediaBrowser.Tests/M3uParserTest.cs | 2 +- MediaBrowser.Tests/MediaBrowser.Tests.csproj | 4 - MediaBrowser.sln | 47 +- 389 files changed, 1212 insertions(+), 1626 deletions(-) delete mode 100644 Emby.Common.Implementations/BaseApplicationHost.cs delete mode 100644 Emby.Common.Implementations/Emby.Common.Implementations.csproj delete mode 100644 Emby.Common.Implementations/Properties/AssemblyInfo.cs delete mode 100644 Emby.Common.Implementations/packages.config rename {Emby.Common.Implementations => Emby.Server.Implementations}/Archiving/ZipClient.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Cryptography/CryptographyProvider.cs (94%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Devices/DeviceId.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Diagnostics/CommonProcess.cs (96%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Diagnostics/ProcessFactory.cs (82%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/EnvironmentInfo/EnvironmentInfo.cs (93%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/HttpClientManager/HttpClientInfo.cs (84%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/HttpClientManager/HttpClientManager.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/IsoManager.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/LnkShortcutHandler.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/ManagedFileSystem.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/ProgressStream.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Config.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcBind.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcBinding.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcConstants.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcError.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcMessage.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/Rpc.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/UUID.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Dcerpc/UnicodeString.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/Lmhosts.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/Name.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NameQueryRequest.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NameQueryResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NameServiceClient.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NameServicePacket.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NbtAddress.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NbtException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NodeStatusRequest.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/NodeStatusResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/SessionRequestPacket.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Netbios/SessionServicePacket.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Ntlmssp/NtlmFlags.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Ntlmssp/NtlmMessage.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Ntlmssp/Type1Message.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Ntlmssp/Type2Message.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Ntlmssp/Type3Message.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/ACE.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/AllocInfo.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/AndXServerMessageBlock.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/BufferCache.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Dfs.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/DfsReferral.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/DosError.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/DosFileFilter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/FileEntry.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/IInfo.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NetServerEnum2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NetServerEnum2Response.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NetShareEnum.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NetShareEnumResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtStatus.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtlmAuthenticator.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtlmChallenge.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtlmContext.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Principal.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SID.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SecurityDescriptor.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/ServerMessageBlock.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SigningDigest.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbAuthException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComBlankResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComClose.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComCreateDirectory.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComDelete.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComFindClose2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComLogoffAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNegotiate.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNtTransaction.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComOpenAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComQueryInformation.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComReadAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComRename.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComTransaction.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComTransactionResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComWrite.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComWriteAndX.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbComWriteResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbConstants.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFile.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFileExtensions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFileFilter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFileInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFileOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbFilenameFilter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbNamedPipe.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbRandomAccessFile.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbSession.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbShareInfo.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbTransport.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/SmbTree.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2FindFirst2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2FindNext2.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2SetFileInformation.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransCallNamedPipe.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransPeekNamedPipe.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransTransactNamedPipe.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransWaitNamedPipe.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Smb/WinError.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/UniAddress.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Base64.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/DES.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Encdec.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/HMACT64.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Hexdump.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/LogStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/MD4.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/RC4.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/AbstractMap.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Arrays.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/BufferedReader.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/CharBuffer.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/CharSequence.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Collections.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/DateFormat.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Exceptions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Extensions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FileInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FilePath.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FileReader.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FileWriter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Hashtable.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ICallable.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IExecutor.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IFuture.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/IRunnable.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/InputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Iterator.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/LinkageError.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/MD5.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/MD5Managed.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Matcher.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/MessageDigest.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/NetworkStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/OutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/PrintWriter.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Properties.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Reference.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Runtime.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/SocketEx.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/Thread.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Transport/Request.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Transport/Response.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Transport/Transport.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifs/Util/Transport/TransportException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/IO/SharpCifsFileSystem.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Logging/NLogger.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Logging/NlogManager.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Net/DisposableManagedObjectBase.cs (94%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Net/NetAcceptSocket.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Net/SocketAcceptor.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Net/SocketFactory.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Net/UdpSocket.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Networking/NetworkManager.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Reflection/AssemblyInfo.cs (92%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/DailyTrigger.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/IntervalTrigger.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/ScheduledTaskWorker.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/StartupTrigger.cs (97%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/SystemEventTrigger.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/TaskManager.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/Tasks/DeleteCacheFileTask.cs (99%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/Tasks/DeleteLogFileTask.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/ScheduledTasks/WeeklyTrigger.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Serialization/JsonSerializer.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Serialization/XmlSerializer.cs (96%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Detector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/DetectorFactory.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/ErrorCode.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Extensions/CharExtensions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Extensions/StringExtensions.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/GenProfile.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/InternalException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Language.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/LanguageDetector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/NLangDetectException.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/ProbVector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/afr (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ara (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ben (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/bul (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ces (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/dan (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/deu (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ell (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/eng (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/est (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/fas (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/fin (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/fra (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/guj (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/heb (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/hin (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/hrv (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/hun (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ind (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ita (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/jpn (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/kan (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/kor (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/lav (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/lit (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/mal (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/mar (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/mkd (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/nep (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/nld (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/nor (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/pan (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/pol (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/por (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ron (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/rus (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/slk (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/slv (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/som (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/spa (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/sqi (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/swa (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/swe (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/tam (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/tel (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/tgl (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/tha (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/tur (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/ukr (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/urd (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/vie (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/zh-cn (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Profiles/zh-tw (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Utils/LangProfile.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Utils/Messages.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Utils/NGram.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Utils/TagExtractor.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/NLangDetect/Utils/messages.properties (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/TextEncoding.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/TextEncodingDetect.cs (98%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/CharsetDetector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/Big5Prober.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/BitPackage.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/CharsetProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/Charsets.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/EUCJPProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/EUCKRProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/EUCTWProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/EscSM.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/GB18030Prober.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/HebrewProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangGreekModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/LangThaiModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/Latin1Prober.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/MBCSSM.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/SJISProber.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/SMModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/SequenceModel.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/UTF8Prober.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/Core/UniversalDetector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/DetectionConfidence.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/TextEncoding/UniversalDetector/ICharsetDetector.cs (100%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Threading/CommonTimer.cs (87%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Threading/TimerFactory.cs (79%) rename {Emby.Common.Implementations => Emby.Server.Implementations}/Xml/XmlReaderSettingsFactory.cs (91%) diff --git a/Emby.Common.Implementations/BaseApplicationHost.cs b/Emby.Common.Implementations/BaseApplicationHost.cs deleted file mode 100644 index e7710162ca..0000000000 --- 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 -{ - /// - /// Class BaseApplicationHost - /// - /// The type of the T application paths type. - public abstract class BaseApplicationHost : IApplicationHost - where TApplicationPathsType : class, IApplicationPaths - { - /// - /// Occurs when [has pending restart changed]. - /// - public event EventHandler HasPendingRestartChanged; - - /// - /// Occurs when [application updated]. - /// - public event EventHandler> ApplicationUpdated; - - /// - /// Gets or sets a value indicating whether this instance has changes that require the entire application to restart. - /// - /// true if this instance has pending application restart; otherwise, false. - public bool HasPendingRestart { get; private set; } - - /// - /// Gets or sets the logger. - /// - /// The logger. - protected ILogger Logger { get; private set; } - - /// - /// Gets or sets the plugins. - /// - /// The plugins. - public IPlugin[] Plugins { get; protected set; } - - /// - /// Gets or sets the log manager. - /// - /// The log manager. - public ILogManager LogManager { get; protected set; } - - /// - /// Gets the application paths. - /// - /// The application paths. - protected TApplicationPathsType ApplicationPaths { get; private set; } - - /// - /// The json serializer - /// - public IJsonSerializer JsonSerializer { get; private set; } - - /// - /// The _XML serializer - /// - protected readonly IXmlSerializer XmlSerializer; - - /// - /// Gets assemblies that failed to load - /// - /// The failed assemblies. - public List FailedAssemblies { get; protected set; } - - /// - /// Gets all concrete types. - /// - /// All concrete types. - public Type[] AllConcreteTypes { get; protected set; } - - /// - /// The disposable parts - /// - protected readonly List DisposableParts = new List(); - - /// - /// Gets a value indicating whether this instance is first run. - /// - /// true if this instance is first run; otherwise, false. - public bool IsFirstRun { get; private set; } - - /// - /// Gets the kernel. - /// - /// The kernel. - protected ITaskManager TaskManager { get; private set; } - /// - /// Gets the HTTP client. - /// - /// The HTTP client. - public IHttpClient HttpClient { get; private set; } - /// - /// Gets the network manager. - /// - /// The network manager. - protected INetworkManager NetworkManager { get; private set; } - - /// - /// Gets the configuration manager. - /// - /// The configuration manager. - 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; } - - /// - /// Gets the name. - /// - /// The name. - 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; } - } - - /// - /// The container - /// - protected readonly SimpleInjector.Container Container = new SimpleInjector.Container(); - - protected ISystemEvents SystemEvents { get; private set; } - protected IMemoryStreamFactory MemoryStreamFactory { get; private set; } - - /// - /// Initializes a new instance of the class. - /// - 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(); - - ApplicationPaths = applicationPaths; - LogManager = logManager; - FileSystemManager = fileSystem; - - ConfigurationManager = GetConfigurationManager(); - - // Initialize this early in case the -v command line option is used - Logger = LogManager.GetLogger("App"); - } - - /// - /// Inits this instance. - /// - /// Task. - public virtual async Task Init(IProgress 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(); - 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); - } - } - - /// - /// Installs the iso mounters. - /// - /// The cancellation token. - /// Task. - private async Task InstallIsoMounters(CancellationToken cancellationToken) - { - var list = new List(); - - foreach (var isoMounter in GetExports()) - { - 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); - } - - /// - /// Runs the startup tasks. - /// - /// Task. - public virtual Task RunStartupTasks() - { - Resolve().AddTasks(GetExports(false)); - - ConfigureAutorun(); - - ConfigurationManager.ConfigurationUpdated += OnConfigurationUpdated; - - return Task.FromResult(true); - } - - /// - /// Configures the autorun. - /// - private void ConfigureAutorun() - { - try - { - ConfigureAutoRunAtStartup(ConfigurationManager.CommonConfiguration.RunAtStartup); - } - catch (Exception ex) - { - Logger.ErrorException("Error configuring autorun", ex); - } - } - - /// - /// Gets the composable part assemblies. - /// - /// IEnumerable{Assembly}. - protected abstract IEnumerable GetComposablePartAssemblies(); - - /// - /// Gets the configuration manager. - /// - /// IConfigurationManager. - protected abstract IConfigurationManager GetConfigurationManager(); - - /// - /// Finds the parts. - /// - protected virtual void FindParts() - { - ConfigurationManager.AddParts(GetExports()); - Plugins = GetExports().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; - } - - /// - /// Discovers the types. - /// - 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(); - } - - /// - /// Registers resources that classes will depend on - /// - /// Task. - protected virtual Task RegisterResources(IProgress progress) - { - RegisterSingleInstance(ConfigurationManager); - RegisterSingleInstance(this); - - RegisterSingleInstance(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(arr, (c => (char.IsLetterOrDigit(c) - || char.IsWhiteSpace(c)))); - - var result = new string(arr); - - if (string.IsNullOrWhiteSpace(result)) - { - result = "Emby"; - } - - return result; - } - - /// - /// 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 - /// - /// The assembly. - /// IEnumerable{Type}. - /// assembly - protected List GetTypes(Assembly assembly) - { - if (assembly == null) - { - return new List(); - } - - 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(); - } - } - - /// - /// Creates an instance of type and resolves all constructor dependancies - /// - /// The type. - /// System.Object. - public object CreateInstance(Type type) - { - try - { - return Container.GetInstance(type); - } - catch (Exception ex) - { - Logger.ErrorException("Error creating {0}", ex, type.FullName); - - throw; - } - } - - /// - /// Creates the instance safe. - /// - /// The type. - /// System.Object. - 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; - } - } - - /// - /// Registers the specified obj. - /// - /// - /// The obj. - /// if set to true [manage lifetime]. - protected void RegisterSingleInstance(T obj, bool manageLifetime = true) - where T : class - { - Container.RegisterSingleton(obj); - - if (manageLifetime) - { - var disposable = obj as IDisposable; - - if (disposable != null) - { - DisposableParts.Add(disposable); - } - } - } - - /// - /// Registers the single instance. - /// - /// - /// The func. - protected void RegisterSingleInstance(Func func) - where T : class - { - Container.RegisterSingleton(func); - } - - /// - /// Resolves this instance. - /// - /// - /// ``0. - public T Resolve() - { - return (T)Container.GetRegistration(typeof(T), true).GetInstance(); - } - - /// - /// Resolves this instance. - /// - /// - /// ``0. - public T TryResolve() - { - var result = Container.GetRegistration(typeof(T), false); - - if (result == null) - { - return default(T); - } - return (T)result.GetInstance(); - } - - /// - /// Loads the assembly. - /// - /// The file. - /// Assembly. - 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; - } - } - - /// - /// Gets the export types. - /// - /// - /// IEnumerable{Type}. - public IEnumerable GetExportTypes() - { - var currentType = typeof(T); - - return AllConcreteTypes.Where(currentType.IsAssignableFrom); - } - - /// - /// Gets the exports. - /// - /// - /// if set to true [manage liftime]. - /// IEnumerable{``0}. - public IEnumerable GetExports(bool manageLiftime = true) - { - var parts = GetExportTypes() - .Select(CreateInstanceSafe) - .Where(i => i != null) - .Cast() - .ToList(); - - if (manageLiftime) - { - lock (DisposableParts) - { - DisposableParts.AddRange(parts.OfType()); - } - } - - return parts; - } - - /// - /// Gets the application version. - /// - /// The application version. - public abstract Version ApplicationVersion { get; } - - /// - /// Handles the ConfigurationUpdated event of the ConfigurationManager control. - /// - /// The source of the event. - /// The instance containing the event data. - /// - protected virtual void OnConfigurationUpdated(object sender, EventArgs e) - { - ConfigureAutorun(); - } - - protected abstract void ConfigureAutoRunAtStartup(bool autorun); - - /// - /// Removes the plugin. - /// - /// The plugin. - public void RemovePlugin(IPlugin plugin) - { - var list = Plugins.ToList(); - list.Remove(plugin); - Plugins = list.ToArray(); - } - - /// - /// Gets a value indicating whether this instance can self restart. - /// - /// true if this instance can self restart; otherwise, false. - public abstract bool CanSelfRestart { get; } - - /// - /// Notifies that the kernel that a change has been made that requires a restart - /// - public void NotifyPendingRestart() - { - Logger.Info("App needs to be restarted."); - - var changed = !HasPendingRestart; - - HasPendingRestart = true; - - if (changed) - { - EventHelper.QueueEventIfNotNull(HasPendingRestartChanged, this, EventArgs.Empty, Logger); - } - } - - /// - /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - /// - public void Dispose() - { - Dispose(true); - } - - /// - /// Releases unmanaged and - optionally - managed resources. - /// - /// true to release both managed and unmanaged resources; false to release only unmanaged resources. - 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); - } - } - } - } - - /// - /// Restarts this instance. - /// - public abstract Task Restart(); - - /// - /// Gets or sets a value indicating whether this instance can self update. - /// - /// true if this instance can self update; otherwise, false. - public virtual bool CanSelfUpdate - { - get - { - return false; - } - } - - /// - /// Checks for update. - /// - /// The cancellation token. - /// The progress. - /// Task{CheckForUpdateResult}. - public abstract Task CheckForApplicationUpdate(CancellationToken cancellationToken, - IProgress progress); - - /// - /// Updates the application. - /// - /// The package that contains the update - /// The cancellation token. - /// The progress. - /// Task. - public abstract Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, - IProgress progress); - - /// - /// Shuts down. - /// - public abstract Task Shutdown(); - - /// - /// Called when [application updated]. - /// - /// The package. - protected void OnApplicationUpdated(PackageVersionInfo package) - { - Logger.Info("Application has been updated to version {0}", package.versionStr); - - EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs - { - 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 cbd077e199..0000000000 --- a/Emby.Common.Implementations/Emby.Common.Implementations.csproj +++ /dev/null @@ -1,452 +0,0 @@ - - - - - Debug - AnyCPU - {1E37A338-9F57-4B70-BD6D-BB9C591E319B} - Library - Properties - Emby.Common.Implementations - Emby.Common.Implementations - v4.6 - 512 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\NLog.4.4.12\lib\net45\NLog.dll - - - ..\packages\ServiceStack.Text.4.5.8\lib\net45\ServiceStack.Text.dll - True - - - ..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll - True - - - ..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll - - - - - - - - - - - - - Properties\SharedVersion.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {9142eefa-7570-41e1-bfcc-468bb571af2f} - MediaBrowser.Common - - - {7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b} - MediaBrowser.Model - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 787f18997c..0000000000 --- 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 eb8fd586ef..0000000000 --- a/Emby.Common.Implementations/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Emby.Dlna/Didl/DidlBuilder.cs b/Emby.Dlna/Didl/DidlBuilder.cs index 71a0493948..64e76276cf 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 16108522c3..a6facab7d7 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/Emby.Drawing.csproj b/Emby.Drawing/Emby.Drawing.csproj index 90418f6317..c5dd671a85 100644 --- a/Emby.Drawing/Emby.Drawing.csproj +++ b/Emby.Drawing/Emby.Drawing.csproj @@ -32,11 +32,6 @@ prompt 4 - - - ..\ThirdParty\taglib\TagLib.Portable.dll - - Properties\SharedVersion.cs diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index 69a190fcb1..318f7d9121 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,28 @@ 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.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,8 +133,124 @@ namespace Emby.Server.Implementations /// /// Class CompositionRoot /// - public abstract class ApplicationHost : BaseApplicationHost, IServerApplicationHost, IDependencyContainer + public abstract class ApplicationHost : IServerApplicationHost, IDependencyContainer { + /// + /// Gets a value indicating whether this instance can self restart. + /// + /// true if this instance can self restart; otherwise, false. + public abstract bool CanSelfRestart { get; } + + /// + /// Gets or sets a value indicating whether this instance can self update. + /// + /// true if this instance can self update; otherwise, false. + public virtual bool CanSelfUpdate + { + get + { + return false; + } + } + + /// + /// Occurs when [has pending restart changed]. + /// + public event EventHandler HasPendingRestartChanged; + + /// + /// Occurs when [application updated]. + /// + public event EventHandler> ApplicationUpdated; + + /// + /// Gets or sets a value indicating whether this instance has changes that require the entire application to restart. + /// + /// true if this instance has pending application restart; otherwise, false. + public bool HasPendingRestart { get; private set; } + + /// + /// Gets or sets the logger. + /// + /// The logger. + protected ILogger Logger { get; set; } + + /// + /// Gets or sets the plugins. + /// + /// The plugins. + public IPlugin[] Plugins { get; protected set; } + + /// + /// Gets or sets the log manager. + /// + /// The log manager. + public ILogManager LogManager { get; protected set; } + + /// + /// Gets the application paths. + /// + /// The application paths. + protected ServerApplicationPaths ApplicationPaths { get; set; } + + /// + /// Gets assemblies that failed to load + /// + /// The failed assemblies. + public List FailedAssemblies { get; protected set; } + + /// + /// Gets all concrete types. + /// + /// All concrete types. + public Type[] AllConcreteTypes { get; protected set; } + + /// + /// The disposable parts + /// + protected readonly List DisposableParts = new List(); + + /// + /// Gets a value indicating whether this instance is first run. + /// + /// true if this instance is first run; otherwise, false. + public bool IsFirstRun { get; private set; } + + /// + /// Gets the configuration manager. + /// + /// The configuration manager. + 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; } + } + + /// + /// The container + /// + protected readonly SimpleInjector.Container Container = new SimpleInjector.Container(); + + protected ISystemEvents SystemEvents { get; set; } + protected IMemoryStreamFactory MemoryStreamFactory { get; set; } + /// /// Gets the server configuration manager. /// @@ -138,7 +264,7 @@ namespace Emby.Server.Implementations /// Gets the configuration manager. /// /// IConfigurationManager. - protected override IConfigurationManager GetConfigurationManager() + protected IConfigurationManager GetConfigurationManager() { return new ServerConfigurationManager(ApplicationPaths, LogManager, XmlSerializer, FileSystemManager); } @@ -244,6 +370,17 @@ namespace Emby.Server.Implementations private readonly Action _certificateGenerator; private readonly Func _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; } /// /// Initializes a new instance of the class. @@ -261,14 +398,28 @@ namespace Emby.Server.Implementations INetworkManager networkManager, Action certificateGenerator, Func defaultUsernameFactory) - : base(applicationPaths, - logManager, - fileSystem, - environmentInfo, - systemEvents, - memoryStreamFactory, - 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 = memoryStreamFactory; + + FailedAssemblies = new List(); + + 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; @@ -292,7 +443,7 @@ namespace Emby.Server.Implementations /// Gets the current application version /// /// The application version. - public override Version ApplicationVersion + public Version ApplicationVersion { get { @@ -308,11 +459,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; + } + } + /// /// Gets the name. /// /// The name. - public override string Name + public string Name { get { @@ -341,6 +506,159 @@ namespace Emby.Server.Implementations } } + /// + /// Creates an instance of type and resolves all constructor dependancies + /// + /// The type. + /// System.Object. + public object CreateInstance(Type type) + { + try + { + return Container.GetInstance(type); + } + catch (Exception ex) + { + Logger.ErrorException("Error creating {0}", ex, type.FullName); + + throw; + } + } + + /// + /// Creates the instance safe. + /// + /// The type. + /// System.Object. + 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; + } + } + + /// + /// Registers the specified obj. + /// + /// + /// The obj. + /// if set to true [manage lifetime]. + protected void RegisterSingleInstance(T obj, bool manageLifetime = true) + where T : class + { + Container.RegisterSingleton(obj); + + if (manageLifetime) + { + var disposable = obj as IDisposable; + + if (disposable != null) + { + DisposableParts.Add(disposable); + } + } + } + + /// + /// Registers the single instance. + /// + /// + /// The func. + protected void RegisterSingleInstance(Func func) + where T : class + { + Container.RegisterSingleton(func); + } + + /// + /// Resolves this instance. + /// + /// + /// ``0. + public T Resolve() + { + return (T)Container.GetRegistration(typeof(T), true).GetInstance(); + } + + /// + /// Resolves this instance. + /// + /// + /// ``0. + public T TryResolve() + { + var result = Container.GetRegistration(typeof(T), false); + + if (result == null) + { + return default(T); + } + return (T)result.GetInstance(); + } + + /// + /// Loads the assembly. + /// + /// The file. + /// Assembly. + 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; + } + } + + /// + /// Gets the export types. + /// + /// + /// IEnumerable{Type}. + public IEnumerable GetExportTypes() + { + var currentType = typeof(T); + + return AllConcreteTypes.Where(currentType.IsAssignableFrom); + } + + /// + /// Gets the exports. + /// + /// + /// if set to true [manage liftime]. + /// IEnumerable{``0}. + public IEnumerable GetExports(bool manageLiftime = true) + { + var parts = GetExportTypes() + .Select(CreateInstanceSafe) + .Where(i => i != null) + .Cast() + .ToList(); + + if (manageLiftime) + { + lock (DisposableParts) + { + DisposableParts.AddRange(parts.OfType()); + } + } + + return parts; + } + private void SetBaseExceptionMessage() { var builder = GetBaseExceptionMessage(ApplicationPaths); @@ -354,9 +672,13 @@ namespace Emby.Server.Implementations /// /// Runs the startup tasks. /// - public override async Task RunStartupTasks() + public async Task RunStartupTasks() { - await base.RunStartupTasks().ConfigureAwait(false); + Resolve().AddTasks(GetExports(false)); + + ConfigureAutorun(); + + ConfigurationManager.ConfigurationUpdated += OnConfigurationUpdated; await MediaEncoder.Init().ConfigureAwait(false); @@ -395,7 +717,22 @@ namespace Emby.Server.Implementations LogManager.RemoveConsoleOutput(); } - protected override IJsonSerializer CreateJsonSerializer() + /// + /// Configures the autorun. + /// + private void ConfigureAutorun() + { + try + { + ConfigureAutoRunAtStartup(ConfigurationManager.CommonConfiguration.RunAtStartup); + } + catch (Exception ex) + { + Logger.ErrorException("Error configuring autorun", ex); + } + } + + private IJsonSerializer CreateJsonSerializer() { try { @@ -410,7 +747,7 @@ namespace Emby.Server.Implementations return new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer")); } - public override Task Init(IProgress progress) + public async Task Init(IProgress progress) { HttpPort = ServerConfigurationManager.Configuration.HttpServerPortNumber; HttpsPort = ServerConfigurationManager.Configuration.HttpsPortNumber; @@ -422,7 +759,64 @@ 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(); + 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); + } } protected abstract IConnectManager CreateConnectManager(); @@ -431,9 +825,47 @@ namespace Emby.Server.Implementations /// /// Registers resources that classes will depend on /// - protected override async Task RegisterResources(IProgress progress) + protected async Task RegisterResources(IProgress progress) { - await base.RegisterResources(progress).ConfigureAwait(false); + RegisterSingleInstance(ConfigurationManager); + RegisterSingleInstance(this); + + RegisterSingleInstance(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); @@ -460,7 +892,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(() => new BdInfoExaminer(FileSystemManager, textEncoding)); @@ -627,6 +1059,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); + } + } + + /// + /// Installs the iso mounters. + /// + /// The cancellation token. + /// Task. + private async Task InstallIsoMounters(CancellationToken cancellationToken) + { + var list = new List(); + + foreach (var isoMounter in GetExports()) + { + 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(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 @@ -889,7 +1421,7 @@ namespace Emby.Server.Implementations /// /// Finds the parts. /// - protected override void FindParts() + protected void FindParts() { if (!ServerConfigurationManager.Configuration.IsPortAuthorized) { @@ -900,7 +1432,8 @@ namespace Emby.Server.Implementations RegisterModules(); - base.FindParts(); + ConfigurationManager.AddParts(GetExports()); + Plugins = GetExports().Select(LoadPlugin).Where(i => i != null).ToArray(); HttpServer.Init(GetExports(false)); @@ -937,6 +1470,104 @@ namespace Emby.Server.Implementations SyncManager.AddParts(GetExports()); } + 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; + } + + /// + /// Discovers the types. + /// + 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(); + } + + /// + /// 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 + /// + /// The assembly. + /// IEnumerable{Type}. + /// assembly + protected List GetTypes(Assembly assembly) + { + if (assembly == null) + { + return new List(); + } + + 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(); + } + } + private CertificateInfo CertificateInfo { get; set; } private ICertificate Certificate { get; set; } @@ -1043,9 +1674,9 @@ namespace Emby.Server.Implementations /// /// The sender. /// The instance containing the event data. - protected override void OnConfigurationUpdated(object sender, EventArgs e) + protected void OnConfigurationUpdated(object sender, EventArgs e) { - base.OnConfigurationUpdated(sender, e); + ConfigureAutorun(); var requiresRestart = false; @@ -1088,10 +1719,27 @@ namespace Emby.Server.Implementations } } + /// + /// Notifies that the kernel that a change has been made that requires a restart + /// + public void NotifyPendingRestart() + { + Logger.Info("App needs to be restarted."); + + var changed = !HasPendingRestart; + + HasPendingRestart = true; + + if (changed) + { + EventHelper.QueueEventIfNotNull(HasPendingRestartChanged, this, EventArgs.Empty, Logger); + } + } + /// /// Restarts this instance. /// - public override async Task Restart() + public async Task Restart() { if (!CanSelfRestart) { @@ -1118,7 +1766,7 @@ namespace Emby.Server.Implementations /// Gets the composable part assemblies. /// /// IEnumerable{Assembly}. - protected override IEnumerable GetComposablePartAssemblies() + protected IEnumerable GetComposablePartAssemblies() { var list = GetPluginAssemblies() .ToList(); @@ -1442,7 +2090,7 @@ namespace Emby.Server.Implementations /// /// Shuts down. /// - public override async Task Shutdown() + public async Task Shutdown() { try { @@ -1503,13 +2151,24 @@ namespace Emby.Server.Implementations } } + /// + /// Removes the plugin. + /// + /// The plugin. + public void RemovePlugin(IPlugin plugin) + { + var list = Plugins.ToList(); + list.Remove(plugin); + Plugins = list.ToArray(); + } + /// /// Checks for update. /// /// The cancellation token. /// The progress. /// Task{CheckForUpdateResult}. - public override async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) + public async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) { var cacheLength = TimeSpan.FromHours(1); var updateLevel = SystemUpdateLevel; @@ -1533,7 +2192,7 @@ namespace Emby.Server.Implementations /// The package that contains the update /// The cancellation token. /// The progress. - public override async Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress progress) + public async Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress progress) { await InstallationManager.InstallPackage(package, false, progress, cancellationToken).ConfigureAwait(false); @@ -1546,7 +2205,7 @@ namespace Emby.Server.Implementations /// Configures the automatic run at startup. /// /// if set to true [autorun]. - protected override void ConfigureAutoRunAtStartup(bool autorun) + protected void ConfigureAutoRunAtStartup(bool autorun) { if (SupportsAutoRunAtStartup) { @@ -1641,6 +2300,62 @@ namespace Emby.Server.Implementations } } + /// + /// Called when [application updated]. + /// + /// The package. + protected void OnApplicationUpdated(PackageVersionInfo package) + { + Logger.Info("Application has been updated to version {0}", package.versionStr); + + EventHelper.FireEventIfNotNull(ApplicationUpdated, this, new GenericEventArgs + { + Argument = package + + }, Logger); + + NotifyPendingRestart(); + } + + /// + /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + /// + public void Dispose() + { + Dispose(true); + } + + /// + /// Releases unmanaged and - optionally - managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + 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 obj, bool manageLifetime) { RegisterSingleInstance(obj, manageLifetime); diff --git a/Emby.Common.Implementations/Archiving/ZipClient.cs b/Emby.Server.Implementations/Archiving/ZipClient.cs similarity index 98% rename from Emby.Common.Implementations/Archiving/ZipClient.cs rename to Emby.Server.Implementations/Archiving/ZipClient.cs index 791c6678cd..3218d56c63 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 { /// /// Class DotNetZipClient diff --git a/Emby.Common.Implementations/Cryptography/CryptographyProvider.cs b/Emby.Server.Implementations/Cryptography/CryptographyProvider.cs similarity index 94% rename from Emby.Common.Implementations/Cryptography/CryptographyProvider.cs rename to Emby.Server.Implementations/Cryptography/CryptographyProvider.cs index 01a31bcc03..6402da0c99 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.Common.Implementations/Devices/DeviceId.cs b/Emby.Server.Implementations/Devices/DeviceId.cs similarity index 98% rename from Emby.Common.Implementations/Devices/DeviceId.cs rename to Emby.Server.Implementations/Devices/DeviceId.cs index 1de76456cc..5e0323ddb4 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 similarity index 96% rename from Emby.Common.Implementations/Diagnostics/CommonProcess.cs rename to Emby.Server.Implementations/Diagnostics/CommonProcess.cs index afd30bc47f..09b8bf22cd 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 similarity index 82% rename from Emby.Common.Implementations/Diagnostics/ProcessFactory.cs rename to Emby.Server.Implementations/Diagnostics/ProcessFactory.cs index 292da023c7..a2c511cb97 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 38f51919a8..891d9cfc43 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -44,6 +44,7 @@ + @@ -61,6 +62,7 @@ + @@ -81,8 +83,11 @@ + + + @@ -98,9 +103,12 @@ + + + @@ -123,9 +131,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -198,9 +434,17 @@ + + + + + + + + @@ -219,16 +463,29 @@ + + + + + + + + + + + + + @@ -277,21 +534,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - {1e37a338-9f57-4b70-bd6d-bb9c591e319b} - Emby.Common.Implementations - {805844ab-e92f-45e6-9d99-4f6d48d129a5} Emby.Dlna @@ -366,10 +674,16 @@ ..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.2\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll + + ..\packages\NLog.4.4.12\lib\net45\NLog.dll + ..\packages\ServiceStack.Text.4.5.8\lib\net45\ServiceStack.Text.dll True + + ..\packages\SharpCompress.0.14.0\lib\net45\SharpCompress.dll + ..\packages\SimpleInjector.4.0.8\lib\net45\SimpleInjector.dll @@ -436,6 +750,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs similarity index 93% rename from Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs rename to Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs index 89aa787b56..0999fa1418 100644 --- a/Emby.Common.Implementations/EnvironmentInfo/EnvironmentInfo.cs +++ b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs @@ -1,12 +1,8 @@ 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 { diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientInfo.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientInfo.cs similarity index 84% rename from Emby.Common.Implementations/HttpClientManager/HttpClientInfo.cs rename to Emby.Server.Implementations/HttpClientManager/HttpClientInfo.cs index ca481b33e7..6d17bf94de 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 { /// /// Class HttpClientInfo diff --git a/Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs b/Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs similarity index 99% rename from Emby.Common.Implementations/HttpClientManager/HttpClientManager.cs rename to Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs index 700d04c4d3..1017953ba7 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 { /// /// Class HttpClientManager diff --git a/Emby.Server.Implementations/HttpServerFactory.cs b/Emby.Server.Implementations/HttpServerFactory.cs index b1d78e6f42..007f5c8293 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.Common.Implementations/IO/IsoManager.cs b/Emby.Server.Implementations/IO/IsoManager.cs similarity index 98% rename from Emby.Common.Implementations/IO/IsoManager.cs rename to Emby.Server.Implementations/IO/IsoManager.cs index 14614acaf8..903d5f301f 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 { /// /// Class IsoManager diff --git a/Emby.Common.Implementations/IO/LnkShortcutHandler.cs b/Emby.Server.Implementations/IO/LnkShortcutHandler.cs similarity index 99% rename from Emby.Common.Implementations/IO/LnkShortcutHandler.cs rename to Emby.Server.Implementations/IO/LnkShortcutHandler.cs index 5d5f460574..093d57aa45 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 similarity index 99% rename from Emby.Common.Implementations/IO/ManagedFileSystem.cs rename to Emby.Server.Implementations/IO/ManagedFileSystem.cs index 7d14e521f3..0d85a977c5 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 { /// /// Class ManagedFileSystem diff --git a/Emby.Common.Implementations/IO/ProgressStream.cs b/Emby.Server.Implementations/IO/ProgressStream.cs similarity index 99% rename from Emby.Common.Implementations/IO/ProgressStream.cs rename to Emby.Server.Implementations/IO/ProgressStream.cs index fb8cf86dfc..be1ff72f8e 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 { /// /// 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Config.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBind.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcBinding.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcConstants.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcError.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcMessage.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcPipeHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/DcerpcSecurityProvider.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsaPolicyHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/LsarSidArrayX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Lsarpc.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcDfsRootEnum.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcEnumerateAliasesInDomain.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcGetMembersInAlias.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLookupSids.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcLsarOpenPolicy2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcQueryInformationPolicy.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrConnect4.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenAlias.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcSamrOpenDomain.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareEnum.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/MsrpcShareGetInfo.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Netdfs.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Samr.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrAliasHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrDomainHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/SamrPolicyHandle.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Msrpc/Srvsvc.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrBuffer.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrHyper.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrLong.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrObject.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrShort.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Ndr/NdrSmall.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/Rpc.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UUID.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Dcerpc/UnicodeString.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/Lmhosts.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/Name.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryRequest.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameQueryResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServiceClient.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NameServicePacket.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtAddress.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NbtException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusRequest.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/NodeStatusResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRequestPacket.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionRetargetResponsePacket.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Netbios/SessionServicePacket.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmFlags.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/NtlmMessage.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type1Message.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type2Message.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Ntlmssp/Type3Message.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/ACE.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/AllocInfo.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/AndXServerMessageBlock.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/BufferCache.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Dfs.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/DfsReferral.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/DosError.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/DosFileFilter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/FileEntry.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/IInfo.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NetServerEnum2Response.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnum.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NetShareEnumResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtStatus.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDesc.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtTransQuerySecurityDescResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmChallenge.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmContext.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmPasswordAuthentication.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Principal.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SID.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SecurityDescriptor.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/ServerMessageBlock.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SigningDigest.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbAuthException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComBlankResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComClose.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComCreateDirectory.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDelete.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComDeleteDirectory.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComFindClose2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComLogoffAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiate.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNegotiateResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransaction.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNtTransactionResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComOpenAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformation.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComQueryInformationResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComReadAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComRename.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComSessionSetupAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransaction.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTransactionResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeConnectAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComTreeDisconnect.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWrite.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndX.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteAndXResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComWriteResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbConstants.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFile.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileExtensions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileFilter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFileOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbFilenameFilter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbNamedPipe.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbRandomAccessFile.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbSession.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbShareInfo.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTransport.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/SmbTree.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindFirst2Response.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2FindNext2.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferral.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2GetDfsReferralResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformation.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryFSInformationResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformation.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2QueryPathInformationResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformation.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/Trans2SetFileInformationResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipe.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransCallNamedPipeResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipe.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransPeekNamedPipeResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipe.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransTransactNamedPipeResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipe.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransWaitNamedPipeResponse.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/TransactNamedPipeOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Smb/WinError.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/UniAddress.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Base64.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/DES.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Encdec.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/HMACT64.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Hexdump.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/LogStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/MD4.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/RC4.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/AbstractMap.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Arrays.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedReader.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/BufferedWriter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharBuffer.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/CharSequence.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Collections.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ConcurrentHashMap.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/DateFormat.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/EnumeratorWrapper.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Exceptions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Extensions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileReader.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FileWriter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/FilterOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Hashtable.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/HttpURLConnection.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ICallable.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IConcurrentMap.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IExecutor.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFilenameFilter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IFuture.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IPrivilegedAction.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/IRunnable.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/InputStreamReader.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Iterator.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/LinkageError.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MD5Managed.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Matcher.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/NetworkStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ObjectOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/OutputStreamWriter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedInputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PipedOutputStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/PrintWriter.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Properties.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/RandomAccessFile.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ReentrantLock.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Reference.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Runtime.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SimpleDateFormat.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SocketEx.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/StringTokenizer.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/SynchronizedList.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/Thread.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadFactory.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/ThreadPoolExecutor.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Sharpen/WrappedSystemStream.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Request.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Response.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/Transport.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/IO/SharpCifs/Util/Transport/TransportException.cs rename to 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 similarity index 99% rename from Emby.Common.Implementations/IO/SharpCifsFileSystem.cs rename to Emby.Server.Implementations/IO/SharpCifsFileSystem.cs index 64cac76230..1d21796b1a 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.Common.Implementations/Logging/NLogger.cs b/Emby.Server.Implementations/Logging/NLogger.cs similarity index 98% rename from Emby.Common.Implementations/Logging/NLogger.cs rename to Emby.Server.Implementations/Logging/NLogger.cs index 8abd3d0d92..c380a640f3 100644 --- a/Emby.Common.Implementations/Logging/NLogger.cs +++ b/Emby.Server.Implementations/Logging/NLogger.cs @@ -1,8 +1,8 @@ -using MediaBrowser.Model.Logging; -using System; +using System; using System.Text; +using MediaBrowser.Model.Logging; -namespace Emby.Common.Implementations.Logging +namespace Emby.Server.Implementations.Logging { /// /// Class NLogger diff --git a/Emby.Common.Implementations/Logging/NlogManager.cs b/Emby.Server.Implementations/Logging/NlogManager.cs similarity index 99% rename from Emby.Common.Implementations/Logging/NlogManager.cs rename to Emby.Server.Implementations/Logging/NlogManager.cs index 4446e2cdb9..77f8d02970 100644 --- a/Emby.Common.Implementations/Logging/NlogManager.cs +++ b/Emby.Server.Implementations/Logging/NlogManager.cs @@ -1,15 +1,14 @@ using System; using System.IO; using System.Linq; -using System.Xml; +using MediaBrowser.Model.Logging; using NLog; using NLog.Config; using NLog.Filters; using NLog.Targets; using NLog.Targets.Wrappers; -using MediaBrowser.Model.Logging; -namespace Emby.Common.Implementations.Logging +namespace Emby.Server.Implementations.Logging { /// /// Class NlogManager diff --git a/Emby.Common.Implementations/Net/DisposableManagedObjectBase.cs b/Emby.Server.Implementations/Net/DisposableManagedObjectBase.cs similarity index 94% rename from Emby.Common.Implementations/Net/DisposableManagedObjectBase.cs rename to Emby.Server.Implementations/Net/DisposableManagedObjectBase.cs index 8476cea326..b18335da77 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 { /// /// Correclty implements the interface and pattern for an object containing only managed resources, and adds a few common niceities not on the interface such as an property. diff --git a/Emby.Common.Implementations/Net/NetAcceptSocket.cs b/Emby.Server.Implementations/Net/NetAcceptSocket.cs similarity index 98% rename from Emby.Common.Implementations/Net/NetAcceptSocket.cs rename to Emby.Server.Implementations/Net/NetAcceptSocket.cs index 5e831ac7ab..936a66c0b0 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 similarity index 98% rename from Emby.Common.Implementations/Net/SocketAcceptor.cs rename to Emby.Server.Implementations/Net/SocketAcceptor.cs index 11a8e53815..288ba93adb 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 similarity index 98% rename from Emby.Common.Implementations/Net/SocketFactory.cs rename to Emby.Server.Implementations/Net/SocketFactory.cs index 0a1232a400..ab3bd0b315 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 { diff --git a/Emby.Common.Implementations/Net/UdpSocket.cs b/Emby.Server.Implementations/Net/UdpSocket.cs similarity index 98% rename from Emby.Common.Implementations/Net/UdpSocket.cs rename to Emby.Server.Implementations/Net/UdpSocket.cs index 542d16d24e..58e4d6f89b 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 similarity index 99% rename from Emby.Common.Implementations/Networking/NetworkManager.cs rename to Emby.Server.Implementations/Networking/NetworkManager.cs index 354107bb7a..b47c058dff 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.Model.Extensions; -using MediaBrowser.Model.Net; -using MediaBrowser.Model.IO; using MediaBrowser.Common.Net; +using MediaBrowser.Model.Extensions; +using MediaBrowser.Model.IO; +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/Emby.Common.Implementations/Reflection/AssemblyInfo.cs b/Emby.Server.Implementations/Reflection/AssemblyInfo.cs similarity index 92% rename from Emby.Common.Implementations/Reflection/AssemblyInfo.cs rename to Emby.Server.Implementations/Reflection/AssemblyInfo.cs index 87821bf7ab..c3ce97d40e 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 similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/DailyTrigger.cs rename to Emby.Server.Implementations/ScheduledTasks/DailyTrigger.cs index 5735f80260..1ba5d4329c 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 { /// /// Represents a task trigger that fires everyday diff --git a/Emby.Common.Implementations/ScheduledTasks/IntervalTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/IntervalTrigger.cs rename to Emby.Server.Implementations/ScheduledTasks/IntervalTrigger.cs index 4d2769d8fb..d09765e34d 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 { /// /// 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 similarity index 99% rename from Emby.Common.Implementations/ScheduledTasks/ScheduledTaskWorker.cs rename to Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index dd840677a3..d7d048110e 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 { /// /// Class ScheduledTaskWorker diff --git a/Emby.Common.Implementations/ScheduledTasks/StartupTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs similarity index 97% rename from Emby.Common.Implementations/ScheduledTasks/StartupTrigger.cs rename to Emby.Server.Implementations/ScheduledTasks/StartupTrigger.cs index 8aae644bc9..d708c905dc 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 { /// /// Class StartupTaskTrigger diff --git a/Emby.Common.Implementations/ScheduledTasks/SystemEventTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/SystemEventTrigger.cs rename to Emby.Server.Implementations/ScheduledTasks/SystemEventTrigger.cs index a136a975ae..976754a40e 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 { /// /// Class SystemEventTrigger diff --git a/Emby.Common.Implementations/ScheduledTasks/TaskManager.cs b/Emby.Server.Implementations/ScheduledTasks/TaskManager.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/TaskManager.cs rename to Emby.Server.Implementations/ScheduledTasks/TaskManager.cs index b0153c5882..5f9bf37316 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 { /// /// Class TaskManager diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs similarity index 99% rename from Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs rename to Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs index 1cad2e9b83..701358fd45 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 { /// /// Deletes old cache files diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs rename to Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs index 3f43fa8894..f98b096596 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 { /// /// Deletes old log files diff --git a/Emby.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs rename to Emby.Server.Implementations/ScheduledTasks/Tasks/ReloadLoggerFileTask.cs index 80411de055..032fa05a0e 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 { /// /// Class ReloadLoggerFileTask diff --git a/Emby.Common.Implementations/ScheduledTasks/WeeklyTrigger.cs b/Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs similarity index 98% rename from Emby.Common.Implementations/ScheduledTasks/WeeklyTrigger.cs rename to Emby.Server.Implementations/ScheduledTasks/WeeklyTrigger.cs index 91540ba164..1a944ebf2c 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 { /// /// 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 similarity index 100% rename from Emby.Common.Implementations/Serialization/JsonSerializer.cs rename to Emby.Server.Implementations/Serialization/JsonSerializer.cs diff --git a/Emby.Common.Implementations/Serialization/XmlSerializer.cs b/Emby.Server.Implementations/Serialization/XmlSerializer.cs similarity index 96% rename from Emby.Common.Implementations/Serialization/XmlSerializer.cs rename to Emby.Server.Implementations/Serialization/XmlSerializer.cs index b5896e6b0e..e0603a01ff 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 { /// /// Provides a wrapper around third party xml serialization. diff --git a/Emby.Common.Implementations/TextEncoding/NLangDetect/Detector.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/Detector.cs similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Detector.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/ErrorCode.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/CharExtensions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/RandomExtensions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/StringExtensions.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Extensions/UnicodeBlock.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/GenProfile.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/InternalException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Language.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/LanguageDetector.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/NLangDetectException.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/ProbVector.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/afr rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ara rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ben rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/bul rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ces rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/dan rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/deu rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ell rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/eng rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/est rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fas rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fin rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/fra rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/guj rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/heb rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hin rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hrv rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/hun rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ind rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ita rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/jpn rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kan rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/kor rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lav rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/lit rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mal rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mar rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/mkd rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nep rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nld rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/nor rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pan rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/pol rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/por rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ron rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/rus rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slk rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/slv rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/som rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/spa rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/sqi rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swa rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/swe rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tam rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tel rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tgl rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tha rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/tur rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/ukr rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/urd rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/vie rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-cn rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Profiles/zh-tw rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/LangProfile.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/Messages.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/NGram.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/TagExtractor.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/NLangDetect/Utils/messages.properties rename to Emby.Server.Implementations/TextEncoding/NLangDetect/Utils/messages.properties diff --git a/Emby.Common.Implementations/TextEncoding/TextEncoding.cs b/Emby.Server.Implementations/TextEncoding/TextEncoding.cs similarity index 98% rename from Emby.Common.Implementations/TextEncoding/TextEncoding.cs rename to Emby.Server.Implementations/TextEncoding/TextEncoding.cs index 54c47d62c1..1496d6f0f5 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 similarity index 98% rename from Emby.Common.Implementations/TextEncoding/TextEncodingDetect.cs rename to Emby.Server.Implementations/TextEncoding/TextEncodingDetect.cs index 1018dd24c1..a0395a21b9 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 // diff --git a/Emby.Common.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs b/Emby.Server.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/CharsetDetector.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Big5Prober.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/BitPackage.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharDistributionAnalyser.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CharsetProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Charsets.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/CodingStateMachine.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCJPProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCKRProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EUCTWProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscCharsetProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/EscSM.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/GB18030Prober.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/HebrewProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/JapaneseContextAnalyser.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangBulgarianModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangCyrillicModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangGreekModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHebrewModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangHungarianModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/LangThaiModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/Latin1Prober.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSGroupProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/MBCSSM.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCSGroupProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SBCharsetProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SJISProber.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SMModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/SequenceModel.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UTF8Prober.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/Core/UniversalDetector.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/DetectionConfidence.cs rename to 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 similarity index 100% rename from Emby.Common.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs rename to Emby.Server.Implementations/TextEncoding/UniversalDetector/ICharsetDetector.cs diff --git a/Emby.Common.Implementations/Threading/CommonTimer.cs b/Emby.Server.Implementations/Threading/CommonTimer.cs similarity index 87% rename from Emby.Common.Implementations/Threading/CommonTimer.cs rename to Emby.Server.Implementations/Threading/CommonTimer.cs index 8895f6798a..9451b07f32 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 similarity index 79% rename from Emby.Common.Implementations/Threading/TimerFactory.cs rename to Emby.Server.Implementations/Threading/TimerFactory.cs index 028dd09639..4ab6f6fc4c 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 similarity index 91% rename from Emby.Common.Implementations/Xml/XmlReaderSettingsFactory.cs rename to Emby.Server.Implementations/Xml/XmlReaderSettingsFactory.cs index 35c266cdb2..0f4e8af3c6 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 3675e1950e..fc28b26539 100644 --- a/Emby.Server.Implementations/packages.config +++ b/Emby.Server.Implementations/packages.config @@ -3,7 +3,9 @@ + + diff --git a/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs b/MediaBrowser.Api/LiveTv/ProgressiveFileCopier.cs index 20466c5f63..9ce109fc40 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/LiveTv/ILiveTvRecording.cs b/MediaBrowser.Controller/LiveTv/ILiveTvRecording.cs index 27ff334ee2..43fc307f48 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.Server.Mono/MediaBrowser.Server.Mono.csproj b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj index 48b4fdb4fb..bb113bf03a 100644 --- a/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj +++ b/MediaBrowser.Server.Mono/MediaBrowser.Server.Mono.csproj @@ -106,10 +106,6 @@ {713f42b5-878e-499d-a878-e4c652b1d5e8} DvdLib - - {1e37a338-9f57-4b70-bd6d-bb9c591e319b} - Emby.Common.Implementations - {805844ab-e92f-45e6-9d99-4f6d48d129a5} Emby.Dlna diff --git a/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs b/MediaBrowser.Server.Mono/Native/MonoFileSystem.cs index 91c064efec..e6b77991cd 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 aa6a58b48b..c50f97fc12 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -11,14 +11,13 @@ 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; diff --git a/MediaBrowser.ServerApplication/MainStartup.cs b/MediaBrowser.ServerApplication/MainStartup.cs index e687b34cf5..7f72473ea5 100644 --- a/MediaBrowser.ServerApplication/MainStartup.cs +++ b/MediaBrowser.ServerApplication/MainStartup.cs @@ -17,15 +17,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; diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index a4138a57da..41015a98b7 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -199,10 +199,6 @@ {713f42b5-878e-499d-a878-e4c652b1d5e8} DvdLib - - {1e37a338-9f57-4b70-bd6d-bb9c591e319b} - Emby.Common.Implementations - {805844ab-e92f-45e6-9d99-4f6d48d129a5} Emby.Dlna diff --git a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs index 6d3d96e19a..8933a5760d 100644 --- a/MediaBrowser.ServerApplication/Networking/NetworkManager.cs +++ b/MediaBrowser.ServerApplication/Networking/NetworkManager.cs @@ -13,7 +13,7 @@ namespace MediaBrowser.ServerApplication.Networking /// /// Class NetUtils /// - 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 7a35c56147..c872d96e2d 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; diff --git a/MediaBrowser.Tests/M3uParserTest.cs b/MediaBrowser.Tests/M3uParserTest.cs index 3320d87947..1b42a38238 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 57a645ce09..8e63ab9c3f 100644 --- a/MediaBrowser.Tests/MediaBrowser.Tests.csproj +++ b/MediaBrowser.Tests/MediaBrowser.Tests.csproj @@ -68,10 +68,6 @@ - - {1e37a338-9f57-4b70-bd6d-bb9c591e319b} - Emby.Common.Implementations - {e383961b-9356-4d5d-8233-9a1079d03055} Emby.Server.Implementations diff --git a/MediaBrowser.sln b/MediaBrowser.sln index 382417bb64..79d6d90b2b 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 @@ -70,8 +70,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 @@ -910,46 +908,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 +952,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3448830C-EBDC-426C-85CD-7BBB9651A7FE} + EndGlobalSection EndGlobal