windows-nt/Source/XPSP1/NT/admin/netui/ftpmgr/h/ftpmgr.hxx

331 lines
8.9 KiB
C++
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1993 **/
/**********************************************************************/
/*
ftpmgr.hxx
Class declarations for the FTP_SVCMGR_DIALOG
FILE HISTORY:
YiHsinS 17-Mar-1992 Created
*/
#ifndef _FTPMGR_HXX_
#define _FTPMGR_HXX_
#include <ctime.hxx> // for WIN_TIME
#include <intlprof.hxx> // for INTL_PROF
/*************************************************************************
NAME: FTP_USER_LBI
SYNOPSIS: This LBI contains the information about a user connected
to the FTP service.
INTERFACE: FTP_USER_LBI() - Class constructor.
~FTP_USER_LBI() - Class destructor.
Paint() - Draw an item.
Compare() - Compare two items.
QueryLeadingChar() - Query the first character for
the keyboard interface.
QueryUserName() - Query the user name for this item.
QueryUserID() - Returns the User ID for this item.
IsAnonymous() - TRUE if the user logs on as anonymous,
FALSE otherwise.
QueryInternetAddressString() - Get the internet address
where this user is connected from
QueryConnectTimeString() - Get the duration of time this
user is connected
PARENT: LBI
USES: NLS_STR
HISTORY:
Yi-HsinS 17-Mar-1992 Created
**************************************************************************/
class FTP_USER_LBI : public LBI
{
protected:
//
// These data members represent the various
// columns to be displayed in the listbox.
//
NLS_STR _nlsUserName;
ULONG _ulUserID;
BOOL _fAnonymous;
NLS_STR _nlsInternetAddress;
NLS_STR _nlsConnectTimeString;
public:
FTP_USER_LBI( const TCHAR *pszUserName,
ULONG ulUserID,
BOOL fAnonymous,
const TCHAR *pszInternetAddress,
const TCHAR *pszConnectTimeString );
virtual ~FTP_USER_LBI() ;
virtual VOID Paint( LISTBOX *plb, HDC hdc, const RECT *prect,
GUILTT_INFO *pGUILTT ) const;
virtual INT Compare( const LBI *plbi ) const;
virtual WCHAR QueryLeadingChar( VOID ) const;
const NLS_STR *QueryUserName( VOID ) const
{ return &_nlsUserName; }
ULONG QueryUserID( VOID ) const
{ return _ulUserID; }
BOOL IsAnonymousUser( VOID ) const
{ return _fAnonymous; }
const NLS_STR *QueryInternetAddressString( VOID ) const
{ return &_nlsInternetAddress; }
const NLS_STR *QueryConnectTimeString( VOID ) const
{ return &_nlsConnectTimeString; }
};
/*************************************************************************
NAME: FTP_USER_LISTBOX
SYNOPSIS: This listbox displays the users connected to the FTP service
INTERFACE: FTP_USER_LISTBOX() - Class constructor.
~FTP_USER_LISTBOX() - Class destructor.
QueryColumnWidths() - Called by FTP_USER_LBI::Paint(),
this is the column width table
used for painting the listbox
items.
QueryUserBitmap() - Returns the normal user bitmap
QueryAnonymousBitmap() - Returns the anonymous user bitmap
Refresh() - Refresh the listbox
PARENT: BLT_LISTBOX
USES: NLS_STR, INTL_PROFILE, DMID_DTE
HISTORY:
YiHsinS 17-Mar-1993 Created
**************************************************************************/
class FTP_USER_LISTBOX : public BLT_LISTBOX
{
private:
//
// This array stores the calculated column widths
// for use while painting the listbox item.
//
UINT _adx[4];
//
// Stores the server name
//
NLS_STR _nlsServer;
//
// Stores the "unknown" string
//
RESOURCE_STR _nlsUnknown;
//
// Pointer to the user bitmaps
//
DMID_DTE *_pdmdteUser;
DMID_DTE *_pdmdteAnonymous;
//
// For use in printing out the connection time in the right format
//
INTL_PROFILE _intlProf;
//
// Format the given time to a displayable string.
//
APIERR QueryTimeString( ULONG ulTime, NLS_STR *pnlsTime );
//
// This method actually does the enumeration of users
// and adds them to the listbox.
//
APIERR Fill( VOID );
public:
FTP_USER_LISTBOX( OWNER_WINDOW *powOwner,
CID cid,
const TCHAR *pszServer );
~FTP_USER_LISTBOX();
DECLARE_LB_QUERY_ITEM( FTP_USER_LBI )
//
// This method is called by the FTP_USER_LBI::Paint()
// method for retrieving the column width table.
//
const UINT *QueryColumnWidths() const
{ return _adx; }
//
// The following two methods returns the user bitmaps
//
const DMID_DTE *QueryUserBitmap( VOID ) const
{ return _pdmdteUser; }
const DMID_DTE *QueryAnonymousBitmap( VOID ) const
{ return _pdmdteAnonymous; }
//
// Method that refresh the contents of the listbox.
//
APIERR Refresh( VOID );
};
/*************************************************************************
NAME: FTP_SVCMGR_DIALOG
SYNOPSIS: This is the FTP User Sessions dialog.
INTERFACE: FTP_SVCMGR_DIALOG() - Class constructor.
~FTP_SVCMGR_DIALOG() - Class destructor.
PARENT: DIALOG_WINDOW
USES: FTP_USER_LISTBOX, PUSH_BUTTON
HISTORY:
YiHsinS 17-Mar-1992 Created
**************************************************************************/
class FTP_SVCMGR_DIALOG: public DIALOG_WINDOW
{
private:
FTP_USER_LISTBOX _lbUser;
PUSH_BUTTON _pbuttonDisconnect;
PUSH_BUTTON _pbuttonDisconnectAll;
//
// Store the server name we are focusing on
//
NLS_STR _nlsServer;
//
// This method is used to refresh the contents of the user listbox
//
APIERR Refresh( VOID );
protected:
virtual BOOL OnCommand( const CONTROL_EVENT & event );
virtual ULONG QueryHelpContext( VOID );
public:
FTP_SVCMGR_DIALOG( HWND hwndOwner,
const TCHAR *pszServer );
~FTP_SVCMGR_DIALOG();
};
/*************************************************************************
NAME: FTP_SECURITY_DIALOG
SYNOPSIS: This dialog manages the security on the drives for
the FTP service.
INTERFACE: FTP_SECURITY_DIALOG() - Class constructor.
~FTP_SECURITY_DIALOG() - Class destructor.
PARENT: DIALOG_WINDOW
USES: COMBOBOX, SLT, CHECKBOX, NLS_STR
HISTORY:
YiHsinS 17-Mar-1992 Created
**************************************************************************/
class FTP_SECURITY_DIALOG: public DIALOG_WINDOW
{
private:
COMBOBOX _cbPartition;
SLT _sltFileSysInfo;
CHECKBOX _checkbReadAccess;
CHECKBOX _checkbWriteAccess;
//
// Keep the server name we are focusing on
//
NLS_STR _nlsServer;
//
// Flag indicating whether we are focusing on the local computer or not.
// TRUE if we are, FALSE otherwise.
//
BOOL _fLocal;
//
// Place to store the security read mask and write mask
//
ULONG _ulReadAccess;
ULONG _ulWriteAccess;
//
// Store the index for the current selected partition
// 0 for A:, 1 for B:, ..., and 25 for Z:
//
INT _nCurrentDiskIndex;
//
// Method to get all available drives on the given server
// and then add them to the combo.
//
APIERR AddDrives( VOID );
//
// Get the file system information about the given device.
// e.g. FAT, NTFS
//
APIERR GetFileSystemInfo( const TCHAR *pszDevice,
NLS_STR *pnlsFileSysInfo );
//
// Show the file system info, read/write access of the
// currently selected partition in the combo
//
APIERR ShowCurrentPartitionInfo( VOID );
//
// Save the read/write access for the previous selected partition
//
VOID SaveDriveSecurity( VOID );
protected:
virtual BOOL OnOK( VOID );
virtual BOOL OnCommand( const CONTROL_EVENT &event );
virtual ULONG QueryHelpContext( VOID );
public:
FTP_SECURITY_DIALOG( HWND hwndOwner,
const TCHAR *pszServer );
~FTP_SECURITY_DIALOG();
};
#endif // _FTPMGR_HXX_