windows-nt/Source/XPSP1/NT/net/snmp/subagent/snmpevnt/evntwin/utils.h
2020-09-26 16:20:57 +08:00

103 lines
2.6 KiB
C++

#ifndef _utils_h
#define _utils_h
void MapEventToSeverity(DWORD dwEvent, CString& sResult);
extern LONG FindWholeWord(LPCTSTR pszTemplate, LPCTSTR pszText);
extern LONG FindSubstring(LPCTSTR pszTemplate, LPCTSTR pszText);
extern void DecString(CString& sValue, int iValue);
extern void DecString(CString& sValue, long lValue);
extern void DecString(CString& sValue, DWORD dwValue);
extern void GenerateRangeMessage(CString& sMessage, LONG nMin, LONG nMax);
extern SCODE GetThousandSeparator(TCHAR* pch);
extern BOOL IsDecimalInteger(LPCTSTR pszValue);
extern SCODE AsciiToLong(LPCTSTR pszValue, LONG* plResult);
//-------------------------------------------------------
// Class: CList
//
// Description:
// This class implements a circularly linked list.
//
// Methods:
//-------------------------------------------------------
// CList::CList(void* pValue)
//
// Construct a node and associate the pointer value
// with it. The pointer is declared to be type
// void* so that this class is as generic as possible.
//
// Input:
// pValue = Pointer to the value to associate with this node
//
// Returns: Nothing
//
//-------------------------------------------------------
// void Link(CList*& pndHead)
//
// Add this node to the end of the list pointed to by
// pndHead. If pndHead is NULL, then set pndHead to
// the address of this node.
//
// Input:
// pndHead = A reference to the head node pointer
//
// Returns: Nothing
//
//-------------------------------------------------------
// void Unlink(CList*& pndHead)
//
// Unlink this node from the list it is on. If this node
// is the only element on the list, set the value of pndHead
// to NULL to indicate that the list is empty.
//
// Input:
// pndHead = A reference to the head node pointer.
//
// Returns: nothing
//
//-------------------------------------------------------
// CList* Next()
//
// Return a pointer to the next node in the list.
//
// Input: None
//
// Returns: A pointer to the next node on the list
//
//-------------------------------------------------------
// CList* Prev()
//
// Return a pointer to the previous node in the list.
//
// Input: None
//
// Returns: A pointer to the previous node on the list.
//
//-------------------------------------------------------
// void* Value()
//
// Return the "value pointer" attached to this node.
//
// Input: None
//
// Returns: The node's value.
//
//--------------------------------------------------------
class CList
{
public:
CList();
void Link(CList*& pndHead);
void Unlink(CList*& pndHead);
CList* Next() {return m_pndNext;}
CList* Prev() {return m_pndPrev;}
private:
CList* m_pndPrev;
CList* m_pndNext;
};
#endif