using System;
using Microsoft.Win32;
using Dpapi;
namespace DasBlogNewsGatorPlugin{
/// <summary>
/// Summary description for ConfigInfo.
/// </summary>
public class ConfigInfo
{
public ConfigInfo()
{
}
static public string WeblogUrl
{
get
{
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);
string id = "";
if (regKey != null)
{
id = regKey.GetValue("WeblogUrl", "").ToString();
regKey.Close();
}
return id;
}
set
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey(keyName);
regKey.SetValue("WeblogUrl", value);
regKey.Close();
}
}
static public string Username
{
get
{
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);
string id = "";
if (regKey != null)
{
id = regKey.GetValue("Username", "").ToString();
regKey.Close();
}
return id;
}
set
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey(keyName);
regKey.SetValue("Username", value);
regKey.Close();
}
}
static public string Password
{
get
{
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);
string id = "";
if (regKey != null)
{
id = regKey.GetValue("Password", "").ToString();
regKey.Close();
// DPAPI isn't supported on Windows 2000
if (Environment.OSVersion.Version.Major >= 5 && Environment.OSVersion.Version.Minor > 0)
{
try
{
Dpapi.DataProtector dp = new DataProtector(Dpapi.Store.UserStore);
byte[] sourceBytes = Convert.FromBase64String(id);
byte[] decryptedBytes = dp.Decrypt(sourceBytes);
id = System.Text.Encoding.Unicode.GetString(decryptedBytes);
}
catch
{
id = "";
}
}
}
return id;
}
set
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey(keyName);
if (Environment.OSVersion.Version.Major >= 5 && Environment.OSVersion.Version.Minor > 0)
{
try
{
Dpapi.DataProtector dp = new DataProtector(Dpapi.Store.UserStore);
byte[] sourceBytes = System.Text.Encoding.Unicode.GetBytes(value);
byte[] encryptedBytes = dp.Encrypt(sourceBytes);
regKey.SetValue("Password", Convert.ToBase64String(encryptedBytes));
}
catch
{
regKey.SetValue("Password", value);
}
}
else
{
regKey.SetValue("Password", value);
}
regKey.Close();
}
}
static public bool IncludeMedia
{
get
{
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);
int d = 0;
if (regKey != null)
{
d = Int32.Parse(regKey.GetValue("IncludeMedia", 0).ToString());
regKey.Close();
}
return (d != 0);
}
set
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey(keyName);
regKey.SetValue("IncludeMedia", value ? 1 : 0);
regKey.Close();
}
}
static public string MediaTemplate
{
get
{
RegistryKey regKey = Registry.CurrentUser.OpenSubKey(keyName);
string id = "<div><p>[Now Playing: {$author} - {$title} ({$duration})]</p></div>";
if (regKey != null)
{
id = regKey.GetValue("MediaTemplate", id).ToString();
regKey.Close();
}
return id;
}
set
{
RegistryKey regKey = Registry.CurrentUser.CreateSubKey(keyName);
regKey.SetValue("MediaTemplate", value);
regKey.Close();
}
}
static protected string keyName = "Software\\RAI\\NewsGator\\dasBlogPlugin";
}
}
|