zypp::Source_Ref Class Reference

Note:
Source is a reference to the implementation.
More...

#include <Source.h>

Inheritance diagram for zypp::Source_Ref:

zypp::base::SafeBool< _Derived > zypp::base::safebool_detail::SafeBoolBase List of all members.

Public Types

typedef source::SourceImpl Impl
typedef source::SourceImpl_Ptr Impl_Ptr
typedef unsigned long NumericId

Public Member Functions

 Source_Ref ()
 Default ctor: noSource.
NumericId numericId () const
 Runtime unique numeric Source Id.
std::string checksum () const
 an aproxmate checksum that should change when the source changes can be used to determine if the source needs to be read again or not.
Date timestamp () const
 aproximate age of the source, can be used to determine if the source needs to be read again or not.
bool hasResolvablesOfKind (const zypp::Resolvable::Kind &kind) const
 wether this source provides or supports resolvables of certain kind.
std::set< zypp::Resolvable::KindresolvableKinds () const
 set of resolvable types the source can offer at this moment
bool resStoreInitialized () const
 Whether the ResStore is initialized.
const ResStoreresolvables () const
 All resolvables provided by this source.
const ResStore resolvables (zypp::Resolvable::Kind kind) const
 All resolvables of a given kind provided by this source.
const Pathname providePackage (Package::constPtr package)
const Pathname provideFile (const Pathname &file_r, const unsigned media_nr=1)
 Provide a file to local filesystem.
const Pathname provideDirTree (const Pathname &dir_r, const unsigned media_nr=1)
const void releaseFile (const Pathname &file_r, const unsigned media_nr=1)
const void releaseDir (const Pathname &dir_r, const unsigned media_nr=1, bool recursive=false)
bool enabled () const
void enable ()
void disable ()
bool autorefresh () const
void setAutorefresh (bool enable_r)
void refresh ()
void storeMetadata (const Pathname &cache_dir_r)
std::string alias (void) const
 User chosen identificaton, must be unique.
void setAlias (const std::string &alias_r)
 User chosen identificaton, must be unique.
std::string type (void) const
 Source type, like YaST or YUM.
unsigned numberOfMedia (void) const
std::string vendor (void) const
 from media.1/media
std::string unique_id (void) const
 from media.1/media
void changeMedia (const media::MediaId &media_r, const Pathname &path_r)
 Change the media of the source (in case original media is not available) The media must be ready-to-use (in the same form as when passing to SourceImpl constructor).
void redirect (unsigned media_nr, const Url &new_url)
 Redirect the given media to the given URL instead of the standard one.
void release ()
 Release all medias attached by the source.
void reattach (const Pathname &attach_point)
 Reattach the source if it is not mounted, but downloaded, to different directory.
media::MediaVerifierRef verifier (unsigned media_nr)
 Provide a media verifier suitable for the given media number.

Static Public Attributes

static const Source_Ref noSource
 A dummy Source (Id 0) providing nothing, doing nothing.

Private Member Functions

friend base::SafeBool () const
bool boolTest () const
 SafeBool test.
 Source_Ref (const Impl_Ptr &impl_r)
 Factory ctor.

Private Attributes

Impl_Ptr _pimpl
 Pointer to implementation.

Friends

class SourceFactory
 Factory.
class source::SourceImpl
std::ostream & operator<< (std::ostream &str, const Source_Ref &obj)
bool operator== (const Source_Ref &lhs, const Source_Ref &rhs)
 Equal if same implementation class.
bool operator< (const Source_Ref &lhs, const Source_Ref &rhs)
 Order in std::conainer based on _pimpl.

Related Functions

(Note that these are not member functions.)

bool operator!= (const Source_Ref &lhs, const Source_Ref &rhs)

Detailed Description

Note:
Source is a reference to the implementation.

No COW is performed.

Definition at line 109 of file Source.h.


Member Typedef Documentation

typedef source::SourceImpl zypp::Source_Ref::Impl

Definition at line 116 of file Source.h.

typedef source::SourceImpl_Ptr zypp::Source_Ref::Impl_Ptr

Definition at line 117 of file Source.h.

typedef unsigned long zypp::Source_Ref::NumericId

Definition at line 137 of file Source.h.


Constructor & Destructor Documentation

zypp::Source_Ref::Source_Ref (  ) 

Default ctor: noSource.

Real Sources are to be created via SourceFactory.

Definition at line 33 of file Source.cc.

zypp::Source_Ref::Source_Ref ( const Impl_Ptr impl_r  )  [explicit, private]

Factory ctor.

Definition at line 42 of file Source.cc.


Member Function Documentation

Source_Ref::NumericId zypp::Source_Ref::numericId (  )  const

Runtime unique numeric Source Id.

Definition at line 54 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::Testcase::createTestcase(), zypp::ResObject::dumpOn(), zypp::solver::detail::HelixControl::installResolvable(), and zypp::sourceTableAdd().

std::string zypp::Source_Ref::checksum (  )  const

an aproxmate checksum that should change when the source changes can be used to determine if the source needs to be read again or not.

(read as parse its metadata, not about downloading)

Definition at line 98 of file Source.cc.

References _pimpl.

Date zypp::Source_Ref::timestamp (  )  const

aproximate age of the source, can be used to determine if the source needs to be read again or not.

(read as parse its metadata, not about downloading)

Definition at line 95 of file Source.cc.

References _pimpl.

bool zypp::Source_Ref::hasResolvablesOfKind ( const zypp::Resolvable::Kind kind  )  const

wether this source provides or supports resolvables of certain kind.

Definition at line 203 of file Source.cc.

References _pimpl.

std::set< zypp::Resolvable::Kind > zypp::Source_Ref::resolvableKinds (  )  const

set of resolvable types the source can offer at this moment

Definition at line 206 of file Source.cc.

References _pimpl.

bool zypp::Source_Ref::resStoreInitialized (  )  const

Whether the ResStore is initialized.

If we know that noone has seen the resolvables yet, we can skip them too, eg. when deleting a source. (#174840)

Definition at line 57 of file Source.cc.

References _pimpl.

const ResStore & zypp::Source_Ref::resolvables (  )  const

All resolvables provided by this source.

Definition at line 60 of file Source.cc.

References _pimpl.

const ResStore zypp::Source_Ref::resolvables ( zypp::Resolvable::Kind  kind  )  const

All resolvables of a given kind provided by this source.

Definition at line 63 of file Source.cc.

References _pimpl.

const Pathname zypp::Source_Ref::providePackage ( Package::constPtr  package  ) 

Definition at line 74 of file Source.cc.

References _pimpl.

const Pathname zypp::Source_Ref::provideFile ( const Pathname &  file_r,
const unsigned  media_nr = 1 
)

Provide a file to local filesystem.

Definition at line 66 of file Source.cc.

References _pimpl.

Referenced by zypp::source::yum::YUMScriptImpl::do_script(), zypp::source::provideFile(), and zypp::source::yum::YUMScriptImpl::undo_script().

const Pathname zypp::Source_Ref::provideDirTree ( const Pathname &  dir_r,
const unsigned  media_nr = 1 
)

Definition at line 70 of file Source.cc.

References _pimpl.

const void zypp::Source_Ref::releaseFile ( const Pathname &  file_r,
const unsigned  media_nr = 1 
)

Definition at line 77 of file Source.cc.

References _pimpl.

Referenced by zypp::source::provideFile().

const void zypp::Source_Ref::releaseDir ( const Pathname &  dir_r,
const unsigned  media_nr = 1,
bool  recursive = false 
)

Definition at line 81 of file Source.cc.

References _pimpl.

bool zypp::Source_Ref::enabled (  )  const

Definition at line 86 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::enable (  ) 

Definition at line 89 of file Source.cc.

References _pimpl.

Referenced by zypp::SourceManager::restore().

void zypp::Source_Ref::disable (  ) 

Definition at line 92 of file Source.cc.

References _pimpl.

Referenced by zypp::SourceManager::restore().

bool zypp::Source_Ref::autorefresh (  )  const

Definition at line 101 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setAutorefresh ( bool  enable_r  ) 

Definition at line 104 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::refresh (  ) 

Definition at line 107 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::storeMetadata ( const Pathname &  cache_dir_r  ) 

Definition at line 110 of file Source.cc.

References _pimpl.

Referenced by zypp::SourceCache::storeSource().

string zypp::Source_Ref::alias ( void   )  const

User chosen identificaton, must be unique.

Definition at line 113 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::PackagesParser::collectDeps(), zypp::source::susetags::PackagesParser::consume(), zypp::source::plaindir::PlaindirImpl::extract_packages_from_directory(), zypp::source::susetags::ProductMetadataParser::parse(), zypp::source::susetags::parsePackages(), zypp::source::susetags::parseSelection(), zypp::SourceManager::renameSource(), zypp::SourceCache::storeSource(), and zypp::solver::detail::ResolverInfo::toString().

void zypp::Source_Ref::setAlias ( const std::string &  alias_r  ) 

User chosen identificaton, must be unique.

Definition at line 116 of file Source.cc.

References _pimpl.

Referenced by zypp::SourceManager::renameSource().

string zypp::Source_Ref::type ( void   )  const

Source type, like YaST or YUM.

Definition at line 119 of file Source.cc.

References _pimpl.

unsigned zypp::Source_Ref::numberOfMedia ( void   )  const

Definition at line 191 of file Source.cc.

References _pimpl.

std::string zypp::Source_Ref::vendor ( void   )  const

from media.1/media

Definition at line 194 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::SuseTagsPackageImpl::vendor().

std::string zypp::Source_Ref::unique_id ( void   )  const

from media.1/media

Definition at line 200 of file Source.cc.

References _pimpl.

string zypp::Source_Ref::id ( void   )  const

runtime-unique, not persistent, a "handle" for Pkg::, string?!

Definition at line 122 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setId ( const std::string  id_r  ) 

Definition at line 125 of file Source.cc.

References _pimpl.

unsigned zypp::Source_Ref::priority ( void   )  const

Definition at line 140 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverQueue::copy_queue_except_for_branch(), and zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setPriority ( unsigned  p  ) 

Definition at line 143 of file Source.cc.

References _pimpl.

unsigned zypp::Source_Ref::priorityUnsubscribed ( void   )  const

Definition at line 146 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setPriorityUnsubscribed ( unsigned  p  ) 

Definition at line 149 of file Source.cc.

References _pimpl.

bool zypp::Source_Ref::subscribed ( void   )  const

Definition at line 152 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setSubscribed ( bool  s  ) 

Definition at line 155 of file Source.cc.

References _pimpl.

const Pathname & zypp::Source_Ref::cacheDir ( void   )  const

Definition at line 173 of file Source.cc.

References _pimpl.

const std::list< Pathname > zypp::Source_Ref::publicKeys (  ) 

Definition at line 197 of file Source.cc.

References _pimpl.

string zypp::Source_Ref::zmdName ( void   )  const

Definition at line 128 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setZmdName ( const std::string  name_r  ) 

Definition at line 131 of file Source.cc.

References _pimpl.

string zypp::Source_Ref::zmdDescription ( void   )  const

Definition at line 134 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setZmdDescription ( const std::string  desc_r  ) 

Definition at line 137 of file Source.cc.

References _pimpl.

Url zypp::Source_Ref::url ( void   )  const

Definition at line 158 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::PackagesParser::collectDeps(), zypp::source::susetags::PackagesParser::consume(), zypp::source::MediaSet::getMediaAccessId(), zypp::source::susetags::ProductMetadataParser::parse(), zypp::source::susetags::parsePackages(), zypp::source::susetags::parseSelection(), setUrl(), and zypp::SourceCache::storeSource().

void zypp::Source_Ref::setUrl ( const Url url  ) 

required for the parse-metadata helper of libzypp-zmd-backend which gets local files to parse but the source is really remote.

Definition at line 161 of file Source.cc.

References _pimpl, and url().

bool zypp::Source_Ref::remote (  )  const

Definition at line 164 of file Source.cc.

References _pimpl.

const Pathname & zypp::Source_Ref::path ( void   )  const

Definition at line 167 of file Source.cc.

References _pimpl.

Referenced by zypp::source::MediaSet::getMediaAccessId(), and zypp::SourceCache::storeSource().

bool zypp::Source_Ref::baseSource (  )  const

Definition at line 170 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::ProductMetadataParser::parse(), and zypp::source::yum::YUMProductImpl::YUMProductImpl().

void zypp::Source_Ref::changeMedia ( const media::MediaId media_r,
const Pathname &  path_r 
)

Change the media of the source (in case original media is not available) The media must be ready-to-use (in the same form as when passing to SourceImpl constructor).

Definition at line 176 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::redirect ( unsigned  media_nr,
const Url new_url 
)

Redirect the given media to the given URL instead of the standard one.

Definition at line 179 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::release (  ) 

Release all medias attached by the source.

Definition at line 182 of file Source.cc.

References _pimpl.

Referenced by zypp::target::TargetImpl::commit().

void zypp::Source_Ref::reattach ( const Pathname &  attach_point  ) 

Reattach the source if it is not mounted, but downloaded, to different directory.

Exceptions:
Exception 

Definition at line 185 of file Source.cc.

References _pimpl.

media::MediaVerifierRef zypp::Source_Ref::verifier ( unsigned  media_nr  ) 

Provide a media verifier suitable for the given media number.

Definition at line 188 of file Source.cc.

References _pimpl.

Referenced by zypp::source::MediaSet::getMediaAccessId(), and zypp::source::MediaSet::redirect().

zypp::Source_Ref::base::SafeBool (  )  const [private]

bool zypp::Source_Ref::boolTest (  )  const [inline, private]

SafeBool test.

Definition at line 294 of file Source.h.

References _pimpl, and noSource.

string zypp::Source_Ref::id ( void   )  const

runtime-unique, not persistent, a "handle" for Pkg::, string?!

Definition at line 122 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setId ( const std::string  id_r  ) 

Definition at line 125 of file Source.cc.

References _pimpl.

unsigned zypp::Source_Ref::priority ( void   )  const

Definition at line 140 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverQueue::copy_queue_except_for_branch(), and zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setPriority ( unsigned  p  ) 

Definition at line 143 of file Source.cc.

References _pimpl.

unsigned zypp::Source_Ref::priorityUnsubscribed ( void   )  const

Definition at line 146 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setPriorityUnsubscribed ( unsigned  p  ) 

Definition at line 149 of file Source.cc.

References _pimpl.

bool zypp::Source_Ref::subscribed ( void   )  const

Definition at line 152 of file Source.cc.

References _pimpl.

Referenced by zypp::solver::detail::ResolverContext::getSourcePriority().

void zypp::Source_Ref::setSubscribed ( bool  s  ) 

Definition at line 155 of file Source.cc.

References _pimpl.

const Pathname & zypp::Source_Ref::cacheDir ( void   )  const

Definition at line 173 of file Source.cc.

References _pimpl.

const std::list< Pathname > zypp::Source_Ref::publicKeys (  ) 

Definition at line 197 of file Source.cc.

References _pimpl.

string zypp::Source_Ref::zmdName ( void   )  const

Definition at line 128 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setZmdName ( const std::string  name_r  ) 

Definition at line 131 of file Source.cc.

References _pimpl.

string zypp::Source_Ref::zmdDescription ( void   )  const

Definition at line 134 of file Source.cc.

References _pimpl.

void zypp::Source_Ref::setZmdDescription ( const std::string  desc_r  ) 

Definition at line 137 of file Source.cc.

References _pimpl.

Url zypp::Source_Ref::url ( void   )  const

Definition at line 158 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::PackagesParser::collectDeps(), zypp::source::susetags::PackagesParser::consume(), zypp::source::MediaSet::getMediaAccessId(), zypp::source::susetags::ProductMetadataParser::parse(), zypp::source::susetags::parsePackages(), zypp::source::susetags::parseSelection(), setUrl(), and zypp::SourceCache::storeSource().

void zypp::Source_Ref::setUrl ( const Url url  ) 

required for the parse-metadata helper of libzypp-zmd-backend which gets local files to parse but the source is really remote.

Definition at line 161 of file Source.cc.

References _pimpl, and url().

bool zypp::Source_Ref::remote (  )  const

Definition at line 164 of file Source.cc.

References _pimpl.

const Pathname & zypp::Source_Ref::path ( void   )  const

Definition at line 167 of file Source.cc.

References _pimpl.

Referenced by zypp::source::MediaSet::getMediaAccessId(), and zypp::SourceCache::storeSource().

bool zypp::Source_Ref::baseSource (  )  const

Definition at line 170 of file Source.cc.

References _pimpl.

Referenced by zypp::source::susetags::ProductMetadataParser::parse(), and zypp::source::yum::YUMProductImpl::YUMProductImpl().


Friends And Related Function Documentation

friend class SourceFactory [friend]

Factory.

Definition at line 299 of file Source.h.

friend class source::SourceImpl [friend]

Definition at line 300 of file Source.h.

std::ostream& operator<< ( std::ostream &  str,
const Source_Ref obj 
) [friend]

Definition at line 214 of file Source.cc.

bool operator== ( const Source_Ref lhs,
const Source_Ref rhs 
) [friend]

Equal if same implementation class.

Definition at line 317 of file Source.h.

bool operator< ( const Source_Ref lhs,
const Source_Ref rhs 
) [friend]

Order in std::conainer based on _pimpl.

Definition at line 325 of file Source.h.

bool operator!= ( const Source_Ref lhs,
const Source_Ref rhs 
) [related]

Definition at line 321 of file Source.h.


Member Data Documentation

const Source_Ref zypp::Source_Ref::noSource [static]

A dummy Source (Id 0) providing nothing, doing nothing.

Todo:
provide a _constRef

Definition at line 129 of file Source.h.

Referenced by boolTest(), zypp::solver::detail::ResolverContext::collectCompareInfo(), zypp::SourceFactory::createFrom(), zypp::MediaSetAccess::provideFileInternal(), and zypp::detail::ResObjectImplIf::source().

Impl_Ptr zypp::Source_Ref::_pimpl [private]

Pointer to implementation.

Definition at line 309 of file Source.h.

Referenced by alias(), autorefresh(), baseSource(), boolTest(), cacheDir(), changeMedia(), checksum(), disable(), enable(), enabled(), hasResolvablesOfKind(), id(), numberOfMedia(), numericId(), zypp::operator<<(), path(), priority(), priorityUnsubscribed(), provideDirTree(), provideFile(), providePackage(), publicKeys(), reattach(), redirect(), refresh(), release(), releaseDir(), releaseFile(), remote(), resolvableKinds(), resolvables(), resStoreInitialized(), setAlias(), setAutorefresh(), setId(), setPriority(), setPriorityUnsubscribed(), setSubscribed(), setUrl(), setZmdDescription(), setZmdName(), storeMetadata(), subscribed(), timestamp(), type(), unique_id(), url(), vendor(), verifier(), zmdDescription(), and zmdName().


The documentation for this class was generated from the following files:
Generated on Tue Nov 28 16:49:37 2006 for zypp by  doxygen 1.5.0