Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

184 lines
4.7 KiB

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1992 **/
/**********************************************************************/
/*
settings.hxx
Header file for Event Viewer's Settings dialog
FILE HISTORY:
Yi-HsinS 11-Feb-1992 Created
Yi-HsinS 25-Feb-1992 Change constructor for
SETTINGS_DIALOG
*/
#ifndef _SETTINGS_HXX_
#define _SETTINGS_HXX_
#include <uatom.hxx>
#include <regkey.hxx>
#include <lmoloc.hxx>
//
// Structure used for storing registry information for each module
//
struct LOG_INFO {
REG_KEY *pRegKeyLog;
ULONG ulCurrentMaxSize;
UINT uiMaxSize;
UINT uiRetention;
};
class SETTINGS_DIALOG; // Forward Declaration
/*************************************************************************
NAME: SETTINGS_GROUP
SYNOPSIS: Group for detecting when the user changes the selection
in the combo box.
INTERFACE: SETTINGS_GROUP() - Constructor
~SETTINGS_GROUP() - Destructor
PARENT: CONTROL_GROUP
USES: COMBOBOX, SETTINGS_DIALOG
HISTORY:
Yi-HsinS 11-Feb-1992 Created
**************************************************************************/
class SETTINGS_GROUP : public CONTROL_GROUP
{
private:
COMBOBOX *_pcbEventLog;
SETTINGS_DIALOG *_pdlgSettings;
protected:
virtual APIERR OnUserAction( CONTROL_WINDOW *pcw, const CONTROL_EVENT &e);
COMBOBOX *QueryCBEventLog( VOID )
{ return _pcbEventLog; }
public:
SETTINGS_GROUP( COMBOBOX *pcbEventLog, SETTINGS_DIALOG *pdlgSettings );
~SETTINGS_GROUP();
};
/*************************************************************************
NAME: SETTINGS_DIALOG
SYNOPSIS: Settings dialog of the event viewer
INTERFACE: SETTINGS_DIALOG() - Constructor
~SETTINGS_DIALOG() - Destructor
UpdateValue() - Update the information in the dialog
based on the selection in the combo box
PARENT: DIALOG_WINDOW
USES: COMBOBOX, SPIN_GROUP, SPIN_SLE_NUM,
MAGIC_GROUP, PUSH_BUTTON, SETTINGS_GROUP,
NLs_STR, LOG_INFO
HISTORY:
Yi-HsinS 11-Feb-1992 Created
**************************************************************************/
class SETTINGS_DIALOG : public DIALOG_WINDOW
{
private:
COMBOBOX _cbEventLog;
SPIN_SLE_NUM _spsleLogSize;
SPIN_GROUP _spgrpLogSize;
MAGIC_GROUP _mgrpRetention;
SPIN_SLE_NUM _spsleDays;
SPIN_GROUP _spgrpDays;
PUSH_BUTTON _pbDefault;
SETTINGS_GROUP *_pSettingsGrp;
// The server we are focusing on
NLS_STR _nlsCurrentServer;
// The index of the current item selected in the combo box
INT _iSelected;
// Indicate the number of modules in the combo box
UINT _uiNumLogFiles;
// Pointer to an array storing the registry information of modules
LOG_INFO *_paLogInfo;
protected:
virtual BOOL OnOK( VOID );
virtual ULONG QueryHelpContext( VOID );
virtual BOOL OnCommand( const CONTROL_EVENT &event );
//
// Used when the user clicks on the default push button
//
VOID OnDefault( VOID );
//
// Query the max size stored in the dialog
//
UINT QueryMaxSize( VOID );
//
// Query the retention stored in the dialog
//
UINT QueryRetention( VOID );
//
// Query the radio button that should be selected in the
// retention magic group for the given retention period
//
CID QueryCidForRetention( UINT uiRetention );
//
// The maximum size stored in the registry is in bytes while
// the maxumum size displayed in the dialog is in kilobytes.
// Hence, the following routines are used for converting
// between bytes and kilobytes.
//
ULONG ConvertMaxSizeToBytes( UINT uiMaxSize );
UINT ConvertMaxSizeFromBytes( ULONG ulMaxSize );
//
// The retention stored in the registry is in seconds while
// the retention displayed in the dialog is in days.
// Hence, the following routines are used for converting
// between secs and days.
//
ULONG ConvertRetentionToSecs( UINT uiRetention );
UINT ConvertRetentionFromSecs( ULONG ulRetention );
//
// Map the registry error
//
APIERR MapRegistryError( APIERR err );
public:
SETTINGS_DIALOG( HWND hwndParent,
const TCHAR *pszCurrentServer,
LOG_TYPE logType );
~SETTINGS_DIALOG();
VOID UpdateValue( VOID );
};
#endif // _SETTINGS_HXX_