- Removed signals not provided by PackageKit anymore
[opensuse:kupdateapplet.git] / src / packagekit / qpackagekitconnector.cpp
1 /***************************************************************************
2 Copyright (c) 2006 - 2010 Novell, Inc.
3 All Rights Reserved.
4
5 This program is free software; you can redistribute it and/or modify it under 
6 the terms of version 2 of the GNU General Public License as published by the 
7 Free Software Foundation.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, contact Novell, Inc.
16
17 To contact Novell about this file by physical or electronic mail,
18 you may find current contact information at www.novell.com 
19
20 **************************************************************************/
21
22 #include <kdebug.h>
23 #include <KLocale>
24
25 #include "QPackageKitInterface.h"
26 #include "QPackageKitTransactionInterface.h"
27 #include "qpackagekitconnector.h"
28 #include "pkconstants.h"
29 #include "pkconstants.h"
30
31 QPackageKitConnector::QPackageKitConnector( QObject *parent ) 
32         : QObject( parent )
33         , _lastAction("none")
34         , _lastActionArg(false)
35         , _lastActionArg2(false)
36 {
37 }
38
39
40 void QPackageKitConnector::disconnectFromInterface(QPackageKitTransactionInterface* transactioninterface)
41 {
42         disconnect(transactioninterface, 
43                 SIGNAL( Package(const QString, const QString, const QString) ), 
44                 this,
45                 SLOT( proxy_Package(const QString, const QString, const QString) )
46         );
47
48         disconnect(transactioninterface,
49                 SIGNAL( Finished(const QString, uint) ),
50                 this,
51                 SLOT( proxy_Finished(const QString, uint) )
52         );
53
54 //      disconnect(transactioninterface,
55 //              SIGNAL( ProgressChanged(uint, uint, uint, uint) ),
56 //              this,
57 //              SLOT( proxy_ProgressChanged(uint,uint, uint, uint) )
58 //      );
59
60 //      disconnect(transactioninterface,
61 //              SIGNAL( StatusChanged(const QString &) ),
62 //              this,
63 //              SLOT( proxy_StatusChanged(const QString &) )
64 //      );
65
66         disconnect(transactioninterface,
67                    SIGNAL( Transaction(const QString &, const QString &, bool, const QString &, uint, const QString &, uint, const QString &) ),
68              this,
69                    SLOT(proxy_Transaction(const QString &, const QString &, bool, const QString &, uint, const QString &, uint, const QString &) )
70         );
71
72         disconnect(transactioninterface, 
73                 SIGNAL( Details(const QString&, const QString&, const QString&,
74                                  const QString&, const QString&, qulonglong)),
75                 this,
76                 SLOT( proxy_Details(const QString&, const QString&, const QString&,
77                                 const QString&, const QString&, qulonglong))
78         );
79
80         disconnect (transactioninterface,
81                 SIGNAL( UpdateDetail(const QString&, const QString&, const QString&, const QString&, 
82                         const QString&, const QString&, const QString&, const QString&,
83                         const QString&, const QString&, const QString&, const QString&)),
84
85                 this,
86                 SLOT( proxy_UpdateDetail(const QString&, const QString&, const QString&, const QString&, 
87                         const QString&, const QString&, const QString&, const QString&,
88                         const QString&, const QString&, const QString&, const QString&))
89         );
90
91
92         disconnect(transactioninterface, 
93                 SIGNAL( ErrorCode(const QString&, const QString& )),
94                 this,
95                 SLOT( slotError( const QString&, const QString&))
96         );
97
98         
99         disconnect(transactioninterface,
100                 SIGNAL ( RepoSignatureRequired(const QString&,  const QString&,
101                         const QString&, const QString&, const QString&,
102                         const QString&, const QString&, const QString&)),
103                 this,
104                 SLOT (proxy_RepoSignatureRequired(const QString&, const QString&,
105                         const QString&, const QString&, const QString &,
106                         const QString&, const QString&, const QString &))
107         );
108
109
110         disconnect(transactioninterface,
111                 SIGNAL( EulaRequired(const QString&, const QString&, const QString&,
112                                 const QString&)),
113                 this,
114                 SLOT( proxy_EulaRequired(const QString&, const QString&, const QString&,
115                                 const QString&))
116         );
117
118         disconnect(transactioninterface,
119                 SIGNAL (RepoDetail(const QString&, const QString&, bool)),
120                 this,
121                 SLOT(proxy_RepoDetail(const QString&, const QString &, bool))
122         );
123
124         disconnect(transactioninterface,
125                 SIGNAL (RequireRestart(const QString&, const QString&)),
126                 this,
127                 SLOT(proxy_RequireRestart(const QString&, const QString &))
128         );
129
130
131         disconnect(transactioninterface,
132                 SIGNAL (Message(const QString&, const QString&)),
133                 this,
134                 SLOT(proxy_Message(const QString&, const QString &))
135         );
136
137         disconnect(transactioninterface,
138                    SIGNAL (DistroUpgrade(const QString&, const QString&, const QString &)),
139                    this,
140                    SLOT(proxy_DistroUpgrade(const QString&, const QString &, const QString &))
141             );
142
143         transactioninterface->deleteLater();
144
145 }
146
147 void QPackageKitConnector::slotError(const QString& code, const QString& message)
148 {
149         // ignore errors which can be handled by showing a 
150         // popup and restart transaction afterwards
151         
152         if (code == "no-license-agreement" ||
153             code == "bad-gpg-signature" ||
154             code == "gpg-failure" ||
155             code == "missing-gpg-signature" ) 
156         { 
157                 emit ErrorMessage(QString());
158         }
159         else
160         {
161                 emit ErrorMessage("PackageKit Error " + code + ": " + message);  
162         }
163 }
164
165 QPackageKitTransactionInterface* QPackageKitConnector::connectToInterface()
166 {
167
168         QString tid = getTid();
169         if (tid == QString())   // tid is not valid
170         {
171                 emit ErrorMessage( 
172                         "DBus error : Unable to get transaction id from packagekit."
173                                  );
174                 return NULL;
175         }
176
177         QPackageKitTransactionInterface *transactioninterface = new QPackageKitTransactionInterface(QString::fromAscii(PK_DBUS_SERVICE),
178                                                                                               tid,
179                                                                                               QDBusConnection::systemBus() );
180
181         connect(transactioninterface, 
182                 SIGNAL( Package(const QString, const QString, const QString) ), 
183                 this,
184                 SLOT( proxy_Package(const QString, const QString, const QString) )
185         );
186
187         connect(transactioninterface,
188                 SIGNAL( Finished(const QString, uint ) ),
189                 this,
190                 SLOT( proxy_Finished(const QString, uint ) )
191         );
192
193         connect(transactioninterface,
194                 SIGNAL( Transaction(const QString &, const QString &, bool, const QString &, uint, const QString &, uint, const QString &) ),
195                 SLOT(proxy_Transaction(const QString &, const QString &, bool, const QString &, uint, const QString &, uint, const QString &) )
196         );
197   
198 //      connect(transactioninterface,
199 //              SIGNAL( ProgressChanged(uint, uint, uint, uint) ),
200 //              this,
201 //              SLOT( proxy_ProgressChanged(uint,uint, uint, uint) )
202 //      );
203
204 //      connect(transactioninterface,
205 //              SIGNAL( StatusChanged(const QString &) ),
206 //              this,
207 //              SLOT( proxy_StatusChanged(const QString &) )
208 //      );
209
210
211
212
213         connect(transactioninterface, 
214                 SIGNAL( Details(const QString&, const QString&, const QString&,
215                                  const QString&, const QString&, qulonglong)),
216                 this,
217                 SLOT( proxy_Details(const QString&, const QString&, const QString&,
218                                 const QString&, const QString&, qulonglong))
219         );
220
221         connect (transactioninterface,
222                 SIGNAL( UpdateDetail(const QString&, const QString&, const QString&, const QString&, 
223                         const QString&, const QString&, const QString&, const QString&,
224                         const QString&, const QString&, const QString&, const QString&)),
225
226                 this,
227                 SLOT( proxy_UpdateDetail(const QString&, const QString&, const QString&, const QString&, 
228                         const QString&, const QString&, const QString&, const QString&,
229                         const QString&, const QString&, const QString&, const QString&))
230         );
231
232         connect(transactioninterface, 
233                 SIGNAL( ErrorCode(const QString&, const QString& )),
234                 this,
235                 SLOT( slotError( const QString&, const QString&))
236         );
237
238         connect(transactioninterface,
239                 SIGNAL ( RepoSignatureRequired(const QString&,  const QString&,
240                         const QString&, const QString&, const QString&,
241                         const QString&, const QString&, const QString&)),
242                 this,
243                 SLOT (proxy_RepoSignatureRequired(const QString&, const QString&,
244                         const QString&, const QString&, const QString &,
245                         const QString&, const QString&, const QString &))
246         );
247
248
249         connect(transactioninterface,
250                 SIGNAL( EulaRequired(const QString&, const QString&, const QString&,
251                                 const QString&)),
252                 this,
253                 SLOT( proxy_EulaRequired(const QString&, const QString&, const QString&,
254                                 const QString&))
255         );
256
257         connect(transactioninterface,
258                 SIGNAL (RepoDetail(const QString&, const QString&, bool)),
259                 this,
260                 SLOT(proxy_RepoDetail(const QString&, const QString &, bool))
261         );
262
263         connect(transactioninterface,
264                 SIGNAL (RequireRestart(const QString&, const QString&)),
265                 this,
266                 SLOT(proxy_RequireRestart(const QString&, const QString &))
267         );
268
269         connect(transactioninterface,
270                 SIGNAL (Message(const QString&, const QString&)),
271                 this,
272                 SLOT(proxy_Message(const QString&, const QString &))
273         );
274
275         connect(transactioninterface,
276                 SIGNAL (DistroUpgrade(const QString&, const QString&, const QString &)),
277                 this,
278                 SLOT(proxy_DistroUpgrade(const QString&, const QString &, const QString &))
279         );
280
281         return transactioninterface;
282
283 }
284
285
286
287 void QPackageKitConnector::sendErrorMessage(QDBusAbstractInterface* interface)
288 {
289     emit ErrorMessage( "DBus error : " 
290                 + interface->lastError().name() +  " : " 
291                 + interface->lastError().message() );
292
293
294 }
295
296
297 bool QPackageKitConnector::getDetails(QStringList packageId)
298 {
299         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
300
301         if (!transactioninterface)
302                 return false;
303
304         QDBusReply<void> reply = transactioninterface->GetDetails(packageId);
305         if(reply.isValid())
306         {
307                 return true;
308         }
309         else
310         {
311                 sendErrorMessage(transactioninterface);
312                 return false;
313         }
314 }
315
316
317
318 bool QPackageKitConnector::getUpdateDetail(QStringList packageId)
319 {
320         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
321
322         if (!transactioninterface)
323                 return false;
324
325         QDBusReply<void> reply = transactioninterface->GetUpdateDetail(packageId);
326         if(reply.isValid())
327         {
328                 return true;
329         }
330         else
331         {
332                 sendErrorMessage(transactioninterface);
333                 return false;
334         }
335 }
336
337
338 bool QPackageKitConnector::acceptEula(QString eulaId)
339 {
340         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
341
342         if (!transactioninterface)
343                 return false;
344
345         QDBusReply<void> reply = transactioninterface->AcceptEula(eulaId);
346         if(reply.isValid())
347         {
348                 kDebug() << "accept eula valid";
349                 return true;
350         }
351         else
352         {
353                 kDebug() << "accept eula invalid";
354                 sendErrorMessage(transactioninterface);
355                 return false;
356         }
357         return false;
358 }
359
360 bool QPackageKitConnector::getUpdates()
361 {
362         _lastAction    = QString("getUpdates");
363         _lastActionArg = false;
364
365         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
366
367         kDebug() << "try to get updates1";
368         if (!transactioninterface)
369                 return false;
370         kDebug() << "try to get updates2";
371         QDBusReply<void> reply = transactioninterface->GetUpdates("none");
372         if(reply.isValid())
373         {
374                 kDebug() << "updates replay valid";
375                 return true;
376         }
377         else
378         {
379                 kDebug() << "updates replay not valid";
380                 sendErrorMessage(transactioninterface);
381                 return false;
382         }
383 }
384
385 bool QPackageKitConnector::getDistroUpgrades()
386 {
387         _lastAction    = QString("getDistroUpgrades");
388         _lastActionArg = false;
389
390         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
391
392         if (!transactioninterface)
393                 return false;
394         QDBusReply<void> reply = transactioninterface->GetDistroUpgrades();
395         if(reply.isValid())
396         {
397                 kDebug() << "get distro upgrades replay valid";
398                 return true;
399         }
400         else
401         {
402                 kDebug() << "get distro upgrades updates replay not valid";
403                 sendErrorMessage(transactioninterface);
404                 return false;
405         }
406 }
407
408 bool QPackageKitConnector::getDrivers()
409 {
410         _lastAction    = QString("getDrivers");
411         _lastActionArg = false;
412
413         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
414
415         if (!transactioninterface)
416                 return false;
417
418         QDBusReply<void> reply = transactioninterface->WhatProvides("none", "driver", QStringList("drivers_for_attached_hardware"));
419
420         if(reply.isValid())
421         {
422                 kDebug() << "drivers replay valid";
423                 return true;
424         }
425         else
426         {
427                 kDebug() << "drivers replay not valid";
428                 sendErrorMessage(transactioninterface);
429                 return false;
430         }
431 }
432
433
434 bool QPackageKitConnector::getRepoList()
435 {
436         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
437
438         if (!transactioninterface)
439                 return false;
440         QDBusReply<void> reply = transactioninterface->GetRepoList("none");
441         if(reply.isValid())
442         {
443                 kDebug() << "get repolist valid";
444                 return true;
445         }
446         else
447         {
448                 kDebug() << "get repolist not valid";
449                 sendErrorMessage(transactioninterface);
450                 return false;
451         }
452 }
453
454
455 bool QPackageKitConnector::refreshCache(bool force)
456 {
457         _lastAction    = QString("refreshCache");
458         _lastActionArg = force;
459
460         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
461
462         kDebug() << "try to refresh1";
463         if (!transactioninterface)
464                 return false;
465         kDebug() << "try to refresh2";
466         QDBusReply<void> reply = transactioninterface->RefreshCache(force);
467         if(reply.isValid())
468         {
469                 kDebug() << "refresh replay valid";
470                 return true;
471         }
472         else
473         {
474                 kDebug() << "refresh replay not valid";
475                 sendErrorMessage(transactioninterface);
476                 return false;
477         }
478         return false;
479 }
480
481
482 bool QPackageKitConnector::suggestDaemonQuit()
483 {
484         QPackageKitInterface *interface = new QPackageKitInterface( QString::fromAscii(PK_DBUS_SERVICE),
485                                                                 QString::fromAscii(PK_DBUS_PATH),
486                                                                 QDBusConnection::systemBus() );
487
488         QDBusReply<void> reply = interface->SuggestDaemonQuit();
489         // we can't expect a valig reply, as packagekitd
490         // isn't able to answer when it doesn't run anymore :-)
491
492         return true;
493         delete interface;
494 }
495
496
497
498
499
500
501 QString QPackageKitConnector::getTid()
502 {
503         QPackageKitInterface *interface = new QPackageKitInterface( QString::fromAscii(PK_DBUS_SERVICE),
504                                                                 QString::fromAscii(PK_DBUS_PATH),
505                                                                 QDBusConnection::systemBus() );
506
507         kDebug() << "try get a tid.";
508         QDBusReply<QString> tid = interface->GetTid();
509         if(tid.isValid())
510         {
511                 kDebug() << "tid: " << tid;
512                 return tid;
513         }
514         else
515         {
516                 sendErrorMessage(interface);
517                 return QString();
518         }
519         
520         delete interface;
521
522 }
523
524 bool QPackageKitConnector::triggerLastActionAgain()
525 {
526         kDebug() << "Starting last action again..."; 
527
528         if (_lastAction == QString("getUpdates"))
529                 return getUpdates();
530         else if (_lastAction == QString("getDrivers"))
531                 return getDrivers();
532         else if (_lastAction    == QString("refreshCache"))
533                 return refreshCache(_lastActionArg.toBool());
534         else if (_lastAction    == QString("installPackages"))
535                 return installPackages(_lastActionArg.toBool(), _lastActionArg2.toStringList());
536         else if (_lastAction    == QString("updatePackages"))
537             return updatePackages(_lastActionArg.toBool(), _lastActionArg2.toStringList());
538         else if (_lastAction    == QString("searchFile"))
539                 return searchFile(_lastActionArg.toString());
540         else 
541                 return false;
542 }
543
544 bool QPackageKitConnector::installSignature(QString type, QString key_id, QString package_id)
545 {
546         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
547
548         if (!transactioninterface)
549                 return false;
550
551         QDBusReply<void> reply = transactioninterface->InstallSignature(type, key_id, package_id);
552         if(reply.isValid())
553         {
554
555                 kDebug() << "install sig valid";
556                 return true;
557         }
558         else
559         {
560                 kDebug() << "install sig not valid";
561                 sendErrorMessage(transactioninterface);
562                 return false;
563         }
564         sendErrorMessage(transactioninterface);
565         return false;
566 }
567
568 bool QPackageKitConnector::installPackages(bool only_trusted, QStringList packageIds)
569 {
570     _lastAction    = QString("installPackages");
571     _lastActionArg = only_trusted;
572     _lastActionArg2 = packageIds;
573
574     QPackageKitTransactionInterface* transactioninterface = connectToInterface();
575
576     if (!transactioninterface)
577         return false;
578
579     QDBusReply<void> reply = transactioninterface->InstallPackages(only_trusted, packageIds);
580     if(reply.isValid())
581     {
582         kDebug() << "install valid";
583         return true;
584     }
585     else
586     {
587         kDebug() << "install not valid";
588         sendErrorMessage(transactioninterface);
589         return false;
590     }
591     return false;
592 }
593
594 bool QPackageKitConnector::updatePackages(bool only_trusted, QStringList packageIds)
595 {
596         _lastAction    = QString("updatePackages");
597         _lastActionArg = only_trusted;
598         _lastActionArg2 = packageIds;
599
600
601         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
602
603         if (!transactioninterface)
604                 return false;
605
606         QDBusReply<void> reply = transactioninterface->UpdatePackages(only_trusted, packageIds);
607         if(reply.isValid())
608         {
609
610                 kDebug() << "updatepackages valid";
611                 return true;
612         }
613         else
614         {
615                 kDebug() << "updatepackages not valid";
616                 sendErrorMessage(transactioninterface);
617                 return false;
618         }
619         return false;
620 }
621
622
623 bool QPackageKitConnector::searchFile(const QString& search)
624 {
625         _lastAction    = QString("searchFile");
626         _lastActionArg = search;
627
628
629         QPackageKitTransactionInterface* transactioninterface = connectToInterface();
630
631         if (!transactioninterface)
632                 return false;
633
634         QDBusReply<void> reply = transactioninterface->SearchFiles("none", QStringList(search));
635         if(reply.isValid())
636         {
637
638                 kDebug() << "searchFile valid";
639                 return true;
640         }
641         else
642         {
643                 kDebug() << "searchFile not valid";
644                 sendErrorMessage(transactioninterface);
645                 return false;
646         }
647 }
648
649
650
651 void QPackageKitConnector::proxy_Package( const QString &info, const QString &package_id, const QString &summary)
652 {
653         emit Package(info, package_id, summary);
654 }
655
656 void QPackageKitConnector::proxy_DistroUpgrade( const QString &type, const QString &name, const QString &detail)
657 {
658         emit DistroUpgrade(type, name, detail);
659 }
660
661 void QPackageKitConnector::proxy_Finished(const QString &status, uint runtime)
662 {
663         kDebug() << "Finished [status: " << status << "] [runtime: " << runtime << "]";
664
665         QPackageKitTransactionInterface *transactioninterface = qobject_cast<QPackageKitTransactionInterface *>(QObject::sender());
666
667         if ( transactioninterface )
668         {
669                 QString reply = transactioninterface->role();
670
671                 if (    reply == "get-updates" ||  
672                         reply == "what-provides" ||
673                         reply == "search-file" )
674                         emit GetUpdatesFinished();
675
676                 if ( reply == "get-repo-list" )
677                         emit RepoListFinished();
678
679                 if (    reply == "update-system" ||
680                         reply == "install-package" ||
681                         reply == "install-packages" ||
682                         reply == "install-file" ||
683                         reply == "install-files" ||
684                         reply == "update-package" ||
685                         reply == "update-packages" )
686                         emit InstallFinished();
687
688                 kDebug() <<  reply ;
689                
690
691                 disconnectFromInterface(transactioninterface);
692                 emit Finished(Exit::fromString(status), runtime);
693         }
694         else
695         {
696                 kDebug() << "Can't figure out which transaction is finishing";
697         }
698
699  /* 
700         if ( transactioninterface )
701         {
702                 QString param;
703                 QDBusReply<QString> reply = transactioninterface->role(param);
704                 if(!reply.isValid())
705                 {
706                         kDebug() << "role replay not valid";
707 //                      sendErrorMessage(transactioninterface);
708 //                      return;
709                 }
710                 else
711                 {
712                         kDebug() << "role replay valid: " << param << " " << reply.value();
713
714                         if (    reply.value() == "get-updates" ||  
715                                 reply.value() == "what-provides" ||
716                                 reply.value() == "search-file" )
717                                 emit GetUpdatesFinished();
718
719                         if ( reply.value() == "get-repo-list" )
720                                 emit RepoListFinished();
721
722                         if (    reply.value() == "update-system" ||
723                                 reply.value() == "install-package" ||
724                                 reply.value() == "install-packages" ||
725                                 reply.value() == "install-file" ||
726                                 reply.value() == "install-files" ||
727                                 reply.value() == "update-package" ||
728                                 reply.value() == "update-packages" )
729                                 emit InstallFinished();
730
731                         kDebug() <<  reply.value() ;
732                 
733
734                         disconnectFromInterface(transactioninterface);
735                         emit Finished(Exit::fromString(status), runtime);
736                 }
737         } 
738         else
739         {
740                 kDebug() << "Can't figure out which transaction is finishing";
741         }
742
743 */
744
745 }
746
747 void QPackageKitConnector::proxy_Transaction(const QString &old_tid, const QString &timespec, bool succeeded, const QString &role, uint duration, const QString &data, uint uid, const QString &cmdline)
748 {
749         Q_UNUSED(timespec);
750         Q_UNUSED(succeeded);
751         Q_UNUSED(duration);
752         Q_UNUSED(data);
753
754         kDebug() << "Transaction: " << old_tid << " " << role << "uid: " << uid << "cmdline: " << cmdline;
755 }
756
757
758 void QPackageKitConnector::proxy_ProgressChanged(uint percentage, uint subpercentage, uint elapsed, uint remaining)
759 {
760         if(percentage == 101)
761         {
762                 emit NoProgressUpdates();
763         }
764         else
765         {
766                 emit ProgressChanged(percentage, subpercentage, elapsed, remaining);
767         }
768 }
769
770 void QPackageKitConnector::proxy_StatusChanged(const QString &status)
771 {
772     kDebug() << "status changed to: " << status;
773     emit StatusChanged(status);
774 }
775
776
777 void QPackageKitConnector::proxy_RepoSignatureRequired(const QString &package_id, const QString &repository_name,
778          const QString  &key_url, const QString &key_userid, const QString &key_id,
779          const QString &key_fingerprint, const QString &key_timestamp, const QString &type)
780 {
781         kDebug() << "proxy_RepoSignatureRequired";
782
783         emit RepoSignatureRequired(package_id,  repository_name, key_url, key_userid, 
784                 key_id, key_fingerprint, key_timestamp, type); 
785 }
786
787
788 void QPackageKitConnector::proxy_Details(const QString &package_id, const QString &licence, const QString &group, const QString &detail,
789         const QString &url, qulonglong size) 
790 {
791         emit Details(package_id, licence, group, detail, url, size); 
792 }
793
794 void QPackageKitConnector::proxy_EulaRequired(const QString &eula_id, const QString &package_id, const QString &vendor_name, const QString &license_agreement)
795 {
796         emit EulaRequired(eula_id, package_id, vendor_name, license_agreement);
797 }       
798
799
800 void QPackageKitConnector::proxy_RepoDetail(const QString &repo_id, const QString &desc, bool enabled)
801 {
802         emit RepoDetail(repo_id, desc, enabled);
803 }
804
805 void QPackageKitConnector::proxy_UpdateDetail(const QString &package_id, const QString &updates, const QString &obsoletes, const QString &vendor_url,
806         const QString &bugzilla_url, const QString &cve_url, const QString &restart, const QString &update_text,
807         const QString &changelog, const QString &state, const QString &issued, const QString &updated)
808 {
809         emit UpdateDetail(package_id, updates, obsoletes, vendor_url, bugzilla_url, cve_url, restart, update_text,
810                 changelog, state, issued, updated);
811 }
812
813 void QPackageKitConnector::proxy_RequireRestart(const QString &type, const QString &details)
814 {
815         emit RequireRestart(type, details);
816 }
817
818 void QPackageKitConnector::proxy_Message(const QString &type, const QString &details)
819 {
820         emit Message(type, details);
821 }
822