32 #include <mcabber/hbuf.h> |
32 #include <mcabber/hbuf.h> |
33 #include <mcabber/xmpp.h> |
33 #include <mcabber/xmpp.h> |
34 #include <mcabber/roster.h> |
34 #include <mcabber/roster.h> |
35 #include <mcabber/modules.h> |
35 #include <mcabber/modules.h> |
36 #include <mcabber/hooks.h> |
36 #include <mcabber/hooks.h> |
|
37 #include <mcabber/api.h> |
37 |
38 |
38 #include "config.h" |
39 #include "config.h" |
39 |
40 |
40 static void mcmd_init (void); |
41 void mcmd_init (void); |
41 static void mcmd_uninit (void); |
42 void mcmd_uninit (void); |
42 |
43 |
43 #define DESCRIPTION ( \ |
44 #define DESCRIPTION ( \ |
44 "Sends output of command to buddy\n" \ |
45 "Sends output of command to buddy\n" \ |
45 "Recognizes options cmd_shell, cmd_redirect_stderr, cmd_header and cmd_header_inline\n" \ |
46 "Recognizes options cmd_shell, cmd_redirect_stderr, cmd_header and cmd_header_inline\n" \ |
46 "Provides command /cmd" ) |
47 "Provides command /cmd" ) |
47 |
48 |
48 static module_info_t info_cmd_experimental = { |
49 static module_info_t info_cmd_dev = { |
49 .branch = "experimental", |
50 .branch = "dev", |
50 .api = 27, |
51 .api = 20, |
51 .version = PROJECT_VERSION, |
52 .version = PROJECT_VERSION, |
52 .description = DESCRIPTION, |
53 .description = DESCRIPTION, |
53 .requires = NULL, |
54 .requires = NULL, |
54 .init = mcmd_init, |
55 .init = mcmd_init, |
55 .uninit = mcmd_uninit, |
56 .uninit = mcmd_uninit, |
56 .next = NULL, |
57 .next = NULL, |
57 }; |
58 }; |
58 |
59 |
59 static module_info_t info_cmd_dev = { |
|
60 .branch = "dev", |
|
61 .api = 13, |
|
62 .version = PROJECT_VERSION, |
|
63 .description = DESCRIPTION, |
|
64 .requires = NULL, |
|
65 .init = mcmd_init, |
|
66 .uninit = mcmd_uninit, |
|
67 .next = &info_cmd_experimental, |
|
68 }; |
|
69 |
|
70 module_info_t info_cmd = { |
60 module_info_t info_cmd = { |
71 .branch = "0.10.0", |
61 .branch = "0.10.1", |
72 .api = 1, |
62 .api = 1, |
73 .version = PROJECT_VERSION, |
63 .version = PROJECT_VERSION, |
74 .description = DESCRIPTION, |
64 .description = DESCRIPTION, |
75 .requires = NULL, |
65 .requires = NULL, |
76 .init = mcmd_init, |
66 .init = mcmd_init, |
345 cmd_channels = g_slist_append (cmd_channels, cb); |
335 cmd_channels = g_slist_append (cmd_channels, cb); |
346 } |
336 } |
347 } |
337 } |
348 } |
338 } |
349 |
339 |
350 static void mcmd_init (void) |
340 void mcmd_init (void) |
351 { |
341 { |
352 #ifndef HAVE_CMD_ID |
342 #ifndef MCABBER_API_HAVE_CMD_ID |
353 cmd_add ("cmd", "", 0, 0, do_cmd, NULL); |
343 cmd_add ("cmd", "", 0, 0, do_cmd, NULL); |
354 #else |
344 #else |
355 mcmd_cmid = cmd_add ("cmd", "", 0, 0, do_cmd, NULL); |
345 mcmd_cmid = cmd_add ("cmd", "", 0, 0, do_cmd, NULL); |
356 #endif |
346 #endif |
357 } |
347 } |
358 |
348 |
359 static void mcmd_uninit (void) |
349 void mcmd_uninit (void) |
360 { |
350 { |
361 GSList *sel; |
351 GSList *sel; |
362 |
352 |
363 #ifndef HAVE_CMD_ID |
353 #ifndef MCABBER_API_HAVE_CMD_ID |
364 cmd_del ("cmd"); |
354 cmd_del ("cmd"); |
365 #else |
355 #else |
366 if (mcmd_cmid) |
356 if (mcmd_cmid) |
367 cmd_del (mcmd_cmid); |
357 cmd_del (mcmd_cmid); |
368 #endif |
358 #endif |