libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ProductFileReader.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_PARSER_PRODUCTSDREADER_H
13
#define ZYPP_PARSER_PRODUCTSDREADER_H
14
15
#include <iosfwd>
16
17
#include "
zypp/base/PtrTypes.h
"
18
#include "
zypp/base/Function.h
"
19
#include "
zypp/base/InputStream.h
"
20
21
#include "
zypp/Pathname.h
"
22
#include "
zypp/IdString.h
"
23
#include "
zypp/Edition.h
"
24
#include "
zypp/Arch.h
"
25
27
namespace
zypp
28
{
29
30
namespace
parser
31
{
32
34
//
35
// CLASS NAME : ProductFileData
36
//
40
class
ProductFileData
41
{
42
public
:
43
class
Impl
;
45
ProductFileData
(
Impl
* allocated_r = 0 );
46
48
bool
empty
()
const
49
{
return
name
().
empty
(); }
50
51
public
:
52
IdString
vendor
()
const
;
53
IdString
name
()
const
;
54
Edition
edition
()
const
;
55
Arch
arch
()
const
;
56
57
std::string
shortName
()
const
;
58
std::string
summary
()
const
;
59
60
public
:
61
std::string
productline
()
const
;
62
std::string
registerTarget
()
const
;
63
std::string
registerRelease
()
const
;
64
65
public
:
66
std::string
updaterepokey
()
const
;
67
68
public
:
70
71
struct
Upgrade
72
{
73
public
:
74
class
Impl
;
76
Upgrade
(
Impl
* allocated_r = 0 );
77
78
public
:
79
std::string
name
()
const
;
80
std::string
summary
()
const
;
81
std::string
repository
()
const
;
82
std::string
product
()
const
;
83
bool
notify
()
const
;
84
std::string
status
()
const
;
85
86
private
:
87
RWCOW_pointer<Impl>
_pimpl
;
88
};
90
91
typedef
std::vector<Upgrade>
Upgrades
;
92
const
Upgrades
&
upgrades
()
const
;
93
94
private
:
95
RWCOW_pointer<Impl>
_pimpl
;
96
};
98
100
std::ostream &
operator<<
( std::ostream & str,
const
ProductFileData
& obj );
101
103
std::ostream &
operator<<
( std::ostream & str,
const
ProductFileData::Upgrade
& obj );
104
106
//
107
// CLASS NAME : ProductFileReader
108
//
119
class
ProductFileReader
120
{
121
public
:
125
typedef
function<bool( const ProductFileData & )>
Consumer
;
126
127
public
:
128
ProductFileReader
()
129
{}
130
131
ProductFileReader
(
const
Consumer
& consumer_r )
132
:
_consumer
( consumer_r )
133
{}
134
135
ProductFileReader
(
const
Consumer
& consumer_r,
const
InputStream
& input_r )
136
:
_consumer
( consumer_r )
137
{
parse
( input_r ); }
138
139
public
:
140
const
Consumer
&
consumer
()
const
141
{
return
_consumer
; }
142
143
void
setConsumer
(
const
Consumer
& consumer_r )
144
{
_consumer
= consumer_r; }
145
146
public
:
152
bool
parse
(
const
InputStream
& input_r =
InputStream
() )
const
;
153
154
public
:
160
static
bool
scanDir
(
const
Consumer
& consumer_r,
const
Pathname & dir_r );
161
164
static
ProductFileData
scanFile
(
const
Pathname & file_r );
165
166
private
:
167
Consumer
_consumer
;
168
};
170
172
}
// namespace parser
175
}
// namespace zypp
177
#endif // ZYPP_PARSER_PRODUCTSDREADER_H
zypp
parser
ProductFileReader.h
Generated by
1.8.1