From 8ce3e74e8112a94773df22827849bf274fc88198 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sun, 24 Feb 2013 16:53:54 -0500 Subject: More DI --- .../ServerApplicationPaths.cs | 335 +++++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 MediaBrowser.Server.Implementations/ServerApplicationPaths.cs (limited to 'MediaBrowser.Server.Implementations/ServerApplicationPaths.cs') diff --git a/MediaBrowser.Server.Implementations/ServerApplicationPaths.cs b/MediaBrowser.Server.Implementations/ServerApplicationPaths.cs new file mode 100644 index 0000000000..e473808f5c --- /dev/null +++ b/MediaBrowser.Server.Implementations/ServerApplicationPaths.cs @@ -0,0 +1,335 @@ +using MediaBrowser.Common.Implementations; +using MediaBrowser.Controller; +using System.IO; + +namespace MediaBrowser.Server.Implementations +{ + /// + /// Extends BaseApplicationPaths to add paths that are only applicable on the server + /// + public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths + { + /// + /// The _root folder path + /// + private string _rootFolderPath; + /// + /// Gets the path to the base root media directory + /// + /// The root folder path. + public string RootFolderPath + { + get + { + if (_rootFolderPath == null) + { + _rootFolderPath = Path.Combine(ProgramDataPath, "Root"); + if (!Directory.Exists(_rootFolderPath)) + { + Directory.CreateDirectory(_rootFolderPath); + } + } + return _rootFolderPath; + } + } + + /// + /// The _default user views path + /// + private string _defaultUserViewsPath; + /// + /// Gets the path to the default user view directory. Used if no specific user view is defined. + /// + /// The default user views path. + public string DefaultUserViewsPath + { + get + { + if (_defaultUserViewsPath == null) + { + _defaultUserViewsPath = Path.Combine(RootFolderPath, "Default"); + if (!Directory.Exists(_defaultUserViewsPath)) + { + Directory.CreateDirectory(_defaultUserViewsPath); + } + } + return _defaultUserViewsPath; + } + } + + /// + /// The _localization path + /// + private string _localizationPath; + /// + /// Gets the path to localization data. + /// + /// The localization path. + public string LocalizationPath + { + get + { + if (_localizationPath == null) + { + _localizationPath = Path.Combine(ProgramDataPath, "Localization"); + if (!Directory.Exists(_localizationPath)) + { + Directory.CreateDirectory(_localizationPath); + } + } + return _localizationPath; + } + } + + /// + /// The _ibn path + /// + private string _ibnPath; + /// + /// Gets the path to the Images By Name directory + /// + /// The images by name path. + public string ImagesByNamePath + { + get + { + if (_ibnPath == null) + { + _ibnPath = Path.Combine(ProgramDataPath, "ImagesByName"); + if (!Directory.Exists(_ibnPath)) + { + Directory.CreateDirectory(_ibnPath); + } + } + + return _ibnPath; + } + } + + /// + /// The _people path + /// + private string _peoplePath; + /// + /// Gets the path to the People directory + /// + /// The people path. + public string PeoplePath + { + get + { + if (_peoplePath == null) + { + _peoplePath = Path.Combine(ImagesByNamePath, "People"); + if (!Directory.Exists(_peoplePath)) + { + Directory.CreateDirectory(_peoplePath); + } + } + + return _peoplePath; + } + } + + /// + /// The _genre path + /// + private string _genrePath; + /// + /// Gets the path to the Genre directory + /// + /// The genre path. + public string GenrePath + { + get + { + if (_genrePath == null) + { + _genrePath = Path.Combine(ImagesByNamePath, "Genre"); + if (!Directory.Exists(_genrePath)) + { + Directory.CreateDirectory(_genrePath); + } + } + + return _genrePath; + } + } + + /// + /// The _studio path + /// + private string _studioPath; + /// + /// Gets the path to the Studio directory + /// + /// The studio path. + public string StudioPath + { + get + { + if (_studioPath == null) + { + _studioPath = Path.Combine(ImagesByNamePath, "Studio"); + if (!Directory.Exists(_studioPath)) + { + Directory.CreateDirectory(_studioPath); + } + } + + return _studioPath; + } + } + + /// + /// The _year path + /// + private string _yearPath; + /// + /// Gets the path to the Year directory + /// + /// The year path. + public string YearPath + { + get + { + if (_yearPath == null) + { + _yearPath = Path.Combine(ImagesByNamePath, "Year"); + if (!Directory.Exists(_yearPath)) + { + Directory.CreateDirectory(_yearPath); + } + } + + return _yearPath; + } + } + + /// + /// The _general path + /// + private string _generalPath; + /// + /// Gets the path to the General IBN directory + /// + /// The general path. + public string GeneralPath + { + get + { + if (_generalPath == null) + { + _generalPath = Path.Combine(ImagesByNamePath, "General"); + if (!Directory.Exists(_generalPath)) + { + Directory.CreateDirectory(_generalPath); + } + } + + return _generalPath; + } + } + + /// + /// The _ratings path + /// + private string _ratingsPath; + /// + /// Gets the path to the Ratings IBN directory + /// + /// The ratings path. + public string RatingsPath + { + get + { + if (_ratingsPath == null) + { + _ratingsPath = Path.Combine(ImagesByNamePath, "Ratings"); + if (!Directory.Exists(_ratingsPath)) + { + Directory.CreateDirectory(_ratingsPath); + } + } + + return _ratingsPath; + } + } + + /// + /// The _user configuration directory path + /// + private string _userConfigurationDirectoryPath; + /// + /// Gets the path to the user configuration directory + /// + /// The user configuration directory path. + public string UserConfigurationDirectoryPath + { + get + { + if (_userConfigurationDirectoryPath == null) + { + _userConfigurationDirectoryPath = Path.Combine(ConfigurationDirectoryPath, "users"); + if (!Directory.Exists(_userConfigurationDirectoryPath)) + { + Directory.CreateDirectory(_userConfigurationDirectoryPath); + } + } + return _userConfigurationDirectoryPath; + } + } + + /// + /// The _f F MPEG stream cache path + /// + private string _fFMpegStreamCachePath; + /// + /// Gets the FF MPEG stream cache path. + /// + /// The FF MPEG stream cache path. + public string FFMpegStreamCachePath + { + get + { + if (_fFMpegStreamCachePath == null) + { + _fFMpegStreamCachePath = Path.Combine(CachePath, "ffmpeg-streams"); + + if (!Directory.Exists(_fFMpegStreamCachePath)) + { + Directory.CreateDirectory(_fFMpegStreamCachePath); + } + } + + return _fFMpegStreamCachePath; + } + } + + /// + /// The _media tools path + /// + private string _mediaToolsPath; + /// + /// Gets the folder path to tools + /// + /// The media tools path. + public string MediaToolsPath + { + get + { + if (_mediaToolsPath == null) + { + _mediaToolsPath = Path.Combine(ProgramDataPath, "MediaTools"); + + if (!Directory.Exists(_mediaToolsPath)) + { + Directory.CreateDirectory(_mediaToolsPath); + } + } + + return _mediaToolsPath; + } + } + } +} -- cgit v1.2.3