Converted README to markdown
[rox-filer.git] / ROX-Filer / src / sc.h
blobee217fb18ee393e059a2641fb6667b7815717d38
1 /*
2 * ROX-Filer, filer for the ROX desktop project
3 * By Thomas Leonard, <tal197@users.sourceforge.net>.
4 */
6 /* sc.h - XSMP client support */
8 #ifndef _SC_ALU_H_
9 #define _SC_ALU_H_
11 #include <gtk/gtk.h>
12 #include <X11/SM/SMlib.h>
14 typedef struct _SmProperty {
15 SmProp prop;
16 gboolean set;
17 } SmProperty;
19 typedef struct _SmClient SmClient;
21 struct _SmClient {
22 gchar *id;
23 GSList *props;
24 gboolean (*save_yourself_fn)(SmClient *client);
25 void (*shutdown_cancelled_fn)(SmClient *client);
26 void (*save_complete_fn)(SmClient *client);
27 void (*die_fn)(SmClient *client);
28 SmcConn conn;
29 IceConn ice_conn;
30 gint fd;
31 gint input_tag;
34 gboolean sc_session_up(void);
35 SmClient *sc_new(const gchar *client_id);
36 gboolean sc_connect(SmClient *client);
37 void sc_get_prop_value(SmClient *client, const gchar *name,
38 SmPropValue **val_ret, gint *nvals_ret);
39 void sc_set_list_of_array_prop(SmClient *client, const gchar *name,
40 const gchar *vals[], gint nvals);
41 void sc_set_array_prop(SmClient *client, const gchar *name, const gchar *vals);
42 void sc_set_card_prop(SmClient *client, const gchar *name, gchar val);
43 void sc_register_properties(SmClient *client);
44 void sc_destroy(SmClient *client);
46 #endif /* _SC_ALU_H */