00001 #ifndef EVMS_H 00002 #define EVMS_H 00003 00004 #include "y2storage/Dm.h" 00005 00006 namespace storage 00007 { 00008 00009 class EvmsCo; 00010 00011 class Evms : public Dm 00012 { 00013 public: 00014 Evms( const EvmsCo& d, const string& name, unsigned long long le, unsigned stripe ); 00015 Evms( const EvmsCo& d, const string& name, unsigned long long le, bool native ); 00016 Evms( const EvmsCo& d, const Evms& d ); 00017 00018 virtual ~Evms(); 00019 unsigned compatible() const { return compat; } 00020 friend std::ostream& operator<< (std::ostream& s, const Evms &p ); 00021 virtual void print( std::ostream& s ) const { s << *this; } 00022 string removeText( bool doing ) const; 00023 string createText( bool doing ) const; 00024 string formatText( bool doing ) const; 00025 string resizeText( bool doing ) const; 00026 00027 void updateMd(); 00028 void getInfo(storage::EvmsInfo&) const; 00029 bool equalContent( const Evms& rhs ) const; 00030 void logDifference( const Evms& d ) const; 00031 00032 00033 protected: 00034 void init( const string& name ); 00035 virtual const string shortPrintedName() const { return( "Evms" ); } 00036 Evms& operator=( const Evms& ); 00037 00038 static string getMapperName( const EvmsCo& d, const string& name ); 00039 00040 bool compat; 00041 mutable storage::EvmsInfo info; 00042 }; 00043 00044 } 00045 00046 #endif