#ifndef _NNTP_MAINWINDOW_HPP_ #define _NNTP_MAINWINDOW_HPP_ #ifndef _COMMON_MDIFRM_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _SOCKET_WSADATA_HPP_ #include #endif #ifndef _NNTP_NNTPTHREAD_HPP_ #include #endif #ifndef _NNTP_NEWSGROUP_HPP_ #include #endif #ifndef _NNTP_NEWSOPTION_HPP_ #include #endif #ifndef _NNTP_HEADER_HPP_ #include #endif #ifndef _BSPTREE_BTREE_HPP_ #include #endif #ifndef _COMMON_POINTER_HPP_ #include #endif #ifndef _THREAD_MONITOR_HPP_ #include #endif class RasInterface; class EditWindow; class StatusBarEx; class LogView; class ImageView; class BrowseView; class MainFrame : public FrameWindow, private NNTPThread { public: MainFrame(void); virtual ~MainFrame(); protected: virtual void mdiDestroy(MDIWindow &mdiWindow); virtual void mdiActivate(MDIWindow &mdiWindow); virtual void mdiDeactivate(MDIWindow &mdiWindow); virtual void moreWindows(void); private: enum{StatusBarID=101}; CallbackData::ReturnType closeHandler(CallbackData &someCallbackData); CallbackData::ReturnType queryEndSessionHandler(CallbackData &someCallbackData); 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 lineHandler(CallbackData &someCallbackData); CallbackData::ReturnType browseSelectHandler(CallbackData &someCallbackData); BrowseView &createBrowseView(void); LogView &createLogView(void); ImageView &createImageView(void); ImageView &createDocumentView(void); BOOL openDocument(const String &strPathFileName); BOOL openImage(const String &strPathFileName); void createControls(void); void insertHandlers(void); void removeHandlers(void); void getParams(String &hostName,String &userName,String &password); void handleRetrieve(void); void message(String messageString); void message(Block &messageStrings); void handleCancelNews(void); void decode(const String &pathFileName,String &strPathImageFile); void loadFilterList(void); WORD retrieveNews(const String &newsGroup); WORD retrieveNews(void); WORD retrieveGroups(void); WORD saveBlock(const String &pathFileName,Block &stringBlock); WORD dialHost(void); DWORD getSubscriberList(Block &subscriberList); BOOL getArticles(const String &newGroup,Block &msgIDs); bool inSubject(Block &headText); DWORD priorDays(void)const; void verifyNewsDirectory(void); void handleFileOpen(void); void handleViewLog(void); void handleFileBrowse(void); void handleSubscribe(void); void handleNewsServer(void); void handleGeneralOptions(void); void handleRasSettings(void); void handleClearLog(void); void handleImageFitToWindow(void); DWORD openHandler(ThreadMessage &someThreadMessage); DWORD preOpenHandler(ThreadMessage &someThreadMessage); DWORD postOpenHandler(ThreadMessage &someThreadMessage); Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mKeyDownHandler; Callback mSizeHandler; Callback mCreateHandler; Callback mCloseHandler; Callback mQueryEndSessionHandler; Callback mBrowseSelectHandler; ThreadCallback mOpenHandler; ThreadCallback mPreOpenHandler; ThreadCallback mPostOpenHandler; SmartPointer mRasInterface; SmartPointer mStatusControl; SmartPointer mLogViewWinCache; Block mSubscriberList; Block mFilterList; String mLastOpenDirectory; BTree mMasterList; WSASystem mWSASystem; NewsOption mNewsOption; bool mIsCancelled; }; #endif