~ubuntu-core-dev/synaptic/ubuntu

« back to all changes in this revision

Viewing changes to common/rswig.h

  • Committer: mvo
  • Date: 2005-02-21 04:23:27 UTC
  • Revision ID: gustavo@niemeyer.net-20050221042327-a9b5ee8ac7b0cb68
* gtk/rgpkgdetails.cc, rgmainwindow.cc, rgpkgdetails.h:
  - DepInformation is no longer nested into RPackage because SWIG does
    not support nesting
* common/rswig.{cc,h}: 
  - interface classes for swig so that extending for the progress 
    is possible in python
* common/rpackagecache.{cc,h}, rpackagelister.{cc,h}: 
  - support non-locking
* common/rpackage.{cc,h}: DepInformation is no longer nested

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// helper code for the swig generated bindings
 
2
 
 
3
#include<apt-pkg/configuration.h>
 
4
#include<apt-pkg/init.h>
 
5
#include<apt-pkg/progress.h>
 
6
#include "rinstallprogress.h"
 
7
 
 
8
bool RInitSystem();
 
9
 
 
10
class SwigOpProgress : public OpProgress {
 
11
 protected:
 
12
   virtual void Update() { UpdateStatus(Percent); };
 
13
 public:
 
14
   virtual void UpdateStatus(float p) {};
 
15
   virtual void Done() {};
 
16
};
 
17
 
 
18
 
 
19
class SwigInstallProgress : public RInstallProgress {
 
20
 public:
 
21
   virtual void startUpdate() {
 
22
   };
 
23
   virtual void updateInterface() {
 
24
   };
 
25
   virtual void finishUpdate() {
 
26
   };
 
27
   // get a str feed to the user with the result of the install run
 
28
   virtual const char* getResultStr(pkgPackageManager::OrderResult r) {
 
29
      RInstallProgress::getResultStr(r);
 
30
   };
 
31
   virtual pkgPackageManager::OrderResult start(RPackageManager *pm,
 
32
                                                int numPackages = 0,
 
33
                                                int numPackagesTotal = 0) 
 
34
   {
 
35
      return RInstallProgress::start(pm,numPackages,numPackagesTotal);
 
36
   };
 
37
};
 
38
 
 
39
class pkgAcquire;
 
40
class pkgAcquireStatus;
 
41
class Item;
 
42
struct ItemDesc
 
43
{
 
44
   string URI;
 
45
   string Description;
 
46
   string ShortDesc;
 
47
   Item *Owner;
 
48
};
 
49
 
 
50
class SwigAcquireStatus : public pkgAcquireStatus 
 
51
{
 
52
 protected:
 
53
   virtual bool Pulse(pkgAcquire *Owner) {
 
54
      pkgAcquireStatus::Pulse(Owner);
 
55
      UpdatePulse(FetchedBytes, CurrentCPS, CurrentItems);
 
56
   };
 
57
 public:
 
58
   // Called by items when they have finished a real download
 
59
   virtual void Fetched(unsigned long Size,unsigned long ResumePoint) {
 
60
      pkgAcquireStatus::Fetched(Size, ResumePoint);
 
61
   };
 
62
   
 
63
   // Called to change media
 
64
   virtual bool MediaChange(string Media,string Drive) = 0;
 
65
   
 
66
   // Each of these is called by the workers when an event occures
 
67
   virtual void IMSHit(ItemDesc &/*Itm*/) {};
 
68
   virtual void Fetch(ItemDesc &/*Itm*/) {};
 
69
   virtual void Done(ItemDesc &/*Itm*/) {};
 
70
   virtual void Fail(ItemDesc &/*Itm*/) {};
 
71
   virtual void UpdatePulse(double FetchedBytes, double CurrentCPS, unsigned long CurrentItems) {};
 
72
   virtual void Start() {
 
73
      pkgAcquireStatus::Start();
 
74
   };
 
75
   virtual void Stop() {
 
76
      pkgAcquireStatus::Stop();
 
77
   };
 
78
 
 
79
};