00001 /******************************************************************************* 00002 * Copyright (C) 2001-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_PROXY_PROVIDER_DETAIL_HPP_INCLUDE_GUARD_ 00036 #define OWBI1_PROXY_PROVIDER_DETAIL_HPP_INCLUDE_GUARD_ 00037 #include "OW_config.h" 00038 #include "OWBI1_config.h" 00039 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL 00040 #include "OW_AssociatorProviderIFC.hpp" 00041 #endif 00042 #include "OW_InstanceProviderIFC.hpp" 00043 #include "OW_SecondaryInstanceProviderIFC.hpp" 00044 #include "OW_MethodProviderIFC.hpp" 00045 #include "OW_PolledProviderIFC.hpp" 00046 #include "OW_IndicationExportProviderIFC.hpp" 00047 #include "OW_IndicationProviderIFC.hpp" 00048 00049 #include "OWBI1_AssociatorProviderIFC.hpp" 00050 #include "OWBI1_InstanceProviderIFC.hpp" 00051 #include "OWBI1_SecondaryInstanceProviderIFC.hpp" 00052 #include "OWBI1_MethodProviderIFC.hpp" 00053 #include "OWBI1_PolledProviderIFC.hpp" 00054 #include "OWBI1_IndicationExportProviderIFC.hpp" 00055 #include "OWBI1_IndicationProviderIFC.hpp" 00056 00057 #include "OW_SharedLibraryReference.hpp" 00058 #include "OW_TempFileStream.hpp" 00059 #include "OW_BinarySerialization.hpp" 00060 #include "OWBI1_CIMInstance.hpp" 00061 #include "OWBI1_WQLSelectStatement.hpp" 00062 #include "OW_ResultHandlerIFC.hpp" 00063 #include "OWBI1_ResultHandlerIFC.hpp" 00064 #include "OWBI1_CIMPropertyList.hpp" 00065 00066 // The classes and functions defined in this file are not meant for general 00067 // use, they are internal implementation details. They may change at any time. 00068 00069 namespace OWBI1 00070 { 00071 00072 namespace detail 00073 { 00074 OWBI1::CIMInstance convertCIMInstance(const OpenWBEM::CIMInstance& inst); 00075 OpenWBEM::CIMInstance convertCIMInstance(const OWBI1::CIMInstance& inst); 00076 OWBI1::CIMInstanceArray convertCIMInstances(const OpenWBEM::CIMInstanceArray& inst); 00077 OpenWBEM::CIMInstanceArray convertCIMInstances(const OWBI1::CIMInstanceArray& inst); 00078 OWBI1::CIMObjectPath convertCIMObjectPath(const OpenWBEM::CIMObjectPath& inst); 00079 OpenWBEM::CIMObjectPath convertCIMObjectPath(const OWBI1::CIMObjectPath& inst); 00080 OWBI1::CIMClass convertCIMClass(const OpenWBEM::CIMClass& inst); 00081 OpenWBEM::CIMClass convertCIMClass(const OWBI1::CIMClass& inst); 00082 OWBI1::CIMParamValueArray convertCIMParamValues(const OpenWBEM::CIMParamValueArray& inst); 00083 OpenWBEM::CIMParamValueArray convertCIMParamValues(const OWBI1::CIMParamValueArray& inst); 00084 OWBI1::CIMValue convertCIMValue(const OpenWBEM::CIMValue& inst); 00085 OpenWBEM::CIMValue convertCIMValue(const OWBI1::CIMValue& inst); 00086 00087 OWBI1::ProviderEnvironmentIFCRef createProvEnvWrapper(const OpenWBEM::ProviderEnvironmentIFCRef& env); 00088 OWBI1::WQLSelectStatement convertWQLSelectStatement(const OpenWBEM::WQLSelectStatement& stmt); 00089 OWBI1::StringArray convertStringArray(const OpenWBEM::StringArray& in); 00090 OpenWBEM::StringArray convertStringArray(const OWBI1::StringArray& in); 00091 00092 OWBI1::WBEMFlags::EIncludeQualifiersFlag convertWBEMFlag(OpenWBEM::WBEMFlags::EIncludeQualifiersFlag includeQualifiers); 00093 OpenWBEM::WBEMFlags::EIncludeQualifiersFlag convertWBEMFlag(OWBI1::WBEMFlags::EIncludeQualifiersFlag includeQualifiers); 00094 OWBI1::WBEMFlags::EIncludeClassOriginFlag convertWBEMFlag(OpenWBEM::WBEMFlags::EIncludeClassOriginFlag includeClassOrigin); 00095 OWBI1::WBEMFlags::ELocalOnlyFlag convertWBEMFlag(OpenWBEM::WBEMFlags::ELocalOnlyFlag includeClassOrigin); 00096 OWBI1::WBEMFlags::EDeepFlag convertWBEMFlag(OpenWBEM::WBEMFlags::EDeepFlag includeClassOrigin); 00097 00098 OWBI1::CIMPropertyList convertPropertyList(const OpenWBEM::StringArray* propertyList); 00099 00100 class CIMInstanceResultHandlerWrapper : public CIMInstanceResultHandlerIFC 00101 { 00102 public: 00103 CIMInstanceResultHandlerWrapper(OpenWBEM::CIMInstanceResultHandlerIFC& wrapped); 00104 00105 void doHandle(const CIMInstance& i); 00106 private: 00107 OpenWBEM::CIMInstanceResultHandlerIFC& m_wrapped; 00108 }; 00109 00110 class CIMObjectPathResultHandlerWrapper : public CIMObjectPathResultHandlerIFC 00111 { 00112 public: 00113 CIMObjectPathResultHandlerWrapper(OpenWBEM::CIMObjectPathResultHandlerIFC& wrapped); 00114 00115 void doHandle(const CIMObjectPath& i); 00116 private: 00117 OpenWBEM::CIMObjectPathResultHandlerIFC& m_wrapped; 00118 }; 00119 00120 00121 } // end namespace ProxyProviderDetail 00122 } // end namespace OWBI1 00123 00124 #endif 00125