aboutsummaryrefslogtreecommitdiff
path: root/Emby.Dlna/Configuration/DlnaOptions.cs
blob: e95a878c674c34bbe32e4d66e3f9f4387d23718c (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#pragma warning disable CS1591

namespace Emby.Dlna.Configuration
{
    /// <summary>
    /// The DlnaOptions class contains the user definable parameters for the dlna subsystems.
    /// </summary>
    public class DlnaOptions
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="DlnaOptions"/> class.
        /// </summary>
        public DlnaOptions()
        {
            EnablePlayTo = true;
            EnableServer = false;
            BlastAliveMessages = true;
            SendOnlyMatchedHost = true;
            ClientDiscoveryIntervalSeconds = 60;
            AliveMessageIntervalSeconds = 1800;
        }

        /// <summary>
        /// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna playTo subsystem.
        /// </summary>
        public bool EnablePlayTo { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna server subsystem.
        /// </summary>
        public bool EnableServer { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log.
        /// If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work.
        /// </summary>
        public bool EnableDebugLog { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether whether detailed playTo debug logs are sent to the console/log.
        /// If the setting "Emby.Dlna.PlayTo": "Debug" msut be set in logging.default.json for this property to work.
        /// </summary>
        public bool EnablePlayToTracing { get; set; }

        /// <summary>
        /// Gets or sets the ssdp client discovery interval time (in seconds).
        /// This is the time after which the server will send a ssdp search request.
        /// </summary>
        public int ClientDiscoveryIntervalSeconds { get; set; }

        /// <summary>
        /// Gets or sets the frequency at which ssdp alive notifications are transmitted.
        /// </summary>
        public int AliveMessageIntervalSeconds { get; set; }

        /// <summary>
        /// Gets or sets the frequency at which ssdp alive notifications are transmitted. MIGRATING - TO BE REMOVED ONCE WEB HAS BEEN ALTERED.
        /// </summary>
        public int BlastAliveMessageIntervalSeconds
        {
            get
            {
                return AliveMessageIntervalSeconds;
            }

            set
            {
                AliveMessageIntervalSeconds = value;
            }
        }

        /// <summary>
        /// Gets or sets the default user account that the dlna server uses.
        /// </summary>
        public string? DefaultUserId { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether playTo device profiles should be created.
        /// </summary>
        public bool AutoCreatePlayToProfiles { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether to blast alive messages.
        /// </summary>
        public bool BlastAliveMessages { get; set; } = true;

        /// <summary>
        /// gets or sets a value indicating whether to send only matched host.
        /// </summary>
        public bool SendOnlyMatchedHost { get; set; } = true;
    }
}