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 OW_CPP_SIMPLE_INSTANCE_PROVIDER_IFC_HPP_
00036 #define OW_CPP_SIMPLE_INSTANCE_PROVIDER_IFC_HPP_
00037 #include "OW_config.h"
00038 #include "OW_CppInstanceProviderIFC.hpp"
00039 
00040 namespace OW_NAMESPACE
00041 {
00042 
00050 class OW_CPPPROVIFC_API CppSimpleInstanceProviderIFC : public virtual CppInstanceProviderIFC
00051 {
00052 public:
00053    virtual CIMInstance getInstance(
00054       const ProviderEnvironmentIFCRef &env, 
00055       const String &ns, 
00056       const CIMObjectPath &instanceName, 
00057       WBEMFlags::ELocalOnlyFlag localOnly, 
00058       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, 
00059       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00060       const StringArray *propertyList, 
00061       const CIMClass &cimClass);
00062    virtual void enumInstanceNames(
00063       const ProviderEnvironmentIFCRef &env, 
00064       const String &ns, 
00065       const String &className, 
00066       CIMObjectPathResultHandlerIFC &result, 
00067       const CIMClass &cimClass);
00068    virtual void enumInstances(
00069       const ProviderEnvironmentIFCRef &env, 
00070       const String &ns, 
00071       const String &className, 
00072       CIMInstanceResultHandlerIFC &result, 
00073       WBEMFlags::ELocalOnlyFlag localOnly,
00074       WBEMFlags::EDeepFlag deep, 
00075       WBEMFlags::EIncludeQualifiersFlag includeQualifiers, 
00076       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00077       const StringArray *propertyList, 
00078       const CIMClass &requestedClass, 
00079       const CIMClass &cimClass);
00080    enum EPropertiesFlag
00081    {
00082       E_ALL_PROPERTIES,
00083       E_KEY_PROPERTIES_ONLY
00084    };
00085    virtual void doSimpleEnumInstances(
00086       const ProviderEnvironmentIFCRef &env, 
00087       const String &ns, 
00088       const CIMClass &cimClass, 
00089       CIMInstanceResultHandlerIFC &result,
00090       EPropertiesFlag propertiesFlag) = 0;
00091 };
00092 
00093 } 
00094 
00095 #endif