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_JOBWATCHDLG_H__761BDEEF_D549_4F10_817C_1C1FAF9FCA47__INCLUDED_)
#define AFX_JOBWATCHDLG_H__761BDEEF_D549_4F10_817C_1C1FAF9FCA47__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// JobWatchDlg.h : header file
//
#include "idle_dialog.h"
#include "resource.h"
#include "utlvector.h"
#include "imysqlwrapper.h"
#include "GraphControl.h"
#include "window_anchor_mgr.h"
#include "mysql_async.h"
class CWorkerInfo { public: CWorkerInfo() { m_bConnected = false; m_nWorkUnitsDone = 0; m_JobWorkerID = 0xFFFFFFFF; m_RunningTimeMS = 0; m_ThreadWUs[0] = m_ThreadWUs[1] = m_ThreadWUs[2] = m_ThreadWUs[3] = -1; } CString m_ComputerName; int m_bConnected; int m_nWorkUnitsDone; unsigned long m_JobWorkerID; unsigned long m_RunningTimeMS; CString m_CurrentStage; int m_ThreadWUs[4]; };
/////////////////////////////////////////////////////////////////////////////
// CJobWatchDlg dialog
class CJobWatchDlg : public CIdleDialog { // Construction
public: CJobWatchDlg( CWnd* pParent = NULL); // standard constructor
virtual ~CJobWatchDlg();
// Dialog Data
//{{AFX_DATA(CJobWatchDlg)
enum { IDD = IDD_JOB_WATCH }; CListCtrl m_Workers; CEdit m_TextOutput; //}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CJobWatchDlg)
protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult); //}}AFX_VIRTUAL
// Implementation
protected:
virtual void OnIdle(); void RefreshWorkerStats(); CWorkerInfo* FindWorkerByID( unsigned long jobWorkerID ); CWorkerInfo* FindWorkerByMachineName( const char *pMachineName ); void SetWorkerListItemInt( int nIndex, int iColumn, int value ); void UpdateWorkersList(); void ResortItems();
// Query IDs.
enum { QUERY_TEXT=0, QUERY_GRAPH, QUERY_WORKER_STATS, NUM_QUERIES };
void ProcessQueryResults_Graph( IMySQLRowSet *pSet ); void ProcessQueryResults_Text( IMySQLRowSet *pSet ); void ProcessQueryResults_WorkerStats( IMySQLRowSet *pSet );
bool m_bQueriesInProgress[NUM_QUERIES];
// This is our connection to the mysql database.
IMySQLAsync *m_pSQL; CSysModule *m_hMySQLDLL;
CWindowAnchorMgr m_AnchorMgr;
bool GetCurJobWorkerID( unsigned long &id );
CGraphControl m_GraphControl; unsigned long m_JobID; int m_CurGraphTime;
int m_CurMessageIndex; int m_CurWorkerTextToken; // used to let it ignore old text in the thread's queue
DWORD m_LastQueryTime; // Last time we made a query.
// Generated message map functions
//{{AFX_MSG(CJobWatchDlg)
virtual BOOL OnInitDialog(); afx_msg void OnSelChangeWorkers(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnOdstatechangedWorkers(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnItemchangedWorkers(NMHDR* pNMHDR, LRESULT* pResult); //}}AFX_MSG
DECLARE_MESSAGE_MAP() };
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_JOBWATCHDLG_H__761BDEEF_D549_4F10_817C_1C1FAF9FCA47__INCLUDED_)
|