mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Add get_room_nick to plugins api
This commit is contained in:
parent
ffa01a1a4c
commit
8008d8c3c6
@ -270,6 +270,12 @@ api_current_win_is_console(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char*
|
||||||
|
api_get_room_nick(const char *barejid)
|
||||||
|
{
|
||||||
|
return muc_nick(barejid);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
api_log_debug(const char *message)
|
api_log_debug(const char *message)
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,8 @@ gboolean api_current_win_is_console(void);
|
|||||||
char* api_get_current_nick(void);
|
char* api_get_current_nick(void);
|
||||||
char** api_get_current_occupants(void);
|
char** api_get_current_occupants(void);
|
||||||
|
|
||||||
|
char* api_get_room_nick(const char *barejid);
|
||||||
|
|
||||||
void api_register_command(const char *const plugin_name, const char *command_name, int min_args, int max_args,
|
void api_register_command(const char *const plugin_name, const char *command_name, int min_args, int max_args,
|
||||||
char **synopsis, const char *description, char *arguments[][2], char **examples,
|
char **synopsis, const char *description, char *arguments[][2], char **examples,
|
||||||
void *callback, void(*callback_func)(PluginCommand *command, gchar **args), void(*callback_destroy)(void *callback));
|
void *callback, void(*callback_func)(PluginCommand *command, gchar **args), void(*callback_destroy)(void *callback));
|
||||||
|
@ -195,6 +195,12 @@ c_api_get_current_occupants(void)
|
|||||||
return api_get_current_occupants();
|
return api_get_current_occupants();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char*
|
||||||
|
c_api_get_room_nick(const char *barejid)
|
||||||
|
{
|
||||||
|
return api_get_room_nick(barejid);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
c_api_log_debug(const char *message)
|
c_api_log_debug(const char *message)
|
||||||
{
|
{
|
||||||
@ -380,6 +386,7 @@ c_api_init(void)
|
|||||||
prof_current_win_is_console = c_api_current_win_is_console;
|
prof_current_win_is_console = c_api_current_win_is_console;
|
||||||
prof_get_current_nick = c_api_get_current_nick;
|
prof_get_current_nick = c_api_get_current_nick;
|
||||||
prof_get_current_occupants = c_api_get_current_occupants;
|
prof_get_current_occupants = c_api_get_current_occupants;
|
||||||
|
prof_get_room_nick = c_api_get_room_nick;
|
||||||
prof_log_debug = c_api_log_debug;
|
prof_log_debug = c_api_log_debug;
|
||||||
prof_log_info = c_api_log_info;
|
prof_log_info = c_api_log_info;
|
||||||
prof_log_warning = c_api_log_warning;
|
prof_log_warning = c_api_log_warning;
|
||||||
|
@ -63,6 +63,8 @@ int (*prof_current_win_is_console)(void) = NULL;
|
|||||||
char* (*prof_get_current_nick)(void) = NULL;
|
char* (*prof_get_current_nick)(void) = NULL;
|
||||||
char** (*prof_get_current_occupants)(void) = NULL;
|
char** (*prof_get_current_occupants)(void) = NULL;
|
||||||
|
|
||||||
|
char* (*prof_get_room_nick)(const char *barejid) = NULL;
|
||||||
|
|
||||||
void (*prof_log_debug)(const char *message) = NULL;
|
void (*prof_log_debug)(const char *message) = NULL;
|
||||||
void (*prof_log_info)(const char *message) = NULL;
|
void (*prof_log_info)(const char *message) = NULL;
|
||||||
void (*prof_log_warning)(const char *message) = NULL;
|
void (*prof_log_warning)(const char *message) = NULL;
|
||||||
|
@ -75,6 +75,8 @@ int (*prof_current_win_is_console)(void);
|
|||||||
char* (*prof_get_current_nick)(void);
|
char* (*prof_get_current_nick)(void);
|
||||||
char** (*prof_get_current_occupants)(void);
|
char** (*prof_get_current_occupants)(void);
|
||||||
|
|
||||||
|
char* (*prof_get_room_nick)(const char *barejid);
|
||||||
|
|
||||||
void (*prof_log_debug)(const char *message);
|
void (*prof_log_debug)(const char *message);
|
||||||
void (*prof_log_info)(const char *message);
|
void (*prof_log_info)(const char *message);
|
||||||
void (*prof_log_warning)(const char *message);
|
void (*prof_log_warning)(const char *message);
|
||||||
|
@ -475,6 +475,27 @@ python_api_current_win_is_console(PyObject *self, PyObject *args)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject*
|
||||||
|
python_api_get_room_nick(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
PyObject *barejid = NULL;
|
||||||
|
if (!PyArg_ParseTuple(args, "O", &barejid)) {
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *barejid_str = python_str_or_unicode_to_string(barejid);
|
||||||
|
|
||||||
|
allow_python_threads();
|
||||||
|
char *nick = api_get_room_nick(barejid_str);
|
||||||
|
free(barejid_str);
|
||||||
|
disable_python_threads();
|
||||||
|
if (nick) {
|
||||||
|
return Py_BuildValue("s", nick);
|
||||||
|
} else {
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
python_api_log_debug(PyObject *self, PyObject *args)
|
python_api_log_debug(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
@ -1095,6 +1116,7 @@ static PyMethodDef apiMethods[] = {
|
|||||||
{ "get_current_nick", python_api_get_current_nick, METH_VARARGS, "Return nickname in current room." },
|
{ "get_current_nick", python_api_get_current_nick, METH_VARARGS, "Return nickname in current room." },
|
||||||
{ "get_current_occupants", python_api_get_current_occupants, METH_VARARGS, "Return list of occupants in current room." },
|
{ "get_current_occupants", python_api_get_current_occupants, METH_VARARGS, "Return list of occupants in current room." },
|
||||||
{ "current_win_is_console", python_api_current_win_is_console, METH_VARARGS, "Returns whether the current window is the console." },
|
{ "current_win_is_console", python_api_current_win_is_console, METH_VARARGS, "Returns whether the current window is the console." },
|
||||||
|
{ "get_room_nick", python_api_get_room_nick, METH_VARARGS, "Return the nickname used in the specified room, or None if not in the room." },
|
||||||
{ "log_debug", python_api_log_debug, METH_VARARGS, "Log a debug message" },
|
{ "log_debug", python_api_log_debug, METH_VARARGS, "Log a debug message" },
|
||||||
{ "log_info", python_api_log_info, METH_VARARGS, "Log an info message" },
|
{ "log_info", python_api_log_info, METH_VARARGS, "Log an info message" },
|
||||||
{ "log_warning", python_api_log_warning, METH_VARARGS, "Log a warning message" },
|
{ "log_warning", python_api_log_warning, METH_VARARGS, "Log a warning message" },
|
||||||
|
Loading…
Reference in New Issue
Block a user