[SailfishDevel] rpminstall signal packageStatusChanged
Mikael Hermansson
mike at 7b4.se
Fri Jun 13 08:36:32 UTC 2014
Seems it was a thread issue. my RpmInstall class was constructed in a different
thread(SailClient) from "mainthread" below lines (parent is main class) fixed it:
(Actually I need to read more about how threads works in Qt kinda confusing...)
moveToThread(parent->thread());
setParent(parent);
But now I got a bit confused again because I noticed that my phone emited alot of
"status 1" for other packages already installed :S is this correct?
just a short dump(the full log is alot bigger):
......
[D] RpmInstall::onPackageStatusChanged:37 - install (not mine ignored) "jolla-email-
all-translations-pack" status 1
[D] RpmInstall::onPackageStatusChanged:37 - install (not mine ignored) "jolla-email-
settings" status 1
[D] RpmInstall::onPackageStatusChanged:37 - install (not mine ignored) "jolla-
firstsession" status 1
.....
code:
void RpmInstall::onPackageStatusChanged(const QString &filename, int status)
{
SailHttpServer *server = dynamic_cast <SailHttpServer *>(parent());
if (installFilename != filename)
{
qDebug() << "install (not mine ignored) " << filename << " status " << status;
return ;
}
qDebug() << "install " << filename << " status " << status;
if (status == 1) // installed
{
if (server && server->property("removeRpmAfterInstall").toBool())
{
QFile file(filename);
file.remove();
}
}
}
On Thursday, June 12, 2014 16:34:44 Kimmo Lindholm wrote:
> does QDBusConnection::sessionBus().lastError().message() give any details on
> error?
>
> From: devel-bounces at lists.sailfishos.org
> [mailto:devel-bounces at lists.sailfishos.org] On Behalf Of Mikael Hermansson
> Sent: Thursday, June 12, 2014 10:25 AM
> To: sailfish-devel
> Subject: [SailfishDevel] rpminstall signal packageStatusChanged
>
>
> I want to connect to the signal packageStatusChanged from the harbour FAQ I
> read this:
>
>
>
> signal path=/StoreClient; interface=com.jolla.jollastore;
> member=packageStatusChanged
>
> string "filename.rpm"
>
> int32 0 (not installed?), 1 (installed?) and 2 (progressing?)
>
>
>
> But I have problem getting the receive the signal from jollastore in my app
> I connect to the store using QDBus API :
>
>
>
> result = QDBusConnection::sessionBus().connect("com.jolla.jollastore",
> "/StoreClient", "com.jolla.jollastore" ,"packageStatusChanged", this,
> SLOT(onPackageStatusChanged(QString,int)));
>
>
>
> qDebug() << "DBUSconnect== " << result;
>
>
>
>
>
> However the signal seems not connect since it returns:
>
>
>
> [D] RpmInstall::RpmInstall:19 - DBUSconnect== false
>
>
>
>
>
> the signal is not emited... Any idea what I do wrong?
>
>
>
>
>
> Regards
>
>
>
> Mikael
>
>
>
>
>
> --
>
> "Put mankind back on earth"
--
"Put mankind back on earth"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20140613/f622b89a/attachment-0001.html>
More information about the Devel
mailing list