Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
#if !defined(AFX_SERVICESDLG_H__FD755233_0A7A_4CBB_BA5E_A5D0B3B5F830__INCLUDED_)
#define AFX_SERVICESDLG_H__FD755233_0A7A_4CBB_BA5E_A5D0B3B5F830__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ServicesDlg.h : header file
//
#include "iphelpers.h"
#include "idle_dialog.h"
#include "utllinkedlist.h"
#include "resource.h"
#include "window_anchor_mgr.h"
#include "net_view_thread.h"
#include "vmpi_defs.h"
class CServiceInfo { public:
bool IsOff() const; // Returns true if the time since we've heard from this guy is too long.
public:
CString m_ComputerName; CString m_MasterName; CString m_Password; int m_iState; // Since the live time is always changing, we only update it every 10 seconds or so.
DWORD m_LiveTimeMS; // How long the service has been running (in milliseconds).
DWORD m_WorkerAppTimeMS; // How long the worker app has been running (0 if it's not running).
DWORD m_LastPingTimeMS; // Last time we heard from this machine. Used to detect if the service
// is off or not.
// Used to detect if we need to re-sort the list.
const char *m_pLastStatusText; DWORD m_LastLiveTimeMS; CString m_LastMasterName;
int m_CPUPercentage; CString m_ExeName; CString m_MapName; int m_MemUsageMB;
// Last time we updated the service in the listbox.. used to make sure we update its on/off status
// every once in a while.
DWORD m_LastUpdateTime; int m_ProtocolVersion; // i.e. the service's VMPI_SERVICE_PROTOCOL_VERSION.
char m_ServiceVersion[32]; // Version string.
CIPAddr m_Addr; };
/////////////////////////////////////////////////////////////////////////////
// CServicesDlg dialog
class CServicesDlg : public CIdleDialog { // Construction
public: CServicesDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CServicesDlg)
enum { IDD = IDD_SERVICES }; CStatic m_NumServicesControl; CStatic m_NumDisabledServicesControl; CStatic m_NumWorkingServicesControl; CStatic m_NumWaitingServicesControl; CStatic m_NumOffServicesControl; CStatic m_PasswordDisplay; CListCtrl m_ServicesList; //}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServicesDlg)
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); //}}AFX_VIRTUAL
// Implementation
protected: void BuildVMPIPingPacket( CUtlVector<char> &out, char cPacketID, unsigned char cProtocolVersion=VMPI_PROTOCOL_VERSION, bool bIgnorePassword=false );
virtual void OnIdle();
CServiceInfo* FindServiceByComputerName( const char *pComputerName ); void SendToSelectedServices( const char *pData, int len ); void UpdateServiceInListbox( CServiceInfo *pInfo ); void UpdateServiceCountDisplay(); void ResortItems();
void UpdateServicesFromNetMessages(); void UpdateServicesFromNetView(); void BuildClipboardText( CUtlVector<char> &clipboardText );
ISocket *m_pServicesPingSocket; DWORD m_dwLastServicesPing; // Last time we pinged all the services.
// Restricts the password so we only see a particular set of VMPI services.
CString m_Password;
CUtlLinkedList<CServiceInfo*, int> m_Services; CNetViewThread m_NetViewThread;
CWindowAnchorMgr m_AnchorMgr;
bool m_bListChanged; // Used to detect if we need to re-sort the list.
// Generated message map functions
//{{AFX_MSG(CServicesDlg)
virtual BOOL OnInitDialog(); afx_msg void OnPatchServices(); afx_msg void OnStopServices(); afx_msg void OnStopJobs(); afx_msg void OnFilterByPassword(); afx_msg void OnForcePassword(); afx_msg void OnCopyToClipboard(); afx_msg void OnDblclkServicesList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnSize(UINT nType, int cx, int cy); //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SERVICESDLG_H__FD755233_0A7A_4CBB_BA5E_A5D0B3B5F830__INCLUDED_)
|