From 50f88997bab58f4cfcbd3f420521776a54eb372d Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Sat, 8 Sep 2012 16:25:56 -0400 Subject: Added protobuf support for serializing ServerConfiguration --- .../Configuration/BaseApplicationConfiguration.cs | 9 ++++++++- MediaBrowser.Model/Configuration/ServerConfiguration.cs | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Model/Configuration') diff --git a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs index 17be9eaef..41eb1da2c 100644 --- a/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs +++ b/MediaBrowser.Model/Configuration/BaseApplicationConfiguration.cs @@ -1,12 +1,19 @@ - +using ProtoBuf; + namespace MediaBrowser.Model.Configuration { /// /// Serves as a common base class for the Server and UI application Configurations + /// ProtoInclude tells Protobuf about subclasses, + /// The number 50 can be any number, so long as it doesn't clash with any of the ProtoMember numbers either here or in subclasses. /// + [ProtoContract, ProtoInclude(50, typeof(ServerConfiguration))] public class BaseApplicationConfiguration { + [ProtoMember(1)] public bool EnableDebugLevelLogging { get; set; } + + [ProtoMember(2)] public int HttpServerPortNumber { get; set; } public BaseApplicationConfiguration() diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index c229ca556..5bcd09ef0 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -1,13 +1,24 @@ using MediaBrowser.Model.Weather; +using ProtoBuf; namespace MediaBrowser.Model.Configuration { + /// + /// Represents the server configuration. + /// + [ProtoContract] public class ServerConfiguration : BaseApplicationConfiguration { + [ProtoMember(3)] public bool EnableInternetProviders { get; set; } + + [ProtoMember(4)] public bool EnableUserProfiles { get; set; } + [ProtoMember(5)] public string WeatherZipCode { get; set; } + + [ProtoMember(6)] public WeatherUnits WeatherUnit { get; set; } public ServerConfiguration() -- cgit v1.2.3