summaryrefslogtreecommitdiff
path: root/apt-pkg/acquire-item.cc
blob: e92b611819540e57bc604bd4b4d2fe3710f96375 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// -*- mode: cpp; mode: fold -*-
// Description								/*{{{*/
// $Id: acquire-item.cc,v 1.2 1998/10/20 02:39:12 jgg Exp $
/* ######################################################################

   Acquire Item - Item to acquire

   Each item can download to exactly one file at a time. This means you
   cannot create an item that fetches two uri's to two files at the same 
   time. The pkgAcqIndex class creates a second class upon instantiation
   to fetch the other index files because of this.
   
   ##################################################################### */
									/*}}}*/
// Include Files							/*{{{*/
#ifdef __GNUG__
#pragma implementation "apt-pkg/acquire-item.h"
#endif
#include <apt-pkg/acquire-item.h>
#include <apt-pkg/configuration.h>
#include <strutl.h>
									/*}}}*/

// Acquire::Item::Item - Constructor					/*{{{*/
// ---------------------------------------------------------------------
/* */
pkgAcquire::Item::Item(pkgAcquire *Owner) : Owner(Owner), QueueCounter(0)
{
   Owner->Add(this);
}
									/*}}}*/
// Acquire::Item::~Item - Destructor					/*{{{*/
// ---------------------------------------------------------------------
/* */
pkgAcquire::Item::~Item()
{
   Owner->Remove(this);
}
									/*}}}*/

// AcqIndex::AcqIndex - Constructor					/*{{{*/
// ---------------------------------------------------------------------
/* The package file is added to the queue and a second class is 
   instantiated to fetch the revision file */
pkgAcqIndex::pkgAcqIndex(pkgAcquire *Owner,const pkgSourceList::Item *Location) :
             Item(Owner), Location(Location)
{
   QueueURI(Location->PackagesURI() + ".gz");
   Description = Location->PackagesInfo();
   
   new pkgAcqIndexRel(Owner,Location);
}
									/*}}}*/
// pkgAcqIndex::ToFile - File to write the download to			/*{{{*/
// ---------------------------------------------------------------------
/* */
string pkgAcqIndex::ToFile()
{
   string PartialDir = _config->FindFile("Dir::State::lists") + "/partial/";
   
   return PartialDir + URItoFileName(Location->PackagesURI());
}
									/*}}}*/

// AcqIndexRel::pkgAcqIndexRel - Constructor				/*{{{*/
// ---------------------------------------------------------------------
/* The Release file is added to the queue */
pkgAcqIndexRel::pkgAcqIndexRel(pkgAcquire *Owner,
			       const pkgSourceList::Item *Location) :
                Item(Owner), Location(Location)
{
   QueueURI(Location->ReleaseURI());
   Description = Location->ReleaseInfo();
}
									/*}}}*/
// AcqIndexRel::ToFile - File to write the download to			/*{{{*/
// ---------------------------------------------------------------------
/* */
string pkgAcqIndexRel::ToFile()
{
   string PartialDir = _config->FindFile("Dir::State::lists") + "/partial/";
   
   return PartialDir + URItoFileName(Location->ReleaseURI());
}
									/*}}}*/