|
limal-ca-mgm
|
00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | _ _ _ _ __ _ | 00004 | | | | | | \_/ | / \ | | | 00005 | | | | | | |_| | / /\ \ | | | 00006 | | |__ | | | | | | / ____ \ | |__ | 00007 | |____||_| |_| |_|/ / \ \|____| | 00008 | | 00009 | ca-mgm library | 00010 | | 00011 | (C) SUSE Linux Products GmbH | 00012 \----------------------------------------------------------------------/ 00013 00014 File: LiteralValues.hpp 00015 00016 Author: <Michael Calmer> <mc@suse.de> 00017 Maintainer: <Michael Calmer> <mc@suse.de> 00018 00019 Purpose: 00020 00021 /-*/ 00022 #ifndef LIMAL_CA_MGM_LITERAL_VALUES_HPP 00023 #define LIMAL_CA_MGM_LITERAL_VALUES_HPP 00024 00025 #include <limal/ca-mgm/config.h> 00026 #include <limal/ca-mgm/CommonData.hpp> 00027 #include <blocxx/COWIntrusiveReference.hpp> 00028 00029 namespace LIMAL_NAMESPACE { 00030 00031 namespace CA_MGM_NAMESPACE { 00032 00033 class LiteralValueImpl; 00034 class CA; 00035 00042 class LiteralValue { 00043 public: 00044 LiteralValue(); 00045 00052 LiteralValue(const String &type, const String &value); 00053 00060 LiteralValue(const String& value); 00061 LiteralValue(const LiteralValue& value); 00062 00063 #ifndef SWIG 00064 00065 LiteralValue& 00066 operator=(const LiteralValue& value); 00067 00068 #endif 00069 00070 virtual ~LiteralValue(); 00071 00078 void 00079 setLiteral(const String &type, const String &value); 00080 00087 void 00088 setValue(const String &value); 00089 00093 String 00094 getType() const; 00095 00099 String 00100 getValue() const; 00101 00102 virtual bool 00103 valid() const; 00104 00105 virtual blocxx::StringArray 00106 verify() const; 00107 00108 virtual blocxx::StringArray 00109 dump() const; 00110 00114 String 00115 toString() const; 00116 00121 blocxx::String 00122 commit2Config(CA& ca, Type type, blocxx::UInt32 num) const; 00123 00124 #ifndef SWIG 00125 00126 friend bool 00127 operator==(const LiteralValue &l, const LiteralValue &r); 00128 00129 friend bool 00130 operator<(const LiteralValue &l, const LiteralValue &r); 00131 00132 #endif 00133 00134 private: 00135 blocxx::COWIntrusiveReference<LiteralValueImpl> m_impl; 00136 00137 }; 00138 00139 } 00140 } 00141 00142 #endif // LIMAL_CA_MGM_LITERAL_VALUES_HPP
1.7.5.1