Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

157 lines
5.6 KiB

/////////////////////////////////////////////////////////////////////////////
// Copyright (C) 1993-1996 Microsoft Corporation. All Rights Reserved.
//
// MODULE: Order.h
//
// PURPOSE: Header file for the order articles dialog
//
#define IDC_MESSAGE_LIST 1001
#define IDC_MOVE_UP 1002
#define IDC_MOVE_DOWN 1003
#define IDC_DOWNLOAD_AVI 2001
#define IDC_GENERAL_TEXT 2002
#define IDC_SPECIFIC_TEXT 2003
#define IDC_DOWNLOAD_PROG 2004
/////////////////////////////////////////////////////////////////////////////
// Class CCombineAndDecode
//
class CCombineAndDecode : public IStoreCallback, public ITimeoutCallback
{
public:
/////////////////////////////////////////////////////////////////////////
// Construction and Initialization
//
CCombineAndDecode();
~CCombineAndDecode();
HRESULT Start(HWND hwndParent, IMessageTable *pTable, ROWINDEX *rgRows,
DWORD cRows, FOLDERID idFolder);
/////////////////////////////////////////////////////////////////////////
// IUnknown
//
STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID *ppvObj);
STDMETHOD_(ULONG, AddRef)(THIS);
STDMETHOD_(ULONG, Release)(THIS);
/////////////////////////////////////////////////////////////////////////
// IStoreCallback interface
//
STDMETHODIMP OnBegin(STOREOPERATIONTYPE tyOperation, STOREOPERATIONINFO *pOpInfo, IOperationCancel *pCancel);
STDMETHODIMP OnProgress(STOREOPERATIONTYPE tyOperation, DWORD dwCurrent, DWORD dwMax, LPCSTR pszStatus);
STDMETHODIMP OnTimeout(LPINETSERVER pServer, LPDWORD pdwTimeout, IXPTYPE ixpServerType);
STDMETHODIMP CanConnect(LPCSTR pszAccountId, DWORD dwFlags);
STDMETHODIMP OnLogonPrompt(LPINETSERVER pServer, IXPTYPE ixpServerType);
STDMETHODIMP OnComplete(STOREOPERATIONTYPE tyOperation, HRESULT hrComplete, LPSTOREOPERATIONINFO pOpInfo, LPSTOREERROR pErrorInfo);
STDMETHODIMP OnPrompt(HRESULT hrError, LPCTSTR pszText, LPCTSTR pszCaption, UINT uType, INT *piUserResponse);
STDMETHODIMP GetParentWindow(DWORD dwReserved, HWND *phwndParent);
/////////////////////////////////////////////////////////////////////////
// ITimeoutCallback
//
STDMETHODIMP OnTimeoutResponse(TIMEOUTRESPONSE eResponse);
/////////////////////////////////////////////////////////////////////////
// Order dialog message handling stuff
//
public:
static INT_PTR CALLBACK OrderDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
private:
INT_PTR CALLBACK _OrderDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL _Order_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void _Order_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void _Order_OnClose(HWND hwnd);
LRESULT _Order_OnDragList(HWND hwnd, int idCtl, LPDRAGLISTINFO lpdli);
/*
void _Order_OnGetMinMaxInfo(HWND hwnd, LPMINMAXINFO lpmmi);
void _Order_OnSize(HWND hwnd, UINT state, int cx, int cy);
void _Order_OnPaint(HWND hwnd);
*/
/////////////////////////////////////////////////////////////////////////
// Order dialog message handling stuff
//
public:
static INT_PTR CALLBACK CombineDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
private:
INT_PTR CALLBACK _CombineDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL _Combine_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void _Combine_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void _Combine_OnDestroy(HWND hwnd);
/////////////////////////////////////////////////////////////////////////
// Utility Functions
//
void _Combine_GetNextArticle(HWND hwnd);
void _Combine_OnMsgAvail(HWND hwnd);
void _Combine_OpenNote(HWND hwnd);
/////////////////////////////////////////////////////////////////////////
// Member Data
//
private:
ULONG m_cRef;
// Groovy Window Handles
HWND m_hwndParent;
// Interface pointers and all that
IMessageTable *m_pTable;
ROWINDEX *m_rgRows;
DWORD m_cRows;
FOLDERID m_idFolder;
// Order dialog state variables
LPTSTR m_pszBuffer;
LPARAM m_lpData;
UINT m_iItemToMove;
// Combine dialog state variables
DWORD m_cLinesTotal;
DWORD m_cCurrentLine;
DWORD m_cPrevLine;
DWORD m_dwCurrentArt;
IMimeMessageParts *m_pMsgParts;
IOperationCancel *m_pCancel;
STOREOPERATIONTYPE m_type;
HTIMEOUT m_hTimeout;
HWND m_hwndDlg;
};
#if 0
typedef struct tagORDERPARAMS
{
// This stuff get's passed in
PINETMSGHDR *rgpMsgs;
DWORD cMsgs;
HWND hwndOwner;
CNNTPServer *pNNTPServer;
CGroup *pGroup;
TCHAR szGroup[256];
// This stuff is private data for the dialog
DWORD cLinesTotal;
DWORD cCurrentLine;
DWORD cPrevLine;
DWORD dwCurrentArt;
LPMIMEMESSAGEPARTS pMsgParts;
} ORDERPARAMS, *PORDERPARAMS;
BOOL CALLBACK OrderMsgsDlg(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL CALLBACK CombineAndDecodeProg(HWND hwnd, UINT uMsg, WPARAM wParam,
LPARAM lParam);
#endif