Add skeleton for example echo service

This commit is contained in:
Marcel Holtmann 2006-10-26 16:17:13 +00:00
parent d900a907a0
commit 9f8d1c90aa
3 changed files with 96 additions and 1 deletions

View File

@ -1,14 +1,27 @@
if GLIB
noinst_PROGRAMS = bluetoothd
noinst_PROGRAMS = bluetoothd bt.echod
bluetoothd_SOURCES = main.c
bluetoothd_LDADD = @GLIB_LIBS@ @BLUEZ_LIBS@ $(top_builddir)/common/libhelper.a
bt_echod_SOURCES = echo.c
bt_echod_LDADD = @GLIB_LIBS@ @BLUEZ_LIBS@
AM_CFLAGS = @BLUEZ_CFLAGS@ @GLIB_CFLAGS@
INCLUDES = -I$(top_srcdir)/common
BUILT_SOURCES = service-agent-glue.h
CLEANFILES = $(BUILT_SOURCES)
endif
EXTRA_DIST = service-agent.xml
MAINTAINERCLEANFILES = Makefile.in
service-agent-glue.h: service-agent.xml
$(DBUS_BINDING_TOOL) --prefix=service_agent --mode=glib-server --output=$@ $(srcdir)/$<

57
daemon/echo.c Normal file
View File

@ -0,0 +1,57 @@
/*
*
* BlueZ - Bluetooth protocol stack for Linux
*
* Copyright (C) 2005-2006 Marcel Holtmann <marcel@holtmann.org>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <errno.h>
#include <stdlib.h>
#include <dbus/dbus-glib.h>
int main(int argc, char *argv[])
{
GMainLoop *mainloop;
DBusGConnection *conn;
GError *error = NULL;
g_type_init();
mainloop = g_main_loop_new(NULL, FALSE);
conn = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
if (error != NULL) {
g_printerr("Connecting to system bus failed: %s\n",
error->message);
g_error_free(error);
exit(EXIT_FAILURE);
}
g_main_loop_run(mainloop);
dbus_g_connection_unref(conn);
return 0;
}

25
daemon/service-agent.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/">
<interface name="org.bluez.ServiceAgent">
<method name="Interfaces">
<arg type="as" direction="out"/>
</method>
<method name="Start">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
</method>
<method name="Stop">
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
</method>
<method name="Record">
<arg type="s" direction="out"/>
</method>
<method name="Release">
</method>
</interface>
</node>