1 /*
2  * manager.c - an example connection manager
3  *
4  * Copyright (C) 2007 Collabora Ltd.
5  *
6  * Copying and distribution of this file, with or without modification,
7  * are permitted in any medium without royalty provided the copyright
8  * notice and this notice are preserved.
9  */
10 
11 #include "config.h"
12 
13 #include "connection-manager.h"
14 
15 #include <dbus/dbus-protocol.h>
16 #include <dbus/dbus-glib.h>
17 
18 #include <telepathy-glib/telepathy-glib.h>
19 
20 #include "protocol.h"
21 
G_DEFINE_TYPE(ExampleExtendedConnectionManager,example_extended_connection_manager,TP_TYPE_BASE_CONNECTION_MANAGER)22 G_DEFINE_TYPE (ExampleExtendedConnectionManager,
23     example_extended_connection_manager,
24     TP_TYPE_BASE_CONNECTION_MANAGER)
25 
26 static void
27 example_extended_connection_manager_init (
28     ExampleExtendedConnectionManager *self)
29 {
30 }
31 
32 static void
example_extended_connection_manager_constructed(GObject * object)33 example_extended_connection_manager_constructed (GObject *object)
34 {
35   ExampleExtendedConnectionManager *self =
36     EXAMPLE_EXTENDED_CONNECTION_MANAGER (object);
37   TpBaseConnectionManager *base = (TpBaseConnectionManager *) self;
38   void (*constructed) (GObject *) =
39     ((GObjectClass *) example_extended_connection_manager_parent_class)->constructed;
40   TpBaseProtocol *protocol;
41 
42   if (constructed != NULL)
43     constructed (object);
44 
45   protocol = g_object_new (EXAMPLE_TYPE_EXTENDED_PROTOCOL,
46       "name", "example",
47       NULL);
48   tp_base_connection_manager_add_protocol (base, protocol);
49   g_object_unref (protocol);
50 }
51 
52 static void
example_extended_connection_manager_class_init(ExampleExtendedConnectionManagerClass * klass)53 example_extended_connection_manager_class_init (
54     ExampleExtendedConnectionManagerClass *klass)
55 {
56   GObjectClass *object_class = G_OBJECT_CLASS (klass);
57   TpBaseConnectionManagerClass *base_class =
58       (TpBaseConnectionManagerClass *) klass;
59 
60   object_class->constructed = example_extended_connection_manager_constructed;
61   base_class->cm_dbus_name = "example_extended";
62 }
63