summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnkit Navik <ankit.p.navik@intel.com>2017-10-04 09:12:28 +0530
committerDenis Kenzior <denkenz@gmail.com>2017-10-05 11:38:17 -0500
commit551e41b31a208fb71790c9857768c83dd4a8744c (patch)
tree3fe321d343c6fea23c192d9ec357841af2ff23c1 /include
parent42e93fbbc18037f4c18ba044efdbe5daefe68d91 (diff)
downloadofono-551e41b31a208fb71790c9857768c83dd4a8744c.tar.gz
include: added IpMultimediaSystem interface
Diffstat (limited to 'include')
-rw-r--r--include/dbus.h1
-rw-r--r--include/ims.h70
2 files changed, 71 insertions, 0 deletions
diff --git a/include/dbus.h b/include/dbus.h
index a6519c7c..0a8f2e5c 100644
--- a/include/dbus.h
+++ b/include/dbus.h
@@ -63,6 +63,7 @@ extern "C" {
#define OFONO_NETMON_INTERFACE OFONO_SERVICE ".NetworkMonitor"
#define OFONO_NETMON_AGENT_INTERFACE OFONO_SERVICE ".NetworkMonitorAgent"
#define OFONO_LTE_INTERFACE OFONO_SERVICE ".LongTermEvolution"
+#define OFONO_IMS_INTERFACE OFONO_SERVICE ".IpMultimediaSystem"
/* CDMA Interfaces */
#define OFONO_CDMA_VOICECALL_MANAGER_INTERFACE "org.ofono.cdma.VoiceCallManager"
diff --git a/include/ims.h b/include/ims.h
new file mode 100644
index 00000000..f3a33d5f
--- /dev/null
+++ b/include/ims.h
@@ -0,0 +1,70 @@
+/*
+ *
+ * oFono - Open Source Telephony
+ *
+ * Copyright (C) 2017 Intel Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * 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
+ *
+ */
+
+#ifndef __OFONO_IMS_H
+#define __OFONO_IMS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ofono/types.h>
+
+struct ofono_ims;
+
+typedef void (*ofono_ims_register_cb_t)(const struct ofono_error *error,
+ void *data);
+typedef void (*ofono_ims_status_cb_t)(const struct ofono_error *error,
+ int reg_info, int ext_info,
+ void *data);
+
+struct ofono_ims_driver {
+ const char *name;
+ int (*probe)(struct ofono_ims *ims, void *data);
+ void (*remove)(struct ofono_ims *ims);
+ void (*ims_register)(struct ofono_ims *ims,
+ ofono_ims_register_cb_t cb, void *data);
+ void (*ims_unregister)(struct ofono_ims *ims,
+ ofono_ims_register_cb_t cb, void *data);
+ void (*registration_status)(struct ofono_ims *ims,
+ ofono_ims_status_cb_t cb, void *data);
+};
+
+void ofono_ims_status_notify(struct ofono_ims *ims, int reg_info,
+ int ext_info);
+
+int ofono_ims_driver_register(const struct ofono_ims_driver *d);
+void ofono_ims_driver_unregister(const struct ofono_ims_driver *d);
+
+struct ofono_ims *ofono_ims_create(struct ofono_modem *modem,
+ const char *driver, void *data);
+
+void ofono_ims_register(struct ofono_ims *ims);
+void ofono_ims_remove(struct ofono_ims *ims);
+
+void ofono_ims_set_data(struct ofono_ims *ims, void *data);
+void *ofono_ims_get_data(const struct ofono_ims *ims);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif