diff --git a/doc/calls-docs.xml b/doc/calls-docs.xml index b068fc0..95b93f5 100644 --- a/doc/calls-docs.xml +++ b/doc/calls-docs.xml @@ -44,6 +44,7 @@ + diff --git a/src/calls-emergency-calls-manager.c b/src/calls-emergency-calls-manager.c new file mode 100644 index 0000000..368448a --- /dev/null +++ b/src/calls-emergency-calls-manager.c @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2021 Purism SPC + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + * Author: Guido Günther + */ + +#define G_LOG_DOMAIN "CallsEmergencyCallsManger" + +#include "calls-emergency-calls-manager.h" + +/** + * SECTION:calls-emergency-calls-manager + * @short_description: Provide a DBus interface for emergency calls + * @Title: CallsEmergencyCallsManager + * + * This tracks emergency call information from the various origins + * and makes them available for initiating emergency calls. + */ + +typedef struct _CallsEmergencyCallsManager +{ + CallsDBusEmergencyCallsSkeleton parent; + + int dbus_name_id; +} CallsEmergencyCallsManger; + +static void calls_emergency_calls_iface_init (CallsDBusEmergencyCallsIface *iface); + +G_DEFINE_TYPE_WITH_CODE (CallsEmergencyCallsManager, + calls_emergency_calls_manager, + CALLS_DBUS_TYPE_EMERGENCY_CALLS_SKELETON, + G_IMPLEMENT_INTERFACE ( + CALLS_DBUS_TYPE_EMERGENCY_CALLS, + calls_emergency_calls_iface_init)); + +static gboolean +handle_call_emergency_contact (CallsDBusEmergencyCalls *object, + GDBusMethodInvocation *invocation, + const gchar *arg_id) +{ + return FALSE; +} + + +static gboolean +handle_get_emergency_contacts (CallsDBusEmergencyCalls *object, + GDBusMethodInvocation *invocation) +{ + return FALSE; +} + + +static void +calls_emergency_calls_iface_init (CallsDBusEmergencyCallsIface *iface) +{ + iface->handle_call_emergency_contact = handle_call_emergency_contact; + iface->handle_get_emergency_contacts = handle_get_emergency_contacts; +} + +static void +calls_emergency_calls_manager_class_init (CallsEmergencyCallsManagerClass *klass) +{ +} + + +static void +calls_emergency_calls_manager_init (CallsEmergencyCallsManager *self) +{ +} + +CallsEmergencyCallsManager * +calls_emergency_calls_manager_new (void) +{ + return g_object_new (CALLS_TYPE_EMERGENCY_CALLS_MANAGER, NULL); +} diff --git a/src/calls-emergency-calls-manager.h b/src/calls-emergency-calls-manager.h new file mode 100644 index 0000000..71e8d3a --- /dev/null +++ b/src/calls-emergency-calls-manager.h @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2021 Purism SPC + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + * Author: Guido Günther + */ + +#pragma once + +#include "dbus/calls-emergency-call-dbus.h" +#include + +#define CALLS_TYPE_EMERGENCY_CALLS_MANAGER (calls_emergency_calls_manager_get_type ()) + +G_DECLARE_FINAL_TYPE (CallsEmergencyCallsManager, calls_emergency_calls_manager, CALLS, EMERGENCY_CALLS_MANAGER, + CallsDBusEmergencyCallsSkeleton) + +CallsEmergencyCallsManager * calls_emergency_calls_manager_new (void); diff --git a/src/meson.build b/src/meson.build index b180b4a..421f399 100644 --- a/src/meson.build +++ b/src/meson.build @@ -101,6 +101,7 @@ calls_sources = files([ 'calls-contacts-provider.c', 'calls-contacts-provider.h', 'calls-contacts-row.c', 'calls-contacts-row.h', 'calls-dbus-manager.c', 'calls-dbus-manager.h', + 'calls-emergency-calls-manager.c', 'calls-emergency-calls-manager.h', 'calls-history-box.c', 'calls-history-box.h', 'calls-in-app-notification.c', 'calls-in-app-notification.h', 'calls-log.c', 'calls-log.h',