removed dead files

This commit is contained in:
Luke Pulverenti
2017-05-24 15:53:58 -04:00
parent 180c33567b
commit fbbb50496a
11 changed files with 0 additions and 985 deletions

View File

@@ -1,40 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
namespace Emby.Server
{
public class ApplicationPathHelper
{
public static string GetProgramDataPath(string appDirectory)
{
var useDebugPath = false;
#if DEBUG
useDebugPath = true;
#endif
var programDataPath = useDebugPath ?
"programdata" :
"programdata";
programDataPath = programDataPath
.Replace('/', Path.DirectorySeparatorChar)
.Replace('\\', Path.DirectorySeparatorChar);
// If it's a relative path, e.g. "..\"
if (!Path.IsPathRooted(programDataPath))
{
programDataPath = Path.Combine(appDirectory, programDataPath);
programDataPath = Path.GetFullPath(programDataPath);
}
Directory.CreateDirectory(programDataPath);
return programDataPath;
}
}
}

View File

@@ -1,57 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Emby.Server.Core;
using Emby.Server.Implementations.FFMpeg;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.System;
using Emby.Server.Implementations;
namespace Emby.Server
{
public class CoreAppHost : ApplicationHost
{
public CoreAppHost(ServerApplicationPaths applicationPaths, ILogManager logManager, StartupOptions options, IFileSystem fileSystem, IPowerManagement powerManagement, string releaseAssetFilename, IEnvironmentInfo environmentInfo, MediaBrowser.Controller.Drawing.IImageEncoder imageEncoder, ISystemEvents systemEvents, IMemoryStreamFactory memoryStreamFactory, MediaBrowser.Common.Net.INetworkManager networkManager, Action<string, string> certificateGenerator, Func<string> defaultUsernameFactory)
: base(applicationPaths, logManager, options, fileSystem, powerManagement, releaseAssetFilename, environmentInfo, imageEncoder, systemEvents, memoryStreamFactory, networkManager, certificateGenerator, defaultUsernameFactory)
{
}
protected override void RestartInternal()
{
Program.Restart();
}
protected override void ShutdownInternal()
{
Program.Shutdown();
}
protected override List<Assembly> GetAssembliesWithPartsInternal()
{
var list = new List<Assembly>();
list.Add(GetType().GetTypeInfo().Assembly);
return list;
}
public override bool CanSelfRestart
{
get
{
return Program.CanSelfRestart;
}
}
public override bool CanSelfUpdate
{
get
{
return Program.CanSelfUpdate;
}
}
}
}

View File

@@ -1,13 +0,0 @@
using System;
using MediaBrowser.Model.System;
namespace Emby.Server
{
public class CoreSystemEvents : ISystemEvents
{
public event EventHandler Resume;
public event EventHandler Suspend;
public event EventHandler SessionLogoff;
public event EventHandler SystemShutdown;
}
}

View File

@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.Props" Condition="'$(VSToolsPath)' != ''" />
<PropertyGroup Label="Globals">
<ProjectGuid>ddaff431-0b3d-4857-8762-990a32dc8472</ProjectGuid>
<RootNamespace>Emby.Server</RootNamespace>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">.\obj</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">.\bin\</OutputPath>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<SchemaVersion>2.0</SchemaVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\BDInfo\BDInfo.csproj" />
<ProjectReference Include="..\..\DvdLib\DvdLib.csproj" />
<ProjectReference Include="..\..\Emby.Dlna\Emby.Dlna.csproj" />
<ProjectReference Include="..\..\Emby.Drawing\Emby.Drawing.csproj" />
<ProjectReference Include="..\..\Emby.Photos\Emby.Photos.csproj" />
<ProjectReference Include="..\..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Api\MediaBrowser.Api.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
<ProjectReference Include="..\..\MediaBrowser.LocalMetadata\MediaBrowser.LocalMetadata.csproj" />
<ProjectReference Include="..\..\MediaBrowser.MediaEncoding\MediaBrowser.MediaEncoding.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Providers\MediaBrowser.Providers.csproj" />
<ProjectReference Include="..\..\MediaBrowser.Server.Implementations\MediaBrowser.Server.Implementations.csproj" />
<ProjectReference Include="..\..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj" />
<ProjectReference Include="..\..\MediaBrowser.XbmcMetadata\MediaBrowser.XbmcMetadata.csproj" />
<ProjectReference Include="..\..\OpenSubtitlesHandler\OpenSubtitlesHandler.csproj" />
<ProjectReference Include="..\..\RSSDP\RSSDP.csproj" />
<ProjectReference Include="..\..\SocketHttpListener.Portable\SocketHttpListener.Portable.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\SharedVersion.cs">
<Link>Properties\SharedVersion.cs</Link>
</Compile>
</ItemGroup>
<Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
</Project>

View File

@@ -1,33 +0,0 @@
using System;
using System.IO;
using MediaBrowser.Model.IO;
namespace Emby.Server.IO
{
public class MemoryStreamFactory : IMemoryStreamFactory
{
public MemoryStream CreateNew()
{
return new MemoryStream();
}
public MemoryStream CreateNew(int capacity)
{
return new MemoryStream(capacity);
}
public MemoryStream CreateNew(byte[] buffer)
{
return new MemoryStream(buffer);
}
public bool TryGetBuffer(MemoryStream stream, out byte[] buffer)
{
ArraySegment<byte> arrayBuffer;
stream.TryGetBuffer(out arrayBuffer);
buffer = arrayBuffer.Array;
return true;
}
}
}

View File

@@ -1,15 +0,0 @@
using MediaBrowser.Model.System;
namespace Emby.Server
{
public class PowerManagement : IPowerManagement
{
public void PreventSystemStandby()
{
}
public void AllowSystemStandby()
{
}
}
}

View File

@@ -1,346 +0,0 @@
using MediaBrowser.Model.Logging;
using MediaBrowser.Server.Implementations;
using Microsoft.Win32;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Emby.Common.Implementations.EnvironmentInfo;
using Emby.Common.Implementations.IO;
using Emby.Common.Implementations.Logging;
using Emby.Common.Implementations.Networking;
using Emby.Drawing;
using Emby.Server.Core;
using Emby.Server.Implementations.Browser;
using Emby.Server.Implementations.IO;
using MediaBrowser.Common.Net;
using Emby.Server.IO;
using Emby.Server.Implementations;
namespace Emby.Server
{
public class Program
{
private static ApplicationHost _appHost;
private static ILogger _logger;
private static bool _appHostDisposed;
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool SetDllDirectory(string lpPathName);
/// <summary>
/// Defines the entry point of the application.
/// </summary>
public static void Main(string[] args)
{
var options = new StartupOptions(Environment.GetCommandLineArgs());
var environmentInfo = new EnvironmentInfo();
var baseDirectory = System.AppContext.BaseDirectory;
string archPath = baseDirectory;
if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X64)
{
archPath = Path.Combine(archPath, "x64");
}
else if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X86)
{
archPath = Path.Combine(archPath, "x86");
}
else
{
archPath = Path.Combine(archPath, "arm");
}
//Wand.SetMagickCoderModulePath(architecturePath);
if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows)
{
SetDllDirectory(archPath);
}
var appPaths = CreateApplicationPaths(baseDirectory);
SetSqliteProvider();
var logManager = new NlogManager(appPaths.LogDirectoryPath, "server");
logManager.ReloadLogger(LogSeverity.Debug);
logManager.AddConsoleOutput();
var logger = _logger = logManager.GetLogger("Main");
ApplicationHost.LogEnvironmentInfo(logger, appPaths, true);
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
//if (IsAlreadyRunning(applicationPath, currentProcess))
//{
// logger.Info("Shutting down because another instance of Emby Server is already running.");
// return;
//}
if (PerformUpdateIfNeeded(appPaths, logger))
{
logger.Info("Exiting to perform application update.");
return;
}
RunApplication(appPaths, logManager, options, environmentInfo);
}
private static void SetSqliteProvider()
{
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3());
}
/// <summary>
/// Determines whether [is already running] [the specified current process].
/// </summary>
/// <param name="applicationPath">The application path.</param>
/// <param name="currentProcess">The current process.</param>
/// <returns><c>true</c> if [is already running] [the specified current process]; otherwise, <c>false</c>.</returns>
private static bool IsAlreadyRunning(string applicationPath, Process currentProcess)
{
var duplicate = Process.GetProcesses().FirstOrDefault(i =>
{
try
{
if (currentProcess.Id == i.Id)
{
return false;
}
}
catch (Exception)
{
return false;
}
try
{
//_logger.Info("Module: {0}", i.MainModule.FileName);
if (string.Equals(applicationPath, i.MainModule.FileName, StringComparison.OrdinalIgnoreCase))
{
return true;
}
return false;
}
catch (Exception)
{
return false;
}
});
if (duplicate != null)
{
_logger.Info("Found a duplicate process. Giving it time to exit.");
if (!duplicate.WaitForExit(30000))
{
_logger.Info("The duplicate process did not exit.");
return true;
}
}
return false;
}
/// <summary>
/// Creates the application paths.
/// </summary>
private static ServerApplicationPaths CreateApplicationPaths(string appDirectory)
{
var resourcesPath = appDirectory;
return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(appDirectory), appDirectory, resourcesPath);
}
/// <summary>
/// Gets a value indicating whether this instance can self restart.
/// </summary>
/// <value><c>true</c> if this instance can self restart; otherwise, <c>false</c>.</value>
public static bool CanSelfRestart
{
get
{
return true;
}
}
/// <summary>
/// Gets a value indicating whether this instance can self update.
/// </summary>
/// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
public static bool CanSelfUpdate
{
get
{
return false;
}
}
private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>();
/// <summary>
/// Runs the application.
/// </summary>
/// <param name="appPaths">The app paths.</param>
/// <param name="logManager">The log manager.</param>
/// <param name="options">The options.</param>
private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options, EnvironmentInfo environmentInfo)
{
var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, false, appPaths.TempDirectory);
fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem));
var imageEncoder = new NullImageEncoder();
_appHost = new CoreAppHost(appPaths,
logManager,
options,
fileSystem,
new PowerManagement(),
"emby.windows.zip",
environmentInfo,
imageEncoder,
new CoreSystemEvents(),
new MemoryStreamFactory(),
new NetworkManager(logManager.GetLogger("NetworkManager")),
GenerateCertificate,
() => "EmbyUser");
var initProgress = new Progress<double>();
if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows)
{
// Not crazy about this but it's the only way to suppress ffmpeg crash dialog boxes
SetErrorMode(ErrorModes.SEM_FAILCRITICALERRORS | ErrorModes.SEM_NOALIGNMENTFAULTEXCEPT |
ErrorModes.SEM_NOGPFAULTERRORBOX | ErrorModes.SEM_NOOPENFILEERRORBOX);
}
var task = _appHost.Init(initProgress);
Task.WaitAll(task);
task = task.ContinueWith(new Action<Task>(a => _appHost.RunStartupTasks()), TaskContinuationOptions.OnlyOnRanToCompletion | TaskContinuationOptions.AttachedToParent);
Task.WaitAll(task);
task = ApplicationTaskCompletionSource.Task;
Task.WaitAll(task);
}
private static void GenerateCertificate(string certPath, string certHost)
{
//CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, _logger);
}
/// <summary>
/// Handles the UnhandledException event of the CurrentDomain control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="UnhandledExceptionEventArgs"/> instance containing the event data.</param>
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var exception = (Exception)e.ExceptionObject;
new UnhandledExceptionWriter(_appHost.ServerConfigurationManager.ApplicationPaths, _logger, _appHost.LogManager).Log(exception);
ShowMessageBox("Unhandled exception: " + exception.Message);
if (!Debugger.IsAttached)
{
Environment.Exit(Marshal.GetHRForException(exception));
}
}
/// <summary>
/// Performs the update if needed.
/// </summary>
/// <param name="appPaths">The app paths.</param>
/// <param name="logger">The logger.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
private static bool PerformUpdateIfNeeded(ServerApplicationPaths appPaths, ILogger logger)
{
return false;
}
private static void ShowMessageBox(string msg)
{
}
public static void Shutdown()
{
DisposeAppHost();
//_logger.Info("Calling Application.Exit");
//Application.Exit();
_logger.Info("Calling Environment.Exit");
Environment.Exit(0);
_logger.Info("Calling ApplicationTaskCompletionSource.SetResult");
ApplicationTaskCompletionSource.SetResult(true);
}
public static void Restart()
{
DisposeAppHost();
// todo: start new instance
Shutdown();
}
private static void DisposeAppHost()
{
if (!_appHostDisposed)
{
_logger.Info("Disposing app host");
_appHostDisposed = true;
_appHost.Dispose();
}
}
/// <summary>
/// Sets the error mode.
/// </summary>
/// <param name="uMode">The u mode.</param>
/// <returns>ErrorModes.</returns>
[DllImport("kernel32.dll")]
static extern ErrorModes SetErrorMode(ErrorModes uMode);
/// <summary>
/// Enum ErrorModes
/// </summary>
[Flags]
public enum ErrorModes : uint
{
/// <summary>
/// The SYSTE m_ DEFAULT
/// </summary>
SYSTEM_DEFAULT = 0x0,
/// <summary>
/// The SE m_ FAILCRITICALERRORS
/// </summary>
SEM_FAILCRITICALERRORS = 0x0001,
/// <summary>
/// The SE m_ NOALIGNMENTFAULTEXCEPT
/// </summary>
SEM_NOALIGNMENTFAULTEXCEPT = 0x0004,
/// <summary>
/// The SE m_ NOGPFAULTERRORBOX
/// </summary>
SEM_NOGPFAULTERRORBOX = 0x0002,
/// <summary>
/// The SE m_ NOOPENFILEERRORBOX
/// </summary>
SEM_NOOPENFILEERRORBOX = 0x8000
}
}
}

View File

@@ -1,19 +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: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Emby.Server")]
[assembly: AssemblyTrademark("")]
// 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("ddaff431-0b3d-4857-8762-990a32dc8472")]

View File

@@ -1,122 +0,0 @@
{
"version": "3.1.0.1",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Emby.Common.Implementations": "1.0.0-*",
"Emby.Server.Core": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
},
"Mono.Nat": "1.0.0-*",
"System.Runtime.Extensions": "4.3.0",
"System.Diagnostics.Process": "4.3.0",
"Microsoft.Win32.Registry": "4.3.0",
"SQLitePCLRaw.provider.sqlite3.netstandard11": "1.1.1"
},
"runtimes": {
"win7-x86": {},
"win7-x64": {},
"win8-x86": {},
"win8-x64": {},
"win8-arm": {},
"win81-x86": {},
"win81-x64": {},
"win81-arm": {},
"win10-x86": {},
"win10-x64": {},
"win10-arm": {},
"win10-arm64": {},
"osx.10.10-x64": {},
"osx.10.11-x64": {},
"osx.10.12-x64": ,
"rhel.7.0-x64": {},
"rhel.7.1-x64": {},
"rhel.7.2-x64": {},
"ubuntu.14.04-x64": {},
"ubuntu.14.10-x64": {},
"ubuntu.15.04-x64": {},
"ubuntu.15.10-x64": {},
"ubuntu.16.04-x64": {},
"ubuntu.16.10-x64": {},
"centos.7-x64": {},
"debian.8-x64": {},
"fedora.23-x64": {},
"fedora.24-x64": {},
"opensuse.13.2-x64": {},
"opensuse.42.1-x64": {},
"ol.7-x64": {},
"ol.7.0-x64": {},
"ol.7.1-x64": {},
"ol.7.2-x64": {}
},
"frameworks": {
"netcoreapp1.1": {
"imports": "dnxcore50",
"dependencies": {
"BDInfo": {
"target": "project"
},
"DvdLib": {
"target": "project"
},
"Emby.Dlna": {
"target": "project"
},
"Emby.Drawing": {
"target": "project"
},
"Emby.Photos": {
"target": "project"
},
"Emby.Server.Implementations": {
"target": "project"
},
"MediaBrowser.Api": {
"target": "project"
},
"MediaBrowser.Common": {
"target": "project"
},
"MediaBrowser.Controller": {
"target": "project"
},
"MediaBrowser.LocalMetadata": {
"target": "project"
},
"MediaBrowser.MediaEncoding": {
"target": "project"
},
"MediaBrowser.Model": {
"target": "project"
},
"MediaBrowser.Providers": {
"target": "project"
},
"MediaBrowser.Server.Implementations": {
"target": "project"
},
"MediaBrowser.WebDashboard": {
"target": "project"
},
"MediaBrowser.XbmcMetadata": {
"target": "project"
},
"OpenSubtitlesHandler": {
"target": "project"
},
"RSSDP": {
"target": "project"
},
"SocketHttpListener.Portable": {
"target": "project"
}
}
}
}
}