User:Wishmaster

From Miranda NG
Revision as of 21:36, 23 May 2013 by Wishmaster (talk | contribs) (Created page with "== Changes for Plugin developers== In Miranda NG, we made some changes, that made the plugins from Miranda IM incompatible. This are just the major changes: # '''PLUGININFOEX...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Changes for Plugin developers

In Miranda NG, we made some changes, that made the plugins from Miranda IM incompatible. This are just the major changes:

  1. PLUGININFOEX: The old PLUGININFO struct from Miranda IM was removed from all sources. Basically, it was also deprecated in Miranda IM, but Miranda IM continued to load plugins with only PLUGININFO support for legacy plugin support. Our PLUGININFOEX is almost the same as Miranda IM, but we removed the member int replacesDefaultModule; (in Miranda IM headers it says "WILL BE DEPRECATED in 0.8 " in the documentation of the member). The compiler should warn you anyways if you do not remove it in your code.
typedef struct PLUGININFOEX_tag
{
	int cbSize;
	char *shortName;
	DWORD version;
	char *description;
	char *author;
	char *authorEmail;
	char *copyright;
	char *homepage;
	BYTE flags;	   // right now the only flag, UNICODE_AWARE, is recognized here
	MUUID uuid;    // plugin's unique identifier
}
	PLUGININFOEX;
  1. PLUGINLINK is gone. The CallService macros using the PLUGINLINK are now replaced with the functions in m_core.h (like CallService, HookEvent etc.). The compiler should not complain about it. As a result, the Load function does not take any parameter.
  2. The DBGetContactSetting/DBWriteContactSetting functions are renamed with the db_get/db_set functions from the m_core.h.