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.