User:Wishmaster: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
(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...")
 
mNo edit summary
Line 1: Line 1:
== Changes for Plugin developers==
== 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:
In Miranda NG, we made some changes, that made the plugins from Miranda IM incompatible. These are just the major changes:


# '''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 <tt>int replacesDefaultModule;</tt> (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.
# '''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 <tt>int replacesDefaultModule;</tt> (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.


<pre>typedef struct PLUGININFOEX_tag
<pre>typedef struct PLUGININFOEX_tag

Revision as of 22:32, 23 May 2013

Changes for Plugin developers

In Miranda NG, we made some changes, that made the plugins from Miranda IM incompatible. These 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.