00001 /******************************************************************************* 00002 * Copyright (C) 2004 Vintela, Inc. All rights reserved. 00003 * 00004 * Redistribution and use in source and binary forms, with or without 00005 * modification, are permitted provided that the following conditions are met: 00006 * 00007 * - Redistributions of source code must retain the above copyright notice, 00008 * this list of conditions and the following disclaimer. 00009 * 00010 * - Redistributions in binary form must reproduce the above copyright notice, 00011 * this list of conditions and the following disclaimer in the documentation 00012 * and/or other materials provided with the distribution. 00013 * 00014 * - Neither the name of Vintela, Inc. nor the names of its 00015 * contributors may be used to endorse or promote products derived from this 00016 * software without specific prior written permission. 00017 * 00018 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 00019 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00020 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 * ARE DISCLAIMED. IN NO EVENT SHALL Vintela, Inc. OR THE CONTRIBUTORS 00022 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00023 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00024 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00026 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00027 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00028 * POSSIBILITY OF SUCH DAMAGE. 00029 *******************************************************************************/ 00030 00035 #ifndef OWBI1_RESULT_HANDLERS_HPP_INCLUDE_GUARD_ 00036 #define OWBI1_RESULT_HANDLERS_HPP_INCLUDE_GUARD_ 00037 #include "OWBI1_config.h" 00038 #include "OWBI1_ResultHandlerIFC.hpp" 00039 #include "OWBI1_CommonFwd.hpp" 00040 //#include "OWBI1_StringEnumeration.hpp" 00041 00042 namespace OWBI1 00043 { 00044 00046 class OWBI1_OWBI1PROVIFC_API CIMClassEnumBuilder : public CIMClassResultHandlerIFC 00047 { 00048 public: 00049 CIMClassEnumBuilder(CIMClassEnumeration& e) : m_e(e) {} 00050 virtual ~CIMClassEnumBuilder(); 00051 protected: 00052 virtual void doHandle(const CIMClass &c); 00053 private: 00054 CIMClassEnumeration& m_e; 00055 }; 00056 00058 class OWBI1_OWBI1PROVIFC_API CIMClassArrayBuilder : public CIMClassResultHandlerIFC 00059 { 00060 public: 00061 CIMClassArrayBuilder(CIMClassArray& a) : m_a(a) {} 00062 virtual ~CIMClassArrayBuilder(); 00063 protected: 00064 virtual void doHandle(const CIMClass &c); 00065 private: 00066 CIMClassArray& m_a; 00067 }; 00068 00070 class OWBI1_OWBI1PROVIFC_API CIMNameArrayBuilder : public CIMNameResultHandlerIFC 00071 { 00072 public: 00073 CIMNameArrayBuilder(CIMNameArray& a) : m_a(a) {} 00074 virtual ~CIMNameArrayBuilder(); 00075 protected: 00076 virtual void doHandle(const CIMName &n); 00077 private: 00078 CIMNameArray& m_a; 00079 }; 00080 00082 class OWBI1_OWBI1PROVIFC_API CIMNameEnumBuilder : public CIMNameResultHandlerIFC 00083 { 00084 public: 00085 CIMNameEnumBuilder(CIMNameEnumeration& e) : m_e(e) {} 00086 virtual ~CIMNameEnumBuilder(); 00087 protected: 00088 virtual void doHandle(const CIMName& s); 00089 private: 00090 CIMNameEnumeration& m_e; 00091 }; 00092 00094 class OWBI1_OWBI1PROVIFC_API CIMObjectPathEnumBuilder : public CIMObjectPathResultHandlerIFC 00095 { 00096 public: 00097 CIMObjectPathEnumBuilder(CIMObjectPathEnumeration& e) : m_e(e) {} 00098 virtual ~CIMObjectPathEnumBuilder(); 00099 protected: 00100 virtual void doHandle(const CIMObjectPath &cop); 00101 private: 00102 CIMObjectPathEnumeration& m_e; 00103 }; 00104 00106 class OWBI1_OWBI1PROVIFC_API CIMObjectPathArrayBuilder : public CIMObjectPathResultHandlerIFC 00107 { 00108 public: 00109 CIMObjectPathArrayBuilder(CIMObjectPathArray& a) : m_a(a) {} 00110 virtual ~CIMObjectPathArrayBuilder(); 00111 protected: 00112 virtual void doHandle(const CIMObjectPath &cop); 00113 private: 00114 CIMObjectPathArray& m_a; 00115 }; 00116 00118 class OWBI1_OWBI1PROVIFC_API CIMInstanceEnumBuilder : public CIMInstanceResultHandlerIFC 00119 { 00120 public: 00121 CIMInstanceEnumBuilder(CIMInstanceEnumeration& e) : m_e(e) {} 00122 virtual ~CIMInstanceEnumBuilder(); 00123 protected: 00124 virtual void doHandle(const CIMInstance &i); 00125 private: 00126 CIMInstanceEnumeration& m_e; 00127 }; 00128 00130 class OWBI1_OWBI1PROVIFC_API CIMInstanceArrayBuilder : public CIMInstanceResultHandlerIFC 00131 { 00132 public: 00133 CIMInstanceArrayBuilder(CIMInstanceArray& a) : m_a(a) {} 00134 virtual ~CIMInstanceArrayBuilder(); 00135 protected: 00136 virtual void doHandle(const CIMInstance &i); 00137 private: 00138 CIMInstanceArray& m_a; 00139 }; 00140 00142 class OWBI1_OWBI1PROVIFC_API CIMQualifierTypeEnumBuilder : public CIMQualifierTypeResultHandlerIFC 00143 { 00144 public: 00145 CIMQualifierTypeEnumBuilder(CIMQualifierTypeEnumeration& e) : m_e(e) {} 00146 virtual ~CIMQualifierTypeEnumBuilder(); 00147 protected: 00148 virtual void doHandle(const CIMQualifierType &qt); 00149 private: 00150 CIMQualifierTypeEnumeration& m_e; 00151 }; 00152 00154 class OWBI1_OWBI1PROVIFC_API CIMQualifierTypeArrayBuilder : public CIMQualifierTypeResultHandlerIFC 00155 { 00156 public: 00157 CIMQualifierTypeArrayBuilder(CIMQualifierTypeArray& a) : m_a(a) {} 00158 virtual ~CIMQualifierTypeArrayBuilder(); 00159 protected: 00160 virtual void doHandle(const CIMQualifierType &qt); 00161 private: 00162 CIMQualifierTypeArray& m_a; 00163 }; 00164 00165 } // end namespace OWBI1 00166 00167 #endif 00168