annotate src/remote.h @ 737:8a8873e7a552

Make shell command and its option rc file options instead of hardcoded strings. This allows users to modify the shell command that execute "editors". Two new options appear in rc file: - shell.path (default to "/bin/sh") - shell.options (default to "-c") These options can only be changed from the rc file, not at runtime. Tests are made to check that shell.path is not empty and lead to an executable file.
author zas_
date Thu, 22 May 2008 20:22:13 +0000
parents 9bcfd6d7a902
children 4fe8f9656107
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 9
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
475
48c8e49b571c updated copyright in source files
nadvornik
parents: 446
diff changeset
4 * Copyright (C) 2008 The Geeqie Team
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
11 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
13
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #ifndef REMOTE_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15 #define REMOTE_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 typedef struct _RemoteConnection RemoteConnection;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 typedef void RemoteReadFunc(RemoteConnection *rc, const char *text, gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 struct _RemoteConnection {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23 gint server;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
24 int fd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25 gchar *path;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27 gint channel_id;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 RemoteReadFunc *read_func;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
29 gpointer read_data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31 GList *clients;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
32 };
442
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 196
diff changeset
33
4b2d7f9af171 Big whitespaces cleanup:
zas_
parents: 196
diff changeset
34
649
3097880d7d95 Move all remote stuff from main.c to remote.[ch].
zas_
parents: 475
diff changeset
35 void remote_close(RemoteConnection *rc);
652
9bcfd6d7a902 Display a message when invalid remote options are used.
zas_
parents: 649
diff changeset
36 GList *remote_build_list(GList *list, int argc, char *argv[], GList **errors);
649
3097880d7d95 Move all remote stuff from main.c to remote.[ch].
zas_
parents: 475
diff changeset
37 void remote_help(void);
3097880d7d95 Move all remote stuff from main.c to remote.[ch].
zas_
parents: 475
diff changeset
38 void remote_control(const gchar *arg_exec, GList *remote_list, const gchar *path,
3097880d7d95 Move all remote stuff from main.c to remote.[ch].
zas_
parents: 475
diff changeset
39 GList *cmd_list, GList *collection_list);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40
649
3097880d7d95 Move all remote stuff from main.c to remote.[ch].
zas_
parents: 475
diff changeset
41 RemoteConnection *remote_server_init(gchar *path, CollectionData *command_collection);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44 #endif