1 // -----------------------------------------------------------------------
2 // <copyright file="PithosSettingsData.cs" company="GRNet">
3 // Copyright 2011-2012 GRNET S.A. All rights reserved.
5 // Redistribution and use in source and binary forms, with or
6 // without modification, are permitted provided that the following
9 // 1. Redistributions of source code must retain the above
10 // copyright notice, this list of conditions and the following
13 // 2. Redistributions in binary form must reproduce the above
14 // copyright notice, this list of conditions and the following
15 // disclaimer in the documentation and/or other materials
16 // provided with the distribution.
18 // THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
19 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
22 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
25 // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26 // AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 // POSSIBILITY OF SUCH DAMAGE.
31 // The views and conclusions contained in the software and
32 // documentation are those of the authors and should not be
33 // interpreted as representing official policies, either expressed
34 // or implied, of GRNET S.A.
36 // -----------------------------------------------------------------------
38 using System.Diagnostics.Contracts;
40 namespace Pithos.Interfaces
43 using System.Collections.Generic;
48 /// TODO: Update summary.
50 public class PithosSettingsData:IPithosSettings
52 public string PithosPath { get; set; }
53 public string PithosSite { get; set; }
54 public string IconsPath { get; set; }
55 public string UserName { get; set; }
56 public string ApiKey { get; set; }
57 public AccountsCollection Accounts { get; set; }
58 public bool UseDefaultProxy { get; set; }
59 public bool UseManualProxy { get; set; }
60 public bool UseNoProxy { get; set; }
61 public string ProxyServer { get; set; }
62 public int ProxyPort { get; set; }
63 public string ProxyUsername { get; set; }
64 public string ProxyPassword { get; set; }
65 public string ProxyDomain { get; set; }
66 public bool ProxyAuthentication { get; set; }
67 public bool ExtensionsActivated { get; set; }
68 public int PollingInterval { get; set; }
69 public byte HashingParallelism { get; set; }
71 public PithosSettingsData()
75 public PithosSettingsData(IPithosSettings other)
78 throw new ArgumentNullException("other");
79 Contract.EndContractBlock();
81 PithosPath = other.PithosPath;
82 IconsPath = other.IconsPath;
83 UserName = other.UserName;
84 ApiKey = other.ApiKey;
85 Accounts = other.Accounts;
86 UseDefaultProxy = other.UseDefaultProxy;
87 UseManualProxy = other.UseManualProxy;
88 UseNoProxy = other.UseNoProxy;
89 ProxyServer = other.ProxyServer;
90 ProxyPort = other.ProxyPort;
91 ProxyUsername = other.ProxyUsername;
92 ProxyPassword = other.ProxyPassword;
93 ProxyDomain = other.ProxyDomain;
94 ProxyAuthentication = other.ProxyAuthentication;
95 ExtensionsActivated = other.ExtensionsActivated;
96 PollingInterval = other.PollingInterval;
99 public virtual void Save()
104 public virtual void Reload()