Files
Sun1602/Tools/CrashInfomationReport/ATL/source/SProxy/Content.h
T
2022-10-26 12:25:11 +08:00

77 lines
1.1 KiB
C++

//
// Content.h
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// CContent represents the complexContent and the simpleContent
#pragma once
#include "stdafx.h"
#include "XSDElement.h"
#include "QName.h"
#include "Util.h"
class CComplexType;
class CContent : public CXSDElement
{
private:
// restriction/extension
CComplexType * m_pType;
BOOL m_bMixed;
CStringW m_strID;
protected:
public:
CContent()
:m_pType(NULL), m_bMixed(FALSE)
{
}
CComplexType * AddType(CComplexType *pContent = NULL);
CComplexType * GetType();
~CContent();
inline HRESULT SetID(const wchar_t *wsz, int cch)
{
m_strID.SetString(wsz, cch);
return S_OK;
}
inline HRESULT SetID(const CStringW& strID)
{
m_strID = strID;
return S_OK;
}
inline HRESULT SetMixed(const wchar_t *wszValue, int cchValue)
{
bool bVal;
HRESULT hr = GetBooleanValue(&bVal, wszValue, cchValue);
if (SUCCEEDED(hr))
{
m_bMixed = (bVal == true) ? TRUE : FALSE;
}
// unknown string
return hr;
}
inline HRESULT SetMixed(BOOL bMixed)
{
m_bMixed = bMixed;
}
inline BOOL GetMixed()
{
return m_bMixed;
}
}; // class CContent