00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifdef __cplusplus
00024
00025 # ifndef OGS_CORE_DETAILS_DESCRIPTION_H
00026 # define OGS_CORE_DETAILS_DESCRIPTION_H
00027
00028 # include <string>
00029
00030 # include <ogs/core/Detail.h>
00031 # include <ogs/core/details/Namespace.h>
00032
00033 OGS_BEGIN_CORE_DETAILS_NAMESPACE
00034
00040 class Description: public Detail {
00041 public:
00045 enum Aspect {
00046 NAME,
00047 PERSONALITY,
00048 APPEARANCE,
00049 BACKGROUND
00050 };
00051
00052 Description (Aspect aspect, const std::string& text);
00053
00054 Aspect getAspect () const;
00055 std::string getText () const;
00056 void setText (const std::string& text);
00057
00058 private:
00059 Aspect _aspect;
00060 std::string _text;
00061 };
00062
00069 inline Description::Description (Aspect aspect, const std::string& text):
00070 _aspect (aspect), _text (text) { }
00071
00077 inline Description::Aspect Description::getAspect () const {
00078 return (this->_aspect);
00079 }
00080
00086 inline std::string Description::getText () const {
00087 return (this->_text);
00088 }
00089
00095 inline void Description::setText (const std::string& text) {
00096 this->_text = text;
00097 }
00098
00099 OGS_END_CORE_DETAILS_NAMESPACE
00100
00101 # endif
00102
00103 #endif
00104