libzypp  17.14.0
zypp::syscontent::Writer Class Reference

Collect and serialize a set of ResObject. More...

#include <SysContent.h>

Classes

class  Impl
 

Public Types

typedef StorageT::value_type value_type
 
typedef StorageT::size_type size_type
 
typedef StorageT::iterator iterator
 
typedef StorageT::const_iterator const_iterator
 

Public Member Functions

 Writer ()
 Default Ctor. More...
 
std::ostream & writeXml (std::ostream &str) const
 Write collected data as XML. More...
 
Identification.

User provided optional data to identify the collection.

const std::string & name () const
 Get name. More...
 
Writername (const std::string &val_r)
 Set name. More...
 
const Editionedition () const
 Get edition. More...
 
Writeredition (const Edition &val_r)
 Set edition. More...
 
const std::string & description () const
 Get description. More...
 
Writerdescription (const std::string &val_r)
 Set description. More...
 
Collecting data.
syscontent::Writer contentW;
contentW.name( "mycollection" )
.edition( Edition( "1.0" ) )
.description( "All the cool stuff..." );
ResPool pool( getZYpp()->pool() );
for_each( pool.begin(), pool.end(),
bind( &syscontent::Writer::addIf, ref(contentW), _1 ) );
std::ofstream my_file( "some_file" );
my_file << contentW;
my_file.close();
void addInstalled (const PoolItem &obj_r)
 Collect currently installed PoolItem. More...
 
void addIf (const PoolItem &obj_r)
 Collect PoolItem if it stays on the system. More...
 
void add (const ResObject::constPtr &obj_r)
 Unconditionally add this ResObject (or PoolItem). More...
 
Collected data.
bool empty () const
 Whether no data collected so far. More...
 
size_type size () const
 Number of items collected. More...
 
const_iterator begin () const
 Iterator to the begin of collected data. More...
 
const_iterator end () const
 Iterator to the end of collected data. More...
 

Private Types

typedef std::set< ResObject::constPtrStorageT
 

Private Attributes

RWCOW_pointer< Impl_pimpl
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Writer &obj)
 

Detailed Description

Collect and serialize a set of ResObject.

<?xml version="1.0" encoding="UTF-8"?>
<syscontent>
<ident>
<name>mycollection</name>
<version epoch="0" ver="1.0" rel="1"/>
<description>All the cool stuff...</description>
<created>1165270942</created>
</ident>
<onsys>
<entry kind="package" name="pax" epoch="0" ver="3.4" rel="12" arch="x86_64"/>
<entry kind="product" name="SUSE_SLES" epoch="0" ver="10" arch="x86_64"/>
<entry ...
</onsys>
</syscontent>
See also
Reader

Definition at line 55 of file SysContent.h.

Member Typedef Documentation

◆ StorageT

Definition at line 57 of file SysContent.h.

◆ value_type

typedef StorageT::value_type zypp::syscontent::Writer::value_type

Definition at line 59 of file SysContent.h.

◆ size_type

typedef StorageT::size_type zypp::syscontent::Writer::size_type

Definition at line 60 of file SysContent.h.

◆ iterator

typedef StorageT::iterator zypp::syscontent::Writer::iterator

Definition at line 61 of file SysContent.h.

◆ const_iterator

typedef StorageT::const_iterator zypp::syscontent::Writer::const_iterator

Definition at line 62 of file SysContent.h.

Constructor & Destructor Documentation

◆ Writer()

zypp::syscontent::Writer::Writer ( )

Default Ctor.

Definition at line 134 of file SysContent.cc.

Member Function Documentation

◆ name() [1/2]

const std::string & zypp::syscontent::Writer::name ( ) const

Get name.

Definition at line 138 of file SysContent.cc.

◆ name() [2/2]

Writer & zypp::syscontent::Writer::name ( const std::string &  val_r)

Set name.

Definition at line 141 of file SysContent.cc.

◆ edition() [1/2]

const Edition & zypp::syscontent::Writer::edition ( ) const

Get edition.

Definition at line 144 of file SysContent.cc.

◆ edition() [2/2]

Writer & zypp::syscontent::Writer::edition ( const Edition val_r)

Set edition.

Definition at line 147 of file SysContent.cc.

◆ description() [1/2]

const std::string & zypp::syscontent::Writer::description ( ) const

Get description.

Definition at line 150 of file SysContent.cc.

◆ description() [2/2]

Writer & zypp::syscontent::Writer::description ( const std::string &  val_r)

Set description.

Definition at line 153 of file SysContent.cc.

◆ addInstalled()

void zypp::syscontent::Writer::addInstalled ( const PoolItem obj_r)

Collect currently installed PoolItem.

Definition at line 156 of file SysContent.cc.

◆ addIf()

void zypp::syscontent::Writer::addIf ( const PoolItem obj_r)

Collect PoolItem if it stays on the system.

I.e. it stays installed or is tagged to be installed. Solver selected items are omitted.

Definition at line 164 of file SysContent.cc.

◆ add()

void zypp::syscontent::Writer::add ( const ResObject::constPtr obj_r)

Unconditionally add this ResObject (or PoolItem).

Definition at line 173 of file SysContent.cc.

◆ empty()

bool zypp::syscontent::Writer::empty ( ) const

Whether no data collected so far.

Definition at line 176 of file SysContent.cc.

◆ size()

Writer::size_type zypp::syscontent::Writer::size ( ) const

Number of items collected.

Definition at line 179 of file SysContent.cc.

◆ begin()

Writer::const_iterator zypp::syscontent::Writer::begin ( ) const

Iterator to the begin of collected data.

Definition at line 182 of file SysContent.cc.

◆ end()

Writer::const_iterator zypp::syscontent::Writer::end ( ) const

Iterator to the end of collected data.

Definition at line 185 of file SysContent.cc.

◆ writeXml()

std::ostream & zypp::syscontent::Writer::writeXml ( std::ostream &  str) const

Write collected data as XML.

Read them back using Reader.

Definition at line 188 of file SysContent.cc.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  str,
const Writer obj 
)
related

Stream output

Definition at line 152 of file SysContent.h.

Member Data Documentation

◆ _pimpl

RWCOW_pointer<Impl> zypp::syscontent::Writer::_pimpl
private

Definition at line 146 of file SysContent.h.


The documentation for this class was generated from the following files: