一点点

This commit is contained in:
2024-01-23 01:11:08 +08:00
parent 9ce6f8f6c4
commit 0a453adcac
13 changed files with 281 additions and 50 deletions

View File

@@ -37,15 +37,12 @@ SRC = \
vendor_qti_ext.c \
vendor_qti_slot.c \
vendor_qti_ims_radio.c \
#
# vendor_qti_ims.c \
# vendor_qti_ims_call.c \
# vendor_qti_ims_conf.c \
# vendor_qti_ims_radio.c \
# vendor_qti_ims_sms.c \
# vendor_qti_ims_state.c \
# vendor_qti_util.c
vendor_qti_ims.c \
vendor_qti_ims_call.c \
vendor_qti_ims_conf.c \
vendor_qti_ims_sms.c \
vendor_qti_ims_state.c \
vendor_qti_util.c
#
# Directories
@@ -67,7 +64,7 @@ WARNINGS = -Wall
INCLUDES = -I$(INCLUDE_DIR)
BASE_FLAGS = -fPIC -fvisibility=hidden
FULL_CFLAGS = $(BASE_FLAGS) $(CFLAGS) $(DEFINES) $(WARNINGS) $(INCLUDES) \
-MMD -MP $(shell pkg-config --cflags $(PKGS))
-MMD -MP -fPIC $(shell pkg-config --cflags $(PKGS))
FULL_LDFLAGS = $(BASE_FLAGS) $(LDFLAGS) -shared \
$(shell pkg-config --libs $(LDPKGS))
DEBUG_FLAGS = -g

View File

@@ -3,6 +3,6 @@
#include <binder_ext_ims.h>
BinderExtIms* vendor_qti_ims_new(const char* slot);
BinderExtIms* vendor_qti_ims_new(VendorQtiImsRadio* ims_radio, VendorQtiImsStateObject* ims_state);
#endif

View File

@@ -0,0 +1,8 @@
#ifndef VENDOR_QTI_IMS_CALL_H
#define VENDOR_QTI_IMS_CALL_H
#include "binder_ext_call.h"
BinderExtCall* vendor_qti_ims_call_new(VendorQtiImsRadio* ims_radio, VendorQtiImsStateObject* ims_state);
#endif

View File

@@ -56,18 +56,18 @@ typedef enum ims_radio_req {
/* vendor.qti.hardware.radio.ims@1.0::IImsRadio */
IMS_RADIO_REQ_SET_CALLBACK = 1, /* setCallback */
IMS_RADIO_CALL_1_0(IMS_RADIO_REQ_)
IMS_RADIO_REQ_SET_COLR = 19,
IMS_RADIO_REQ_SET_COLR = 19,/* setColr */
IMS_RADIO_1_0_REQ_LAST = IMS_RADIO_REQ_CANCEL_MODIFY_CALL,
/* vendor.qti.hardware.radio.ims@1.1::IImsRadio */
IMS_RADIO_REQ_HANGUP_1_1 = 41,
IMS_RADIO_REQ_HANGUP_1_1 = 41,/* hangup_1_1 */
IMS_RADIO_1_1_REQ_LAST = IMS_RADIO_REQ_HANGUP_1_1,
/* vendor.qti.hardware.radio.ims@1.2::IImsRadio */
IMS_RADIO_REQ_HANGUP_1_2 = 42,
IMS_RADIO_REQ_HANGUP_1_2 = 42,/* hangup_1_2 */
IMS_RADIO_CALL_1_2(IMS_RADIO_REQ_)
IMS_RADIO_REQ_ACKNOWLEDGE_SMS = 44,
IMS_RADIO_REQ_ACKNOWLEDGE_SMS_REPORT = 45,
IMS_RADIO_REQ_ACKNOWLEDGE_SMS = 44,/* acknowledgeSms */
IMS_RADIO_REQ_ACKNOWLEDGE_SMS_REPORT = 45,/* acknowledgeSmsReport */
IMS_RADIO_REQ_UNKOWN_1 = 46,
IMS_RADIO_REQ_UNKOWN_2 = 47,
IMS_RADIO_1_2_REQ_LAST = IMS_RADIO_REQ_UNKOWN_2,
@@ -95,6 +95,60 @@ typedef enum ims_radio_resp {
} IMS_RADIO_RESP;
G_STATIC_ASSERT(sizeof(IMS_RADIO_RESP) == 4);
/* e(code,eventName,EVENT_NAME) */
#define IMS_RADIO_EVENT_1_0(e) \
e(1,callStateChanged,CALL_STATE_CHANGED) \
e(2,ring,RING) \
e(3,ringbackTone,RINGBACK_TONE) \
e(4,registrationChanged,REGISTRATION_CHANGED) \
e(5,handover,HANDOVER) \
e(6,serviceStatusChanged,SERVICE_STATUS_CHANGED) \
e(7,radioStateChanged,RADIO_STATE_CHANGED) \
e(8,enterEmergencyCallBackMode,ENTER_EMERGENCY_CALL_BACK_MODE) \
e(9,exitEmergencyCallBackMode,EXIT_EMERGENCY_CALL_BACK_MODE) \
e(10,ttyNotification,TTY_NOTIFICATION) \
e(11,refreshConferenceInfo,REFRESH_CONFERENCE_INFO) \
e(12,refreshViceInfo,REFRESH_VICE_INFO) \
e(13,modifyCall,MODIFY_CALL) \
e(14,suppServiceNotification,SUPP_SERVICE_NOTIFICATION) \
e(15,messageWaiting,MESSAGE_WAITING) \
e(16,geolocationInfoRequested,GEOLOCATION_INFO_REQUESTED) \
e(17,imsSubConfigChanged,IMS_SUB_CONFIG_CHANGED) \
e(18,participantStatusInfo,PARTICIPANT_STATUS_INFO) \
e(19,registrationBlockStatus,REGISTRATION_BLOCK_STATUS) \
e(20,rttMessageReceived,RTT_MESSAGE_RECEIVED) \
e(21,voWiFiCallQuality,VO_WIFI_CALL_QUALITY) \
e(22,supplementaryServiceIndication,SUPPLEMENTARY_SERVICE_INDICATION)
#define IMS_RADIO_EVENT_1_1(e) \
e(23,callStateChanged_1_1,CALL_STATE_CHANGED_1_1)
#define IMS_RADIO_EVENT_1_2(e) \
e(24,callStateChanged_1_2,CALL_STATE_CHANGED_1_2) \
e(25,imsSmsStatusReport,IMS_SMS_STATUS_REPORT) \
e(26,incomingImsSms,INCOMING_IMS_SMS) \
e(27,vopsChanged,VOPS_CHANGED)
typedef enum ims_radio_ind {
IMS_RADIO_IND_ANY = 0,
IMS_RADIO_IND_NONE = 0,
#define IMS_RADIO_IND_(code,Name,NAME) IMS_RADIO_IND_##NAME = code,
/* vendor.qti.hardware.radio.ims@1.0::IImsRadioIndication */
IMS_RADIO_EVENT_1_0(IMS_RADIO_IND_)
IMS_RADIO_1_0_IND_LAST = IMS_RADIO_IND_SUPPLEMENTARY_SERVICE_INDICATION,
/* vendor.qti.hardware.radio.ims@1.1::IImsRadioIndication */
IMS_RADIO_EVENT_1_1(IMS_RADIO_IND_)
IMS_RADIO_1_1_IND_LAST = IMS_RADIO_IND_CALL_STATE_CHANGED_1_1, /* Since 1.2.4 */
/* vendor.qti.hardware.radio.ims@1.2::IImsRadioIndication */
IMS_RADIO_EVENT_1_2(IMS_RADIO_IND_)
IMS_RADIO_1_2_IND_LAST = IMS_RADIO_IND_VOPS_CHANGED, /* Since 1.2.4 */
#undef IMS_RADIO_IND_
} IMS_RADIO_IND;
G_STATIC_ASSERT(sizeof(IMS_RADIO_IND) == 4);
typedef enum ims_radio_interface {
IMS_RADIO_INTERFACE_NONE = -1, /* Since 1.4.3 */
@@ -125,4 +179,8 @@ typedef enum ims_radio_interface {
VendorQtiImsRadio* vendor_qti_ims_radio_new(const char* dev, const char* name);
VendorQtiImsRadio* vendor_qti_ims_radio_ref(VendorQtiImsRadio* self);
void vendor_qti_ims_radio_unref(VendorQtiImsRadio* self);
#endif

View File

@@ -0,0 +1,8 @@
#ifndef VENDOR_QTI_IMS_SMS_H
#define VENDOR_QTI_IMS_SMS_H
#include "binder_ext_sms.h"
BinderExtSms* vendor_qti_ims_sms_new(VendorQtiImsRadio* ims_radio, VendorQtiImsStateObject* ims_state);
#endif

View File

@@ -5,4 +5,7 @@
VendorQtiImsStateObject* vendor_qti_ims_state_new(VendorQtiImsRadio* ims_radio);
VendorQtiImsStateObject* vendor_qti_ims_state_ref(VendorQtiImsStateObject* self);
void vendor_qti_ims_state_unref(VendorQtiImsStateObject* self);
#endif

View File

@@ -1,14 +1,12 @@
#include <ofono/log.h>
#include "binder_ext_types.h"
#include "vendor_qti_types.h"
#include <binder_ext_ims_impl.h>
#include "vendor_qti_ims.h"
#include <ofono/log.h>
typedef BinderExtImsClass VendorQtiImsClass;
typedef GObjectClass VendorQtiImsClass;
struct qti_ims {
BinderExtIms parent;
GObject parent;
char* slot;
};
@@ -17,7 +15,7 @@ void
qti_ims_iface_init(
BinderExtImsInterface* iface);
GType qti_ims_get_type() G_GNUC_INTERNAL;
GType qti_ims_get_type();
G_DEFINE_TYPE_WITH_CODE(VendorQtiIms, qti_ims, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(BINDER_EXT_TYPE_IMS, qti_ims_iface_init))
@@ -117,8 +115,7 @@ qti_ims_iface_init(
*==========================================================================*/
BinderExtIms*
qti_ims_new(
const char* slot)
qti_ims_new(VendorQtiImsRadio* ims_radio, VendorQtiImsStateObject* ims_state)
{
VendorQtiIms* self = g_object_new(THIS_TYPE, NULL);
@@ -126,7 +123,7 @@ qti_ims_new(
* This could be the place to register a listener that gets invoked
* on registration state change and emits SIGNAL_STATE_CHANGED.
*/
self->slot = g_strdup(slot);
return BINDER_EXT_IMS(self);
}

View File

@@ -1,9 +1,14 @@
#include <ofono/log.h>
#include <binder_ext_call_impl.h>
#include "vendor_qti_types.h"
typedef BinderExtCallClass VendorQtiImsCallClass;
#include "vendor_qti_ims_call.h"
typedef GObjectClass VendorQtiImsCallClass;
struct qti_ims_call {
BinderExtCall parent;
GObject parent;
void * v_1;
void * v_2;
void * v_3;
@@ -12,14 +17,38 @@ struct qti_ims_call {
void * v_6;
};
G_DEFINE_TYPE(VendorQtiImsCall, qti_ims_call, BINDER_EXT_TYPE_CALL)
static void qti_ims_call_iface_init(BinderExtCallInterface* iface);
G_DEFINE_TYPE_WITH_CODE(VendorQtiImsCall, qti_ims_call, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(BINDER_EXT_TYPE_CALL, qti_ims_call_iface_init))
#define QTI_IMS_CALL_TYPE_SLOT qti_ims_call_get_type()
#define QTI_IMS_CALL_SLOT(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, QTI_IMS_CALL_TYPE_SLOT, VendorQtiImsCall)
#define QTI_IMS_CALL_IS_SLOT(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, QTI_IMS_CALL_TYPE_SLOT)
static
void
qti_ims_call_init(
VendorQtiImsCall* self)
{
}
static
void
qti_ims_call_class_init(
VendorQtiImsCallClass* klass)
{
}
static void qti_ims_call_iface_init(BinderExtCallInterface* iface){
}
BinderExtCall* vendor_qti_ims_call_new(VendorQtiImsRadio* ims_radio, VendorQtiImsStateObject* ims_state){
return NULL;
}
/*
vendor_qti_ims_call_conference_info_start_element
vendor_qti_ims_call_reg_state_update
vendor_qti_ims_call_hangup
@@ -36,3 +65,4 @@ vendor_qti_ims_call_handle_conference_info
vendor_qti_ims_call_handle_conf_user_deleted
vendor_qti_ims_call_handle_conf_user_info_changed
vendor_qti_ims_call_handle_state_change
*/

View File

@@ -2,6 +2,7 @@
#include <gbinder.h>
#include <glib.h>
#include <gutil_idlepool.h>
#include <glib-object.h>
#include "vendor_qti_ims_radio.h"
@@ -71,6 +72,28 @@ G_DEFINE_TYPE(VendorQtiImsRadio, qti_ims_radio, G_TYPE_OBJECT)
#define IS_THIS(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, THIS_TYPE)
#define PARENT_CLASS qti_ims_radio_parent_class
enum qti_ims_radio_signal {
SIGNAL_REG_STATE_CHANGED,
SIGNAL_INCOMING_SMS,
SIGNAL_SMS_STATUS_REPORT,
SIGNAL_CALL_RING,
SIGNAL_CALL_STATE_CHANGED,
SIGNAL_SUPP_SERVICE_NOTIFY,
SIGNAL_CONFERENCE_INFO,
SIGNAL_COUNT
};
#define SIGNAL_REG_STATE_CHANGED_NAME "qti-ims-radio-reg-state-changed"
#define SIGNAL_INCOMING_SMS_NAME "qti-ims-radio-incoming-sms"
#define SIGNAL_SMS_STATUS_REPORT_NAME "qti-ims-radio-sms-status-report"
#define SIGNAL_CALL_RING_NAME "qti-ims-radio-call-ring"
#define SIGNAL_CALL_STATE_CHANGED_NAME "qti-ims-radio-call-state-changed"
#define SIGNAL_SUPP_SERVICE_NOTIFY_NAME "qti-ims-radio-supp-service-notify"
#define SIGNAL_CONFERENCE_INFO_NAME "qti-ims-radio-conference-info"
static guint qti_ims_radio_signals[SIGNAL_COUNT] = { 0 };
/*==========================================================================*
* Internals
*==========================================================================*/
@@ -109,7 +132,27 @@ qti_ims_radio_class_init(
VendorQtiImsRadioClass* klass)
{
G_OBJECT_CLASS(klass)->finalize = qti_ims_radio_finalize;
// g_signal_new
qti_ims_radio_signals[SIGNAL_REG_STATE_CHANGED] =
g_signal_new(SIGNAL_REG_STATE_CHANGED_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, 28LL);
qti_ims_radio_signals[SIGNAL_INCOMING_SMS] =
g_signal_new(SIGNAL_INCOMING_SMS_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 4, 64LL);
qti_ims_radio_signals[SIGNAL_SMS_STATUS_REPORT] =
g_signal_new(SIGNAL_SMS_STATUS_REPORT_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 4, 64LL);
qti_ims_radio_signals[SIGNAL_CALL_RING] =
g_signal_new(SIGNAL_CALL_RING_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0);
qti_ims_radio_signals[SIGNAL_CALL_STATE_CHANGED] =
g_signal_new(SIGNAL_CALL_STATE_CHANGED_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, 68LL);
qti_ims_radio_signals[SIGNAL_SUPP_SERVICE_NOTIFY] =
g_signal_new(SIGNAL_SUPP_SERVICE_NOTIFY_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, 68LL);
qti_ims_radio_signals[SIGNAL_CONFERENCE_INFO] =
g_signal_new(SIGNAL_CONFERENCE_INFO_NAME,
G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, 68LL);
}
/**
@@ -188,7 +231,7 @@ VendorQtiImsRadio* vendor_qti_ims_radio_create(
return self;
}
VendorQtiImsRadio* radio_instance_new_with_version(
VendorQtiImsRadio* vendor_qti_ims_radio_new_with_version(
const char* dev,
const char* name,
RADIO_INTERFACE max_version) /* Since 1.2.1 */
@@ -220,3 +263,22 @@ VendorQtiImsRadio* vendor_qti_ims_radio_new(const char* dev, const char* name)
{
return vendor_qti_ims_radio_new_with_version(dev, name, DEFAULT_INTERFACE);
}
VendorQtiImsRadio*
vendor_qti_ims_radio_ref(
VendorQtiImsRadio* self)
{
if (G_LIKELY(self)) {
g_object_ref(self);
}
return self;
}
void
vendor_qti_ims_radio_unref(
VendorQtiImsRadio* self)
{
if (G_LIKELY(self)) {
g_object_unref(self);
}
}

View File

@@ -2,7 +2,7 @@
#include "binder_ext_sms_impl.h"
#include "vendor_qti_types.h"
#include "vendor_qti_ims_sms.h"
typedef GObjectClass VendorQtiImsSmsClass;
struct qti_ims_sms {
@@ -10,6 +10,8 @@ struct qti_ims_sms {
int cancelled;
VendorQtiImsRadio* ims_radio;
VendorQtiImsStateObject* ims_state;
gulong incoming;
gulong status_report;
};
static void qti_ims_sms_iface_init(BinderExtSmsInterface* iface);
@@ -19,6 +21,18 @@ G_IMPLEMENT_INTERFACE(BINDER_EXT_TYPE_SMS, qti_ims_sms_iface_init))
#define QTI_TYPE_SMS qti_ims_sms_get_type()
#define QTI_IMS_SMS(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, QTI_TYPE_SMS, VendorQtiImsSms)
enum qti_ims_sms_signal {
SIGNAL_INCOMING,
SIGNAL_STATUS_REPORT,
SIGNAL_COUNT
};
#define SIGNAL_INCOMING_NAME "qti-ims-sms-incoming"
#define SIGNAL_STATUS_REPORT_NAME "qti-ims-sms-status-report"
static guint qti_ims_sms_signals[SIGNAL_COUNT] = { 0 };
static
void
qti_ims_sms_init(
@@ -31,10 +45,10 @@ void
qti_ims_sms_class_init(
VendorQtiImsSmsClass* klass)
{
sms_incoming_signal = g_signal_new("qti-ims-sms-incoming",
qti_ims_sms_signals[SIGNAL_INCOMING] = g_signal_new(SIGNAL_INCOMING_NAME,
G_TYPE_FROM_CLASS (klass),
1LL, 0LL, 0LL, 0LL, 0LL, 4LL, 2, 68LL);
sms_status_report_signal = g_signal_new("qti-ims-sms-status-report",
qti_ims_sms_signals[SIGNAL_STATUS_REPORT] = g_signal_new(SIGNAL_STATUS_REPORT_NAME,
G_TYPE_FROM_CLASS (klass),
1LL, 0LL, 0LL, 0LL, 0LL, 4LL, 3, 68LL);
}
@@ -46,15 +60,29 @@ qti_ims_sms_class_init(
guint vendor_qti_ims_sms_send(BinderExtSms* ext, const char* smsc, const void* pdu,
gsize pdu_len, guint msg_ref, BINDER_EXT_SMS_SEND_FLAGS flags,
BinderExtSmsSendFunc complete, GDestroyNotify destroy,
void* user_data);
void vendor_qti_ims_sms_cancel(BinderExtSms* ext, guint id);
void vendor_qti_ims_sms_ack_report(BinderExtSms* ext, guint msg_ref, gboolean ok);
void vendor_qti_ims_sms_ack_incoming(BinderExtSms* ext, gboolean ok);
void* user_data){
return 0;
}
void vendor_qti_ims_sms_cancel(BinderExtSms* ext, guint id){
}
void vendor_qti_ims_sms_ack_report(BinderExtSms* ext, guint msg_ref, gboolean ok){
}
void vendor_qti_ims_sms_ack_incoming(BinderExtSms* ext, gboolean ok){
}
gulong vendor_qti_ims_sms_add_report_handler(BinderExtSms* ext,
BinderExtSmsReportFunc handler, void* user_data);
BinderExtSmsReportFunc handler, void* user_data){
return 0;
}
gulong vendor_qti_ims_sms_add_incoming_handler(BinderExtSms* ext,
BinderExtSmsIncomingFunc handler, void* user_data);
void vendor_qti_ims_sms_remove_handler(BinderExtSms* ext, gulong id);
BinderExtSmsIncomingFunc handler, void* user_data){
return 0;
}
void vendor_qti_ims_sms_remove_handler(BinderExtSms* ext, gulong id){
}
static void qti_ims_sms_iface_init(BinderExtSmsInterface* iface){
@@ -69,13 +97,23 @@ static void qti_ims_sms_iface_init(BinderExtSmsInterface* iface){
iface->remove_handler = vendor_qti_ims_sms_remove_handler;
}
static qti_ims_sms_signal_emit_incoming(){
}
gulong qti_ims_sms_connect_signal_incoming(VendorQtiImsRadio* ims_radio){
}
BinderExtSms* vendor_qti_ims_sms_new(VendorQtiImsRadio* ims_radio,VendorQtiImsStateObject* ims_state){
VendorQtiImsSms* sms= g_object_new(QTI_TYPE_SMS, NULL);
VendorQtiImsSms* self = g_object_new(QTI_TYPE_SMS, NULL);
sms->ims_state = ims_state; // 不是直接赋值
sms->ims_radio = ims_radio; // 不是直接赋值
// TODO绑定信号 qti-ims-radio-incoming-sms qti-ims-radio-sms-status-report
self->ims_state = vendor_qti_ims_radio_ref(ims_state);
self->ims_radio = vendor_qti_ims_state_ref(ims_radio);
//self->incoming = g_signal_connect(ims_radio,"");
//self->status_report = ;
//qti-ims-radio-incoming-sms
//qti-ims-radio-sms-status-report
return BINDER_EXT_IMS(sms);
return BINDER_EXT_IMS(self);
}

View File

@@ -1,10 +1,39 @@
#include <ofono/log.h>
#include <glib-object.h>
#include "vendor_qti_ims_state.h"
typedef GObjectClass VendorQtiImsStateObjectClass;
struct qti_ims_state{
GObject parent;
};
G_DEFINE_TYPE(VendorQtiImsStateObject, qti_ims_state, G_TYPE_OBJECT)
#define THIS_TYPE qti_ims_state_get_type()
#define THIS(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, THIS_TYPE, VendorQtiImsStateObject)
#define IS_THIS(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, THIS_TYPE)
#define PARENT_CLASS qti_ims_state_parent_class
VendorQtiImsStateObject* vendor_qti_ims_state_new(VendorQtiImsRadio* ims_radio){
return NULL;
}
VendorQtiImsStateObject*
vendor_qti_ims_state_ref(
VendorQtiImsStateObject* self)
{
if (G_LIKELY(self)) {
g_object_ref(self);
}
return self;
}
void
vendor_qti_ims_state_unref(
VendorQtiImsStateObject* self)
{
if (G_LIKELY(self)) {
g_object_unref(self);
}
}

View File

@@ -83,7 +83,7 @@ qti_slot_shutdown(
//
VendorQtiImsRadio* ims_radio = vendor_qti_ims_radio_new(radio->dev, ims_radio_name);
self->ims_radio = ims_radio;
/*
if(ims_radio != NULL){
VendorQtiImsStateObject* ims_state = vendor_qti_ims_state_new(ims_radio);
self->ims_state = ims_state;
@@ -91,7 +91,7 @@ qti_slot_shutdown(
self->ims_call = vendor_qti_ims_call_new(self->ims_radio,self->ims_state);
self->ims_sms = vendor_qti_ims_sms_new(self->ims_radio,self->ims_state);
}
*/
g_free(ims_radio_name);
return slot;
}

View File

@@ -1,4 +1,5 @@
#include "vendor_qti_ims_radio.h"
#include "vendor_qti_util.h"
@@ -10,7 +11,7 @@ vendor_qti_util_radio_req_name(
{
switch (req) {
#define IMS_RADIO_REQ_(req,resp,Name,NAME) \
case RADIO_REQ_##NAME: return #Name;
case IMS_RADIO_REQ_##NAME: return #Name;
IMS_RADIO_CALL_1_0(IMS_RADIO_REQ_)
IMS_RADIO_CALL_1_2(IMS_RADIO_REQ_)
#undef IMS_RADIO_REQ_
@@ -32,7 +33,7 @@ vendor_qti_util_radio_resp_name(
{
switch (resp) {
#define IMS_RADIO_RESP_(req,resp,Name,NAME) \
case RADIO_RESP_##NAME: return #Name "Response";
case IMS_RADIO_RESP_##NAME: return #Name "Response";
IMS_RADIO_CALL_1_0(IMS_RADIO_RESP_)
IMS_RADIO_CALL_1_2(IMS_RADIO_RESP_)
#undef IMS_RADIO_RESP_