⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rssmanager.h

📁 beereader source code
💻 H
字号:
// RSSManager.h: interface for the CRSSManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RSSMANAGER_H__9A327D07_E8DA_454C_80C6_8C35826D8219__INCLUDED_)
#define AFX_RSSMANAGER_H__9A327D07_E8DA_454C_80C6_8C35826D8219__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "StdDate.h"
#include "RSSElement.h"
#include "RSSCategory.h"
#include "RSSSource.h"
#include "RSSGuid.h"
#include "RSSImage.h"
#include "RSSCloud.h"
#include "RssEnclosure.h"
#include "RSSTextInput.h"
#include "RSSItem.h"
#include "RSSChannel.h"

#include <Afxtempl.h>
#include "RSSReader.h"
#include "RSSWriter.h"
#include "RSSReaderXML.h"
#include "RSSWriterXML.h"

#include "MarkupMSXML.h"
#include "OPML.h"

#define  WM_SUSPEND_WRITER   WM_USER+206

DWORD WINAPI ReaderThread( LPVOID pParam);
DWORD WINAPI WriterThread( LPVOID pParam);

class CRSSManager  
{
public:
	CRSSChannel* AddChannel( CRSSChannel*& pChannel,CString szGUID,BOOL bRefresh  );
	CRSSChannel* AddChannel( CRSSChannel*& pChannel,CString szURL);
	BOOL  RemoveChannel( CRSSChannel* pChannel);
	int   Update(CRSSChannel* pChannel = NULL,BOOL bAuto = TRUE); //更新频道.
    BOOL  CreateRSSFeed( CRSSChannel* pChannel , CString szFileName );
	BOOL  SaveLocalCache( CRSSChannel* pChannel );
	
	void  SetUpdateTimer( int timer ) { m_UpdateTimer = timer; };
	int   GetUpdateTimer(){ return m_UpdateTimer; };
	
	void  SetSuspend_Writer_Thread(HWND hwnd){ m_hSuspend_Writer_Thread = hwnd; };
    HWND  GetSuspend_Writer_Thread(){ return m_hSuspend_Writer_Thread; };

	CRSSManager(CRSSReader* pReader = NULL,CRSSWriter* pWriter = NULL);
	CRSSReader* GetReader() { return m_Reader; }
	CRSSWriter* GetWriter() { return m_Writer; }
	virtual ~CRSSManager();
public:
	CObArray   ReaderQueue; //读队列。
    CObArray   WriterQueue; //写队列。
	CObArray	m_Channels;
	BOOL	   bReaderRunning;
	BOOL	   bWriterRunning;
	HANDLE     hReaderThread;
	HANDLE     hWriterThread;
	HANDLE     mutexReader,mutexWriter;
	CRSSChannel*    m_ReaderingChannel;
	CRSSChannel*    m_WriteringChannel;

private:
	BOOL  CheckUpdate(CRSSChannel* pChannel);

	BOOL BeginReaderThread();
	BOOL BeginWriterThread();
	
	int			m_UpdateTimer;

	CRSSReader*		m_Reader;
	CRSSWriter*     m_Writer;
	CRSSReaderXML*	m_ReaderXML;
	CRSSWriterXML*	m_WriterXML;
	HWND            m_hSuspend_Writer_Thread;

};

#endif // !defined(AFX_RSSMANAGER_H__9A327D07_E8DA_454C_80C6_8C35826D8219__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -