Home | History | Annotate | Download | only in serial
      1 /*
      2  *
      3  *  BlueZ - Bluetooth protocol stack for Linux
      4  *
      5  *  Copyright (C) 2004-2010  Marcel Holtmann <marcel (at) holtmann.org>
      6  *
      7  *
      8  *  This program is free software; you can redistribute it and/or modify
      9  *  it under the terms of the GNU General Public License as published by
     10  *  the Free Software Foundation; either version 2 of the License, or
     11  *  (at your option) any later version.
     12  *
     13  *  This program is distributed in the hope that it will be useful,
     14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16  *  GNU General Public License for more details.
     17  *
     18  *  You should have received a copy of the GNU General Public License
     19  *  along with this program; if not, write to the Free Software
     20  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     21  *
     22  */
     23 
     24 #ifdef HAVE_CONFIG_H
     25 #include <config.h>
     26 #endif
     27 
     28 #include <errno.h>
     29 
     30 #include <gdbus.h>
     31 
     32 #include "plugin.h"
     33 #include "manager.h"
     34 
     35 static DBusConnection *connection;
     36 
     37 static int serial_init(void)
     38 {
     39 	connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
     40 	if (connection == NULL)
     41 		return -EIO;
     42 
     43 	if (serial_manager_init(connection) < 0) {
     44 		dbus_connection_unref(connection);
     45 		return -EIO;
     46 	}
     47 
     48 	return 0;
     49 }
     50 
     51 static void serial_exit(void)
     52 {
     53 	serial_manager_exit();
     54 
     55 	dbus_connection_unref(connection);
     56 }
     57 
     58 BLUETOOTH_PLUGIN_DEFINE(serial, VERSION,
     59 			BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, serial_init, serial_exit)
     60