00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00020 #ifndef SHMETAFORWARDER_HPP
00021 #define SHMETAFORWARDER_HPP
00022
00023 #include <string>
00024 #include <map>
00025 #include "ShDllExport.hpp"
00026
00027 namespace SH {
00028
00029 class ShMeta;
00030
00031 class
00032 SH_DLLEXPORT ShMetaForwarder {
00033 public:
00034 ShMetaForwarder(ShMeta* meta);
00035
00036 std::string name() const;
00037 void name(const std::string& n);
00038 bool has_name() const;
00039
00040 bool internal() const;
00041 void internal(bool);
00042
00043 std::string title() const;
00044 void title(const std::string& t);
00045
00046 std::string description() const;
00047 void description(const std::string& d);
00048
00049 std::string meta(const std::string& key) const;
00050 void meta(const std::string& key, const std::string& value);
00051
00052 std::map<std::string, std::string>::const_iterator begin_meta() const;
00053 std::map<std::string, std::string>::const_iterator end_meta() const;
00054
00055 protected:
00056 ShMeta* real_meta();
00057 void real_meta(ShMeta*);
00058
00059 private:
00060 ShMeta* m_meta;
00061 };
00062
00063 }
00064
00065 #endif