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 
00036 #ifndef OW_CPPSIMPLEASSOCIATORPROVIDER_INCLUDE_GUARD_
00037 #define OW_CPPSIMPLEASSOCIATORPROVIDER_INCLUDE_GUARD_
00038 
00039 #include "OW_config.h"
00040 
00041 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00042 #include "OW_CppAssociatorProviderIFC.hpp"
00043 
00044 
00045 namespace OW_NAMESPACE
00046 {
00056     class OW_CPPPROVIFC_API CppSimpleAssociatorProviderIFC : public CppAssociatorProviderIFC
00057     {
00058     protected:
00059 
00127         virtual void doReferences(const ProviderEnvironmentIFCRef &env, 
00128                                   CIMInstanceResultHandlerIFC &result, 
00129                                   const String &ns, 
00130                                   const CIMObjectPath &objectName, 
00131                                   const CIMClass &assocClass, 
00132                                   const String &resultClass, 
00133                                   const String &role, 
00134                                   const String &resultRole) = 0; 
00135 
00136     public:
00137         virtual void associators(const ProviderEnvironmentIFCRef &env, 
00138                                  CIMInstanceResultHandlerIFC &result, 
00139                                  const String &ns, 
00140                                  const CIMObjectPath &objectName, 
00141                                  const String &assocClass, 
00142                                  const String &resultClass, 
00143                                  const String &role, 
00144                                  const String &resultRole, 
00145                                  WBEMFlags:: EIncludeQualifiersFlag includeQualifiers, 
00146                                  WBEMFlags:: EIncludeClassOriginFlag includeClassOrigin, 
00147                                  const StringArray *propertyList); 
00148         virtual void associatorNames(const ProviderEnvironmentIFCRef &env, 
00149                                      CIMObjectPathResultHandlerIFC &result, 
00150                                      const String &ns, 
00151                                      const CIMObjectPath &objectName, 
00152                                      const String &assocClass, 
00153                                      const String &resultClass, 
00154                                      const String &role, 
00155                                      const String &resultRole); 
00156         virtual void references(const ProviderEnvironmentIFCRef 
00157                                 &env, CIMInstanceResultHandlerIFC &result, 
00158                                 const String &ns, 
00159                                 const CIMObjectPath &objectName, 
00160                                 const String &resultClass, 
00161                                 const String &role, 
00162                                 WBEMFlags:: EIncludeQualifiersFlag includeQualifiers, 
00163                                 WBEMFlags:: EIncludeClassOriginFlag includeClassOrigin, 
00164                                 const StringArray *propertyList); 
00165         virtual void referenceNames(const ProviderEnvironmentIFCRef &env, 
00166                                     CIMObjectPathResultHandlerIFC &result, 
00167                                     const String &ns, 
00168                                     const CIMObjectPath &objectName, 
00169                                     const String &resultClass, 
00170                                     const String &role); 
00171     };
00172 } 
00173 
00174 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00175 
00176 #endif // #ifndef OW_CPPSIMPLEASSOCIATORPROVIDER_INCLUDE_GUARD_