152 lines
2.2 KiB
C++
152 lines
2.2 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1998-1999 Microsoft Corporation
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
dbgstr.cxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Debug string class header
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Kiraly (SteveKi) 23-May-1998
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#ifndef _DBGSTR_HXX_
|
||
|
#define _DBGSTR_HXX_
|
||
|
|
||
|
DEBUG_NS_BEGIN
|
||
|
|
||
|
class TDebugString
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
TDebugString::
|
||
|
TDebugString(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
explicit
|
||
|
TDebugString::
|
||
|
TDebugString(
|
||
|
IN LPCTSTR psz
|
||
|
);
|
||
|
|
||
|
TDebugString::
|
||
|
~TDebugString(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bEmpty(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bValid(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
UINT
|
||
|
TDebugString::
|
||
|
uLen(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bUpdate(
|
||
|
IN LPCTSTR pszNew
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bCat(
|
||
|
IN LPCTSTR psz
|
||
|
);
|
||
|
|
||
|
operator LPCTSTR(
|
||
|
VOID
|
||
|
) const;
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bFormat(
|
||
|
IN LPCTSTR pszFmt,
|
||
|
IN ...
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
TDebugString::
|
||
|
bvFormat(
|
||
|
IN LPCTSTR pszFmt,
|
||
|
IN va_list avlist
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
enum EStringStatus
|
||
|
{
|
||
|
kValid,
|
||
|
kInValid,
|
||
|
};
|
||
|
|
||
|
enum EStringConstants
|
||
|
{
|
||
|
kMaxFormatStringLength = 1024*100
|
||
|
};
|
||
|
|
||
|
//
|
||
|
// Assignment operators are not defined. Clients are forced
|
||
|
// to bUpdate to assinged strings. By doing this the clients
|
||
|
// are forced to call a function that returns a value. The
|
||
|
// issue the assignment operators is they do not return values
|
||
|
// and an assignment may fail due to lack of memory, etc.
|
||
|
//
|
||
|
TDebugString&
|
||
|
TDebugString::
|
||
|
operator=(
|
||
|
IN LPCTSTR psz
|
||
|
);
|
||
|
|
||
|
TDebugString&
|
||
|
TDebugString::
|
||
|
operator=(
|
||
|
IN const TDebugString& String
|
||
|
);
|
||
|
|
||
|
TDebugString::
|
||
|
TDebugString(
|
||
|
IN const TDebugString &String
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
TDebugString::
|
||
|
vFree(
|
||
|
IN LPTSTR pszString
|
||
|
);
|
||
|
|
||
|
LPTSTR
|
||
|
TDebugString::
|
||
|
vsntprintf(
|
||
|
IN LPCTSTR szFmt,
|
||
|
IN va_list pArgs
|
||
|
) const;
|
||
|
|
||
|
LPTSTR m_pszString;
|
||
|
static TCHAR gszNullState[2];
|
||
|
|
||
|
};
|
||
|
|
||
|
DEBUG_NS_END
|
||
|
|
||
|
#endif
|