117 lines
3.3 KiB
Plaintext
117 lines
3.3 KiB
Plaintext
#ifndef _NNTP_MAINWINDOW_HPP_
|
|
#define _NNTP_MAINWINDOW_HPP_
|
|
#ifndef _COMMON_WINDOW_HPP_
|
|
#include <common/window.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _DISPLAY_EDITWINDOW_HPP_
|
|
#include <display/editwnd.hpp>
|
|
#endif
|
|
#ifndef _SOCKET_WSADATA_HPP_
|
|
#include <socket/wsadata.hpp>
|
|
#endif
|
|
#ifndef _NNTP_NNTPCLIENT_HPP_
|
|
#include <nntp/nntp.hpp>
|
|
#endif
|
|
#ifndef _NNTP_NNTPTHREAD_HPP_
|
|
#include <nntp/nntpthrd.hpp>
|
|
#endif
|
|
#ifndef _NNTP_NEWSGROUP_HPP_
|
|
#include <nntp/newsgrp.hpp>
|
|
#endif
|
|
#ifndef _NNTP_NEWSOPTION_HPP_
|
|
#include <nntp/newsopt.hpp>
|
|
#endif
|
|
#ifndef _BSPTREE_BTREE_HPP_
|
|
#include <bsptree/btree.hpp>
|
|
#endif
|
|
#ifndef _COMMON_POINTER_HPP_
|
|
#include <common/pointer.hpp>
|
|
#endif
|
|
|
|
class RasInterface;
|
|
class DirTree;
|
|
|
|
class MainWindow : public Window, private NNTPThread
|
|
{
|
|
public:
|
|
MainWindow(void);
|
|
virtual ~MainWindow();
|
|
int messageLoop(void)const;
|
|
static String className(void);
|
|
private:
|
|
enum{TimerID=0};
|
|
void createControls(void);
|
|
void registerClass(void)const;
|
|
void insertHandlers(void);
|
|
void removeHandlers(void);
|
|
void getHostName(String &hostName);
|
|
void handleRetrieve(void);
|
|
void message(String messageString);
|
|
void message(Block<String> &messageStrings);
|
|
void handleCancelNews(void);
|
|
WORD retrieveNews(const String &newsGroup);
|
|
WORD retrieveNews(void);
|
|
WORD retrieveGroups(void);
|
|
WORD saveBlock(const String &pathFileName,Block<String> &stringBlock);
|
|
WORD waitForScheduledEvent(void);
|
|
WORD dialHost(void);
|
|
DWORD getSubscriberList(Block<NewsGroup> &subscriberList);
|
|
DWORD priorDays(void)const;
|
|
void handleSubscribe(void);
|
|
void handleNewsServer(void);
|
|
void handleNewsDir(void);
|
|
void handleNewsDirRefresh(void);
|
|
void handleGeneralOptions(void);
|
|
void handleRasSettings(void);
|
|
|
|
CallbackData::ReturnType paintHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType createHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType timerHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType lineHandler(CallbackData &someCallbackData);
|
|
DWORD openHandler(ThreadMessage &someThreadMessage);
|
|
DWORD preOpenHandler(ThreadMessage &someThreadMessage);
|
|
DWORD postOpenHandler(ThreadMessage &someThreadMessage);
|
|
|
|
Callback<MainWindow> mPaintHandler;
|
|
Callback<MainWindow> mDestroyHandler;
|
|
Callback<MainWindow> mCommandHandler;
|
|
Callback<MainWindow> mKeyDownHandler;
|
|
Callback<MainWindow> mSizeHandler;
|
|
Callback<MainWindow> mCreateHandler;
|
|
Callback<MainWindow> mLineHandler;
|
|
Callback<MainWindow> mTimerHandler;
|
|
ThreadCallback<MainWindow> mOpenHandler;
|
|
ThreadCallback<MainWindow> mPreOpenHandler;
|
|
ThreadCallback<MainWindow> mPostOpenHandler;
|
|
static char szClassName[];
|
|
static char szMenuName[];
|
|
RasInterface *mlpRasInterface;
|
|
SmartPointer<DirTree> mDirTree;
|
|
SmartPointer<EditWindow> mEditWindow;
|
|
Block<NewsGroup> mSubscriberList;
|
|
BTree<MsgID> mMasterList;
|
|
WSASystem mWSASystem;
|
|
WORD mCancelWait;
|
|
NewsOption mNewsOption;
|
|
};
|
|
|
|
inline
|
|
String MainWindow::className(void)
|
|
{
|
|
return String(szClassName);
|
|
}
|
|
|
|
inline
|
|
int MainWindow::messageLoop(void)const
|
|
{
|
|
return Window::messageLoop();
|
|
}
|
|
#endif
|