view libpurple/plugins/mono/api/PurplePlugin.cs @ 15876:80ee585fb53c

SF Patch #1686400 from Eoin Coffey ("ecoffey") ecoffey described the changes: 1) Small tweaks to the loader to bring it up to speed with new mono versions and API wrapper changes that grim had made. (was in original patch, just forgot about it :-P) 2) .NET Plugins are now required to define an Id as part of their info. 3) Modified gaim_probe_plugin to check for existence of info->id and to make sure it's not empty; Prints an error, stores an error in the plugin and sets plugin->unloadable = TRUE.
author Richard Laager <rlaager@wiktel.com>
date Sat, 24 Mar 2007 06:24:59 +0000
parents
children
line wrap: on
line source

namespace Purple {
	public class PluginInfo {
		private string id;
		private string name;
		private string version;
		private string summary;
		private string description;
		private string author;
		private string homepage;
		
		public PluginInfo(string id, string name, string version, string summary,
						  string description, string author, string homepage)
		{
			this.id = id;
			this.name = name;
			this.version = version;
			this.summary = summary;
			this.description = description;
			this.author = author;
			this.homepage = homepage;	
		}

		public string Id {
			get { return id; }
		}

		public string Name {
			get { return name; }
		}

		public string Version {
			get { return version; }
		}

		public string Summary {
			get { return summary; }
		}

		public string Description {
			get { return description; }
		}

		public string Author {
			get { return author; }
		}

		public string Homepage {
			get { return homepage; }
		}
	}
	
	abstract public class Plugin {
		private PluginInfo info;

		public Plugin(PluginInfo info) {
			this.info = info;
		}

		public abstract void Load();
		public abstract void Unload();
		public abstract void Destroy();

		public PluginInfo Info {
			get { return info; }
		}
	}
}