Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//***************************************************************************
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// site.h
//
// alanbos 13-Feb-98 Created.
//
// Defines site information for an object
//
//***************************************************************************
#ifndef _SITE_H_
#define _SITE_H_
class CSWbemObject; class CSWbemProperty;
//***************************************************************************
//
// CLASS NAME:
//
// CWbemSite
//
// DESCRIPTION:
//
// Abstract base class
//
//***************************************************************************
class CWbemSite { protected: CWbemSite () { m_cRef = 1; }
long m_cRef; public: virtual ~CWbemSite (void) { }
virtual void Update () = 0;
ULONG AddRef (); ULONG Release (); };
//***************************************************************************
//
// CLASS NAME:
//
// CWbemObjectSite
//
// DESCRIPTION:
//
// Site class for ISWbemObject
//
//***************************************************************************
class CWbemObjectSite : public CWbemSite { private: ISWbemInternalObject *m_pSWbemObject;
public: CWbemObjectSite (ISWbemInternalObject *pObject); ~CWbemObjectSite ();
// Overriden methods of base class
void Update (); };
//***************************************************************************
//
// CLASS NAME:
//
// CWbemPropertySite
//
// DESCRIPTION:
//
// Site class for ISWbemProperty, where the property is non-array valued.
// Embedded objects that are not in an array use this as their site.
//
//***************************************************************************
class CWbemPropertySite : public CWbemSite { private: // The property representing the embedded object
CSWbemProperty *m_pSWbemProperty;
// The array index of the property value at which
// this embedded object occurs (or -1 if not array)
long m_index;
// The embedded object itself
IWbemClassObject *m_pIWbemClassObject;
public: CWbemPropertySite (CSWbemProperty *pProperty, IWbemClassObject *pSourceObject, long index = -1);
~CWbemPropertySite ();
// Overriden methods of base class
void Update (); };
#endif
|