151 lines
2.6 KiB
C++
151 lines
2.6 KiB
C++
#ifndef _NNTP_NEWSITEM_HPP_
|
|
#define _NNTP_NEWSITEM_HPP_
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _NNTP_HEADER_HPP_
|
|
#include <nntp/header.hpp>
|
|
#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()<someNewsItem.part());
|
|
}
|
|
|
|
inline
|
|
WORD NewsItem::operator>(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 |