OpenMW
apps/openmw/mwdialogue/topic.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWDIALOG_TOPIC_H
00002 #define GAME_MWDIALOG_TOPIC_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 #include "journalentry.hpp"
00008 
00009 namespace MWDialogue
00010 {
00012     class Topic
00013     {
00014         public:
00015 
00016             typedef std::vector<std::string> TEntryContainer;
00017             typedef TEntryContainer::const_iterator TEntryIter;
00018 
00019         protected:
00020 
00021             std::string mTopic;
00022             TEntryContainer mEntries; // info-IDs
00023 
00024         public:
00025 
00026             Topic();
00027 
00028             Topic (const std::string& topic);
00029 
00030             virtual ~Topic();
00031 
00032             virtual void addEntry (const JournalEntry& entry);
00036 
00037             std::string const & getName () const { return mTopic; }
00038 
00039             TEntryIter begin() const;
00041 
00042             TEntryIter end() const;
00044 
00045             JournalEntry getEntry (const std::string& infoId) const;
00046     };
00047 }
00048 
00049 #endif