2025-11-27 16:46:48 +09:00

149 lines
4.6 KiB
C++

// ==========================================================================
// Class Implementation : COXDocTemplateSpy
// ==========================================================================
// Source file : OXDocTemplateSpy.cpp
// Version: 9.3
// This software along with its related components, documentation and files ("The Libraries")
// is © 1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
// governed by a software license agreement ("Agreement"). Copies of the Agreement are
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
// to obtain this file, or directly from our office. For a copy of the license governing
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
// //////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#if (_MFC_VER < 0x0420)
// This file uses classes that were introduced in MFC Version 4.2
// These classes are now officially documented by Microsoft, but did not exist in previous versions
// Therefore this file will be completely excluded for older versions of MFC
#pragma message("Warning : OXDocTemplateSpy.cpp not included because MFC Version < 4.2")
#else
// The entire file
#include "OXDocTemplateSpy.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
#include "UTBStrOp.h"
#define new DEBUG_NEW
/////////////////////////////////////////////////////////////////////////////
// Definition of static members
// Data members -------------------------------------------------------------
// protected:
// private:
// Member functions ---------------------------------------------------------
// public:
BOOL COXDocTemplateSpy::CheckMatch(CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass /* = NULL */, CRuntimeClass* pViewClass /* = NULL */) const
{
return ((m_pDocClass == pDocClass) || (pDocClass == NULL)) &&
((m_pFrameClass == pFrameClass) || (pFrameClass == NULL)) &&
((m_pViewClass == pViewClass) || (pViewClass == NULL));
}
BOOL COXDocTemplateSpy::CheckMatch(LPCTSTR pszDocClass, LPCTSTR pszFrameClass /* = NULL */,
LPCTSTR pszViewClass /* = NULL */) const
{
#ifdef _UNICODE
LPSTR pszAnsiDocClass = NULL;
LPSTR pszAnsiFrameClass = NULL;
LPSTR pszAnsiViewClass = NULL;
if (pszDocClass != NULL)
{
const size_t nMaxAnsiDocClassLength = _tcslen(pszDocClass) * 2 + 1;
pszAnsiDocClass = new char[nMaxAnsiDocClassLength];
size_t t;
UTBStr::wcstombs(&t, pszAnsiDocClass, nMaxAnsiDocClassLength+1, pszDocClass, nMaxAnsiDocClassLength);
}
if (pszFrameClass != NULL)
{
const size_t nMaxAnsiFrameClassLength = _tcslen(pszFrameClass) * 2 + 1;
pszAnsiFrameClass = new char[nMaxAnsiFrameClassLength];
size_t t;
UTBStr::wcstombs(&t, pszAnsiFrameClass, nMaxAnsiFrameClassLength+1, pszFrameClass, nMaxAnsiFrameClassLength);
}
if (pszViewClass != NULL)
{
const size_t nMaxAnsiDocClassLength = _tcslen(pszViewClass) * 2 + 1;
pszAnsiViewClass = new char[nMaxAnsiDocClassLength];
size_t len;
UTBStr::wcstombs(&len, pszAnsiViewClass, nMaxAnsiDocClassLength+1, pszViewClass, nMaxAnsiDocClassLength);
}
#else
LPCSTR pszAnsiDocClass = pszDocClass;
LPCSTR pszAnsiFrameClass = pszFrameClass;
LPCSTR pszAnsiViewClass = pszViewClass;
#endif
BOOL bMatched = ((pszDocClass == NULL) || (strcmp(m_pDocClass->m_lpszClassName, pszAnsiDocClass) == 0)) &&
((pszFrameClass == NULL) || (strcmp(m_pFrameClass->m_lpszClassName, pszAnsiFrameClass) == 0)) &&
((pszViewClass == NULL) || (strcmp(m_pViewClass->m_lpszClassName, pszAnsiViewClass) == 0));
#ifdef _UNICODE
delete [] pszAnsiDocClass;
pszAnsiDocClass = NULL;
delete [] pszAnsiFrameClass;
pszAnsiFrameClass = NULL;
delete[] pszAnsiViewClass;
pszAnsiViewClass = NULL;
#endif
return bMatched;
}
#ifdef _DEBUG
void COXDocTemplateSpy::AssertValid() const
{
CDocTemplate::AssertValid();
}
void COXDocTemplateSpy::Dump(CDumpContext& dc) const
{
CDocTemplate::Dump(dc);
}
#endif //_DEBUG
// protected:
COXDocTemplateSpy::COXDocTemplateSpy()
// --- In :
// --- Out :
// --- Returns :
// --- Effect : Constructs the object
:
CDocTemplate(0 /* nIDResource */, NULL /* pDocClass */, NULL /* pFrameClass*/ ,
NULL /* pViewClass */)
{
// ... Never construct an object of this class
ASSERT(FALSE);
}
COXDocTemplateSpy::~COXDocTemplateSpy()
// --- In :
// --- Out :
// --- Returns :
// --- Effect : Destructor of the object
{
// ... Never destruct an object of this class
ASSERT(FALSE);
}
// private:
#endif // _MFC_VER
// ==========================================================================