diff options
author | Theofilos Intzoglou <int.teo@gmail.com> | 2011-10-11 18:23:08 +0300 |
---|---|---|
committer | Theofilos Intzoglou <int.teo@gmail.com> | 2011-10-11 18:23:08 +0300 |
commit | 51c2eef2905db69d9d5f0bbb0c89fe192bc896f9 (patch) | |
tree | b122ff07653a7f44015b462bc43d7e4912d46d97 /src/Qt4 | |
parent | Add a .gitignore file (diff) | |
download | c-portage-51c2eef2905db69d9d5f0bbb0c89fe192bc896f9.tar.gz c-portage-51c2eef2905db69d9d5f0bbb0c89fe192bc896f9.tar.bz2 c-portage-51c2eef2905db69d9d5f0bbb0c89fe192bc896f9.zip |
Rename src/Qt to src/Qt4
Diffstat (limited to 'src/Qt4')
-rw-r--r-- | src/Qt4/CMakeLists.txt | 16 | ||||
-rw-r--r-- | src/Qt4/README | 3 | ||||
-rw-r--r-- | src/Qt4/TODO | 2 | ||||
-rw-r--r-- | src/Qt4/qlistconverter.cpp | 40 | ||||
-rw-r--r-- | src/Qt4/qlistconverter.h | 32 | ||||
-rw-r--r-- | src/Qt4/qpackageproperties.cpp | 52 | ||||
-rw-r--r-- | src/Qt4/qpackageproperties.h | 35 | ||||
-rw-r--r-- | src/Qt4/qportage.cpp | 180 | ||||
-rw-r--r-- | src/Qt4/qportage.h | 67 | ||||
-rw-r--r-- | src/Qt4/qportagesettings.cpp | 98 | ||||
-rw-r--r-- | src/Qt4/qportagesettings.h | 41 | ||||
-rw-r--r-- | src/Qt4/tests/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/Qt4/tests/qlistconverter_test.cpp | 16 | ||||
-rw-r--r-- | src/Qt4/tests/qpackageproperties_test.cpp | 27 | ||||
-rw-r--r-- | src/Qt4/tests/qportagesettings_test.cpp | 34 | ||||
-rw-r--r-- | src/Qt4/tests/test.cpp | 10 |
16 files changed, 659 insertions, 0 deletions
diff --git a/src/Qt4/CMakeLists.txt b/src/Qt4/CMakeLists.txt new file mode 100644 index 0000000..ab672ba --- /dev/null +++ b/src/Qt4/CMakeLists.txt @@ -0,0 +1,16 @@ +find_package(Qt4 REQUIRED) +include_directories(${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ..) +remove_definitions(-std=c99) + +set(cpp-portage_SRCS qportage.cpp qportagesettings.cpp qpackageproperties.cpp qlistconverter.cpp) +set(cpp-portage_HDRS qportage.h qportagesettings.h qpackageproperties.h qlistconverter.h) + +QT4_WRAP_CPP(cpp-portage_MOC_SRCS ${cpp-portage_HDRS}) + +add_library(cpp-portage SHARED ${cpp-portage_SRCS} ${cpp-portage_MOC_SRCS}) +target_link_libraries(cpp-portage c-portage ${QT_QTCORE_LIBRARY}) + +install(TARGETS cpp-portage DESTINATION lib) +install(FILES ${cpp-portage_HDRS} DESTINATION include/cpp-portage) + +add_subdirectory(tests) diff --git a/src/Qt4/README b/src/Qt4/README new file mode 100644 index 0000000..3059917 --- /dev/null +++ b/src/Qt4/README @@ -0,0 +1,3 @@ +Don't use this branch.It is only an interegation branch. +The code is very unstable.I created this branch in order to +avoid breaking the cmake_port branch. diff --git a/src/Qt4/TODO b/src/Qt4/TODO new file mode 100644 index 0000000..d11d08e --- /dev/null +++ b/src/Qt4/TODO @@ -0,0 +1,2 @@ +I need some help with the CMakeLists.txt which is located at +c-portage/src/Qt/tests,in order to create some test files diff --git a/src/Qt4/qlistconverter.cpp b/src/Qt4/qlistconverter.cpp new file mode 100644 index 0000000..4ce0845 --- /dev/null +++ b/src/Qt4/qlistconverter.cpp @@ -0,0 +1,40 @@ +#include "qlistconverter.h" + +#include <QStringList> +#include <QString> + +struct StringList +{ + char **list; + unsigned int count; +}; + +namespace CppPortage{ + +QListConverter::QListConverter(QObject *parent) + :QObject(parent) +{} + +StringList* QListConverter::QStringListToStringList(QStringList qstringList) +{ + StringList *stringList = stringListCreate(qstringList.size());//create a new StringList + + for (int i = 0; i <= qstringList.size(); i++) { + char c = *(qstringList.at(i).toUtf8().data()); + stringListInsertAt(stringList, i, &c); + } + + return stringList; +} + +QStringList QListConverter::StringListToQStringList(StringList *stringList) +{ + QStringList qstringList; + + for (int i = 0; i <= stringList->count; i++) { + qstringList.insert(i, stringListGetAt(stringList, i)); + } + + return qstringList; +} +}//end namespace
\ No newline at end of file diff --git a/src/Qt4/qlistconverter.h b/src/Qt4/qlistconverter.h new file mode 100644 index 0000000..ffd52ba --- /dev/null +++ b/src/Qt4/qlistconverter.h @@ -0,0 +1,32 @@ +#ifndef QLISTCONVERTER_H +#define QLISTCONVERTER_H + +extern "C" { +#include "../stringlist.h" +} + +#include <QObject> + +class QString; +class QStringList; + +namespace CppPortage { + +class QListConverter : public QObject +{ + Q_OBJECT +public: + QListConverter(QObject *parent = 0); + + /** + * Converts a StringList to a QStringList + **/ + static QStringList StringListToQStringList(StringList *stringList); + + /** + * Converts a QStringList to a StringList + **/ + static StringList* QStringListToStringList(QStringList qstringList); +}; +} +#endif
\ No newline at end of file diff --git a/src/Qt4/qpackageproperties.cpp b/src/Qt4/qpackageproperties.cpp new file mode 100644 index 0000000..8302122 --- /dev/null +++ b/src/Qt4/qpackageproperties.cpp @@ -0,0 +1,52 @@ +#include "qpackageproperties.h" +#include "qlistconverter.h" + +#include <QStringList> +#include <QString> + +namespace CppPortage{ + +QPackageProperties::QPackageProperties(QString slot, QStringList keywords, + QStringList flags, QStringList homepages, QObject *parent) + :QObject(parent) +{ + StringList *FLAGS = QListConverter::QStringListToStringList(flags); + + StringList *HOMEPAGES = QListConverter::QStringListToStringList(homepages); + + StringList *KEYWORDS = QListConverter::QStringListToStringList(keywords); + + packagePropertiesCreate(slot.toUtf8().data(), KEYWORDS, FLAGS, HOMEPAGES); +} + + +QPackageProperties::~QPackageProperties() +{ + PackageProperties *p; + void Free(PackageProperties *p); +} + +const QString QPackageProperties::Slot() +{ + PackageProperties *p; + return packagePropertiesGetSlot(p); +} + +const QStringList QPackageProperties::Flags() +{ + PackageProperties *p; + return QListConverter::StringListToQStringList(packagePropertiesGetFlags(p)); +} + +const QStringList QPackageProperties::Keywords() +{ + PackageProperties *p; + return QListConverter::StringListToQStringList(packagePropertiesGetKeywords(p)); +} + +const QStringList QPackageProperties::Homepages() +{ + PackageProperties *p; + return QListConverter::StringListToQStringList(packagePropertiesGetHomepages(p)); +} +} diff --git a/src/Qt4/qpackageproperties.h b/src/Qt4/qpackageproperties.h new file mode 100644 index 0000000..bf20cfb --- /dev/null +++ b/src/Qt4/qpackageproperties.h @@ -0,0 +1,35 @@ +#ifndef QPACKAGEPROPERTIES_H +#define QPACKAGEPROPERTIES_H + +#include <QObject> + +extern "C" { +#include "../packageproperties.h" +} + + +class QString; +class QStringList; + +struct PackageProperties; +struct StringList; + +namespace CppPortage { + +class QListConverter; + +class QPackageProperties : public QObject +{ + Q_OBJECT +public: + QPackageProperties(QString slot, const QStringList keywords, const QStringList flags, + QStringList homepages,QObject *parent = 0); + virtual ~QPackageProperties(); + + const QString Slot(); + const QStringList Keywords(); + const QStringList Flags(); + const QStringList Homepages(); +}; +} +#endif
\ No newline at end of file diff --git a/src/Qt4/qportage.cpp b/src/Qt4/qportage.cpp new file mode 100644 index 0000000..cd9743c --- /dev/null +++ b/src/Qt4/qportage.cpp @@ -0,0 +1,180 @@ +/* + <one line to give the library's name and an idea of what it does.> + Copyright (C) 2011 Θεόφιλος Ιντζόγλου <int.teo@gmail.com> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + + +#include "qportage.h" +#include "qlistconverter.h" + +extern "C" { +#include <dataconnect.h> +} + +namespace CppPortage { + +portage::portage(QObject* parent): QObject(parent) +{ + +} + +portage::~portage() +{ + +} + +QString portage::bestVersion(QStringList ) +{ + +} + +QStringList portage::allNodes() +{ + StringList *clist; + QStringList strlist; + + clist = portageGetAllNodes(); + strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +QString portage::bestEbuild(const QString& ) +{ + +} + +QString portage::depEbuild(const QString& ) +{ + +} + +int portage::hardMasked(const QString& , QStringList& , QStringList& ) +{ + +} + +QStringList portage::installedFiles(const QString &package) +{ + StringList *clist; + QStringList strlist; + + clist = portageGetInstalledFiles(package.toUtf8().data()); + strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +QStringList portage::installedList() +{ + StringList *clist; + QStringList strlist; + + clist = portageGetInstalledList(); + strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +QString portage::maskingReason(const QString& ) +{ + +} + +QStringList portage::maskingStatus(const QString& ) +{ + +} + +QString portage::overlay(const QString& ) +{ + +} + +QString portage::overlayNameFromPath(const QString& ) +{ + +} + +QString portage::overlayNameFromPkg(const QString& ) +{ + +} + +long int portage::packageSizeInt(const QString& ) +{ + +} + +QString portage::packageSizeString(const QString& ) +{ + +} + +QString portage::path(const QString &package, int ) +{ + +} + +PackageProperties* portage::properties(const QString &package) +{ + return portageGetProperties(package.toUtf8().data()); +} + +QStringList portage::resolvedPkgs() +{ + StringList *clist; + QStringList strlist; + + clist = portageGetResolvedPkgs(); + strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +QStringList portage::unresolvedPkgs() +{ + StringList *clist; + QStringList strlist; + + clist = portageGetUnresolvedPkgs(); + strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +QStringList portage::versions(const QString &package, bool include_masked) +{ + StringList *clist = portageGetVersions(package.toUtf8().data(), include_masked); + QStringList strlist = QListConverter::StringListToQStringList(clist); + stringListFree(clist); + + return strlist; +} + +bool portage::isOverlay(const QString &package) +{ + return portageIsOverlay(package.toUtf8().data()); +} + + +} // End of namespace
\ No newline at end of file diff --git a/src/Qt4/qportage.h b/src/Qt4/qportage.h new file mode 100644 index 0000000..d67558b --- /dev/null +++ b/src/Qt4/qportage.h @@ -0,0 +1,67 @@ +/* + <one line to give the library's name and an idea of what it does.> + Copyright (C) 2011 Θεόφιλος Ιντζόγλου <int.teo@gmail.com> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + + +#ifndef QPORTAGE_H +#define QPORTAGE_H + +#include <QObject> +#include <QStringList> + +class PackageProperties; + +namespace CppPortage { + +class portage : public QObject +{ + Q_OBJECT + + explicit portage(QObject* parent = 0); + virtual ~portage(); + + QStringList versions(const QString&, bool); + int hardMasked(const QString&, QStringList&, QStringList&); + QStringList installedFiles(const QString&); + + QString bestVersion(QStringList); + QString bestEbuild(const QString&); + QString depEbuild(const QString&); + + QStringList maskingStatus(const QString&); + QString maskingReason(const QString&); + + long int packageSizeInt(const QString&); + QString packageSizeString(const QString&); + PackageProperties* properties(const QString&); + bool isOverlay(const QString&); + QString overlay(const QString&); + QString overlayNameFromPath(const QString&); + QString overlayNameFromPkg(const QString&); + QString path(const QString&, int); + + QStringList resolvedPkgs(); + QStringList unresolvedPkgs(); + QStringList allNodes(); + QStringList installedList(); + +}; // End of class + +} // End of namespace + +#endif // QPORTAGE_H diff --git a/src/Qt4/qportagesettings.cpp b/src/Qt4/qportagesettings.cpp new file mode 100644 index 0000000..21dc7b2 --- /dev/null +++ b/src/Qt4/qportagesettings.cpp @@ -0,0 +1,98 @@ +#include "qportagesettings.h" + +#include <QStringList> +#include <QString> + +namespace CppPortage{ + +QPortageSettings::QPortageSettings(QObject *parent) + :QObject(parent) +{ +} + +QPortageSettings::~QPortageSettings() +{ + PortageSettings *ps; + portageSettingsFree(ps); +} + +const int QPortageSettings::resetUseFlags() +{ + PortageSettings *ps; + return portageSettingsResetUseFlags(ps); +} + +const int QPortageSettings::reset() +{ + PortageSettings *ps; + return portageSettingsResetUseFlags(ps); +} + +const int QPortageSettings::reloadConfig() +{ + PortageSettings *ps; + return portageSettingsReloadConfig(ps); +} + +const int QPortageSettings::reloadWorld() +{ + PortageSettings *ps; + return portageSettingsReloadWorld(ps); +} + +const QStringList QPortageSettings::world() +{ + PortageSettings *ps; + return QListConverter::StringListToQStringList(portageSettingsGetWorld(ps)); +} + +const QStringList QPortageSettings::archList() +{ + PortageSettings *ps; + return QListConverter::StringListToQStringList(portageSettingsGetArchList(ps)); + +} + +const QStringList QPortageSettings::virtuals() +{ + PortageSettings *ps; + return QListConverter::StringListToQStringList(portageSettingsGetVirtuals(ps)); +} + +const QString QPortageSettings::acceptKeywords() +{ + PortageSettings *ps; + return portageSettingsAcceptKeywords(ps); +} + +const QStringList QPortageSettings::systemUseFlags() +{ + PortageSettings *ps; + return QListConverter::StringListToQStringList(portageSettingsSystemUseFlags(ps)); +} + +const QString QPortageSettings::arch() +{ + PortageSettings *ps; + return portageSettingsArch(ps); +} + +const QString QPortageSettings::portdir() +{ + PortageSettings *ps; + return portageSettingsPortdir(ps); +} + +const QString QPortageSettings::portdirOverlay() +{ + PortageSettings *ps; + return portageSettingsPortdirOverlay(ps); +} + +const QString QPortageSettings::userConfigDir() +{ + PortageSettings *ps; + return portageSettingsUserConfigDir(ps); +} + +}//end namespace diff --git a/src/Qt4/qportagesettings.h b/src/Qt4/qportagesettings.h new file mode 100644 index 0000000..f10c565 --- /dev/null +++ b/src/Qt4/qportagesettings.h @@ -0,0 +1,41 @@ +#ifndef QPORTAGESETTINGS_H +#define QPORTAGESETTINGS_H + + +#include <QObject> +#include "qlistconverter.h" + +extern "C" { +#include "../portagesettings.h" +} + +class QString; +class QStringList; + +struct PortageSettings; + +namespace CppPortage { + +class QPortageSettings : public QObject +{ + Q_OBJECT +public: + QPortageSettings(QObject *parent = 0); + virtual ~QPortageSettings(); + + const int resetUseFlags(); + const int reset(); + const int reloadConfig(); + const int reloadWorld(); + const QStringList world(); + const QStringList archList(); + const QStringList virtuals(); + const QString acceptKeywords(); + const QStringList systemUseFlags(); + const QString arch(); + const QString portdir(); + const QString portdirOverlay(); + const QString userConfigDir(); +}; +} +#endif
\ No newline at end of file diff --git a/src/Qt4/tests/CMakeLists.txt b/src/Qt4/tests/CMakeLists.txt new file mode 100644 index 0000000..a2b1e28 --- /dev/null +++ b/src/Qt4/tests/CMakeLists.txt @@ -0,0 +1,6 @@ +add_executable(QtWrapperTest test.cpp) +target_link_libraries(QtWrapperTest cpp-portage) +add_executable(QPackagepropertiesTest qpackageproperties_test.cpp) +target_link_libraries(QPackagepropertiesTest cpp-portage) +add_executable(QPortagesettingsTest qportagesettings_test.cpp) +target_link_libraries(QPortagesettingsTest cpp-portage) diff --git a/src/Qt4/tests/qlistconverter_test.cpp b/src/Qt4/tests/qlistconverter_test.cpp new file mode 100644 index 0000000..622b84b --- /dev/null +++ b/src/Qt4/tests/qlistconverter_test.cpp @@ -0,0 +1,16 @@ +#include <QApplication> +#include <QDebug> + +#include "../qportagesettings.h" + +void test() { + qDebug() << +} + +int main(int argc, char *argv[]) +{ + QApplication app; + + + return app.exec(); +} diff --git a/src/Qt4/tests/qpackageproperties_test.cpp b/src/Qt4/tests/qpackageproperties_test.cpp new file mode 100644 index 0000000..b7e99ac --- /dev/null +++ b/src/Qt4/tests/qpackageproperties_test.cpp @@ -0,0 +1,27 @@ +#include <QCoreApplication> +#include <QDebug> +#include <QStringList> + +#include "../qpackageproperties.h" +#include "../qlistconverter.h" + +using namespace CppPortage; + +void test(); + +void test() { + + QPackageProperties packPro(QString("slot"),QStringList("keyw"),QStringList("home"),QStringList("flags")); + + qDebug() << "QString Slot()" << packPro.Slot(); + qDebug() << "QStringList Homepages()" << packPro.Homepages(); + qDebug() << "QStringList Flags()" << packPro.Flags(); + qDebug() << "QStringList Keywords" << packPro.Keywords(); +} + +int main(int argc, char *argv[]) +{ + test(); + QCoreApplication app(argc, argv); + return app.exec(); +}
\ No newline at end of file diff --git a/src/Qt4/tests/qportagesettings_test.cpp b/src/Qt4/tests/qportagesettings_test.cpp new file mode 100644 index 0000000..da02903 --- /dev/null +++ b/src/Qt4/tests/qportagesettings_test.cpp @@ -0,0 +1,34 @@ +#include <QCoreApplication> +#include <QDebug> +#include <QStringList> + +#include "../qportagesettings.h" +#include "../qlistconverter.h" + +using namespace CppPortage; + +void test() { + QPortageSettings portSett; + + qDebug() << "int resetUseFlags()" << portSett.resetUseFlags(); + qDebug() << "int reset()" << portSett.reset(); + qDebug() << "int reloadConfig()" << portSett.reloadConfig(); + qDebug() << "int reloadWorld()" << portSett.reloadWorld(); + qDebug() << "QStringList world()" << portSett.world(); + qDebug() << "QStringList archList()" << portSett.archList(); + qDebug() << "QStringList virtuals()" << portSett.virtuals(); + qDebug() << "QString acceptKeywords()" << portSett.acceptKeywords(); + qDebug() << "QStringList systemUseFlags()" << portSett.systemUseFlags(); + qDebug() << "QString arch()" << portSett.arch(); + qDebug() << "QString portdir()" << portSett.portdir(); + qDebug() << "QString portdirOverlay()" << portSett.portdirOverlay(); + qDebug() << "QString userConfigDir()" << portSett.userConfigDir(); +} + +int main(int argc, char *argv[]) +{ + test(); + QCoreApplication app(argc, argv); + + return app.exec(); +} diff --git a/src/Qt4/tests/test.cpp b/src/Qt4/tests/test.cpp new file mode 100644 index 0000000..a418551 --- /dev/null +++ b/src/Qt4/tests/test.cpp @@ -0,0 +1,10 @@ +#include <QCoreApplication> +#include <QDebug> + +int main(int argc, char *argv[]) +{ + QCoreApplication app(argc,argv); + + + return app.exec(); +} |