00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SCRIPT_H 00013 #define ZYPP_SCRIPT_H 00014 00015 #include "zypp/ResObject.h" 00016 #include "zypp/detail/ScriptImplIf.h" 00017 00019 namespace zypp 00020 { 00021 00023 // 00024 // CLASS NAME : Script 00025 // 00028 class Script : public ResObject 00029 { 00030 public: 00031 typedef detail::ScriptImplIf Impl; 00032 typedef Script Self; 00033 typedef ResTraits<Self> TraitsType; 00034 typedef TraitsType::PtrType Ptr; 00035 typedef TraitsType::constPtrType constPtr; 00036 00037 public: 00039 Pathname do_script() const; 00041 Pathname undo_script() const ; 00043 bool undo_available() const; 00044 00045 protected: 00047 Script( const NVRAD & nvrad_r ); 00049 virtual ~Script(); 00050 00051 private: 00053 virtual Impl & pimpl() = 0; 00055 virtual const Impl & pimpl() const = 0; 00056 }; 00057 00059 } // namespace zypp 00061 #endif // ZYPP_SCRIPT_H