00001 00032 #ifndef LL_NOTECARD_H 00033 #define LL_NOTECARD_H 00034 00035 #include "llmemory.h" 00036 #include "llinventory.h" 00037 00038 class LLNotecard 00039 { 00040 public: 00044 enum 00045 { 00046 MAX_SIZE = 65536 00047 }; 00048 00049 LLNotecard(S32 max_text = LLNotecard::MAX_SIZE); 00050 virtual ~LLNotecard(); 00051 00052 bool importStream(std::istream& str); 00053 bool exportStream(std::ostream& str); 00054 00055 const std::vector<LLPointer<LLInventoryItem> >& getItems() const; 00056 LLString& getText(); 00057 00058 void setItems(const std::vector<LLPointer<LLInventoryItem> >& items); 00059 void setText(const LLString& text); 00060 S32 getVersion() { return mVersion; } 00061 S32 getEmbeddedVersion() { return mEmbeddedVersion; } 00062 00063 private: 00064 bool importEmbeddedItemsStream(std::istream& str); 00065 bool exportEmbeddedItemsStream(std::ostream& str); 00066 std::vector<LLPointer<LLInventoryItem> > mItems; 00067 LLString mText; 00068 S32 mMaxText; 00069 S32 mVersion; 00070 S32 mEmbeddedVersion; 00071 }; 00072 00073 #endif /* LL_NOTECARD_H */