X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=qjson%2Fsrc%2Fqobjecthelper.cpp;fp=qjson%2Fsrc%2Fqobjecthelper.cpp;h=0000000000000000000000000000000000000000;hb=1609198b2c76065499fafc7c3b17b4f8a757104a;hp=91c35977a6a7e5e81b43397d2936db542477b334;hpb=c965883602810c9459c46cab580aec745d7a1687;p=buliscores diff --git a/qjson/src/qobjecthelper.cpp b/qjson/src/qobjecthelper.cpp deleted file mode 100644 index 91c3597..0000000 --- a/qjson/src/qobjecthelper.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* This file is part of qjson - * - * Copyright (C) 2009 Till Adam - * Copyright (C) 2009 Flavio Castelli - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - - -#include "qobjecthelper.h" - -#include -#include -#include - -using namespace QJson; - -class QObjectHelper::QObjectHelperPrivate { -}; - -QObjectHelper::QObjectHelper() - : d (new QObjectHelperPrivate) -{ -} - -QObjectHelper::~QObjectHelper() -{ - delete d; -} - -QVariantMap QObjectHelper::qobject2qvariant( const QObject* object, - const QStringList& ignoredProperties) -{ - QVariantMap result; - const QMetaObject *metaobject = object->metaObject(); - int count = metaobject->propertyCount(); - for (int i=0; iproperty(i); - const char *name = metaproperty.name(); - - if (ignoredProperties.contains(QLatin1String(name)) || (!metaproperty.isReadable())) - continue; - - QVariant value = object->property(name); - result[QLatin1String(name)] = value; - } - return result; -} - -void QObjectHelper::qvariant2qobject(const QVariantMap& variant, QObject* object) -{ - const QMetaObject *metaobject = object->metaObject(); - - QVariantMap::const_iterator iter; - for (iter = variant.constBegin(); iter != variant.constEnd(); iter++) { - int pIdx = metaobject->indexOfProperty( iter.key().toAscii() ); - - if ( pIdx < 0 ) { - continue; - } - - QMetaProperty metaproperty = metaobject->property( pIdx ); - QVariant::Type type = metaproperty.type(); - QVariant v( iter.value() ); - - if ( v.canConvert( type ) ) { - v.convert( type ); - metaproperty.write( object, v ); - } - } -}