Plasma
version.cpp
Go to the documentation of this file.00001 /* 00002 * Copyright 2008 by Aaron Seigo <aseigo@kde.org> 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU Library General Public License as 00006 * published by the Free Software Foundation; either version 2, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details 00013 * 00014 * You should have received a copy of the GNU Library General Public 00015 * License along with this program; if not, write to the 00016 * Free Software Foundation, Inc., 00017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #include <plasma/version.h> 00021 #include <kdebug.h> 00022 00023 namespace Plasma 00024 { 00025 00026 unsigned int version() 00027 { 00028 return PLASMA_VERSION; 00029 } 00030 00031 unsigned int versionMajor() 00032 { 00033 return PLASMA_VERSION_MAJOR; 00034 } 00035 00036 unsigned int versionMinor() 00037 { 00038 return PLASMA_VERSION_MINOR; 00039 } 00040 00041 unsigned int versionRelease() 00042 { 00043 return PLASMA_VERSION_RELEASE; 00044 } 00045 00046 const char *versionString() 00047 { 00048 return PLASMA_VERSION_STRING; 00049 } 00050 00051 bool isPluginVersionCompatible(unsigned int version) 00052 { 00053 // we require PLASMA_VERSION_MAJOR and PLASMA_VERSION_MINOR 00054 const quint32 minVersion = PLASMA_MAKE_VERSION(PLASMA_VERSION_MAJOR, 0, 0); 00055 const quint32 maxVersion = PLASMA_MAKE_VERSION(PLASMA_VERSION_MAJOR, PLASMA_VERSION_MINOR, 60); 00056 00057 if (version < minVersion || version > maxVersion) { 00058 kDebug() << "plugin is compiled against incompatible Plasma version " << version 00059 << "This build is compatible with" << PLASMA_VERSION_MAJOR << ".0.0 (" << minVersion 00060 << ") to" << PLASMA_VERSION_STRING << "(" << maxVersion << ")"; 00061 return false; 00062 } 00063 00064 return true; 00065 } 00066 00067 } // Plasma namespace 00068