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.
 
 
 
 
 
 

117 lines
2.8 KiB

//***************************************************************************
//
// File:
//
// Module: MS SNMP Provider
//
// Purpose:
//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
//***************************************************************************
#ifndef __PROPINST_H
#define __PROPINST_H
class SnmpInstanceClassObject : public SnmpClassObject
{
private:
BOOL CheckProperty ( WbemSnmpErrorObject &a_errorObject , WbemSnmpProperty *property ) ;
protected:
public:
SnmpInstanceClassObject ( SnmpResponseEventObject *parentOperation ) ;
SnmpInstanceClassObject ( const SnmpInstanceClassObject & snmpInstanceClassObject ) ;
~SnmpInstanceClassObject () ;
BOOL Check ( WbemSnmpErrorObject &a_errorObject ) ;
} ;
class SnmpInstanceResponseEventObject : public SnmpResponseEventObject
{
private:
protected:
SnmpSession *session ;
AutoRetrieveOperation *operation ;
IWbemClassObject *classObject ;
IWbemClassObject *instanceObject ;
#if 0
IWbemObjectAccess *instanceAccessObject ;
#endif
SnmpInstanceClassObject snmpObject ;
PartitionSet *m_PartitionSet ;
BOOL SendSnmp ( WbemSnmpErrorObject &a_errorObject ) ;
public:
SnmpInstanceResponseEventObject ( CImpPropProv *provider , IWbemContext *a_Context ) ;
~SnmpInstanceResponseEventObject () ;
IWbemClassObject *GetClassObject () { return classObject ; }
IWbemClassObject *GetInstanceObject () { return instanceObject ; }
#if 0
IWbemObjectAccess *GetInstanceAccessObject () { return instanceAccessObject ; }
#endif
PartitionSet *GetPartitionSet () { return m_PartitionSet ; }
SnmpClassObject *GetSnmpClassObject () { return & snmpObject ; }
SnmpClassObject *GetSnmpRequestClassObject () { return & snmpObject ; }
virtual void ReceiveRow ( SnmpInstanceClassObject *snmpObject ) = 0 ;
virtual void ReceiveRow ( IWbemClassObject *snmpObject ) {}
} ;
class SnmpInstanceEventObject : public SnmpInstanceResponseEventObject
{
private:
protected:
wchar_t *Class ;
public:
SnmpInstanceEventObject ( CImpPropProv *provider , BSTR Class , IWbemContext *a_Context ) ;
~SnmpInstanceEventObject () ;
SnmpClassObject *GetSnmpClassObject () { return & snmpObject ; }
BOOL Instantiate ( WbemSnmpErrorObject &a_errorObject ) ;
} ;
class SnmpInstanceAsyncEventObject : public SnmpInstanceEventObject
{
private:
ULONG state ;
IWbemObjectSink *notificationHandler ;
protected:
public:
SnmpInstanceAsyncEventObject ( CImpPropProv *provider , BSTR Class , IWbemObjectSink *notify , IWbemContext *a_Context ) ;
~SnmpInstanceAsyncEventObject () ;
void Process () ;
void ReceiveRow ( SnmpInstanceClassObject *snmpObject ) ;
void ReceiveRow ( IWbemClassObject *snmpObject ) ;
void ReceiveComplete () ;
} ;
#endif // __PROPINST_H