diff options
Diffstat (limited to 'Emby.Server.Implementations/IO/SharpCifs/Config.cs')
| -rw-r--r-- | Emby.Server.Implementations/IO/SharpCifs/Config.cs | 409 |
1 files changed, 0 insertions, 409 deletions
diff --git a/Emby.Server.Implementations/IO/SharpCifs/Config.cs b/Emby.Server.Implementations/IO/SharpCifs/Config.cs deleted file mode 100644 index 3fd0e5bd6..000000000 --- a/Emby.Server.Implementations/IO/SharpCifs/Config.cs +++ /dev/null @@ -1,409 +0,0 @@ -// This code is derived from jcifs smb client library <jcifs at samba dot org> -// Ported by J. Arturo <webmaster at komodosoft dot net> -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -using System; -using System.IO; -using System.Net; -using System.Security; -using SharpCifs.Util; -using SharpCifs.Util.Sharpen; - -namespace SharpCifs -{ - /// <summary> - /// This class uses a static - /// <see cref="Properties">Sharpen.Properties</see> - /// to act - /// as a cental repository for all jCIFS configuration properties. It cannot be - /// instantiated. Similar to <code>System</code> properties the namespace - /// is global therefore property names should be unique. Before use, - /// the <code>load</code> method should be called with the name of a - /// <code>Properties</code> file (or <code>null</code> indicating no - /// file) to initialize the <code>Config</code>. The <code>System</code> - /// properties will then populate the <code>Config</code> as well potentially - /// overwriting properties from the file. Thus properties provided on the - /// commandline with the <code>-Dproperty.name=value</code> VM parameter - /// will override properties from the configuration file. - /// - /// There are several ways to set jCIFS properties. See - /// the <a href="../overview-summary.html#scp">overview page of the API - /// documentation</a> for details. - /// </summary> - public class Config - { - - /// <summary>The static <code>Properties</code>.</summary> - /// <remarks>The static <code>Properties</code>.</remarks> - private static Properties _prp = new Properties(); - - private static LogStream _log; - - public static string DefaultOemEncoding = "UTF-8"; //"Cp850"; - - static Config() - { - int level; - FileInputStream fis = null; - _log = LogStream.GetInstance(); - - try - { - string filename = Runtime.GetProperty("jcifs.properties"); - if (filename != null && filename.Length > 1) - { - fis = new FileInputStream(filename); - } - Load(fis); - if (fis != null) - { - fis.Close(); - } - } - catch (IOException ioe) - { - if (_log.Level > 0) - { - Runtime.PrintStackTrace(ioe, _log); - } - } - - if ((level = GetInt("jcifs.util.loglevel", -1)) != -1) - { - _log.SetLevel(level); - } - - try - { - Runtime.GetBytesForString(string.Empty, DefaultOemEncoding); - } - catch (Exception ex) - { - if (_log.Level >= 2) - { - _log.WriteLine("WARNING: The default OEM encoding " + DefaultOemEncoding + " does not appear to be supported by this JRE. The default encoding will be US-ASCII." - ); - } - - //DEFAULT_OEM_ENCODING = "US-ASCII"; - } - - if (_log.Level >= 4) - { - try - { - _prp.Store(_log); - } - catch (IOException) - { - } - } - } - - /// <summary> - /// This static method registers the SMB URL protocol handler which is - /// required to use SMB URLs with the <tt>java.net.URL</tt> class. - /// </summary> - /// <remarks> - /// This static method registers the SMB URL protocol handler which is - /// required to use SMB URLs with the <tt>java.net.URL</tt> class. If this - /// method is not called before attempting to create an SMB URL with the - /// URL class the following exception will occur: - /// <blockquote><pre> - /// Exception MalformedURLException: unknown protocol: smb - /// at java.net.URL.<init>(URL.java:480) - /// at java.net.URL.<init>(URL.java:376) - /// at java.net.URL.<init>(URL.java:330) - /// at jcifs.smb.SmbFile.<init>(SmbFile.java:355) - /// ... - /// </pre><blockquote> - /// </remarks> - public static void RegisterSmbURLHandler() - { - throw new NotImplementedException(); - } - - // supress javadoc constructor summary by removing 'protected' - /// <summary>Set the default properties of the static Properties used by <tt>Config</tt>. - /// </summary> - /// <remarks> - /// Set the default properties of the static Properties used by <tt>Config</tt>. This permits - /// a different Properties object/file to be used as the source of properties for - /// use by the jCIFS library. The Properties must be set <i>before jCIFS - /// classes are accessed</i> as most jCIFS classes load properties statically once. - /// Using this method will also override properties loaded - /// using the <tt>-Djcifs.properties=</tt> commandline parameter. - /// </remarks> - public static void SetProperties(Properties prp) - { - Config._prp = new Properties(prp); - try - { - Config._prp.PutAll(Runtime.GetProperties()); - } - catch (SecurityException) - { - if (_log.Level > 1) - { - _log.WriteLine("SecurityException: jcifs will ignore System properties"); - } - } - } - - /// <summary> - /// Load the <code>Config</code> with properties from the stream - /// <code>in</code> from a <code>Properties</code> file. - /// </summary> - /// <remarks> - /// Load the <code>Config</code> with properties from the stream - /// <code>in</code> from a <code>Properties</code> file. - /// </remarks> - /// <exception cref="System.IO.IOException"></exception> - public static void Load(InputStream input) - { - if (input != null) - { - _prp.Load(input); - } - try - { - _prp.PutAll(Runtime.GetProperties()); - } - catch (SecurityException) - { - if (_log.Level > 1) - { - _log.WriteLine("SecurityException: jcifs will ignore System properties"); - } - } - } - - /// <exception cref="System.IO.IOException"></exception> - public static void Store(OutputStream output, string header) - { - _prp.Store(output); - } - - /// <summary>Add a property.</summary> - /// <remarks>Add a property.</remarks> - public static void SetProperty(string key, string value) - { - _prp.SetProperty(key, value); - } - - /// <summary>Retrieve a property as an <code>Object</code>.</summary> - /// <remarks>Retrieve a property as an <code>Object</code>.</remarks> - public static object Get(string key) - { - return _prp.GetProperty(key); - } - - /// <summary>Retrieve a <code>String</code>.</summary> - /// <remarks> - /// Retrieve a <code>String</code>. If the key cannot be found, - /// the provided <code>def</code> default parameter will be returned. - /// </remarks> - public static string GetProperty(string key, string def) - { - return (string)_prp.GetProperty(key, def); - } - - /// <summary>Retrieve a <code>String</code>.</summary> - /// <remarks>Retrieve a <code>String</code>. If the property is not found, <code>null</code> is returned. - /// </remarks> - public static string GetProperty(string key) - { - return (string)_prp.GetProperty(key); - } - - /// <summary>Retrieve an <code>int</code>.</summary> - /// <remarks> - /// Retrieve an <code>int</code>. If the key does not exist or - /// cannot be converted to an <code>int</code>, the provided default - /// argument will be returned. - /// </remarks> - public static int GetInt(string key, int def) - { - string s = (string)_prp.GetProperty(key); - if (s != null) - { - try - { - def = Convert.ToInt32(s); - } - catch (FormatException nfe) - { - if (_log.Level > 0) - { - Runtime.PrintStackTrace(nfe, _log); - } - } - } - return def; - } - - /// <summary>Retrieve an <code>int</code>.</summary> - /// <remarks>Retrieve an <code>int</code>. If the property is not found, <code>-1</code> is returned. - /// </remarks> - public static int GetInt(string key) - { - string s = (string)_prp.GetProperty(key); - int result = -1; - if (s != null) - { - try - { - result = Convert.ToInt32(s); - } - catch (FormatException nfe) - { - if (_log.Level > 0) - { - Runtime.PrintStackTrace(nfe, _log); - } - } - } - return result; - } - - /// <summary>Retrieve a <code>long</code>.</summary> - /// <remarks> - /// Retrieve a <code>long</code>. If the key does not exist or - /// cannot be converted to a <code>long</code>, the provided default - /// argument will be returned. - /// </remarks> - public static long GetLong(string key, long def) - { - string s = (string)_prp.GetProperty(key); - if (s != null) - { - try - { - def = long.Parse(s); - } - catch (FormatException nfe) - { - if (_log.Level > 0) - { - Runtime.PrintStackTrace(nfe, _log); - } - } - } - return def; - } - - /// <summary>Retrieve an <code>InetAddress</code>.</summary> - /// <remarks> - /// Retrieve an <code>InetAddress</code>. If the address is not - /// an IP address and cannot be resolved <code>null</code> will - /// be returned. - /// </remarks> - public static IPAddress GetInetAddress(string key, IPAddress def) - { - string addr = (string)_prp.GetProperty(key); - if (addr != null) - { - try - { - def = Extensions.GetAddressByName(addr); - } - catch (UnknownHostException uhe) - { - if (_log.Level > 0) - { - _log.WriteLine(addr); - Runtime.PrintStackTrace(uhe, _log); - } - } - } - return def; - } - - public static IPAddress GetLocalHost() - { - string addr = (string)_prp.GetProperty("jcifs.smb.client.laddr"); - if (addr != null) - { - try - { - return Extensions.GetAddressByName(addr); - } - catch (UnknownHostException uhe) - { - if (_log.Level > 0) - { - _log.WriteLine("Ignoring jcifs.smb.client.laddr address: " + addr); - Runtime.PrintStackTrace(uhe, _log); - } - } - } - return null; - } - - /// <summary>Retrieve a boolean value.</summary> - /// <remarks>Retrieve a boolean value. If the property is not found, the value of <code>def</code> is returned. - /// </remarks> - public static bool GetBoolean(string key, bool def) - { - string b = GetProperty(key); - if (b != null) - { - def = b.ToLower().Equals("true"); - } - return def; - } - - /// <summary> - /// Retrieve an array of <tt>InetAddress</tt> created from a property - /// value containting a <tt>delim</tt> separated list of hostnames and/or - /// ipaddresses. - /// </summary> - /// <remarks> - /// Retrieve an array of <tt>InetAddress</tt> created from a property - /// value containting a <tt>delim</tt> separated list of hostnames and/or - /// ipaddresses. - /// </remarks> - public static IPAddress[] GetInetAddressArray(string key, string delim, IPAddress - [] def) - { - string p = GetProperty(key); - if (p != null) - { - StringTokenizer tok = new StringTokenizer(p, delim); - int len = tok.CountTokens(); - IPAddress[] arr = new IPAddress[len]; - for (int i = 0; i < len; i++) - { - string addr = tok.NextToken(); - try - { - arr[i] = Extensions.GetAddressByName(addr); - } - catch (UnknownHostException uhe) - { - if (_log.Level > 0) - { - _log.WriteLine(addr); - Runtime.PrintStackTrace(uhe, _log); - } - return def; - } - } - return arr; - } - return def; - } - } -} |
