Leaked source code of windows server 2003
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.
|
|
//***************************************************************************
//
// File:
//
// Module: MS SNMP Provider
//
// Purpose:
//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
//***************************************************************************
#ifndef _HANDLES_H_
#define _HANDLES_H_
class CSmirModuleHandle : public ISmirModHandle { private: friend CSmirAdministrator; friend CEnumSmirMod; friend CModHandleClassFactory;
//reference count
LONG m_cRef;
//member variables
BSTR m_szModuleOid; BSTR m_szName; BSTR m_szModuleId; BSTR m_szOrganisation; BSTR m_szContactInfo; BSTR m_szDescription; BSTR m_szRevision; BSTR m_szModImports; ULONG m_lSnmp_version; BSTR m_szLastUpdate;
public: //IUnknown members
STDMETHODIMP QueryInterface(IN REFIID,OUT PPVOID); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
STDMETHODIMP_(SCODE) GetName(OUT BSTR *pszName); STDMETHODIMP_(SCODE) GetModuleOID(OUT BSTR *pszModuleOid); STDMETHODIMP_(SCODE) GetModuleIdentity(OUT BSTR *pszModuleId); STDMETHODIMP_(SCODE) GetLastUpdate(OUT BSTR *plLastUpdate); STDMETHODIMP_(SCODE) GetOrganisation(OUT BSTR *pszOrganisation); STDMETHODIMP_(SCODE) GetContactInfo(OUT BSTR *pszContactInfo); STDMETHODIMP_(SCODE) GetDescription(OUT BSTR *pszDescription); STDMETHODIMP_(SCODE) GetRevision(OUT BSTR *pszRevision); STDMETHODIMP_(SCODE) GetSnmpVersion(OUT ULONG *plSnmp_version); STDMETHODIMP_(SCODE) GetModuleImports (BSTR*);
STDMETHODIMP_(SCODE) SetName(IN BSTR pszName); STDMETHODIMP_(SCODE) SetModuleOID(IN BSTR pszModuleOid); STDMETHODIMP_(SCODE) SetModuleIdentity(OUT BSTR pszModuleId); STDMETHODIMP_(SCODE) SetLastUpdate(IN BSTR plLastUpdate); STDMETHODIMP_(SCODE) SetOrganisation(IN BSTR pszOrganisation); STDMETHODIMP_(SCODE) SetContactInfo(IN BSTR pszContactInfo); STDMETHODIMP_(SCODE) SetDescription(IN BSTR pszDescription); STDMETHODIMP_(SCODE) SetRevision(IN BSTR pszRevision); STDMETHODIMP_(SCODE) SetSnmpVersion(IN ULONG plSnmp_version); STDMETHODIMP_(SCODE) SetModuleImports (IN BSTR);
//Class members
CSmirModuleHandle(); virtual ~ CSmirModuleHandle(); const CSmirModuleHandle& operator>>(IWbemClassObject *pInst); const CSmirModuleHandle& operator<<(IWbemClassObject *pInst); const CSmirModuleHandle& operator>>(ISmirSerialiseHandle *pInst); HRESULT PutClassProperties (IWbemClassObject *pClass) ; operator void*(); STDMETHODIMP_(SCODE) AddToDB( CSmir *a_Smir ); STDMETHODIMP_(SCODE) DeleteFromDB( CSmir *a_Smir ); private: //private copy constructors to prevent bcopy
CSmirModuleHandle(CSmirModuleHandle&); const CSmirModuleHandle& operator=(CSmirModuleHandle &); }; class CSmirGroupHandle : public ISmirGroupHandle { private: friend CSmirAdministrator; friend CEnumSmirGroup; friend CGroupHandleClassFactory; //reference count
LONG m_cRef;
BSTR m_szModuleName; BSTR m_szName; BSTR m_szGroupId; BSTR m_szDescription; BSTR m_szReference; BSTR m_szStatus;
public: //IUnknown members
STDMETHODIMP QueryInterface(IN REFIID,OUT PPVOID); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
STDMETHODIMP_(SCODE) GetModuleName(OUT BSTR *pszName); STDMETHODIMP_ (SCODE) GetName(OUT BSTR *); STDMETHODIMP_ (SCODE) GetGroupOID(OUT BSTR *); STDMETHODIMP_ (SCODE) GetStatus(OUT BSTR *); STDMETHODIMP_ (SCODE) GetDescription(OUT BSTR *); STDMETHODIMP_ (SCODE) GetReference(OUT BSTR *);
STDMETHODIMP_(SCODE) SetModuleName(IN BSTR pszName); STDMETHODIMP_ (SCODE) SetName(IN BSTR ); STDMETHODIMP_ (SCODE) SetGroupOID(IN BSTR ); STDMETHODIMP_ (SCODE) SetStatus(IN BSTR ); STDMETHODIMP_ (SCODE) SetDescription(IN BSTR ); STDMETHODIMP_ (SCODE) SetReference(IN BSTR );
//Class members
const CSmirGroupHandle& operator>>(IWbemClassObject *pInst); const CSmirGroupHandle& operator<<(IWbemClassObject *pInst); const CSmirGroupHandle& operator>>(ISmirSerialiseHandle *pInst); HRESULT PutClassProperties (IWbemClassObject *pClass) ; operator void* (); CSmirGroupHandle(); virtual ~ CSmirGroupHandle(); STDMETHODIMP_(SCODE) AddToDB( CSmir *a_Smir , ISmirModHandle *hModule); STDMETHODIMP_(SCODE) DeleteFromDB( CSmir *a_Smir ); private: //private copy constructors to prevent bcopy
CSmirGroupHandle(CSmirGroupHandle&); const CSmirGroupHandle& operator=(CSmirGroupHandle &); };
class CSmirClassHandle : public ISmirClassHandle { private: friend CSmirAdministrator; friend CEnumSmirClass; friend CClassHandleClassFactory; friend CModuleToClassAssociator; friend CGroupToClassAssociator; friend CSMIRToClassAssociator;
//reference count
LONG m_cRef; IWbemClassObject *m_pIMosClass; BSTR m_szModuleName; BSTR m_szGroupName;
public: //IUnknown members
STDMETHODIMP QueryInterface(IN REFIID,OUT PPVOID); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
STDMETHODIMP_(SCODE) GetModuleName(OUT BSTR *pszName); STDMETHODIMP_(SCODE) GetGroupName(OUT BSTR *pszName); STDMETHODIMP_(SCODE) SetModuleName(OUT BSTR pszName); STDMETHODIMP_(SCODE) SetGroupName(OUT BSTR pszName); STDMETHODIMP_(SCODE) GetWBEMClass(OUT IWbemClassObject **pObj); STDMETHODIMP_(SCODE) SetWBEMClass(IN IWbemClassObject *pObj);
//Class members
const CSmirClassHandle& operator>>(ISmirSerialiseHandle *pInst); operator void* ();
CSmirClassHandle(); virtual ~ CSmirClassHandle();
STDMETHODIMP_(SCODE) AddToDB( CSmir *a_Smir , ISmirGroupHandle *hGroup); STDMETHODIMP_(SCODE) DeleteFromDB( CSmir *a_Smir ); STDMETHODIMP_(SCODE) DeleteClassFromGroup( CSmir *a_Smir ); private: //private copy constructors to prevent bcopy
CSmirClassHandle(CSmirClassHandle&); const CSmirClassHandle& operator=(CSmirClassHandle &); };
class CModuleToNotificationClassAssociator; class CModuleToExtNotificationClassAssociator;
class CSmirNotificationClassHandle : public ISmirNotificationClassHandle { private: friend CSmirAdministrator; //friend CEnumNotificationClass;
friend CNotificationClassHandleClassFactory; friend CModuleToNotificationClassAssociator;
//reference count
LONG m_cRef; IWbemClassObject *m_pIMosClass; BSTR m_szModuleName;
public: //IUnknown members
STDMETHODIMP QueryInterface(IN REFIID,OUT PPVOID); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release(); STDMETHODIMP_(SCODE) SetModule(THIS_ BSTR); STDMETHODIMP_(SCODE) GetModule(THIS_ BSTR*);
STDMETHODIMP_(SCODE) GetWBEMNotificationClass (THIS_ OUT IWbemClassObject **pObj ); STDMETHODIMP_(SCODE) SetWBEMNotificationClass(THIS_ IWbemClassObject *pObj);
//Class members
const CSmirNotificationClassHandle& operator>>(ISmirSerialiseHandle *pInst); operator void* ();
CSmirNotificationClassHandle(); virtual ~CSmirNotificationClassHandle();
STDMETHODIMP_(SCODE) AddToDB( CSmir *a_Smir ); STDMETHODIMP_(SCODE) DeleteFromDB( CSmir *a_Smir );
private: //private copy constructors to prevent bcopy
CSmirNotificationClassHandle(CSmirNotificationClassHandle&); const CSmirNotificationClassHandle& operator=(CSmirNotificationClassHandle &); };
class CSmirExtNotificationClassHandle : public ISmirExtNotificationClassHandle { private: friend CSmirAdministrator; //friend CEnumExtNotificationClass;
friend CExtNotificationClassHandleClassFactory; friend CModuleToExtNotificationClassAssociator;
//reference count
LONG m_cRef; IWbemClassObject *m_pIMosClass; BSTR m_szModuleName;
public: //IUnknown members
STDMETHODIMP QueryInterface(IN REFIID,OUT PPVOID); STDMETHODIMP_(ULONG) AddRef(); STDMETHODIMP_(ULONG) Release();
STDMETHODIMP_(SCODE) SetModule(THIS_ BSTR); STDMETHODIMP_(SCODE) GetModule(THIS_ BSTR*);
STDMETHODIMP_(SCODE) GetWBEMExtNotificationClass(OUT IWbemClassObject **pObj); STDMETHODIMP_(SCODE) SetWBEMExtNotificationClass(THIS_ IWbemClassObject *pObj);
//Class members
const CSmirExtNotificationClassHandle& operator>>(ISmirSerialiseHandle *pInst); operator void* ();
CSmirExtNotificationClassHandle(); virtual ~CSmirExtNotificationClassHandle();
STDMETHODIMP_(SCODE) AddToDB ( CSmir *a_Smir ); STDMETHODIMP_(SCODE) DeleteFromDB ( CSmir *a_Smir );
private: //private copy constructors to prevent bcopy
CSmirExtNotificationClassHandle(CSmirExtNotificationClassHandle&); const CSmirExtNotificationClassHandle& operator=(CSmirExtNotificationClassHandle &);
};
#endif
|