1 /* vi: set et sw=4 ts=8 cino=t0,(0: */
2 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 8 -*- */
3 /*
4  * This file is part of mission-control
5  *
6  * Copyright (C) 2007-2009 Nokia Corporation.
7  * Copyright (C) 2009 Collabora Ltd.
8  *
9  * Contact: Naba Kumar  <naba.kumar@nokia.com>
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public License
13  * version 2.1 as published by the Free Software Foundation.
14  *
15  * This library is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with this library; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
23  * 02110-1301 USA
24  *
25  */
26 
27 #ifndef MCD_DISPATCHER_H
28 #define MCD_DISPATCHER_H
29 
30 #include <glib.h>
31 #include <glib-object.h>
32 #include <dbus/dbus-glib.h>
33 #include <telepathy-glib/telepathy-glib.h>
34 
35 G_BEGIN_DECLS
36 
37 #define MCD_TYPE_DISPATCHER         (mcd_dispatcher_get_type ())
38 #define MCD_DISPATCHER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), MCD_TYPE_DISPATCHER, McdDispatcher))
39 #define MCD_DISPATCHER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), MCD_TYPE_DISPATCHER, McdDispatcherClass))
40 #define MCD_IS_DISPATCHER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), MCD_TYPE_DISPATCHER))
41 #define MCD_IS_DISPATCHER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), MCD_TYPE_DISPATCHER))
42 #define MCD_DISPATCHER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MCD_TYPE_DISPATCHER, McdDispatcherClass))
43 
44 typedef struct _McdDispatcher McdDispatcher;
45 typedef struct _McdDispatcherClass McdDispatcherClass;
46 typedef struct _McdDispatcherPrivate McdDispatcherPrivate;
47 
48 #include "mcd-channel.h"
49 #include "mcd-master.h"
50 
51 struct _McdDispatcher
52 {
53     GObject parent;
54     McdDispatcherPrivate *priv;
55 };
56 
57 struct _McdDispatcherClass
58 {
59     GObjectClass parent_class;
60     TpDBusPropertiesMixinClass dbus_properties_class;
61 };
62 
63 GType mcd_dispatcher_get_type (void);
64 
65 McdDispatcher *mcd_dispatcher_new (TpDBusDaemon *dbus_daemon,
66 				   McdMaster * master);
67 
68 G_END_DECLS
69 
70 #endif /* MCD_DISPATCHER_H */
71