windows-nt/Source/XPSP1/NT/net/sfm/afp/ui/afpmgr/curusers.hxx
2020-09-26 16:20:57 +08:00

221 lines
4.9 KiB
C++

/*****************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1991 **/
/*****************************************************************/
/*
curusers.hxx
Contains class definitions for the curent users dialog.
CURRENT_USERS_WARNING_DIALOG
CURRENT_USERS_LISTBOX
CURRENT_USERS_LBI
History:
NarenG 11/13/92 Modified for AFPMGR
*/
#ifndef _CURUSERS_HXX_
#define _CURUSERS_HXX_
//
// Number of columns in VOLUME listbox
//
#define COLS_CU_LB_USERS 3
/*************************************************************************
NAME: CURRENT_USERS_LBI
SYNOPSIS: Listbox items in the CURRENT_USERS_LISTBOX in
CURRENT_USERS_WARNING_DIALOG
INTERFACE: CURRENT_USERS_LBI() - Constructor
~CURRENT_USERS_LBI() - Destructor
PARENT: LBI
USES: NLS_STR
CAVEATS:
NOTES:
HISTORY:
NarenG 11/13/92 Modified for AFPMGR
**************************************************************************/
class CURRENT_USERS_LBI: public LBI
{
//
// Name of the user
//
NLS_STR _nlsUserName;
//
// Number of open files the user has
//
DWORD _dwNumOpens;
//
// Elapsed time since the user connect to the share
//
ULONG _ulTime;
//
// Id of this connection.
//
DWORD _dwId;
protected:
virtual VOID Paint( LISTBOX *plb,
HDC hdc,
const RECT *prect,
GUILTT_INFO *pGUILTT ) const;
virtual INT Compare( const LBI *plbi ) const;
//
// Convert the time in seconds to the output string
//
APIERR ConvertTime( ULONG ulTime, NLS_STR *pnlsTime ) const;
public:
DWORD QueryId( VOID ) const
{ return _dwId; }
CURRENT_USERS_LBI( const TCHAR * pszUserName,
DWORD dwNumOpens,
DWORD dwTime,
DWORD dwId );
};
/*************************************************************************
NAME: CURRENT_USERS_LISTBOX
SYNOPSIS: The listbox that displays the user/file opens/elapsed of
the users that have connection to the share to be deleted.
Used by the CURRENT_USERS_WARNING_DIALOG
INTERFACE: CRRENT_USERS_LISTBOX() - Constructor
QueryItem() - Query the USERS_LBI
QueryColumnWidths() - Return the array of column widths
PARENT: BLT_LISTBOX
USES:
CAVEATS:
NOTES:
HISTORY:
NarenG 11/13/92 Modified for AFPMGR
**************************************************************************/
class CURRENT_USERS_LISTBOX: public BLT_LISTBOX
{
private:
//
// Array of column widths
//
UINT _adx[COLS_CU_LB_USERS];
public:
CURRENT_USERS_LISTBOX( OWNER_WINDOW *powin, CID cid );
DECLARE_LB_QUERY_ITEM( CURRENT_USERS_LBI );
const UINT *QueryColumnWidths( VOID ) { return _adx; }
APIERR Fill( PAFP_CONNECTION_INFO pAfpConnections,
DWORD nConnections );
};
/*************************************************************************
NAME: CURRENT_USERS_WARNING_DIALOG
SYNOPSIS: This dialog pops up if there are users using the volume
that is to be deleted. The listbox have three columns,
listing the usernmame, the number of file opens, and the
elapsed time since connection.
INTERFACE: CURRENT_USERS_WARNING_DIALOG() - Constructor
PARENT: DIALOG_WINDOW
USES: CURRENT_USERS_LISTBOX, SLT
CAVEATS:
NOTES: OnOK and OnCancel is not redefined here. The default in the
DIALOG_WINDOW class serves the purpose - Dismiss( FALSE )
OnCancel and Dismiss(TRUE) OnOK.
The list box in this dialog is a read-only listbox.
HISTORY:
NarenG 11/13/92 Modified for AFPMGR
**************************************************************************/
class CURRENT_USERS_WARNING_DIALOG: public DIALOG_WINDOW
{
private:
//
// Display the volume name to be deleted
//
SLT _sltVolumeText;
//
// Listbox for displaying the users connected to the volume
//
CURRENT_USERS_LISTBOX _lbUsers;
//
// Handle to the remote server.
//
AFP_SERVER_HANDLE _hServer;
protected:
virtual ULONG QueryHelpContext( VOID );
virtual BOOL OnCommand( const CONTROL_EVENT & event );
public:
CURRENT_USERS_WARNING_DIALOG( HWND hwndParent,
AFP_SERVER_HANDLE hServer,
PAFP_CONNECTION_INFO pAfpConnections,
DWORD nConnections,
const TCHAR *pszVolumeName );
~CURRENT_USERS_WARNING_DIALOG();
};
#endif