/**********************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1990, 1991 **/ /**********************************************************************/ /* SESSIONS.hxx Class declarations for the SESSIONS_DIALOG, SESSIONS_LISTBOX, and SESSIONS_LBI classes. These classes implement the Server Manager Shared SESSIONS subproperty sheet. The SESSIONS_LISTBOX/SESSIONS_LBI classes implement the listbox which shows the available sharepoints. SESSIONS_DIALOG implements the actual dialog box. FILE HISTORY: NarenG Stole from Server Manager */ #ifndef _SESSIONS_HXX #define _SESSIONS_HXX #include #include // // The number of columns in the USERS and VOLUMES listboxes // #define COLS_UC_LB_USERS 5 #define COLS_UC_LB_VOLUMES 4 /************************************************************************* NAME: SESSIONS_LBI SYNOPSIS: A single item to be displayed in SESSIONS_DIALOG. INTERFACE: SESSIONS_LBI - Constructor. Takes a sharepoint name, a path, and a count of the number of users using the share. ~SESSIONS_LBI - Destructor. Paint - Paints the listbox item. PARENT: RESOURCE_LBI USES: NLS_STR DMID_DTE CAVEATS: NOTES: HISTORY: NarenG Stole from Server Manager **************************************************************************/ class SESSIONS_LBI : public LBI { private: // // These data members represent the various // columns to be displayed in the listbox. // DMID_DTE _dteIcon; NLS_STR _nlsUserName; NLS_STR _nlsComputerName; DEC_STR _nlsConnections; DEC_STR _nlsOpens; ELAPSED_TIME_STR _nlsTime; DWORD _cOpens; DWORD _dwSessionId; protected: virtual VOID Paint( LISTBOX * plb, HDC hdc, const RECT * prect, GUILTT_INFO * pGUILTT ) const; public: SESSIONS_LBI( DWORD dwSessionId, const TCHAR * pszUserName, const TCHAR * pszComputerName, DWORD cConnections, DWORD cOpens, DWORD dwTime, TCHAR chTimeSep ); ~SESSIONS_LBI(); const TCHAR * QueryUserName( VOID ) { return _nlsUserName.QueryPch(); } virtual WCHAR QueryLeadingChar( VOID ) const; virtual INT Compare( const LBI * plbi ) const; DWORD QueryNumOpens( VOID ) const { return _cOpens; } DWORD QuerySessionId( VOID ) const { return _dwSessionId; } APIERR SetNumOpens( DWORD cOpens ); }; // class SESSIONS_LBI /************************************************************************* NAME: SESSIONS_LISTBOX SYNOPSIS: This listbox shows the sharepoints available on a target server. INTERFACE: SESSIONS_LISTBOX - Class constructor. Takes a pointer to the "owning" window, a CID, and a pointer to a SERVER_2 object. Fill - Fills the listbox with the available sharepoints. PARENT: RESOURCE_LISTBOX USES: None. CAVEATS: <> BUGBUG!! NOTES: HISTORY: NarenG Stole from Server Manager **************************************************************************/ class SESSIONS_LISTBOX : public BLT_LISTBOX { private: // // The column width table. // UINT _adx[COLS_UC_LB_USERS]; TCHAR _chTimeSep; // // This represents the target server. // AFP_SERVER_HANDLE _hServer; public: SESSIONS_LISTBOX( OWNER_WINDOW * powner, CID cid, AFP_SERVER_HANDLE hServer ); // // This method returns a pointer to the column width table. // const UINT * QueryColumnWidths( VOID ) const { return _adx; } BOOL AreResourcesOpen( VOID ) const; DWORD Fill( VOID ); DWORD Refresh( VOID ); // // The following macro will declare (& define) a new // QueryItem() method which will return a SESSIONS_LBI *. // DECLARE_LB_QUERY_ITEM( SESSIONS_LBI ) }; // class SESSIONS_LISTBOX /************************************************************************* NAME: RESOURCES_LBI SYNOPSIS: A single item to be displayed in RESOURCES_DIALOG. INTERFACE: RESOURCES_LBI - Constructor. Takes a sharepoint name, a path, and a count of the number of users using the share. ~RESOURCES_LBI - Destructor. Paint - Paints the listbox item. PARENT: RESOURCE_LBI USES: NLS_STR DMID_DTE CAVEATS: NOTES: HISTORY: NarenG Stole from Server Manager **************************************************************************/ class RESOURCES_LBI : public LBI { private: // // These data members represent the various // columns to be displayed in the listbox. // DMID_DTE * _pdteBitmap; NLS_STR _nlsResourceName; DEC_STR _nlsOpens; ELAPSED_TIME_STR _nlsTime; protected: virtual VOID Paint( LISTBOX * plb, HDC hdc, const RECT * prect, GUILTT_INFO * pGUILTT ) const; public: RESOURCES_LBI( const TCHAR * pszResourceName, DWORD cOpens, DWORD dwTIme, TCHAR chTimeSep ); ~RESOURCES_LBI(); virtual WCHAR QueryLeadingChar( VOID ) const; virtual INT Compare( const LBI * plbi ) const; }; // class RESOURCES_LBI /************************************************************************* NAME: RESOURCES_LISTBOX SYNOPSIS: This listbox shows the sharepoints available on a target server. INTERFACE: RESOURCES_LISTBOX - Class constructor. Takes a pointer to the "owning" window, a CID, and a pointer to a SERVER_2 object. Fill - Fills the listbox with the available sharepoints. PARENT: RESOURCE_LISTBOX USES: None. CAVEATS: <> BUGBUG!! NOTES: HISTORY: NarenG Stole from Server Manager **************************************************************************/ class RESOURCES_LISTBOX : public BLT_LISTBOX { private: // // The column width table. // UINT _adx[COLS_UC_LB_VOLUMES]; // // Total number of opens accross all resources // DWORD _cOpens; TCHAR _chTimeSep; // // Represents the target server. // AFP_SERVER_HANDLE _hServer; public: RESOURCES_LISTBOX( OWNER_WINDOW * powner, CID cid, AFP_SERVER_HANDLE hServer); // // This method returns a pointer to the column width table. // const UINT * QueryColumnWidths( VOID ) const { return _adx; } const DWORD QueryNumOpens( VOID ) const { return _cOpens; } DWORD Fill( DWORD dwSessionId ); DWORD Refresh( DWORD dwSessionId ); // // The following macro will declare (& define) a new // QueryItem() method which will return a RESOURCES_LBI *. // DECLARE_LB_QUERY_ITEM( RESOURCES_LBI ) }; // class RESOURCES_LISTBOX /************************************************************************* NAME: SESSIONS_DIALOG SYNOPSIS: The class represents the Shared SESSIONS subproperty dialog of the Server Manager. INTERFACE: SESSIONS_DIALOG() - Class constructor. OnCommand() - Handle user commands. QueryHelpContext - Called when the user presses "F1" or the "Help" button. Used for selecting the appropriate help text for display. PARENT: SRV_BASE_DIALOG USES: SESSIONS_LISTBOX PUSH_BUTTON NLS_STR DEC_SLT CAVEATS: NOTES: HISTORY: NarenG Stole from Server Manager **************************************************************************/ class SESSIONS_DIALOG : public DIALOG_WINDOW { private: DEC_SLT _sltUsersConnected; SESSIONS_LISTBOX _lbSessions; RESOURCES_LISTBOX _lbResources; PUSH_BUTTON _pbOK; PUSH_BUTTON _pbDisc; PUSH_BUTTON _pbDiscAll; PUSH_BUTTON _pbSendMessage; // // Represents the target server. // AFP_SERVER_HANDLE _hServer; const TCHAR * _pszServerName; protected: virtual BOOL OnCommand( const CONTROL_EVENT & event ); // // Called during help processing to select the appropriate // help text for display. // virtual ULONG QueryHelpContext( VOID ); public: SESSIONS_DIALOG( HWND hWndOwner, AFP_SERVER_HANDLE hServer, const TCHAR * pszServerName ); ~SESSIONS_DIALOG(); DWORD Refresh( VOID ); }; // class SESSIONS_DIALOG #endif // _SESSIONS_HXX