#ifndef _NNTP_NEWSITEM_HPP_ #define _NNTP_NEWSITEM_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _NNTP_HEADER_HPP_ #include #endif class NewsItem : public Header { public: NewsItem(void); NewsItem(const NewsItem &someNewsItem); NewsItem(const String &pathFileName); virtual ~NewsItem(); NewsItem &operator=(const NewsItem &someNewsItem); NewsItem &operator=(const String &pathFileName); NewsItem &operator=(const Header &someHeader); WORD operator<(const NewsItem &someNewsItem)const; WORD operator>(const NewsItem &someNewsItem)const; WORD operator==(const NewsItem &someNewsItem)const; const String &name(void)const; void name(const String &name); DWORD part(void)const; void part(DWORD part); DWORD parts(void)const; void parts(DWORD parts); const String &pathFileName(void)const; void pathFileName(const String &pathFileName); WORD isOkay(void)const; private: String mName; DWORD mPart; DWORD mParts; String mPathFileName; }; inline NewsItem::NewsItem(void) : mPart(0), mParts(0) { } inline NewsItem::NewsItem(const NewsItem &someNewsItem) : mPart(0), mParts(0) { *this=someNewsItem; } inline NewsItem::NewsItem(const String &pathFileName) : mPart(0), mParts(0) { *this=pathFileName; } inline NewsItem::~NewsItem() { } inline NewsItem &NewsItem::operator=(const NewsItem &someNewsItem) { name(someNewsItem.name()); part(someNewsItem.part()); parts(someNewsItem.parts()); pathFileName(someNewsItem.pathFileName()); return *this; } inline WORD NewsItem::operator==(const NewsItem &someNewsItem)const { return (name()==someNewsItem.name()&& part()==someNewsItem.part()&& parts()==someNewsItem.parts()); } inline WORD NewsItem::operator<(const NewsItem &someNewsItem)const { return (part()(const NewsItem &someNewsItem)const { return (part()>someNewsItem.part()); } inline const String &NewsItem::name(void)const { return mName; } inline void NewsItem::name(const String &name) { mName=name; } inline DWORD NewsItem::part(void)const { return mPart; } inline void NewsItem::part(DWORD part) { mPart=part; } inline DWORD NewsItem::parts(void)const { return mParts; } inline void NewsItem::parts(DWORD parts) { mParts=parts; } inline const String &NewsItem::pathFileName(void)const { return mPathFileName; } inline void NewsItem::pathFileName(const String &pathFileName) { mPathFileName=pathFileName; } inline WORD NewsItem::isOkay(void)const { if(!part()&&!parts())return FALSE; return TRUE; } #endif