From d5f614e2250aee8854488081525f67b4affed61d Mon Sep 17 00:00:00 2001 From: kuailexs <952415538@qq.com> Date: Sun, 17 Mar 2024 00:15:37 +0800 Subject: [PATCH] . --- src/vendor_qti_ims_radio.c | 4 ++-- src/vendor_qti_ims_state.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/vendor_qti_ims_radio.c b/src/vendor_qti_ims_radio.c index 5b9e7fb..948eed3 100644 --- a/src/vendor_qti_ims_radio.c +++ b/src/vendor_qti_ims_radio.c @@ -55,7 +55,7 @@ G_STATIC_ASSERT(G_N_ELEMENTS(ims_radio_interfaces) == IMS_RADIO_INTERFACE_COUNT) typedef GObjectClass VendorQtiImsRadioClass; struct qti_ims_radio { - GObject parent; + GObject parent;// sizeof(GObject) == 24LL arm64 char* name; GBinderClient* client; GBinderRemoteObject* remote; @@ -63,7 +63,7 @@ struct qti_ims_radio { GBinderLocalObject* indication; GUtilIdlePool* idle; GHashTable* table; -}; +};// sizeof(VendorQtiImsRadio) == 80LL arm64 G_DEFINE_TYPE(VendorQtiImsRadio, qti_ims_radio, G_TYPE_OBJECT) diff --git a/src/vendor_qti_ims_state.c b/src/vendor_qti_ims_state.c index d5be237..7f369bf 100644 --- a/src/vendor_qti_ims_state.c +++ b/src/vendor_qti_ims_state.c @@ -2,6 +2,7 @@ #include #include "vendor_qti_ims_state.h" +// G_OBJECT_CLASS(klass)->finalize *GObjectClass + 48 = finalize arm64 typedef GObjectClass VendorQtiImsStateObjectClass; struct qti_ims_state{ GObject parent; @@ -18,6 +19,21 @@ G_DEFINE_TYPE(VendorQtiImsStateObject, qti_ims_state, G_TYPE_OBJECT) #define IS_THIS(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, THIS_TYPE) #define PARENT_CLASS qti_ims_state_parent_class + +#define SIGNAL_PROPERTY_CHANGED_NAME "qti-ims-state-property-changed" +static guint property_changed_signal = 0; + +static +void +qti_ims_state_finalize( + GObject* object) +{ + VendorQtiImsStateObject* self = THIS(object); + // ... + G_OBJECT_CLASS(PARENT_CLASS)->finalize(object); +} + + static void qti_ims_state_init( @@ -29,6 +45,9 @@ void qti_ims_state_class_init( VendorQtiImsStateObjectClass* klass) { + G_OBJECT_CLASS(klass)->finalize = qti_ims_state_finalize; + property_changed_signal = g_signal_new(SIGNAL_PROPERTY_CHANGED_NAME, + G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, 28LL); } VendorQtiImsStateObject* vendor_qti_ims_state_new(VendorQtiImsRadio* ims_radio){