summaryrefslogtreecommitdiff
path: root/src/opener.h
blob: 60d6c036cc4be3ce0a3e5f891e6dfa3c51c2e344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef GGAZE_OPENER_H
#define GGAZE_OPENER_H

#include <gio/gio.h>
#include <glib.h>

G_BEGIN_DECLS

typedef struct {
   char *c_name;
   char *c_command; /* may contain %f */
} OpenerProg;

typedef struct Opener Opener;

Opener          *opener_new(void);
void             opener_delete(Opener *p_o);
void             opener_set_progs(Opener *p_o, const GPtrArray *p_progs);
const GPtrArray *opener_get_progs(Opener *p_o);

/* Launch the program with %f expanded to the file's path. Detached. Returns
 * TRUE if the process was started. */
gboolean opener_launch(Opener *p_o, GFile *p_file, const OpenerProg *p_prog,
                       GError **p_err);

G_END_DECLS

#endif