windows-nt/Source/XPSP1/NT/enduser/troubleshoot/tshoot/apgtscounters.h
2020-09-26 16:20:57 +08:00

70 lines
2.3 KiB
C++

//
// MODULE: ApgtsCounters.h
//
// PURPOSE: interface and implementation for the CApgtsCounters class
//
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 support@saltmine.com
//
// AUTHOR: Joe Mabel
//
// ORIGINAL DATE: 10-01-1998
//
// NOTES:
//
// Version Date By Comments
//--------------------------------------------------------------------
// V3.0 10-01-98 JM Original
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_APGTSCOUNTERS_H__E3FD52E9_5944_11D2_9603_00C04FC22ADD__INCLUDED_)
#define AFX_APGTSCOUNTERS_H__E3FD52E9_5944_11D2_9603_00C04FC22ADD__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "counter.h"
// There should be exactly one (global) instance of this class.
// Any other class C that needs access to these counters should get a pointer to
// the relevant counter(s) in its own constructor and thereafter access the counter
// through the member.
// If class C only needs to increment the counter, it's pointer to the CHourlyDailyCounter
// should be of type CAbstractCounter.
// A single .cpp file should define APGTS_COUNTER_OWNER before including the present file.
class CApgtsCounters
{
public:
CHourlyDailyCounter m_ProgramContemporary; // really just used to track when program started.
CHourlyDailyCounter m_StatusAccesses;
CHourlyDailyCounter m_OperatorActions;
CHourlyDailyCounter m_AllAccessesStart;
CHourlyDailyCounter m_AllAccessesFinish;
CHourlyDailyCounter m_QueueFullRejections;
CHourlyDailyCounter m_UnknownTopics;
CHourlyDailyCounter m_LoggedErrors;
CApgtsCounters()
: m_ProgramContemporary(CCounterLocation::eIdProgramContemporary),
m_StatusAccesses(CCounterLocation::eIdStatusAccess),
m_OperatorActions(CCounterLocation::eIdActionAccess),
m_AllAccessesStart(CCounterLocation::eIdTotalAccessStart),
m_AllAccessesFinish(CCounterLocation::eIdTotalAccessFinish),
m_QueueFullRejections(CCounterLocation::eIdRequestRejected),
m_UnknownTopics(CCounterLocation::eIdRequestUnknown),
m_LoggedErrors(CCounterLocation::eIdErrorLogged)
{}
~CApgtsCounters() {}
};
#ifdef APGTS_COUNTER_OWNER
CApgtsCounters g_ApgtsCounters;
#else
extern CApgtsCounters g_ApgtsCounters;
#endif
#endif // !defined(AFX_APGTSCOUNTERS_H__E3FD52E9_5944_11D2_9603_00C04FC22ADD__INCLUDED_)