summary refs log tree commit diff stats
path: root/src/common/plugin.h
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2012-10-30 06:56:25 +0100
committerBerke Viktor <bviktor@hexchat.org>2012-10-30 06:56:25 +0100
commitad16a2bfee7e51e8acfbc6acd7cf22e438ec60d2 (patch)
tree05fbfae0392b9c7156820b7f5f326faf87b451f3 /src/common/plugin.h
parent56973ae365d5f7d9348996f27080d5e9d376caa9 (diff)
Proof-of-concept compat mode for XChat
Diffstat (limited to 'src/common/plugin.h')
-rw-r--r--src/common/plugin.h106
1 files changed, 100 insertions, 6 deletions
diff --git a/src/common/plugin.h b/src/common/plugin.h
index 8b2b00dc..1d51f784 100644
--- a/src/common/plugin.h
+++ b/src/common/plugin.h
@@ -6,6 +6,7 @@ struct _xchat_plugin
 {
 	/* Keep these in sync with hexchat-plugin.h */
 	/* !!don't change the order, to keep binary compat!! */
+#ifdef XCHAT_PLUGIN_COMPAT
 	xchat_hook *(*xchat_hook_command) (xchat_plugin *ph,
 		    const char *name,
 		    int pri,
@@ -98,20 +99,113 @@ struct _xchat_plugin
 	     int flags);
 	void (*xchat_free) (xchat_plugin *ph,
 	    void *ptr);
-	int (*xchat_pluginpref_set_str) (xchat_plugin *ph,
+#endif /* XCHAT_PLUGIN_COMPAT */
+	xchat_hook *(*hexchat_hook_command) (xchat_plugin *ph,
+		    const char *name,
+		    int pri,
+		    int (*callback) (char *word[], char *word_eol[], void *user_data),
+		    const char *help_text,
+		    void *userdata);
+	xchat_hook *(*hexchat_hook_server) (xchat_plugin *ph,
+		   const char *name,
+		   int pri,
+		   int (*callback) (char *word[], char *word_eol[], void *user_data),
+		   void *userdata);
+	xchat_hook *(*hexchat_hook_print) (xchat_plugin *ph,
+		  const char *name,
+		  int pri,
+		  int (*callback) (char *word[], void *user_data),
+		  void *userdata);
+	xchat_hook *(*hexchat_hook_timer) (xchat_plugin *ph,
+		  int timeout,
+		  int (*callback) (void *user_data),
+		  void *userdata);
+	xchat_hook *(*hexchat_hook_fd) (xchat_plugin *ph,
+		   int fd,
+		   int flags,
+		   int (*callback) (int fd, int flags, void *user_data),
+		   void *userdata);
+	void *(*hexchat_unhook) (xchat_plugin *ph,
+	      xchat_hook *hook);
+	void (*hexchat_print) (xchat_plugin *ph,
+	     const char *text);
+	void (*hexchat_printf) (xchat_plugin *ph,
+	      const char *format, ...);
+	void (*hexchat_command) (xchat_plugin *ph,
+	       const char *command);
+	void (*hexchat_commandf) (xchat_plugin *ph,
+		const char *format, ...);
+	int (*hexchat_nickcmp) (xchat_plugin *ph,
+	       const char *s1,
+	       const char *s2);
+	int (*hexchat_set_context) (xchat_plugin *ph,
+		   xchat_context *ctx);
+	xchat_context *(*hexchat_find_context) (xchat_plugin *ph,
+		    const char *servname,
+		    const char *channel);
+	xchat_context *(*hexchat_get_context) (xchat_plugin *ph);
+	const char *(*hexchat_get_info) (xchat_plugin *ph,
+		const char *id);
+	int (*hexchat_get_prefs) (xchat_plugin *ph,
+		 const char *name,
+		 const char **string,
+		 int *integer);
+	xchat_list * (*hexchat_list_get) (xchat_plugin *ph,
+		const char *name);
+	void (*hexchat_list_free) (xchat_plugin *ph,
+		 xchat_list *xlist);
+	const char * const * (*hexchat_list_fields) (xchat_plugin *ph,
+		   const char *name);
+	int (*hexchat_list_next) (xchat_plugin *ph,
+		 xchat_list *xlist);
+	const char * (*hexchat_list_str) (xchat_plugin *ph,
+		xchat_list *xlist,
+		const char *name);
+	int (*hexchat_list_int) (xchat_plugin *ph,
+		xchat_list *xlist,
+		const char *name);
+	void * (*hexchat_plugingui_add) (xchat_plugin *ph,
+		     const char *filename,
+		     const char *name,
+		     const char *desc,
+		     const char *version,
+		     char *reserved);
+	void (*hexchat_plugingui_remove) (xchat_plugin *ph,
+			void *handle);
+	int (*hexchat_emit_print) (xchat_plugin *ph,
+			const char *event_name, ...);
+	void *(*hexchat_read_fd) (xchat_plugin *ph);
+	time_t (*hexchat_list_time) (xchat_plugin *ph,
+		xchat_list *xlist,
+		const char *name);
+	char *(*hexchat_gettext) (xchat_plugin *ph,
+		const char *msgid);
+	void (*hexchat_send_modes) (xchat_plugin *ph,
+		  const char **targets,
+		  int ntargets,
+		  int modes_per_line,
+		  char sign,
+		  char mode);
+	char *(*hexchat_strip) (xchat_plugin *ph,
+	     const char *str,
+	     int len,
+	     int flags);
+	void (*hexchat_free) (xchat_plugin *ph,
+	    void *ptr);
+	int (*hexchat_pluginpref_set_str) (xchat_plugin *ph,
 		const char *var,
 		const char *value);
-	int (*xchat_pluginpref_get_str) (xchat_plugin *ph,
+	int (*hexchat_pluginpref_get_str) (xchat_plugin *ph,
 		const char *var,
 		char *dest);
-	int (*xchat_pluginpref_set_int) (xchat_plugin *ph,
+	int (*hexchat_pluginpref_set_int) (xchat_plugin *ph,
 		const char *var,
 		int value);
-	int (*xchat_pluginpref_get_int) (xchat_plugin *ph,
+	int (*hexchat_pluginpref_get_int) (xchat_plugin *ph,
 		const char *var);
-	int (*xchat_pluginpref_delete) (xchat_plugin *ph,
+	int (*hexchat_pluginpref_delete) (xchat_plugin *ph,
 		const char *var);
-	int (*xchat_pluginpref_list) (xchat_plugin *ph,
+	int (*hexchat_pluginpref_list) (xchat_plugin *ph,
 		char *dest);
 	void *(*xchat_dummy4) (xchat_plugin *ph);
 	void *(*xchat_dummy3) (xchat_plugin *ph);