From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpP23-0002HF-J4 for qemu-devel@nongnu.org; Wed, 28 Sep 2016 20:17:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpP1z-0002zU-8q for qemu-devel@nongnu.org; Wed, 28 Sep 2016 20:16:58 -0400 Received: from ozlabs.org ([103.22.144.67]:42451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpP1y-0002yQ-Gf for qemu-devel@nongnu.org; Wed, 28 Sep 2016 20:16:55 -0400 From: David Gibson Date: Thu, 29 Sep 2016 10:16:42 +1000 Message-Id: <1475108205-6043-2-git-send-email-david@gibson.dropbear.id.au> In-Reply-To: <1475108205-6043-1-git-send-email-david@gibson.dropbear.id.au> References: <1475108205-6043-1-git-send-email-david@gibson.dropbear.id.au> Subject: [Qemu-devel] [RFC 1/4] qcrypto: Remove usage of class properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: afaerber@suse.de, peter.maydell@linaro.org Cc: armbru@redhat.com, pbonzini@redhat.com, lcapitulino@redhat.com, qemu-devel@nongnu.org, David Gibson qcrypto is one of the few users of QOM class properties, as opposed to instance properties. In anticipation of removing class properties, convert qcrypto to use instance properties instead. Signed-off-by: David Gibson --- crypto/secret.c | 58 +++++++++++++++++++++++++++------------------------ crypto/tlscreds.c | 44 +++++++++++++++++--------------------- crypto/tlscredsanon.c | 16 +++++++++----- crypto/tlscredsx509.c | 26 +++++++++++------------ 4 files changed, 74 insertions(+), 70 deletions(-) diff --git a/crypto/secret.c b/crypto/secret.c index 285ab7a..92905d9 100644 --- a/crypto/secret.c +++ b/crypto/secret.c @@ -352,6 +352,36 @@ qcrypto_secret_complete(UserCreatable *uc, Error **errp) object_property_set_bool(OBJECT(uc), true, "loaded", errp); } +static void +qcrypto_secret_instance_init(Object *obj) +{ + object_property_add_bool(obj, "loaded", + qcrypto_secret_prop_get_loaded, + qcrypto_secret_prop_set_loaded, + NULL); + object_property_add_enum(obj, "format", + "QCryptoSecretFormat", + QCryptoSecretFormat_lookup, + qcrypto_secret_prop_get_format, + qcrypto_secret_prop_set_format, + NULL); + object_property_add_str(obj, "data", + qcrypto_secret_prop_get_data, + qcrypto_secret_prop_set_data, + NULL); + object_property_add_str(obj, "file", + qcrypto_secret_prop_get_file, + qcrypto_secret_prop_set_file, + NULL); + object_property_add_str(obj, "keyid", + qcrypto_secret_prop_get_keyid, + qcrypto_secret_prop_set_keyid, + NULL); + object_property_add_str(obj, "iv", + qcrypto_secret_prop_get_iv, + qcrypto_secret_prop_set_iv, + NULL); +} static void qcrypto_secret_finalize(Object *obj) @@ -371,33 +401,6 @@ qcrypto_secret_class_init(ObjectClass *oc, void *data) UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc); ucc->complete = qcrypto_secret_complete; - - object_class_property_add_bool(oc, "loaded", - qcrypto_secret_prop_get_loaded, - qcrypto_secret_prop_set_loaded, - NULL); - object_class_property_add_enum(oc, "format", - "QCryptoSecretFormat", - QCryptoSecretFormat_lookup, - qcrypto_secret_prop_get_format, - qcrypto_secret_prop_set_format, - NULL); - object_class_property_add_str(oc, "data", - qcrypto_secret_prop_get_data, - qcrypto_secret_prop_set_data, - NULL); - object_class_property_add_str(oc, "file", - qcrypto_secret_prop_get_file, - qcrypto_secret_prop_set_file, - NULL); - object_class_property_add_str(oc, "keyid", - qcrypto_secret_prop_get_keyid, - qcrypto_secret_prop_set_keyid, - NULL); - object_class_property_add_str(oc, "iv", - qcrypto_secret_prop_get_iv, - qcrypto_secret_prop_set_iv, - NULL); } @@ -489,6 +492,7 @@ static const TypeInfo qcrypto_secret_info = { .parent = TYPE_OBJECT, .name = TYPE_QCRYPTO_SECRET, .instance_size = sizeof(QCryptoSecret), + .instance_init = qcrypto_secret_instance_init, .instance_finalize = qcrypto_secret_finalize, .class_size = sizeof(QCryptoSecretClass), .class_init = qcrypto_secret_class_init, diff --git a/crypto/tlscreds.c b/crypto/tlscreds.c index a896553..4aafdd5 100644 --- a/crypto/tlscreds.c +++ b/crypto/tlscreds.c @@ -221,35 +221,30 @@ qcrypto_tls_creds_prop_get_endpoint(Object *obj, static void -qcrypto_tls_creds_class_init(ObjectClass *oc, void *data) -{ - object_class_property_add_bool(oc, "verify-peer", - qcrypto_tls_creds_prop_get_verify, - qcrypto_tls_creds_prop_set_verify, - NULL); - object_class_property_add_str(oc, "dir", - qcrypto_tls_creds_prop_get_dir, - qcrypto_tls_creds_prop_set_dir, - NULL); - object_class_property_add_enum(oc, "endpoint", - "QCryptoTLSCredsEndpoint", - QCryptoTLSCredsEndpoint_lookup, - qcrypto_tls_creds_prop_get_endpoint, - qcrypto_tls_creds_prop_set_endpoint, - NULL); - object_class_property_add_str(oc, "priority", - qcrypto_tls_creds_prop_get_priority, - qcrypto_tls_creds_prop_set_priority, - NULL); -} - - -static void qcrypto_tls_creds_init(Object *obj) { QCryptoTLSCreds *creds = QCRYPTO_TLS_CREDS(obj); creds->verifyPeer = true; + + object_property_add_bool(obj, "verify-peer", + qcrypto_tls_creds_prop_get_verify, + qcrypto_tls_creds_prop_set_verify, + NULL); + object_property_add_str(obj, "dir", + qcrypto_tls_creds_prop_get_dir, + qcrypto_tls_creds_prop_set_dir, + NULL); + object_property_add_enum(obj, "endpoint", + "QCryptoTLSCredsEndpoint", + QCryptoTLSCredsEndpoint_lookup, + qcrypto_tls_creds_prop_get_endpoint, + qcrypto_tls_creds_prop_set_endpoint, + NULL); + object_property_add_str(obj, "priority", + qcrypto_tls_creds_prop_get_priority, + qcrypto_tls_creds_prop_set_priority, + NULL); } @@ -269,7 +264,6 @@ static const TypeInfo qcrypto_tls_creds_info = { .instance_size = sizeof(QCryptoTLSCreds), .instance_init = qcrypto_tls_creds_init, .instance_finalize = qcrypto_tls_creds_finalize, - .class_init = qcrypto_tls_creds_class_init, .class_size = sizeof(QCryptoTLSCredsClass), .abstract = true, }; diff --git a/crypto/tlscredsanon.c b/crypto/tlscredsanon.c index 1464220..7e86760 100644 --- a/crypto/tlscredsanon.c +++ b/crypto/tlscredsanon.c @@ -173,6 +173,16 @@ qcrypto_tls_creds_anon_complete(UserCreatable *uc, Error **errp) static void +qcrypto_tls_creds_anon_instance_init(Object *obj) +{ + object_property_add_bool(obj, "loaded", + qcrypto_tls_creds_anon_prop_get_loaded, + qcrypto_tls_creds_anon_prop_set_loaded, + NULL); +} + + +static void qcrypto_tls_creds_anon_finalize(Object *obj) { QCryptoTLSCredsAnon *creds = QCRYPTO_TLS_CREDS_ANON(obj); @@ -187,11 +197,6 @@ qcrypto_tls_creds_anon_class_init(ObjectClass *oc, void *data) UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc); ucc->complete = qcrypto_tls_creds_anon_complete; - - object_class_property_add_bool(oc, "loaded", - qcrypto_tls_creds_anon_prop_get_loaded, - qcrypto_tls_creds_anon_prop_set_loaded, - NULL); } @@ -199,6 +204,7 @@ static const TypeInfo qcrypto_tls_creds_anon_info = { .parent = TYPE_QCRYPTO_TLS_CREDS, .name = TYPE_QCRYPTO_TLS_CREDS_ANON, .instance_size = sizeof(QCryptoTLSCredsAnon), + .instance_init = qcrypto_tls_creds_anon_instance_init, .instance_finalize = qcrypto_tls_creds_anon_finalize, .class_size = sizeof(QCryptoTLSCredsAnonClass), .class_init = qcrypto_tls_creds_anon_class_init, diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index 50eb54f..7213849 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -810,6 +810,19 @@ qcrypto_tls_creds_x509_init(Object *obj) QCryptoTLSCredsX509 *creds = QCRYPTO_TLS_CREDS_X509(obj); creds->sanityCheck = true; + + object_property_add_bool(obj, "loaded", + qcrypto_tls_creds_x509_prop_get_loaded, + qcrypto_tls_creds_x509_prop_set_loaded, + NULL); + object_property_add_bool(obj, "sanity-check", + qcrypto_tls_creds_x509_prop_get_sanity, + qcrypto_tls_creds_x509_prop_set_sanity, + NULL); + object_property_add_str(obj, "passwordid", + qcrypto_tls_creds_x509_prop_get_passwordid, + qcrypto_tls_creds_x509_prop_set_passwordid, + NULL); } @@ -829,19 +842,6 @@ qcrypto_tls_creds_x509_class_init(ObjectClass *oc, void *data) UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc); ucc->complete = qcrypto_tls_creds_x509_complete; - - object_class_property_add_bool(oc, "loaded", - qcrypto_tls_creds_x509_prop_get_loaded, - qcrypto_tls_creds_x509_prop_set_loaded, - NULL); - object_class_property_add_bool(oc, "sanity-check", - qcrypto_tls_creds_x509_prop_get_sanity, - qcrypto_tls_creds_x509_prop_set_sanity, - NULL); - object_class_property_add_str(oc, "passwordid", - qcrypto_tls_creds_x509_prop_get_passwordid, - qcrypto_tls_creds_x509_prop_set_passwordid, - NULL); } -- 2.7.4