#ifndef GREETER_H_
#define GREETER_H_
+typedef struct Greeter Greeter;
+
#include "session.h"
G_BEGIN_DECLS
#define IS_GREETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GREETER_TYPE))
#define GREETER_SIGNAL_CONNECTED "connected"
+#define GREETER_SIGNAL_DISCONNECTED "disconnected"
#define GREETER_SIGNAL_CREATE_SESSION "create-session"
#define GREETER_SIGNAL_START_SESSION "start-session"
typedef struct GreeterPrivate GreeterPrivate;
-typedef struct
+struct Greeter
{
GObject parent_instance;
GreeterPrivate *priv;
-} Greeter;
+};
typedef struct
{
GObjectClass parent_class;
void (*connected)(Greeter *greeter);
+ void (*disconnected)(Greeter *greeter);
Session *(*create_session)(Greeter *greeter);
gboolean (*start_session)(Greeter *greeter, SessionType type, const gchar *session);
} GreeterClass;
Greeter *greeter_new (void);
-gboolean greeter_start (Greeter *greeter, gboolean (*setup_child_cb)(Greeter *greeter, int input_fd, int output_fd, gpointer user_data), gpointer user_data);
+void greeter_set_file_descriptors (Greeter *greeter, int to_greeter_fd, int from_greeter_fd);
void greeter_stop (Greeter *greeter);