3 * Copyright (C) 2006 Trolltech AS. All rights reserved.
4 * Author: Thiago Macieira <thiago.macieira@trolltech.com>
6 * Licensed under the Academic Free License version 2.1
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software Foundation
20 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
28 // This file is not part of the public API. This header file may
29 // change from version to version without notice, or even be
36 #ifndef QDBUSMETAOBJECTPRIVATE_H
37 #define QDBUSMETAOBJECTPRIVATE_H
39 #include <QtCore/qmetaobject.h>
40 #include "qdbusmacros.h"
44 class QDBusMetaObjectPrivate;
45 struct QDBUS_EXPORT QDBusMetaObject: public QMetaObject
49 static QDBusMetaObject *createMetaObject(QString &interface, const QString &xml,
50 QHash<QString, QDBusMetaObject *> &map,
54 delete [] d.stringdata;
58 // methods (slots & signals):
59 const char *dbusNameForMethod(int id) const;
60 const char *inputSignatureForMethod(int id) const;
61 const char *outputSignatureForMethod(int id) const;
62 const int *inputTypesForMethod(int id) const;
63 const int *outputTypesForMethod(int id) const;
66 int propertyMetaType(int id) const;
69 static void assign(void *, const QVariant &value);
75 struct QDBusMetaTypeId
77 static bool innerInitialize();
78 static bool initialized;
79 static inline void initialize()
81 if (initialized) return;
88 static int ushortlist;
91 static int longlonglist;
92 static int ulonglonglist;
93 static int doublelist;