00001 /* qdbusdataconverter.h QDBusDataConverter template 00002 * 00003 * Copyright (C) 2007 Kevin Krammer <kevin.krammer@gmx.at> 00004 * 00005 * Licensed under the Academic Free License version 2.1 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00020 * USA. 00021 * 00022 */ 00023 00024 #ifndef QDBUSDATACONVERTER_H 00025 #define QDBUSDATACONVERTER_H 00026 00027 #include "dbus/qdbusmacros.h" 00028 00029 class QDBusData; 00030 00087 class QDBUS_EXPORT QDBusDataConverter 00088 { 00089 public: 00093 enum Result 00094 { 00098 Success, 00099 00106 InvalidSignature, 00107 00114 InvalidArgument 00115 }; 00116 00160 template <class T> 00161 static Result convertFromQDBusData(const QDBusData& dbusData, T& typeData); 00162 00203 template <class T> 00204 static Result convertToQDBusData(const T& typeData, QDBusData& dbusData); 00205 }; 00206 00207 #endif