diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-02-20 15:50:58 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-02-20 15:50:58 -0500 |
| commit | 5d55b36487b25b2efaf6923a3c069f4b0b59a449 (patch) | |
| tree | dacf7607a28bf65a67004f65fdb1f1e33f3c075f /Emby.Server.Implementations/ServerApplicationPaths.cs | |
| parent | de3ca87a763506badcf1518ae288a5736605445c (diff) | |
make more classes portable
Diffstat (limited to 'Emby.Server.Implementations/ServerApplicationPaths.cs')
| -rw-r--r-- | Emby.Server.Implementations/ServerApplicationPaths.cs | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/ServerApplicationPaths.cs b/Emby.Server.Implementations/ServerApplicationPaths.cs new file mode 100644 index 000000000..b4b2bb139 --- /dev/null +++ b/Emby.Server.Implementations/ServerApplicationPaths.cs @@ -0,0 +1,234 @@ +using System; +using System.IO; +using Emby.Server.Implementations.AppBase; +using MediaBrowser.Controller; + +namespace Emby.Server.Implementations +{ + /// <summary> + /// Extends BaseApplicationPaths to add paths that are only applicable on the server + /// </summary> + public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths + { + /// <summary> + /// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class. + /// </summary> + public ServerApplicationPaths(string programDataPath, string appFolderPath, string applicationResourcesPath, Action<string> createDirectoryFn) + : base(programDataPath, appFolderPath, createDirectoryFn) + { + ApplicationResourcesPath = applicationResourcesPath; + } + + public string ApplicationResourcesPath { get; private set; } + + /// <summary> + /// Gets the path to the base root media directory + /// </summary> + /// <value>The root folder path.</value> + public string RootFolderPath + { + get + { + return Path.Combine(ProgramDataPath, "root"); + } + } + + /// <summary> + /// Gets the path to the default user view directory. Used if no specific user view is defined. + /// </summary> + /// <value>The default user views path.</value> + public string DefaultUserViewsPath + { + get + { + return Path.Combine(RootFolderPath, "default"); + } + } + + /// <summary> + /// Gets the path to localization data. + /// </summary> + /// <value>The localization path.</value> + public string LocalizationPath + { + get + { + return Path.Combine(ProgramDataPath, "localization"); + } + } + + /// <summary> + /// The _ibn path + /// </summary> + private string _ibnPath; + /// <summary> + /// Gets the path to the Images By Name directory + /// </summary> + /// <value>The images by name path.</value> + public string ItemsByNamePath + { + get + { + return _ibnPath ?? (_ibnPath = Path.Combine(ProgramDataPath, "ImagesByName")); + } + set + { + _ibnPath = value; + } + } + + /// <summary> + /// Gets the path to the People directory + /// </summary> + /// <value>The people path.</value> + public string PeoplePath + { + get + { + return Path.Combine(ItemsByNamePath, "People"); + } + } + + public string ArtistsPath + { + get + { + return Path.Combine(ItemsByNamePath, "artists"); + } + } + + /// <summary> + /// Gets the path to the Genre directory + /// </summary> + /// <value>The genre path.</value> + public string GenrePath + { + get + { + return Path.Combine(ItemsByNamePath, "Genre"); + } + } + + /// <summary> + /// Gets the path to the Genre directory + /// </summary> + /// <value>The genre path.</value> + public string MusicGenrePath + { + get + { + return Path.Combine(ItemsByNamePath, "MusicGenre"); + } + } + + /// <summary> + /// Gets the path to the Studio directory + /// </summary> + /// <value>The studio path.</value> + public string StudioPath + { + get + { + return Path.Combine(ItemsByNamePath, "Studio"); + } + } + + /// <summary> + /// Gets the path to the Year directory + /// </summary> + /// <value>The year path.</value> + public string YearPath + { + get + { + return Path.Combine(ItemsByNamePath, "Year"); + } + } + + /// <summary> + /// Gets the path to the General IBN directory + /// </summary> + /// <value>The general path.</value> + public string GeneralPath + { + get + { + return Path.Combine(ItemsByNamePath, "general"); + } + } + + /// <summary> + /// Gets the path to the Ratings IBN directory + /// </summary> + /// <value>The ratings path.</value> + public string RatingsPath + { + get + { + return Path.Combine(ItemsByNamePath, "ratings"); + } + } + + /// <summary> + /// Gets the media info images path. + /// </summary> + /// <value>The media info images path.</value> + public string MediaInfoImagesPath + { + get + { + return Path.Combine(ItemsByNamePath, "mediainfo"); + } + } + + /// <summary> + /// Gets the path to the user configuration directory + /// </summary> + /// <value>The user configuration directory path.</value> + public string UserConfigurationDirectoryPath + { + get + { + return Path.Combine(ConfigurationDirectoryPath, "users"); + } + } + + private string _transcodingTempPath; + public string TranscodingTempPath + { + get + { + return _transcodingTempPath ?? (_transcodingTempPath = Path.Combine(ProgramDataPath, "transcoding-temp")); + } + set + { + _transcodingTempPath = value; + } + } + + /// <summary> + /// Gets the game genre path. + /// </summary> + /// <value>The game genre path.</value> + public string GameGenrePath + { + get + { + return Path.Combine(ItemsByNamePath, "GameGenre"); + } + } + + private string _internalMetadataPath; + public string InternalMetadataPath + { + get + { + return _internalMetadataPath ?? (_internalMetadataPath = Path.Combine(DataPath, "metadata")); + } + set + { + _internalMetadataPath = value; + } + } + } +} |
