summaryrefslogtreecommitdiff
path: root/noncore/settings/packagemanager/oipkg.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/packagemanager/oipkg.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/packagemanager/oipkg.cpp67
1 files changed, 57 insertions, 10 deletions
diff --git a/noncore/settings/packagemanager/oipkg.cpp b/noncore/settings/packagemanager/oipkg.cpp
index ed9ea10..eb07a61 100644
--- a/noncore/settings/packagemanager/oipkg.cpp
+++ b/noncore/settings/packagemanager/oipkg.cpp
@@ -32,4 +32,5 @@
#include "oipkg.h"
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -47,7 +48,9 @@ const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status fi
OIpkg *oipkg;
-int fIpkgMessage( ipkg_conf_t */*conf*/, message_level_t /*level*/, char *msg )
+// Ipkg callback functions
+
+int fsignalIpkgMessage( ipkg_conf_t */*conf*/, message_level_t /*level*/, char *msg )
{
- oipkg->ipkgOutput( msg );
+ oipkg->ipkgMessage( msg );
return 0;
}
@@ -58,4 +61,18 @@ char* fIpkgResponse( char */*question*/ )
}
+int fIpkgStatus( char */*name*/, int /*status*/, char *desc, void */*userdata*/ )
+{
+ oipkg->ipkgStatus( desc );
+ return 0;
+}
+
+int fIpkgFiles( char */*name*/, char *desc, char */*version*/, pkg_state_status_t /*status*/,
+ void */*userdata*/ )
+{
+printf( "*****List*****\n%s\n", desc );
+ oipkg->ipkgList( desc );
+ return 0;
+}
+
OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
: QObject( parent, name )
@@ -68,5 +85,5 @@ OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
// Initialize libipkg
- if ( ipkg_init( &fIpkgMessage, &fIpkgResponse, &m_ipkgArgs ) )
+ if ( ipkg_init( &fsignalIpkgMessage, &fIpkgResponse, &m_ipkgArgs ) )
QMessageBox::critical( 0, tr( "OIpkg" ), tr( "Error initialing libipkg" ) );
@@ -298,21 +315,29 @@ bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters,
// Connect output signal to widget
+
if ( rawOutput )
{
- if ( slotOutput )
- connect( this, SIGNAL(execOutput(char *)), receiver, slotOutput );
+// if ( slotOutput )
+// connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
}
else
{
- // TODO - connect to local slot and parse output before emitting execOutput
+ // TODO - connect to local slot and parse output before emitting signalIpkgMessage
}
switch( command )
{
- case OPackage::Update : ipkg_lists_update( &m_ipkgArgs );
+ case OPackage::Update : {
+ connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
+ ipkg_lists_update( &m_ipkgArgs );
+ };
break;
- case OPackage::Upgrade : ipkg_packages_upgrade( &m_ipkgArgs );
+ case OPackage::Upgrade : {
+ connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
+ ipkg_packages_upgrade( &m_ipkgArgs );
+ };
break;
case OPackage::Install : {
+ connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
{
@@ -322,4 +347,5 @@ bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters,
break;
case OPackage::Remove : {
+ connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
{
@@ -329,4 +355,5 @@ bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters,
break;
case OPackage::Download : {
+ connect( this, SIGNAL(signalIpkgMessage(char *)), receiver, slotOutput );
for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
{
@@ -335,4 +362,14 @@ bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters,
};
break;
+ case OPackage::Info : {
+ connect( this, SIGNAL(signalIpkgStatus(char *)), receiver, slotOutput );
+ ipkg_packages_info( &m_ipkgArgs, (*parameters->begin()), &fIpkgStatus, 0x0 );
+ };
+ break;
+ case OPackage::Files : {
+ connect( this, SIGNAL(signalIpkgList(char *)), receiver, slotOutput );
+ ipkg_package_files( &m_ipkgArgs, (*parameters->begin()), &fIpkgFiles, 0x0 );
+ };
+ break;
default : break;
};
@@ -341,7 +378,17 @@ bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters,
}
-void OIpkg::ipkgOutput( char *msg )
+void OIpkg::ipkgMessage( char *msg )
+{
+ emit signalIpkgMessage( msg );
+}
+
+void OIpkg::ipkgStatus( char *status )
+{
+ emit signalIpkgStatus( status );
+}
+
+void OIpkg::ipkgList( char *filelist )
{
- emit execOutput( msg );
+ emit signalIpkgList( filelist );
}