src/gaim-remote.c

Sat, 05 Jul 2003 21:54:19 +0000

author
Christian Hammond <chipx86@chipx86.com>
date
Sat, 05 Jul 2003 21:54:19 +0000
changeset 6035
b245be9cbe3b
parent 5872
754c63f29b77
child 6643
5e9beb88b192
permissions
-rw-r--r--

[gaim-migrate @ 6485]
gaim_request_input() now takes a masked bool, which, if enabled, masks the
text on the entry field so that it cannot be seen. Good for password input
requests, and what do you know, that's why this is written!

3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * gaim-remote
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 * Copyright (C) 2002, Sean Egan <bj91704@binghamton.edu>
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
5 * Features/functionality added (C) 2002, John B. Silvestri <silvestrij@mville.edu>
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
6 * 'quit', long help for URIs
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 *
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 *
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 *
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 *
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5859
diff changeset
24 #include "internal.h"
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5859
diff changeset
25
3533
db01a1976f49 [gaim-migrate @ 3607]
Sean Egan <seanegan@pidgin.im>
parents: 3480
diff changeset
26 #include <getopt.h>
5124
96cd4ae1204e [gaim-migrate @ 5487]
Mark Doliner <markdoliner@pidgin.im>
parents: 5116
diff changeset
27 #include <locale.h>
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
28
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
29 #include <gaim-remote/remote.h>
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
31 void show_remote_usage(char *name)
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33 printf(_("Usage: %s command [OPTIONS] [URI]\n\n"
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
34
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 " COMMANDS:\n"
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
36 " uri Handle AIM: URI\n"
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
37 " quit Close running copy of Gaim\n\n"
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
38
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
39 " OPTIONS:\n"
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
40 " -h, --help [commmand] Show help for command\n"), name);
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
41 return;
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
42 }
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
43
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
44 /*To be implemented:
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 " info Show information about connected accounts\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 " list Print buddy list\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47 " ison Show presence state of your buddy\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48 " convo Open a new conversation window\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
49 " send Send message\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 " add Add buddy to buddy list\n"
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
51 " remove Remove buddy from list\n"
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52 " -m, --message=MESG Message to send or show in conversation window\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
53 " -t, --to=SCREENNAME Select a target for command\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 " -p, --protocol=PROTO Specify protocol to use\n"
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 " -f, --from=SCREENNAME Specify screenname to use\n"
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
56 " -q, --quiet Send message without showing a conversation\n"
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
57 " window\n"
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
58 */
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
59
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60 static struct option longopts[] = {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
61 {"message", required_argument, NULL, 'm'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 {"to", required_argument, NULL, 't'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 {"protocol",required_argument, NULL, 'p'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 {"from", required_argument, NULL, 'f'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65 {"quiet", no_argument, NULL, 'q'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 {"help", no_argument, NULL, 'h'},
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 {0,0,0,0}
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 };
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 struct remoteopts {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
71 char *command;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 char *uri;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 gboolean help, quiet;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74 char *message, *to, *from;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75 int protocol;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76 };
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
78
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
79 struct remoteopts opts;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 int get_options(int argc, char *argv[])
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81 {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 int i;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83 memset(&opts, 0, sizeof(opts));
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 opts.protocol = -1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 while ((i=getopt_long(argc, argv, "m:t:p:f:qh", longopts, NULL)) != -1) {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 switch (i) {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87 case 'm':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 opts.message = optarg;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
90 case 't':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91 opts.to = optarg;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
92 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
93 case 'p':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
94 /* Do stuff here. */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
95 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
96 case 'f':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
97 opts.from = optarg;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
98 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
99 case 'q':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
100 opts.quiet = TRUE;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
101 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
102 case 'h':
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
103 opts.help = TRUE;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
104 break;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
105 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
106 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
107
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
108 /* We must have non getopt'ed argument-- the command */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
109 if (optind < argc)
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
110 opts.command = g_strdup(argv[optind++]);
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
111 else
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
112 return 1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
113
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
114 /* And we can have another argument--the URI. */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
115 if (optind < argc) {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
116 /* but only if we're using the uri command. */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
117 if (!strcmp(opts.command, "uri"))
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
118 opts.uri = g_strdup(argv[optind++]);
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
119 else
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
120 return 1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
121
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
122 /* and we can't have any others. */
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
123 if (optind < argc)
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
124 return 1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
125 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
126
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
127 return 0;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
128 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
129
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
130
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
131 int command_uri() {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
132 int fd = 0;
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
133 GaimRemotePacket *p = NULL;
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
134 fd = gaim_remote_session_connect(0);
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
135 if (!fd) {
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
136 fprintf(stderr, _("Gaim not running (on session 0)\n"));
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
137 return 1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
138 }
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
139 p = gaim_remote_packet_new(CUI_TYPE_REMOTE, CUI_REMOTE_URI);
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
140 gaim_remote_packet_append_string(p, opts.uri);
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
141 gaim_remote_session_send_packet(fd, p);
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
142 close(fd);
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
143 gaim_remote_packet_free(p);
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
144 return 0;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
145 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
146
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
147 int command_quit() {
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
148 int fd = 0;
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
149 GaimRemotePacket *p = NULL;
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
150 fd = gaim_remote_session_connect(0);
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
151 if (!fd) {
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
152 fprintf(stderr, _("Gaim not running (on session 0)\n"));
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
153 return 1;
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
154 }
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
155 p = gaim_remote_packet_new(CUI_TYPE_META, CUI_META_QUIT);
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
156 gaim_remote_session_send_packet(fd, p);
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
157 close(fd);
5859
e9e5fb0bbfe9 [gaim-migrate @ 6290]
Christian Hammond <chipx86@chipx86.com>
parents: 5124
diff changeset
158 gaim_remote_packet_free(p);
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
159 return 0;
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
160 }
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
161
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
162 void show_longhelp_uri( char *name, char *command){
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
163 if(!strcmp(command, "uri")) {
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
164 printf (_("\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
165 "Using AIM: URIs:\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
166 "Sending an IM to a screenname:\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
167 " gaim-remote uri 'aim:goim?screenname=Penguin&message=hello+world'\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
168 "In this case, 'Penguin' is the screenname we wish to IM, and 'hello world'\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
169 "is the message to be sent. '+' must be used in place of spaces.\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
170 "Please note the quoting used above - if you run this from a shell the '&'\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
171 "needs to be escaped, or the command will stop at that point.\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
172 "Also,the following will just open a conversation window to a screenname,\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
173 "with no message:\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
174 " gaim-remote uri aim:goim?screenname=Penguin\n\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
175 "Joining a chat:\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
176 " gaim-remote uri aim:gochat?roomname=PenguinLounge\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
177 "...joins the 'PenguinLounge' chat room.\n\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
178 "Adding a buddy to your buddy list:\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
179 " gaim-remote uri aim:addbuddy?screenname=Penguin\n"
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
180 "...prompts you to add 'Penguin' to your buddy list.\n")
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
181 );
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
182 }
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
183 else if(!strcmp(command, "quit")) {
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
184 printf (_("\nClose running copy of Gaim\n"));
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
185 }
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
186 else {
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
187 show_remote_usage(name);
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
188 }
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
189 }
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
190
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
191 /* Work in progress - JBS
3867
0e747b4295cb [gaim-migrate @ 4019]
Rob Flynn <gaim@robflynn.com>
parents: 3559
diff changeset
192 int command_info(){
0e747b4295cb [gaim-migrate @ 4019]
Rob Flynn <gaim@robflynn.com>
parents: 3559
diff changeset
193 fprintf(stderr, "Info not yet implemented\n");
0e747b4295cb [gaim-migrate @ 4019]
Rob Flynn <gaim@robflynn.com>
parents: 3559
diff changeset
194 return 1;
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
195 }*/
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
196
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
197 int main (int argc, char *argv[])
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
198 {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
199
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
200 #ifdef ENABLE_NLS
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
201 setlocale (LC_ALL, "");
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
202 bindtextdomain(PACKAGE, LOCALEDIR);
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
203 bind_textdomain_codeset(PACKAGE, "UTF-8");
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
204 textdomain(PACKAGE);
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
205 #endif
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
206
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
207 if (get_options(argc, argv)) {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
208 show_remote_usage(argv[0]);
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
209 return 0;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
210 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
211
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
212
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
213 if (!strcmp(opts.command, "uri")) {
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
214 if(opts.help){
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
215 show_longhelp_uri(argv[0], "uri");
4242
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
216 }else{
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
217 return command_uri();
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
218 }
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
219 /* } else if (!strcmp(opts.command, "info")) {
48cfe2669548 [gaim-migrate @ 4492]
John Silvestri <john.silvestri@gmail.com>
parents: 4235
diff changeset
220 return command_info();*/
3559
329d9448fa45 [gaim-migrate @ 3653]
John Silvestri <john.silvestri@gmail.com>
parents: 3533
diff changeset
221 } else if (!strcmp(opts.command, "quit")) {
5116
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
222 if(opts.help){
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
223 show_longhelp_uri(argv[0], "quit");
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
224 }else{
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
225 return command_quit();
8e5a5161a4d9 [gaim-migrate @ 5479]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 4242
diff changeset
226 }
3480
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
227 } else {
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
228 show_remote_usage(argv[0]);
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
229 return 1;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
230 }
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
231
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
232 return 0;
2e430147929e [gaim-migrate @ 3534]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
233 }

mercurial