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.
|
|
//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// File: find.hxx
//
// Contents: Definitions of classes for the find event record feature.
//
// Classes: CFindInfo
// CFindDlg
//
// History: 3-19-1997 DavidMun Created
//
//---------------------------------------------------------------------------
#ifndef __FIND_HXX_
#define __FIND_HXX_
class CFindInfo;
//===========================================================================
//
// CFindDlg class
//
//===========================================================================
//+--------------------------------------------------------------------------
//
// Class: CFindDlg
//
// Purpose: Support a dialog specifying criteria for searching for a
// record.
//
// History: 3-19-1997 DavidMun Created
//
//---------------------------------------------------------------------------
class CFindDlg: public CDlg { public:
CFindDlg();
VOID SetParent( CFindInfo *pfi);
~CFindDlg();
HRESULT DoModelessDlg( CSnapin *pSnapin);
HWND GetDlgWindow();
protected:
//
// CDlg overrides
//
virtual VOID _OnHelp( UINT message, WPARAM wParam, LPARAM lParam);
virtual HRESULT _OnInit( BOOL *pfSetFocus);
virtual BOOL _OnCommand( WPARAM wParam, LPARAM lParam);
virtual VOID _OnDestroy();
//
// non-override members
//
VOID _OnClear();
VOID _OnNext();
private:
static DWORD WINAPI _ThreadFunc( LPVOID pvThis);
BOOL _fNonDescDirty; BOOL _fDescDirty; CFindInfo *_pfi; // back pointer to parent
IStream *_pstm; // unmarshal to get _prpa
IResultPrshtActions *_prpa; };
//+--------------------------------------------------------------------------
//
// Member: CFindDlg::SetParent
//
// Synopsis: Set backpointer to parent (containing) object
//
// History: 4-22-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline VOID CFindDlg::SetParent( CFindInfo *pfi) { ASSERT(pfi); _pfi = pfi; }
//+--------------------------------------------------------------------------
//
// Member: CFindDlg::GetDlgWindow
//
// Synopsis: Return dialog window, or if none is open, NULL.
//
// History: 4-22-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline HWND CFindDlg::GetDlgWindow() { return _hwnd; }
//===========================================================================
//
// CFindInfo class
//
//===========================================================================
//+--------------------------------------------------------------------------
//
// Class: CFindInfo
//
// Purpose: Encapsulate information associated with a find dialog for
// a cloginfo/csnapin pair.
//
// History: 3-19-1997 DavidMun Created
//
//---------------------------------------------------------------------------
class CFindInfo: public CFindFilterBase, public CDLink { public:
CFindInfo( CSnapin *pSnapin, CLogInfo *pli);
virtual ~CFindInfo();
virtual BOOL Passes( CFFProvider *pFFP);
VOID Reset();
HWND GetDlgWindow();
CLogInfo * GetLogInfo();
DIRECTION GetDirection();
VOID SetDirection( DIRECTION FindDirection);
LPCWSTR GetDescription();
HRESULT OnFind(); VOID SetDescription( LPWSTR pwszDescription);
VOID Shutdown();
#if (DBG == 1)
VOID Dump(); #endif // (DBG == 1)
//
// CDLink overrides
//
CFindInfo * Next(); private:
CSnapin *_pSnapin; // backpointer to parent snapin
CLogInfo *_pli; // log to perform find on
CFindDlg _FindDlg; // manages modeless find dialog
LPWSTR _pwszDescription; DIRECTION _FindDirection; };
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::GetDescription
//
// Synopsis: Access function for description
//
// History: 3-24-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline LPCWSTR CFindInfo::GetDescription() { return _pwszDescription; }
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::GetDirection
//
// Synopsis: Access function for search direction
//
// History: 3-24-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline DIRECTION CFindInfo::GetDirection() { return _FindDirection; }
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::GetDlgWindow
//
// Synopsis: Access func for dialog hwnd
//
// History: 3-21-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline HWND CFindInfo::GetDlgWindow() { return _FindDlg.GetDlgWindow(); }
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::GetLogInfo
//
// Synopsis: Access func for log info to which this applies
//
// History: 3-24-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline CLogInfo * CFindInfo::GetLogInfo() { return _pli; }
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::SetDirection
//
// Synopsis: Access func for direction
//
// History: 3-25-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline VOID CFindInfo::SetDirection( DIRECTION FindDirection) { if (FindDirection == FORWARD) { _FindDirection = FindDirection; } else { _FindDirection = BACKWARD; } }
//+--------------------------------------------------------------------------
//
// Member: CFindInfo::Next
//
// Synopsis: CDLink override to save typing.
//
// History: 3-21-1997 DavidMun Created
//
//---------------------------------------------------------------------------
inline CFindInfo * CFindInfo::Next() { return (CFindInfo *)CDLink::Next(); }
#endif // __FIND_HXX_
|