Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Discover
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Plasma
Discover
Commits
8f7fa400
Commit
8f7fa400
authored
Nov 28, 2017
by
Aleix Pol Gonzalez
🐧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move TransactionSet into a separate file
parent
3dcc2e4e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
91 additions
and
32 deletions
+91
-32
libdiscover/backends/PackageKitBackend/CMakeLists.txt
libdiscover/backends/PackageKitBackend/CMakeLists.txt
+1
-0
libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
+1
-32
libdiscover/backends/PackageKitBackend/TransactionSet.cpp
libdiscover/backends/PackageKitBackend/TransactionSet.cpp
+45
-0
libdiscover/backends/PackageKitBackend/TransactionSet.h
libdiscover/backends/PackageKitBackend/TransactionSet.h
+44
-0
No files found.
libdiscover/backends/PackageKitBackend/CMakeLists.txt
View file @
8f7fa400
...
...
@@ -12,6 +12,7 @@ add_library(packagekit-backend MODULE PackageKitBackend.cpp
PackageKitMessages.cpp
PackageKitSourcesBackend.cpp
LocalFilePKResource.cpp
TransactionSet.cpp
)
target_link_libraries
(
packagekit-backend PRIVATE Discover::Common Qt5::Core PK::packagekitqt5 KF5::ConfigGui KF5::KIOCore KF5::Archive AppStreamQt
)
...
...
libdiscover/backends/PackageKitBackend/PackageKitBackend.cpp
View file @
8f7fa400
...
...
@@ -26,6 +26,7 @@
#include "AppPackageKitResource.h"
#include "PKTransaction.h"
#include "LocalFilePKResource.h"
#include "TransactionSet.h"
#include <resources/AbstractResource.h>
#include <resources/StandardBackendUpdater.h>
#include <resources/SourcesModel.h>
...
...
@@ -212,38 +213,6 @@ AppPackageKitResource* PackageKitBackend::addComponent(const AppStream::Componen
return
res
;
}
class
TransactionSet
:
public
QObject
{
Q_OBJECT
public:
TransactionSet
(
const
QVector
<
PackageKit
::
Transaction
*>
&
transactions
)
:
m_transactions
(
transactions
)
{
foreach
(
PackageKit
::
Transaction
*
t
,
transactions
)
{
connect
(
t
,
&
PackageKit
::
Transaction
::
finished
,
this
,
&
TransactionSet
::
transactionFinished
);
}
}
void
transactionFinished
(
PackageKit
::
Transaction
::
Exit
exit
)
{
PackageKit
::
Transaction
*
t
=
qobject_cast
<
PackageKit
::
Transaction
*>
(
sender
());
if
(
exit
!=
PackageKit
::
Transaction
::
ExitSuccess
)
{
qWarning
()
<<
"failed"
<<
exit
<<
t
;
}
m_transactions
.
removeAll
(
t
);
if
(
m_transactions
.
isEmpty
())
{
Q_EMIT
allFinished
();
}
}
Q_SIGNALS:
void
allFinished
();
private:
QVector
<
PackageKit
::
Transaction
*>
m_transactions
;
};
void
PackageKitBackend
::
clearPackages
(
const
QStringList
&
packageNames
)
{
const
auto
resources
=
resourcesByPackageNames
<
QVector
<
AbstractResource
*>>
(
packageNames
);
...
...
libdiscover/backends/PackageKitBackend/TransactionSet.cpp
0 → 100644
View file @
8f7fa400
/***************************************************************************
* Copyright © 2017 Aleix Pol Gonzalez <aleixpol@blue-systems.com> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation; either version 2 of *
* the License or (at your option) version 3 or any later version *
* accepted by the membership of KDE e.V. (or its successor approved *
* by the membership of KDE e.V.), which shall act as a proxy *
* defined in Section 14 of version 3 of the license. *
* *
* This program 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "TransactionSet.h"
#include <QDebug>
TransactionSet
::
TransactionSet
(
const
QVector
<
PackageKit
::
Transaction
*>
&
transactions
)
:
m_transactions
(
transactions
)
{
foreach
(
PackageKit
::
Transaction
*
t
,
transactions
)
{
connect
(
t
,
&
PackageKit
::
Transaction
::
finished
,
this
,
&
TransactionSet
::
transactionFinished
);
}
}
void
TransactionSet
::
transactionFinished
(
PackageKit
::
Transaction
::
Exit
exit
)
{
PackageKit
::
Transaction
*
t
=
qobject_cast
<
PackageKit
::
Transaction
*>
(
sender
());
if
(
exit
!=
PackageKit
::
Transaction
::
ExitSuccess
)
{
qWarning
()
<<
"failed"
<<
exit
<<
t
;
}
m_transactions
.
removeAll
(
t
);
if
(
m_transactions
.
isEmpty
())
{
Q_EMIT
allFinished
();
deleteLater
();
}
}
libdiscover/backends/PackageKitBackend/TransactionSet.h
0 → 100644
View file @
8f7fa400
/***************************************************************************
* Copyright © 2017 Aleix Pol Gonzalez <aleixpol@blue-systems.com> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation; either version 2 of *
* the License or (at your option) version 3 or any later version *
* accepted by the membership of KDE e.V. (or its successor approved *
* by the membership of KDE e.V.), which shall act as a proxy *
* defined in Section 14 of version 3 of the license. *
* *
* This program 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifndef TRANSACTIONSET_H
#define TRANSACTIONSET_H
#include <QObject>
#include <QVector>
#include <PackageKit/Transaction>
class
TransactionSet
:
public
QObject
{
Q_OBJECT
public:
TransactionSet
(
const
QVector
<
PackageKit
::
Transaction
*>
&
transactions
);
void
transactionFinished
(
PackageKit
::
Transaction
::
Exit
exit
);
Q_SIGNALS:
void
allFinished
();
private:
QVector
<
PackageKit
::
Transaction
*>
m_transactions
;
};
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment