LiteralValues.hpp

Go to the documentation of this file.
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         
00040         class LiteralValue {
00041         public:
00042                 LiteralValue();
00043 
00050                 LiteralValue(const String &type, const String &value);
00051 
00058                 LiteralValue(const String& value);
00059                 LiteralValue(const LiteralValue& value);
00060 
00061 #ifndef SWIG
00062 
00063                 LiteralValue&
00064                 operator=(const LiteralValue& value);
00065 
00066 #endif
00067                 
00068                 virtual ~LiteralValue();
00069 
00076                 void
00077                 setLiteral(const String &type, const String &value);
00078 
00085                 void
00086                 setValue(const String &value);
00087 
00091                 String
00092                 getType() const;
00093 
00097                 String
00098                 getValue() const;
00099 
00100                 virtual bool
00101                 valid() const;
00102                 
00103                 virtual blocxx::StringArray
00104                 verify() const;
00105 
00106                 virtual blocxx::StringArray
00107                 dump() const;
00108 
00112                 String
00113                 toString() const;
00114 
00119                 blocxx::String
00120                 commit2Config(CA& ca, Type type, blocxx::UInt32 num) const;
00121                 
00122 #ifndef SWIG
00123 
00124                 friend bool
00125                 operator==(const LiteralValue &l, const LiteralValue &r);
00126 
00127                 friend bool
00128                 operator<(const LiteralValue &l, const LiteralValue &r);
00129 
00130 #endif
00131                 
00132         private:
00133                 blocxx::COWIntrusiveReference<LiteralValueImpl> m_impl;
00134         
00135         };
00136 
00137 }
00138 }
00139 
00140 #endif // LIMAL_CA_MGM_LITERAL_VALUES_HPP

Generated on Mon Nov 27 22:50:13 2006 for limal-ca-mgm by  doxygen 1.5.0