blob: bf06cbdb0c5f561e8e99c8f324c5693e83ff8e4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
using System;
using System.Linq;
using System.Threading.Tasks;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Controller;
using MediaBrowser.Model.Plugins;
namespace MediaBrowser.Api.HttpHandlers
{
public class PluginConfigurationHandler : BaseSerializationHandler<BasePluginConfiguration>
{
private BasePlugin _Plugin = null;
private BasePlugin Plugin
{
get
{
if (_Plugin == null)
{
string name = QueryString["assemblyfilename"];
_Plugin = Kernel.Instance.Plugins.First(p => p.AssemblyFileName.Equals(name, StringComparison.OrdinalIgnoreCase));
}
return _Plugin;
}
}
protected override Task<BasePluginConfiguration> GetObjectToSerialize()
{
return Task.FromResult<BasePluginConfiguration>(Plugin.Configuration);
}
public override TimeSpan CacheDuration
{
get
{
return TimeSpan.FromDays(7);
}
}
protected override Task<DateTime?> GetLastDateModified()
{
return Task.FromResult<DateTime?>(Plugin.ConfigurationDateLastModified);
}
}
}
|