view plugins/perl/perl-handlers.h @ 12711:145f76e74a9f

[gaim-migrate @ 15055] Fix SF Bug #1384698 - "Last word in text auto replace not changed" This uses astro96's idea: 'when the user types something like "Hi how r u" they will see this (where the "^" is the cursor): "Hi how are u^" When they hit enter to send the message, instead of sending the message, the last word would be replaced: [Enter] "Hi how are you^" and then if they hit enter again it would send the message.' I code a preference for this, but have #if 0'ed it before committing. I don't think we need a preference to disable this. If it turns out I'm wrong, the code is right there to use. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Wed, 04 Jan 2006 03:01:32 +0000
parents 0e9e2b923d09
children e1603fd610fa
line wrap: on
line source

#ifndef _GAIM_PERL_HANDLERS_H_
#define _GAIM_PERL_HANDLERS_H_

#include "plugin.h"
#include "prefs.h"
#include "pluginpref.h"
#include "gtkplugin.h"
#include "gtkutils.h"

/* TODO: Find a better way to access the perl names from the plugin prober	*/
/* and store them for gaim_perl_plugin_action_* functions.			*/
char * gaim_perl_plugin_action_callback_sub;
char * gaim_perl_plugin_action_label;

typedef struct
{
	SV *callback;
	SV *data;
	GaimPlugin *plugin;
	int iotag;

} GaimPerlTimeoutHandler;

typedef struct
{
	char *signal;
	SV *callback;
	SV *data;
	void *instance;
	GaimPlugin *plugin;

} GaimPerlSignalHandler;

void gaim_perl_plugin_action_cb(GaimPluginAction * gpa);
GList *gaim_perl_plugin_action(GaimPlugin *plugin, gpointer context); 

GaimPluginUiInfo *gaim_perl_plugin_pref(const char * frame_cb);
GaimPluginPrefFrame *gaim_perl_get_plugin_frame(GaimPlugin *plugin);

GaimGtkPluginUiInfo *gaim_perl_gtk_plugin_pref(const char * frame_cb);
GtkWidget *gaim_perl_gtk_get_plugin_frame(GaimPlugin *plugin);

void gaim_perl_timeout_add(GaimPlugin *plugin, int seconds, SV *callback,
						   SV *data);
void gaim_perl_timeout_clear_for_plugin(GaimPlugin *plugin);
void gaim_perl_timeout_clear(void);

void gaim_perl_signal_connect(GaimPlugin *plugin, void *instance,
							  const char *signal, SV *callback,
							  SV *data);
void gaim_perl_signal_disconnect(GaimPlugin *plugin, void *instance,
								 const char *signal);
void gaim_perl_signal_clear_for_plugin(GaimPlugin *plugin);
void gaim_perl_signal_clear(void);

#endif /* _GAIM_PERL_HANDLERS_H_ */