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 OW_RESULT_HANDLERS_HPP_INCLUDE_GUARD_ 00036 #define OW_RESULT_HANDLERS_HPP_INCLUDE_GUARD_ 00037 #include "OW_config.h" 00038 #include "OW_ResultHandlerIFC.hpp" 00039 #include "OW_StringEnumeration.hpp" 00040 00041 namespace OW_NAMESPACE 00042 { 00043 00045 class OW_COMMON_API CIMClassEnumBuilder : public CIMClassResultHandlerIFC 00046 { 00047 public: 00048 CIMClassEnumBuilder(CIMClassEnumeration& e) : m_e(e) {} 00049 virtual ~CIMClassEnumBuilder(); 00050 protected: 00051 virtual void doHandle(const CIMClass &c); 00052 private: 00053 CIMClassEnumeration& m_e; 00054 }; 00055 00057 class OW_COMMON_API CIMClassArrayBuilder : public CIMClassResultHandlerIFC 00058 { 00059 public: 00060 CIMClassArrayBuilder(CIMClassArray& a) : m_a(a) {} 00061 virtual ~CIMClassArrayBuilder(); 00062 protected: 00063 virtual void doHandle(const CIMClass &c); 00064 private: 00065 CIMClassArray& m_a; 00066 }; 00067 00069 class OW_COMMON_API StringArrayBuilder : public StringResultHandlerIFC 00070 { 00071 public: 00072 StringArrayBuilder(StringArray& a) : m_a(a) {} 00073 virtual ~StringArrayBuilder(); 00074 protected: 00075 virtual void doHandle(const String &s); 00076 private: 00077 StringArray& m_a; 00078 }; 00079 00081 class OW_COMMON_API StringEnumBuilder : public StringResultHandlerIFC 00082 { 00083 public: 00084 StringEnumBuilder(StringEnumeration& e) : m_e(e) {} 00085 virtual ~StringEnumBuilder(); 00086 protected: 00087 virtual void doHandle(const String &s); 00088 private: 00089 StringEnumeration& m_e; 00090 }; 00091 00093 class OW_COMMON_API CIMObjectPathEnumBuilder : public CIMObjectPathResultHandlerIFC 00094 { 00095 public: 00096 CIMObjectPathEnumBuilder(CIMObjectPathEnumeration& e) : m_e(e) {} 00097 virtual ~CIMObjectPathEnumBuilder(); 00098 protected: 00099 virtual void doHandle(const CIMObjectPath &cop); 00100 private: 00101 CIMObjectPathEnumeration& m_e; 00102 }; 00103 00105 class OW_COMMON_API CIMObjectPathArrayBuilder : public CIMObjectPathResultHandlerIFC 00106 { 00107 public: 00108 CIMObjectPathArrayBuilder(CIMObjectPathArray& a) : m_a(a) {} 00109 virtual ~CIMObjectPathArrayBuilder(); 00110 protected: 00111 virtual void doHandle(const CIMObjectPath &cop); 00112 private: 00113 CIMObjectPathArray& m_a; 00114 }; 00115 00117 class OW_COMMON_API CIMInstanceEnumBuilder : public CIMInstanceResultHandlerIFC 00118 { 00119 public: 00120 CIMInstanceEnumBuilder(CIMInstanceEnumeration& e) : m_e(e) {} 00121 virtual ~CIMInstanceEnumBuilder(); 00122 protected: 00123 virtual void doHandle(const CIMInstance &i); 00124 private: 00125 CIMInstanceEnumeration& m_e; 00126 }; 00127 00129 class OW_COMMON_API CIMInstanceArrayBuilder : public CIMInstanceResultHandlerIFC 00130 { 00131 public: 00132 CIMInstanceArrayBuilder(CIMInstanceArray& a) : m_a(a) {} 00133 virtual ~CIMInstanceArrayBuilder(); 00134 protected: 00135 virtual void doHandle(const CIMInstance &i); 00136 private: 00137 CIMInstanceArray& m_a; 00138 }; 00139 00141 class OW_COMMON_API CIMQualifierTypeEnumBuilder : public CIMQualifierTypeResultHandlerIFC 00142 { 00143 public: 00144 CIMQualifierTypeEnumBuilder(CIMQualifierTypeEnumeration& e) : m_e(e) {} 00145 virtual ~CIMQualifierTypeEnumBuilder(); 00146 protected: 00147 virtual void doHandle(const CIMQualifierType &qt); 00148 private: 00149 CIMQualifierTypeEnumeration& m_e; 00150 }; 00151 00153 class OW_COMMON_API CIMQualifierTypeArrayBuilder : public CIMQualifierTypeResultHandlerIFC 00154 { 00155 public: 00156 CIMQualifierTypeArrayBuilder(CIMQualifierTypeArray& a) : m_a(a) {} 00157 virtual ~CIMQualifierTypeArrayBuilder(); 00158 protected: 00159 virtual void doHandle(const CIMQualifierType &qt); 00160 private: 00161 CIMQualifierTypeArray& m_a; 00162 }; 00163 00164 } // end namespace OW_NAMESPACE 00165 00166 #endif 00167