00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00035 #ifndef OWBI1_INSTANCEPROVIDERIFC_HPP_
00036 #define OWBI1_INSTANCEPROVIDERIFC_HPP_
00037 #include "OWBI1_config.h"
00038 #include "OWBI1_ProviderBaseIFC.hpp"
00039 #include "OWBI1_WBEMFlags.hpp"
00040 #include "OWBI1_CommonFwd.hpp"
00041 #include "OWBI1_ProviderFwd.hpp"
00042 
00043 namespace OWBI1
00044 {
00045 
00050 class OWBI1_OWBI1PROVIFC_API BI1InstanceProviderIFC: public virtual BI1ProviderBaseIFC
00051 {
00052 public:
00053    BI1InstanceProviderIFC();
00054    virtual ~BI1InstanceProviderIFC();
00069    virtual void getInstanceProviderInfo(InstanceProviderInfo& info);
00070 
00083    virtual void enumInstanceNames(
00084          const ProviderEnvironmentIFCRef& env,
00085          const String& ns,
00086          const CIMName& className,
00087          CIMObjectPathResultHandlerIFC& result,
00088          const CIMClass& cimClass ) = 0;
00109    virtual void enumInstances(
00110          const ProviderEnvironmentIFCRef& env,
00111          const String& ns,
00112          const CIMName& className,
00113          CIMInstanceResultHandlerIFC& result,
00114          const CIMPropertyList& propertyList,
00115          const CIMClass& requestedClass,
00116          const CIMClass& cimClass );
00134    virtual CIMInstance getInstance(
00135          const ProviderEnvironmentIFCRef& env,
00136          const String& ns,
00137          const CIMObjectPath& instanceName,
00138          const CIMPropertyList& propertyList,
00139          const CIMClass& cimClass ) = 0;
00154    virtual CIMObjectPath createInstance(
00155          const ProviderEnvironmentIFCRef& env,
00156          const String& ns,
00157          const CIMInstance& cimInstance ) = 0;
00170    virtual void modifyInstance(
00171          const ProviderEnvironmentIFCRef& env,
00172          const String& ns,
00173          const CIMInstance& modifiedInstance,
00174          const CIMInstance& previousInstance,
00175          const CIMPropertyList& propertyList,
00176          const CIMClass& theClass) = 0;
00184    virtual void deleteInstance(
00185          const ProviderEnvironmentIFCRef& env,
00186          const String& ns,
00187          const CIMObjectPath& cop) = 0;
00188    virtual BI1InstanceProviderIFC* getInstanceProvider();
00189 };
00190 
00191 
00192 } 
00193 
00194 #endif