

                         LAN Manager User Interface
                               Design Overview
                          Users Sub-Property Sheet
                          Kevin LaChapelle (KevinL)
                          Revision 0.0 2-Aug-1991



1.  SCOPE

    This document provides a general design overview of the Server Manager
    User Sub-Property Sheet implementation.  It describes the class 
    declarations, the flow of information, and the general algorithms used.


2.  REFERENCES

    Portable Systems Group Server Manager Functional Specification

    LAN Manager Server Manager Subproperty Sheet CDD

    BLT Specification


3.  OVERVIEW

    The Server Manager Users Sub-Property Sheet (USPS) is the dialog that
    allows for administration of user sessions.  The USPS allows the user to
    see the current user sessions, and to selectively disconnect either the
    user or resource that they are connected to. 
    <<< WARNING: This is how it is spec'ed BUT since only one session is
        established for a connection between machines, it is impossible
        to disconnect only one resource.  It is all or nothing. >>>

4.  CLASS OVERVIEW

    The USER_PROPERTIES class implements the USPS dialog.  It contains code
    for processing the sessions to a given machine and then tracking those
    resources to see what the real name of the resource is.


5.  CLASS DETAILS

    This section details the interfaces to the above described classes.
    Note that only the public: and protected: sections of the class
    declarations are given.

    5.1	USER_PROPERTIES

	The USER_PROPERTIES class is declared as follows:

	class USER_PROPERTIES : public DIALOG_WINDOW
	{
	protected:
            BOOL OnCommand( CID cid, ULONG lParam );

            BOOL OnOK( VOID );

	public:
	    USER_PROPERTIES( HWND	  hWndOwner,
		             SERVER_2	* psrv2 );

	    ~USER_PROPERTIES();

	};  // class USER_PROPERTIES

	    Note:  There are current plans to subclass DIALOG_WINDOW
	    (or VALIDATED_WINDOW) into PROPERTY_WINDOW and
	    SUBPROPERTY_WINDOW.  USER_PROPERTIES will inherit from
	    SUBPROPERTY_WINDOW when this class becomes available.

        The OnCommand() method is responsible for handling all action
        items from the Disconnect buttons, and the auto disconnect
        magic value control.

        OnOK() is responsible for updating the information at the server,
        specifically the auto disconnect interval.

	    Note:  There will be a Refresh() method provided when
	    the design for dialog refresh is stable.

6.  OPERATION

    The USER_PROPERTIES class performs the following operations:

	Get the name of the server from the SERVER_2 object.  Then do a
        NetSessionEnum( Level 1 ) to get the list of users connected to 
        the server this information will also be used to the number of 
        connected users field in the dialog.  The list of users will then
        be matched against calls to the following API's to generate a list
        of the current resources that the user is connected to.

	    NetFileEnum2()	- Open Files, File Locks,
				  Open Named Pipes
	    NetCharDevQEnum()	- Open Comm Ports
	    DosPrintQEnum()	- Print Jobs


	    Note:  What about share level servers?  The current
	    Server Manager Functional Specification does not address
	    share level servers.

7.  OPEN ISSUES

    How do we selectively nuke resources? 
       A better question would be: How are we going to compensate for this
       functionality

8.  REVISION HISTORY

    Rev	    Who         When            What
    ---	    ---		----            ----
    0.0	    KevinL	2-Aug-1991	Created this document.
