windows-nt/Source/XPSP1/NT/base/wmi/bmoflocparser/inc/locutil/schema.h
2020-09-26 16:20:57 +08:00

99 lines
2.3 KiB
C++

//-----------------------------------------------------------------------------
//
// File: schema.h
// Copyright (C) 1994-1997 Microsoft Corporation
// All rights reserved.
//
//
//
//-----------------------------------------------------------------------------
#if !defined(LOCUTIL_Schema_h_INCLUDED)
#define LOCUTIL_Schema_h_INCLUDED
#pragma once
namespace MitDisplayColumns
{
interface IManager;
interface IOption;
};
class CColDefList;
//------------------------------------------------------------------------------
class LTAPIENTRY SchemaId : public _GUID
{
public:
SchemaId();
SchemaId(const _GUID &);
void Load(CArchive &);
void Store(CArchive &) const;
void Serialize(CArchive &);
const SchemaId & operator=(const SchemaId &);
const SchemaId & operator=(const _GUID &);
INT operator==(const SchemaId &);
INT operator!=(const SchemaId &);
private:
BOOL Compare(const SchemaId &);
};
//------------------------------------------------------------------------------
class LTAPIENTRY CTableSchema : public CRefCount
{
// Construction
public:
CTableSchema(const SchemaId &, const CLString &, const CColDefList &);
// Data
protected:
SchemaId m_Schema;
CLString m_strDescription;
CColDefList m_lstColDefs;
// Attributes
public:
const SchemaId & GetSchemaId() const;
const CLString & GetDescription() const;
const CColDefList & GetColDefList() const;
int GetDisplayColumnCount() const;
// Operations
public:
const CColumnDefinition * GetColumnDefinition(long nSearchID) const;
const CColumnDefinition * GetColumnDefinition(const CLString & stSearchID) const;
// Debugging
#ifdef _DEBUG
void AssertValid() const;
#endif
};
//------------------------------------------------------------------------------
struct LTAPIENTRY DcsHelp
{
static void
BuildDCOption(CTableSchema const * const pSchema, _bstr_t bstrID,
MitDisplayColumns::IManager * const pManager,
MitDisplayColumns::IOption ** ppOption = NULL);
static void
BuildDCOption(CTableSchema const * const pSchema, _bstr_t bstrID, _bstr_t bstrName,
MitDisplayColumns::IManager * const pManager, long rgID[], int cIDs,
MitDisplayColumns::IOption ** ppOption = NULL);
};
#if !defined(_DEBUG) || defined(IMPLEMENT)
#include "schema.inl"
#endif
#endif // LOCUTIL_Schema_h_INCLUDED