libzypp
11.13.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
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
pool
repo
sat
solver
target
hal
modalias
rpm
CommitPackageCache.cc
CommitPackageCache.h
CommitPackageCacheImpl.cc
CommitPackageCacheImpl.h
CommitPackageCacheReadAhead.cc
CommitPackageCacheReadAhead.h
HardLocksFile.cc
HardLocksFile.h
RequestedLocalesFile.cc
RequestedLocalesFile.h
SoftLocksFile.cc
SoftLocksFile.h
TargetCallbackReceiver.cc
TargetCallbackReceiver.h
TargetException.cc
TargetException.h
TargetImpl.cc
TargetImpl.h
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
RequestedLocalesFile.cc
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#include <iostream>
13
#include <fstream>
14
15
#include "
zypp/base/LogTools.h
"
16
#include "
zypp/base/IOStream.h
"
17
#include "
zypp/base/String.h
"
18
19
#include "
zypp/PathInfo.h
"
20
#include "
zypp/TmpPath.h
"
21
#include "
zypp/Date.h
"
22
23
#include "
zypp/target/RequestedLocalesFile.h
"
24
25
using
std::endl;
26
28
namespace
zypp
29
{
30
31
namespace
target
32
{
33
34
void
RequestedLocalesFile::load
(
const
Pathname & file_r,
LocaleSet
& locales_r )
35
{
36
PathInfo pi( file_r );
37
if
( ! pi.isFile() )
38
{
39
WAR
<<
"Can't read "
<< pi << endl;
40
return
;
41
}
42
std::ifstream infile( file_r.c_str() );
43
for
(
iostr::EachLine
in( infile ); in; in.
next
() )
44
{
45
std::string l(
str::trim
(*in) );
46
if
( ! l.empty() && l[0] !=
'#'
)
47
{
48
locales_r.insert(
Locale
(l) );
49
}
50
}
51
MIL
<<
"Read "
<< pi << endl;
52
}
53
54
void
RequestedLocalesFile::store
(
const
Pathname & file_r,
const
LocaleSet
& locales_r )
55
{
56
filesystem::TmpFile
tmp(
filesystem::TmpFile::makeSibling
( file_r ) );
57
filesystem::chmod
( tmp.
path
(), 0644 );
58
59
std::ofstream outs( tmp.
path
().
c_str
() );
60
outs <<
"# zypp::RequestedLocales generated "
<<
Date::now
() << endl;
61
dumpRange
( outs, locales_r.begin(), locales_r.end(),
"#"
,
"\n"
,
"\n"
,
"\n"
,
"#\n"
);
62
outs.close();
63
64
if
( outs.good() )
65
{
66
filesystem::rename
( tmp.
path
(), file_r );
67
MIL
<<
"Wrote "
<< PathInfo(file_r) << endl;
68
}
69
else
70
{
71
ERR
<<
"Can't write "
<< PathInfo(tmp.
path
()) << endl;
72
}
73
}
74
75
/******************************************************************
76
**
77
** FUNCTION NAME : operator<<
78
** FUNCTION TYPE : std::ostream &
79
*/
80
std::ostream &
operator<<
( std::ostream & str,
const
RequestedLocalesFile
& obj )
81
{
82
str << obj.
file
() <<
' '
;
83
if
( obj.
_localesPtr
)
84
str << obj.
locales
();
85
else
86
str <<
"(unloaded)"
;
87
return
str;
88
}
89
91
}
// namespace target
94
}
// namespace zypp
zypp
target
RequestedLocalesFile.cc
Generated by
1.8.1