Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

InstSrcData Class Reference

Base class for all concrete InstSrcData classes. More...

#include <InstSrcData.h>

Inheritance diagram for InstSrcData:

CountedRep InstData Rep InstSrcDataPLAIN InstSrcDataUL List of all members.

Public Types

typedef InstSrcError Error

Public Member Functions

 InstSrcData ()
virtual ~InstSrcData ()
virtual PMError writeCache (const Pathname &cache_dir_r) const
virtual const std::list< PMSelectionPtr > & getSelections () const
virtual const std::list< PMPackagePtr > & getPackages () const
virtual const std::vector<
PMYouPatchPtr > & 
getPatches () const
constInstSrcPtr attachedToInstSrc () const
virtual void preferredLocaleChanged () const
std::ostream & dumpOn (std::ostream &str) const

Static Public Member Functions

PMError tryGetDescr (InstSrcDescrPtr &ndescr_r, MediaAccessPtr media_r, const Pathname &produduct_dir_r)
PMError tryGetData (InstSrcDataPtr &ndata_r, MediaAccessPtr media_r, const Pathname &descr_dir_r)

Protected Member Functions

bool attached () const
virtual PMError propagateObjects ()
virtual PMError withdrawObjects ()

Static Protected Member Functions

PMPackageDataProviderPtr getDataProvider (const PMPackagePtr &obj_r)
PMSelectionDataProviderPtr getDataProvider (const PMSelectionPtr &obj_r)

Protected Attributes

InstSrcPtr _instSrc

Private Member Functions

 REP_BODY (InstSrcData)
PMError _instSrc_attach (const InstSrcPtr &instSrc_r)
PMError _instSrc_detach ()
PMError _instSrc_propagate ()
PMError _instSrc_withdraw ()

Private Attributes

bool _propagating

Detailed Description

Base class for all concrete InstSrcData classes.


Member Typedef Documentation

typedef InstSrcError InstSrcData::Error
 

default error class

Reimplemented in InstSrcDataPLAIN, and InstSrcDataUL.


Constructor & Destructor Documentation

InstSrcData::InstSrcData  ) 
 

Do nothing in Constructor. Wait for InstSrc to attach and trigger actions to perform.

InstSrcData::~InstSrcData  )  [virtual]
 


Member Function Documentation

PMError InstSrcData::_instSrc_attach const InstSrcPtr &  instSrc_r  )  [private]
 

Adjust backreferences to InstSrc.

PMError InstSrcData::_instSrc_detach  )  [private]
 

Clear backreferences to InstSrc.

PMError InstSrcData::_instSrc_propagate  )  [private]
 

Propagate Objects to Manager classes.

PMError InstSrcData::_instSrc_withdraw  )  [private]
 

Withdraw Objects from Manager classes.

bool InstSrcData::attached  )  const [inline, protected]
 

True if attached to an InstSrc

constInstSrcPtr InstSrcData::attachedToInstSrc  )  const [inline]
 

Backreference to InstSrc (provided on attach, NULL after detach)

std::ostream & InstSrcData::dumpOn std::ostream &  str  )  const [virtual]
 

Reimplemented from CountedRep.

Reimplemented in InstSrcDataPLAIN.

PMSelectionDataProviderPtr InstSrcData::getDataProvider const PMSelectionPtr &  obj_r  )  [static, protected]
 

InstSrcData is alowed to retrieve an Objects DataProviderPtr.

PMPackageDataProviderPtr InstSrcData::getDataProvider const PMPackagePtr &  obj_r  )  [static, protected]
 

InstSrcData is alowed to retrieve an Objects DataProviderPtr.

virtual const std::list<PMPackagePtr>& InstSrcData::getPackages void   )  const [inline, virtual]
 

Default for concrete InstSrcData providing no Packages

Implements InstData.

Reimplemented in InstSrcDataPLAIN, and InstSrcDataUL.

virtual const std::vector<PMYouPatchPtr>& InstSrcData::getPatches void   )  const [inline, virtual]
 

Default for concrete InstSrcData providing no Patches

Implements InstData.

Reimplemented in InstSrcDataUL.

virtual const std::list<PMSelectionPtr>& InstSrcData::getSelections void   )  const [inline, virtual]
 

Default for concrete InstSrcData providing no Selections

Implements InstData.

Reimplemented in InstSrcDataUL.

virtual void InstSrcData::preferredLocaleChanged  )  const [inline, virtual]
 

Triggered on change of preferredLocale

Reimplemented in InstSrcDataUL.

PMError InstSrcData::propagateObjects  )  [protected, virtual]
 

Call concrete InstSrcData to propagate Objects to Manager classes.

InstSrc is attached.

InstSrcData::REP_BODY InstSrcData   )  [private]
 

Reimplemented in InstSrcDataPLAIN, and InstSrcDataUL.

PMError InstSrcData::tryGetData InstSrcDataPtr &  ndata_r,
MediaAccessPtr  media_r,
const Pathname descr_dir_r
[static]
 

Any concrete InstSrcData must realize this, as it knows the expected layout on the media. Expect MediaAccessPtr to be open and attached.

Return the InstSrcData retrieved from the media via ndescr_r, or NULL and PMError set. InstSrcData must not provide the objects retieved to any Manager class. This is to be done on explicit request via propagateObjects only.

PMError InstSrcData::tryGetDescr InstSrcDescrPtr &  ndescr_r,
MediaAccessPtr  media_r,
const Pathname produduct_dir_r
[static]
 

Any concrete InstSrcData must realize this, as it knows the expected layout on the media. Expect MediaAccessPtr to be open and attached.

Return the InstSrcDescr retrieved from the media via ndescr_r, or NULL and PMError set.

Reimplemented in InstSrcDataUL.

PMError InstSrcData::withdrawObjects  )  [protected, virtual]
 

Call concrete InstSrcData to withdraw Objects from Manager classes.

Sync to cache (if there is one), clear all lists, and whatever is necessary to go out of scope. InstSrc will detach immediately after this.

PMError InstSrcData::writeCache const Pathname cache_dir_r  )  const [virtual]
 

Write data to cache, if necessary

Reimplemented in InstSrcDataUL.


Member Data Documentation

InstSrcPtr InstSrcData::_instSrc [protected]
 

Backreference to InstSrc (provided on attach, NULL after detach)

bool InstSrcData::_propagating [private]
 

True after _instSrc_propagate, false after _instSrc_withdraw


The documentation for this class was generated from the following files:
Generated on Fri Nov 9 14:30:32 2007 for yast2-packagemanager by doxygen 1.3.6