]> cygwin.com Git - cygwin-apps/setup.git/blame - IniDBBuilderPackage.h
Simplify uninstall-only warning
[cygwin-apps/setup.git] / IniDBBuilderPackage.h
CommitLineData
076654e7
RC
1/*
2 * Copyright (c) 2002, Robert Collins.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * A copy of the GNU General Public License can be found at
10 * http://www.gnu.org/
11 *
12 * Written by Robert Collins <rbtcollins@hotmail.com>
13 *
14 */
15
c93bc6d0
MB
16#ifndef SETUP_INIDBBUILDERPACKAGE_H
17#define SETUP_INIDBBUILDERPACKAGE_H
076654e7 18
605034ca 19#include "IniDBBuilder.h"
aa1e3b4d 20#include <vector>
1c159e0a
JT
21#include <set>
22
23#include "package_message.h"
1c159e0a
JT
24#include "String++.h"
25#include "libsolv.h"
419e12a1 26
67829ce0 27class IniParseFeedback;
076654e7 28class packagesource;
076654e7 29
605034ca 30class IniDBBuilderPackage:public IniDBBuilder
076654e7
RC
31{
32public:
67829ce0 33 IniDBBuilderPackage (IniParseFeedback const &);
3a87705e 34 ~IniDBBuilderPackage ();
076654e7 35
618bd457
JT
36 void buildTimestamp (const std::string& );
37 void buildVersion (const std::string& );
ec599284 38 const std::string buildMinimumVersion(const std::string &);
618bd457
JT
39 void buildPackage (const std::string& );
40 void buildPackageVersion (const std::string& );
41 void buildPackageSDesc (const std::string& );
42 void buildPackageLDesc (const std::string& );
419e12a1
JT
43 void buildPackageInstall (const std::string&, const std::string&,
44 char *, hashType);
45 void buildPackageSource (const std::string&, const std::string&,
46 char *, hashType);
47
1c159e0a 48 void buildPackageTrust (trusts);
618bd457
JT
49 void buildPackageCategory (const std::string& );
50
51 void buildBeginDepends ();
618bd457 52 void buildBeginBuildDepends ();
20b98f20 53 void buildBeginObsoletes ();
9c3e3256 54 void buildBeginProvides ();
e6433da6 55 void buildBeginConflicts ();
618bd457
JT
56 void buildMessage (const std::string&, const std::string&);
57 void buildSourceName (const std::string& );
58 void buildSourceNameVersion (const std::string& );
60b4f6ca 59 void buildPackageListNode (const std::string& );
618bd457
JT
60 void buildPackageListOperator (PackageSpecification::_operators const &);
61 void buildPackageListOperatorVersion (const std::string& );
d2e0c29e 62 void buildPackageReplaceVersionsList (const std::string& );
618bd457
JT
63
64 void set_arch (const std::string& a) { arch = a; }
65 void set_release (const std::string& rel) { release = rel; }
66
1c159e0a 67 // setup.ini header data
618bd457
JT
68 unsigned int timestamp;
69 std::string arch;
70 std::string release;
71 std::string version;
72 std::string parse_mirror;
aa1e3b4d 73
076654e7 74private:
1c159e0a 75 void process ();
618bd457 76
1c159e0a
JT
77 // package data
78 std::string name;
79 std::set <std::string, casecompare_lt_op> categories;
80 std::string message_id;
81 std::string message_string;
aa1e3b4d 82 PackageSpecification *currentSpec;
20b98f20
JT
83 PackageDepends *currentNodeList;
84 PackageDepends dependsNodeList;
85 PackageDepends obsoletesNodeList;
9c3e3256 86 PackageDepends providesNodeList;
e6433da6 87 PackageDepends conflictsNodeList;
1c159e0a 88 SolverPool::addPackageData cbpv;
d2e0c29e 89 std::set <std::string> replace_versions;
1c159e0a 90
67829ce0 91 IniParseFeedback const &_feedback;
51351b41 92 bool minimum_version_checked;
076654e7
RC
93};
94
c93bc6d0 95#endif /* SETUP_INIDBBUILDERPACKAGE_H */
This page took 0.094952 seconds and 5 git commands to generate.