2013-12-20 19:38:10 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2014-03-01 15:42:33 +08:00
|
|
|
|
using System.IO;
|
2013-12-20 19:38:10 +08:00
|
|
|
|
using System.Linq;
|
2014-06-01 23:23:48 +08:00
|
|
|
|
using System.Security.RightsManagement;
|
2013-12-20 19:38:10 +08:00
|
|
|
|
using System.Text;
|
|
|
|
|
|
2014-01-29 18:33:24 +08:00
|
|
|
|
namespace Wox.Plugin
|
2013-12-20 19:38:10 +08:00
|
|
|
|
{
|
|
|
|
|
public class PluginMetadata
|
|
|
|
|
{
|
2014-03-01 15:42:33 +08:00
|
|
|
|
private int configVersion = 1;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// if we need to change the plugin config in the futher, use this to
|
|
|
|
|
/// indicate config version
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int ConfigVersion
|
|
|
|
|
{
|
|
|
|
|
get { return configVersion; }
|
|
|
|
|
set { configVersion = value; }
|
|
|
|
|
}
|
|
|
|
|
public string ID { get; set; }
|
2013-12-20 19:38:10 +08:00
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
public string Author { get; set; }
|
|
|
|
|
public string Version { get; set; }
|
|
|
|
|
public string Language { get; set; }
|
|
|
|
|
public string Description { get; set; }
|
2014-03-01 15:42:33 +08:00
|
|
|
|
|
2014-06-01 23:23:48 +08:00
|
|
|
|
public string Website { get; set; }
|
|
|
|
|
|
2014-03-01 15:42:33 +08:00
|
|
|
|
public string ExecuteFilePath
|
|
|
|
|
{
|
2014-07-16 20:17:51 +08:00
|
|
|
|
get { return Path.Combine(PluginDirectory, ExecuteFileName); }
|
2014-03-01 15:42:33 +08:00
|
|
|
|
}
|
|
|
|
|
|
2013-12-23 23:53:38 +08:00
|
|
|
|
public string ExecuteFileName { get; set; }
|
2014-07-16 20:17:51 +08:00
|
|
|
|
public string PluginDirectory { get; set; }
|
2014-08-17 22:35:46 +08:00
|
|
|
|
|
|
|
|
|
[Obsolete("This property has been obsoleted, use PluginDirectory instead")]
|
|
|
|
|
public string PluginDirecotry
|
|
|
|
|
{
|
|
|
|
|
get { return PluginDirectory; }
|
|
|
|
|
}
|
|
|
|
|
|
2013-12-21 01:20:17 +08:00
|
|
|
|
public string ActionKeyword { get; set; }
|
2014-01-03 18:16:05 +08:00
|
|
|
|
public PluginType PluginType { get; set; }
|
2014-03-28 22:42:28 +08:00
|
|
|
|
|
|
|
|
|
public string IcoPath { get; set; }
|
2014-07-16 20:17:51 +08:00
|
|
|
|
|
|
|
|
|
public string FullIcoPath
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
2014-12-09 23:42:20 +08:00
|
|
|
|
// Return the default icon if IcoPath is empty
|
|
|
|
|
if (string.IsNullOrEmpty(IcoPath))
|
|
|
|
|
return Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Images\\work.png");
|
2014-07-17 18:51:34 +08:00
|
|
|
|
|
2014-07-16 20:17:51 +08:00
|
|
|
|
if (IcoPath.StartsWith("data:"))
|
|
|
|
|
{
|
|
|
|
|
return IcoPath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Path.Combine(PluginDirectory, IcoPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
2013-12-20 19:38:10 +08:00
|
|
|
|
}
|
|
|
|
|
}
|