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