Files
Work/nntp/MAINWND.BAK
2024-08-07 09:16:27 -04:00

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