OW_NamespaceProviderIFC.hpp

Go to the documentation of this file.
00001 /*******************************************************************************
00002 * Copyright (C) 2001-2004 Novell, 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 Novell, 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 Novell, 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 
00031 #ifndef OW_NAMESPACEPROVIDER_IFC_HPP_INCLUDE_GUARD_
00032 #define OW_NAMESPACEPROVIDER_IFC_HPP_INCLUDE_GUARD_
00033 #include "OW_config.h"
00034 #include "OW_ProviderBaseIFC.hpp"
00035 #include "OW_ProviderFwd.hpp"
00036 #include "OW_CommonFwd.hpp"
00037 #include "OW_IfcsFwd.hpp"
00038 #include "OW_WBEMFlags.hpp"
00039 
00040 namespace OW_NAMESPACE
00041 {
00042 
00043 class OW_PROVIDER_API NamespaceProviderIFC: public ProviderBaseIFC
00044 {
00045 public:
00046 
00047    virtual ~NamespaceProviderIFC();
00048 
00052    void init(const ProviderEnvironmentIFCRef& env);
00053 
00057    virtual void shutdown(const ProviderEnvironmentIFCRef& env);
00058 
00059    virtual CIMQualifierType getQualifierType(
00060       const ProviderEnvironmentIFCRef& env,
00061       const String& ns,
00062       const String& qualifierName) = 0;
00063 
00064 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00065 
00066    virtual void enumQualifierTypes(
00067       const ProviderEnvironmentIFCRef& env,
00068       const String& ns,
00069       CIMQualifierTypeResultHandlerIFC& result) = 0;
00070 
00071    virtual void deleteQualifierType(
00072       const ProviderEnvironmentIFCRef& env,
00073       const String& ns, 
00074       const String& qualName) = 0;
00075 
00076    virtual void setQualifierType(
00077       const ProviderEnvironmentIFCRef& env,
00078       const String& ns,
00079       const CIMQualifierType& qt) = 0;
00080 
00081 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00082 
00083    virtual CIMClass getClass(
00084       const ProviderEnvironmentIFCRef& env,
00085       const String& ns,
00086       const String& className,
00087       WBEMFlags::ELocalOnlyFlag localOnly, 
00088       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00089       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00090       const StringArray* propertyList) = 0;
00091 
00092 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00093 
00094    virtual CIMClass deleteClass(
00095       const ProviderEnvironmentIFCRef& env,
00096       const String& ns, 
00097       const String& className) = 0;
00098 
00099    virtual void createClass(
00100       const ProviderEnvironmentIFCRef& env,
00101       const String& ns, 
00102       const CIMClass& cimClass) = 0;
00103 
00104    virtual CIMClass modifyClass(
00105       const ProviderEnvironmentIFCRef& env,
00106       const String& ns,
00107       const CIMClass& cc) = 0;
00108 
00109 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00110    
00111    virtual void enumClasses(
00112       const ProviderEnvironmentIFCRef& env,
00113       const String& ns,
00114       const String& className,
00115       CIMClassResultHandlerIFC& result,
00116       WBEMFlags::EDeepFlag deep, 
00117       WBEMFlags::ELocalOnlyFlag localOnly, 
00118       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00119       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin) = 0;
00120 
00121    virtual void enumClassNames(
00122       const ProviderEnvironmentIFCRef& env,
00123       const String& ns,
00124       const String& className,
00125       StringResultHandlerIFC& result,
00126       WBEMFlags::EDeepFlag deep) = 0;
00127 
00128    virtual void enumInstances(
00129       const ProviderEnvironmentIFCRef& env,
00130       const String& ns,
00131       const String& className,
00132       CIMInstanceResultHandlerIFC& result,
00133       WBEMFlags::EDeepFlag deep,
00134       WBEMFlags::ELocalOnlyFlag localOnly,
00135       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00136       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin,
00137       const StringArray* propertyList,
00138       WBEMFlags::EEnumSubclassesFlag enumSubclasses) = 0;
00139 
00140    virtual void enumInstanceNames(
00141       const ProviderEnvironmentIFCRef& env,
00142       const String& ns,
00143       const String& className,
00144       CIMObjectPathResultHandlerIFC& result,
00145       WBEMFlags::EDeepFlag deep) = 0;
00146 
00147    virtual CIMInstance getInstance(
00148       const ProviderEnvironmentIFCRef& env,
00149       const String& ns,
00150       const CIMObjectPath& instanceName,
00151       WBEMFlags::ELocalOnlyFlag localOnly, 
00152       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00153       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00154       const StringArray* propertyList) = 0;
00155 
00156 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00157 
00158    virtual CIMInstance deleteInstance(
00159       const ProviderEnvironmentIFCRef& env,
00160       const String& ns, 
00161       const CIMObjectPath& cop) = 0;
00162 
00163    virtual CIMObjectPath createInstance(
00164       const ProviderEnvironmentIFCRef& env,
00165       const String& ns,
00166       const CIMInstance& ci) = 0;
00167 
00168    virtual CIMInstance modifyInstance(
00169       const ProviderEnvironmentIFCRef& env,
00170       const String& ns,
00171       const CIMInstance& modifiedInstance,
00172       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00173       const StringArray* propertyList) = 0;
00174 
00175 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00176 
00177    virtual void setProperty(
00178       const ProviderEnvironmentIFCRef& env,
00179       const String& ns,
00180       const CIMObjectPath& name, 
00181       const String& propertyName,
00182       const CIMValue& cv) = 0;
00183 
00184 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00185 
00186 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00187    
00188 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00189 
00190    virtual CIMValue getProperty(
00191       const ProviderEnvironmentIFCRef& env,
00192       const String& ns,
00193       const CIMObjectPath& name,
00194       const String& propertyName) = 0;
00195 
00196 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00197 
00198    virtual CIMValue invokeMethod(
00199       const ProviderEnvironmentIFCRef& env,
00200       const String& ns,
00201       const CIMObjectPath& path,
00202       const String& methodName, 
00203       const CIMParamValueArray& inParams,
00204       CIMParamValueArray& outParams) = 0;
00205 
00206 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00207 
00208    virtual void associatorNames(
00209       const ProviderEnvironmentIFCRef& env,
00210       const String& ns,
00211       const CIMObjectPath& path,
00212       CIMObjectPathResultHandlerIFC& result,
00213       const String& assocClass,
00214       const String& resultClass, 
00215       const String& role,
00216       const String& resultRole) = 0;
00217 
00218    virtual void associators(
00219       const ProviderEnvironmentIFCRef& env,
00220       const String& ns,
00221       const CIMObjectPath& path,
00222       CIMInstanceResultHandlerIFC& result,
00223       const String& assocClass,
00224       const String& resultClass, 
00225       const String& role,
00226       const String& resultRole,  
00227       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00228       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00229       const StringArray* propertyList) = 0;
00230 
00231    virtual void associatorsClasses(
00232       const ProviderEnvironmentIFCRef& env,
00233       const String& ns,
00234       const CIMObjectPath& path,
00235       CIMClassResultHandlerIFC& result,
00236       const String& assocClass,
00237       const String& resultClass, 
00238       const String& role,
00239       const String& resultRole,  
00240       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00241       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00242       const StringArray* propertyList) = 0;
00243 
00244    virtual void referenceNames(
00245       const ProviderEnvironmentIFCRef& env,
00246       const String& ns,
00247       const CIMObjectPath& path,
00248       CIMObjectPathResultHandlerIFC& result,
00249       const String& resultClass,
00250       const String& role) = 0;
00251 
00252    virtual void references(
00253       const ProviderEnvironmentIFCRef& env,
00254       const String& ns,
00255       const CIMObjectPath& path,
00256       CIMInstanceResultHandlerIFC& result,
00257       const String& resultClass,
00258       const String& role, 
00259       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00260       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00261       const StringArray* propertyList) = 0;
00262    
00263    virtual void referencesClasses(
00264       const ProviderEnvironmentIFCRef& env,
00265       const String& ns,
00266       const CIMObjectPath& path,
00267       CIMClassResultHandlerIFC& result,
00268       const String& resultClass,
00269       const String& role, 
00270       WBEMFlags::EIncludeQualifiersFlag includeQualifiers,
00271       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin, 
00272       const StringArray* propertyList) = 0;
00273 
00274 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00275    
00276    virtual void execQuery(
00277       const ProviderEnvironmentIFCRef& env,
00278       const String& ns,
00279       CIMInstanceResultHandlerIFC& result,
00280       const String &query, 
00281       const String& queryLanguage) = 0;
00282 };
00283 
00284 } // end namespace OW_NAMESPACE
00285 
00286 #endif   // OW_NAMESPACEPROVIDER_IFC_HPP_INCLUDE_GUARD_
00287 

Generated on Thu Feb 9 08:48:07 2006 for openwbem by  doxygen 1.4.6