67 lines
1.7 KiB
C#
67 lines
1.7 KiB
C#
#region Usings
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Xml.Serialization;
|
|
#endregion
|
|
|
|
#region Content Provider Options
|
|
public class Provider
|
|
{
|
|
public string Name;
|
|
public string URL;
|
|
public string Icon;
|
|
}
|
|
|
|
[XmlRoot("ContentProviders")]
|
|
public class ContentProviders
|
|
{
|
|
[XmlArray("Providers")]
|
|
public Provider[] Providers;
|
|
}
|
|
|
|
public class OnlineClothing
|
|
{
|
|
public static Provider[] GetContentProviders()
|
|
{
|
|
if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
|
|
{
|
|
XmlSerializer serializer = new XmlSerializer(typeof(ContentProviders));
|
|
|
|
FileStream fs = new FileStream(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName, FileMode.Open);
|
|
ContentProviders providers;
|
|
providers = (ContentProviders)serializer.Deserialize(fs);
|
|
|
|
return providers.Providers;
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static Provider FindContentProviderByName(Provider[] providers, string query)
|
|
{
|
|
if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
|
|
{
|
|
return providers.SingleOrDefault(item => query.Contains(item.Name));
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public static Provider FindContentProviderByURL(Provider[] providers, string query)
|
|
{
|
|
if (File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ContentProviderXMLName))
|
|
{
|
|
return providers.SingleOrDefault(item => query.Contains(item.URL));
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|