libzypp  10.5.0
RepoInfoBaseImpl.h
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef REPOINFOBASEIMPL_H_
00013 #define REPOINFOBASEIMPL_H_
00014 
00015 #include <string>
00016 
00017 #include "zypp/TriBool.h"
00018 #include "zypp/Pathname.h"
00019 
00021 namespace zypp
00022 { 
00023 
00024   namespace repo
00025   { 
00026 
00028   //
00029   //    CLASS NAME : RepoInfoBase::Impl
00030   //
00031   struct RepoInfoBase::Impl
00032   {
00033     Impl()
00034       : enabled (indeterminate)
00035       , autorefresh (indeterminate)
00036     {}
00037 
00038     Impl(const std::string & alias_)
00039       : enabled(indeterminate)
00040       , autorefresh(indeterminate)
00041     { setAlias(alias_); }
00042 
00043     ~Impl()
00044     {}
00045 
00046   public:
00047     TriBool enabled;
00048     TriBool autorefresh;
00049     std::string alias;
00050     std::string escaped_alias;
00051     std::string name;
00052     Pathname filepath;
00053   public:
00054 
00055     void setAlias(const std::string & alias_);
00056 
00057   private:
00058     friend Impl * rwcowClone<Impl>( const Impl * rhs );
00060     Impl * clone() const
00061     { return new Impl( *this ); }
00062   };
00064 
00066   } // namespace repo
00069 } // namespace zypp
00071 
00072 #endif /*REPOINFOBASEIMPL_H_*/