Changeset 561 for trunk/src/dbus/qdbusmisc.cpp
- Timestamp:
- Feb 11, 2010, 11:19:06 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to (toggle deleted branches)
/branches/vendor/nokia/qt/4.6.1 merged eligible /branches/vendor/nokia/qt/current merged eligible /branches/vendor/trolltech/qt/current 3-149
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
trunk/src/dbus/qdbusmisc.cpp
r2 r561 2 2 ** 3 3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 4 ** Contact: Qt Software Information (qt-info@nokia.com) 4 ** All rights reserved. 5 ** Contact: Nokia Corporation (qt-info@nokia.com) 5 6 ** 6 7 ** This file is part of the QtDBus module of the Qt Toolkit. … … 21 22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 22 23 ** 23 ** In addition, as a special exception, Nokia gives you certain 24 ** additional rights. These rights are described in the Nokia Qt LGPL 25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this 26 ** package. 24 ** In addition, as a special exception, Nokia gives you certain additional 25 ** rights. These rights are described in the Nokia Qt LGPL Exception 26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 27 27 ** 28 28 ** GNU General Public License Usage … … 34 34 ** met: http://www.gnu.org/copyleft/gpl.html. 35 35 ** 36 ** If you are unsure which license is appropriate for your use, please37 ** contact the sales department at qt-sales@nokia.com.36 ** If you have questions regarding the use of this file, please contact 37 ** Nokia at qt-info@nokia.com. 38 38 ** $QT_END_LICENSE$ 39 39 ** … … 42 42 #include <string.h> 43 43 44 #include <QtCore/qcoreapplication.h> 44 45 #include <QtCore/qvariant.h> 45 46 #include <QtCore/qmetaobject.h> … … 48 49 #include "qdbusconnection_p.h" 49 50 #include "qdbusmetatype_p.h" 51 #include "qdbusabstractadaptor_p.h" // for QCLASSINFO_DBUS_* 50 52 51 53 QT_BEGIN_NAMESPACE … … 72 74 id = QMetaType::type(name); 73 75 return id; 76 } 77 78 QString qDBusInterfaceFromMetaObject(const QMetaObject *mo) 79 { 80 QString interface; 81 82 int idx = mo->indexOfClassInfo(QCLASSINFO_DBUS_INTERFACE); 83 if (idx >= mo->classInfoOffset()) { 84 interface = QLatin1String(mo->classInfo(idx).value()); 85 } else { 86 interface = QLatin1String(mo->className()); 87 interface.replace(QLatin1String("::"), QLatin1String(".")); 88 89 if (interface.startsWith(QLatin1String("QDBus"))) { 90 interface.prepend(QLatin1String("com.trolltech.QtDBus.")); 91 } else if (interface.startsWith(QLatin1Char('Q')) && 92 interface.length() >= 2 && interface.at(1).isUpper()) { 93 // assume it's Qt 94 interface.prepend(QLatin1String("com.trolltech.Qt.")); 95 } else if (!QCoreApplication::instance()|| 96 QCoreApplication::instance()->applicationName().isEmpty()) { 97 interface.prepend(QLatin1String("local.")); 98 } else { 99 interface.prepend(QLatin1Char('.')).prepend(QCoreApplication::instance()->applicationName()); 100 QStringList domainName = 101 QCoreApplication::instance()->organizationDomain().split(QLatin1Char('.'), 102 QString::SkipEmptyParts); 103 if (domainName.isEmpty()) 104 interface.prepend(QLatin1String("local.")); 105 else 106 for (int i = 0; i < domainName.count(); ++i) 107 interface.prepend(QLatin1Char('.')).prepend(domainName.at(i)); 108 } 109 } 110 111 return interface; 112 } 113 114 bool qDBusInterfaceInObject(QObject *obj, const QString &interface_name) 115 { 116 const QMetaObject *mo = obj->metaObject(); 117 for ( ; mo != &QObject::staticMetaObject; mo = mo->superClass()) 118 if (interface_name == qDBusInterfaceFromMetaObject(mo)) 119 return true; 120 return false; 74 121 } 75 122
Note:
See TracChangeset
for help on using the changeset viewer.