/*-
* $Id: rr-message-start.h,v 1.9 2002/11/08 12:35:28 jonas Exp $
*
* See the file LICENSE for redistribution information.
* If you have not received a copy of the license, please contact CodeFactory
* by email at info@codefactory.se, or on the web at http://www.codefactory.se/
* You may also write to: CodeFactory AB, SE-903 47, Umeå, Sweden.
*
* Copyright (c) 2002 Jonas Borgström <jonas@codefactory.se>
* Copyright (c) 2002 Daniel Lundin <daniel@codefactory.se>
* Copyright (c) 2002 CodeFactory AB. All rights reserved.
*/
#ifndef __RR_MESSAGE_START_H__
#define __RR_MESSAGE_START_H__
typedef struct _RRMessageStart RRMessageStart;
typedef struct _RRMessageStartClass RRMessageStartClass;
#include <librr/rr-frame.h>
#include <librr/message/rr-message.h>
G_BEGIN_DECLS
#define RR_TYPE_MESSAGE_START (rr_message_start_get_type ())
#define RR_MESSAGE_START(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), RR_TYPE_MESSAGE_START, RRMessageStart))
#define RR_MESSAGE_START_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RR_TYPE_MESSAGE_START, RRMessageStartClass))
#define RR_IS_MESSAGE_START(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), RR_TYPE_MESSAGE_START))
#define RR_IS_MESSAGE_START_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RR_TYPE_MESSAGE_START))
#define RR_MESSAGE_START_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RR_TYPE_MESSAGE_START, RRMessageStartClass))
struct _RRMessageStart {
RRMessage parent_object;
gint number;
GSList *in_list;
GSList *out_list;
RRChannel *done_channel;
GMutex *done_mutex;
GCond *done_cond;
gboolean done;
GError *done_error;
GError *client_init_error;
gchar *server_name;
};
struct _RRMessageStartClass {
RRMessageClass parent_class;
};
typedef struct {
GType type;
gchar *piggyback;
} RRStartItem;
GType rr_message_start_get_type (void);
RRMessageStart *rr_message_start_new (gint number, const gchar *server_name);
void rr_message_start_add_channel (RRMessageStart *start,
RRConnection *conn,
GType type,
gpointer config_data);
GSList *rr_message_start_get_channel_list (RRMessageStart *start);
RRChannel *rr_message_start_wait_for_reply (RRMessageStart *start,
GError **error);
void rr_message_start_done (RRMessageStart *start,
RRChannel *channel, GError *error);
const gchar *rr_message_start_get_server_name (RRMessageStart *start);
gboolean rr_message_start_empty_request_p (RRMessageStart *start);
G_END_DECLS
#endif /* __RR_MESSAGE_START_H__ */
syntax highlighted by Code2HTML, v. 0.9.1