libzypp
12.16.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libzypp
Welcome to libzypp
Code Pitfalls - Frequently made mistakes
Code Snippets
Environment Variables
Testing for provided features.
Notes on revisions
Extending ZYpp: Plugins and Hooks
Services
Solver - Vendor protection
Writing and tunning testcases
Libzypp and threads
User data as transaction id
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
plaindir
susetags
ws
xml
yum
HistoryLogReader.cc
HistoryLogReader.h
IniDict.cc
IniDict.h
IniParser.cc
IniParser.h
ParseException.cc
ParseException.h
ParserProgress.h
ProductFileReader.cc
ProductFileReader.h
RepoFileReader.cc
RepoFileReader.h
RepoindexFileReader.cc
RepoindexFileReader.h
ServiceFileReader.cc
ServiceFileReader.h
pool
repo
sat
solver
target
thread
ui
url
ws
zypp_detail
APIConfig.h
Arch.cc
Arch.h
AutoDispose.h
Bit.h
ByteCount.cc
ByteCount.h
Callback.h
Capabilities.cc
Capabilities.h
Capability.cc
Capability.h
CapMatch.cc
CapMatch.h
Changelog.cc
Changelog.h
CheckSum.cc
CheckSum.h
CountryCode.cc
CountryCode.h
Date.cc
Date.h
Dep.cc
Dep.h
Digest.cc
Digest.h
DiskUsage.cc
DiskUsage.h
DiskUsageCounter.cc
DiskUsageCounter.h
DownloadMode.cc
DownloadMode.h
Edition.cc
Edition.h
ExternalProgram.cc
ExternalProgram.h
Fetcher.cc
Fetcher.h
FileChecker.cc
FileChecker.h
Filter.h
Glob.cc
Glob.h
HistoryLog.cc
HistoryLog.h
HistoryLogData.cc
HistoryLogData.h
IdString.cc
IdString.h
IdStringType.h
InstanceId.cc
InstanceId.h
KeyContext.h
KeyRing.cc
KeyRing.h
KVMap.h
LanguageCode.cc
LanguageCode.h
Locale.cc
Locale.h
Locks.cc
Locks.h
ManagedFile.h
MediaProducts.cc
MediaProducts.h
MediaSetAccess.cc
MediaSetAccess.h
Misc.h
OnMediaLocation.cc
OnMediaLocation.h
Package.cc
Package.h
PackageKeyword.h
Patch.cc
Patch.h
PathInfo.cc
PathInfo.h
Pathname.cc
Pathname.h
Pattern.cc
Pattern.h
PluginFrame.cc
PluginFrame.h
PluginFrameException.cc
PluginFrameException.h
PluginScript.cc
PluginScript.h
PluginScriptException.cc
PluginScriptException.h
PoolItem.cc
PoolItem.h
PoolItemBest.cc
PoolItemBest.h
PoolQuery.cc
PoolQuery.h
PoolQueryResult.cc
PoolQueryResult.h
PoolQueryUtil.tcc
ProblemSolution.cc
ProblemSolution.h
ProblemTypes.h
Product.cc
Product.h
ProgressData.cc
ProgressData.h
ProvideFilePolicy.cc
ProvideFilePolicy.h
PublicKey.cc
PublicKey.h
Range.cc
Range.h
Rel.cc
Rel.h
RelCompare.h
RepoInfo.cc
RepoInfo.h
RepoManager.cc
RepoManager.h
Repository.cc
Repository.h
RepoStatus.cc
RepoStatus.h
ResFilters.h
ResKind.cc
ResKind.h
ResObject.cc
ResObject.h
ResObjects.h
Resolvable.cc
Resolvable.h
Resolver.cc
Resolver.h
ResolverProblem.cc
ResolverProblem.h
ResPool.cc
ResPool.h
ResPoolProxy.cc
ResPoolProxy.h
ResStatus.cc
ResStatus.h
ResTraits.h
ServiceInfo.cc
ServiceInfo.h
Signature.cc
Signature.h
SrcPackage.cc
SrcPackage.h
SysContent.cc
SysContent.h
Target.cc
Target.h
TmpPath.cc
TmpPath.h
TriBool.h
Url.cc
Url.h
Vendor.h
VendorAttr.cc
VendorAttr.h
VendorSupportOptions.cc
VendorSupportOptions.h
ZConfig.cc
ZConfig.h
ZYpp.cc
ZYpp.h
ZYppCallbacks.h
ZYppCommit.h
ZYppCommitPolicy.cc
ZYppCommitPolicy.h
ZYppCommitResult.cc
ZYppCommitResult.h
ZYppFactory.cc
ZYppFactory.h
File Members
ParserProgress.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
9
10
#ifndef ZYPP_ParserProgress_H
11
#define ZYPP_ParserProgress_H
12
13
#include "boost/shared_ptr.hpp"
14
#include "boost/function.hpp"
15
17
namespace
zypp
18
{
19
namespace
parser
20
{
21
22
class
ParserProgress
23
{
24
public
:
25
typedef
boost::shared_ptr<ParserProgress>
Ptr
;
26
33
ParserProgress
( boost::function<
void
(
long
int
)> fnc,
long
int
total_steps = 100 )
34
:
_fnc
(fnc),
_previous_progress
(0),
_total_steps
(total_steps)
35
{
36
37
};
38
39
~ParserProgress
()
40
{};
41
48
void
progress
(
long
int
p)
49
{
50
//std::cout << "real " << p << std::endl;
51
if
(
_total_steps
!= 100 )
52
{
53
long
int
current_done = p;
54
p = (
long
int)(((
double
) current_done/(
double
)
_total_steps
)*100);
55
}
56
57
if
(
_fnc
&& ( p !=
_previous_progress
))
58
{
59
_previous_progress
= p;
60
_fnc
(p);
61
}
62
}
63
64
void
setTotalSteps
(
long
int
total_steps )
65
{
66
_total_steps
= total_steps;
67
}
68
72
void
finish
()
73
{
74
int
p = 100;
75
if
(
_fnc
&& ( p !=
_previous_progress
))
76
{
77
_previous_progress
= p;
78
_fnc
(p);
79
}
80
}
81
85
void
start
()
86
{
87
int
p = 0;
88
if
(
_fnc
&& ( p !=
_previous_progress
))
89
{
90
_previous_progress
= p;
91
_fnc
(p);
92
}
93
}
94
95
private
:
96
boost::function<void (long int)>
_fnc
;
97
long
int
_previous_progress
;
98
long
int
_total_steps
;
99
};
100
101
}
// namespace parser
102
}
// namespace zypp
104
#endif // ZYPP_ParserProgress_H
zypp
parser
ParserProgress.h
Generated by
1.8.2