OW_CIMOMHandleIFC.hpp

Go to the documentation of this file.
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 
00036 #ifndef OW_CIMOMHANDLE_IFC_HPP_INCLUDE_GUARD_
00037 #define OW_CIMOMHANDLE_IFC_HPP_INCLUDE_GUARD_
00038 #include "OW_config.h"
00039 #include "OW_CIMFwd.hpp"
00040 #include "OW_IntrusiveCountableBase.hpp"
00041 #include "OW_WBEMFlags.hpp"
00042 #include "OW_IfcsFwd.hpp"
00043 
00044 namespace OW_NAMESPACE
00045 {
00046 
00051 class OW_COMMON_API CIMOMHandleIFC : public IntrusiveCountableBase
00052 {
00053 public:
00057    virtual ~CIMOMHandleIFC();
00062    virtual void close() = 0;
00083    virtual void enumClass(const String& ns,
00084       const String& className,
00085       CIMClassResultHandlerIFC& result,
00086       WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00087       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00088       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00089       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN) = 0;
00109    virtual CIMClassEnumeration enumClassE(const String& ns,
00110       const String& className,
00111       WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00112       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00113       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00114       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN);
00134    virtual CIMClassArray enumClassA(const String& ns,
00135       const String& className,
00136       WBEMFlags::EDeepFlag deep = WBEMFlags::E_SHALLOW,
00137       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00138       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00139       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN);
00140 
00155    virtual void enumClassNames(
00156       const String& ns,
00157       const String& className,
00158       StringResultHandlerIFC& result,
00159       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP) = 0;
00173    virtual StringEnumeration enumClassNamesE(
00174       const String& ns,
00175       const String& className,
00176       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP);
00190    virtual StringArray enumClassNamesA(
00191       const String& ns,
00192       const String& className,
00193       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP);
00229    virtual void enumInstances(
00230       const String& ns,
00231       const String& className,
00232       CIMInstanceResultHandlerIFC& result,
00233       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00234       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00235       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00236       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00237       const StringArray* propertyList = 0) = 0;
00272    virtual CIMInstanceEnumeration enumInstancesE(
00273       const String& ns,
00274       const String& className,
00275       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00276       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00277       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00278       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00279       const StringArray* propertyList = 0);
00314    virtual CIMInstanceArray enumInstancesA(
00315       const String& ns,
00316       const String& className,
00317       WBEMFlags::EDeepFlag deep = WBEMFlags::E_DEEP,
00318       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00319       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00320       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00321       const StringArray* propertyList = 0);
00334    virtual void enumInstanceNames(
00335       const String& ns,
00336       const String& className,
00337       CIMObjectPathResultHandlerIFC& result) = 0;
00348    virtual CIMObjectPathEnumeration enumInstanceNamesE(
00349       const String& ns,
00350       const String& className);
00361    virtual CIMObjectPathArray enumInstanceNamesA(
00362       const String& ns,
00363       const String& className);
00383    virtual CIMClass getClass(
00384       const String& ns,
00385       const String& className,
00386       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00387       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00388       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_INCLUDE_CLASS_ORIGIN,
00389       const StringArray* propertyList = 0) = 0;
00418    virtual CIMInstance getInstance(
00419       const String& ns,
00420       const CIMObjectPath& instanceName,
00421       WBEMFlags::ELocalOnlyFlag localOnly = WBEMFlags::E_NOT_LOCAL_ONLY,
00422       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00423       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00424       const StringArray* propertyList = 0) = 0;
00438    virtual CIMValue invokeMethod(
00439       const String& ns,
00440       const CIMObjectPath& path,
00441       const String& methodName,
00442       const CIMParamValueArray& inParams,
00443       CIMParamValueArray& outParams) = 0;
00451    virtual CIMQualifierType getQualifierType(
00452       const String& ns,
00453       const String& qualifierName) = 0;
00454 #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00455 
00461    virtual void setQualifierType(
00462       const String& ns,
00463       const CIMQualifierType& qualifierType) = 0;
00470    virtual void deleteQualifierType(const String& ns, const String& qualName) = 0;
00478    virtual void enumQualifierTypes(
00479       const String& ns,
00480       CIMQualifierTypeResultHandlerIFC& result) = 0;
00488    virtual CIMQualifierTypeEnumeration enumQualifierTypesE(
00489       const String& ns);
00496    virtual CIMQualifierTypeArray enumQualifierTypesA(
00497       const String& ns);
00498 #endif // #ifndef OW_DISABLE_QUALIFIER_DECLARATION
00499 #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00500 
00506    virtual void modifyClass(
00507       const String& ns,
00508       const CIMClass& cimClass) = 0;
00516    virtual void createClass(
00517       const String& ns,
00518       const CIMClass& cimClass) = 0;
00525    virtual void deleteClass(const String& ns, const String& className) = 0;
00526 #endif // #ifndef OW_DISABLE_SCHEMA_MANIPULATION
00527 #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00528 
00537    virtual void modifyInstance(
00538       const String& ns,
00539       const CIMInstance& modifiedInstance,
00540       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_INCLUDE_QUALIFIERS,
00541       const StringArray* propertyList = 0) = 0;
00550    virtual CIMObjectPath createInstance(
00551       const String& ns,
00552       const CIMInstance& instance) = 0;
00559    virtual void deleteInstance(const String& ns, const CIMObjectPath& path) = 0;
00560 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00561 
00570    virtual void setProperty(
00571       const String& ns,
00572       const CIMObjectPath& instanceName,
00573       const String& propertyName,
00574       const CIMValue& newValue) = 0;
00575 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00576 #endif // #ifndef OW_DISABLE_INSTANCE_MANIPULATION
00577    
00578 #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00579 
00588    virtual CIMValue getProperty(
00589       const String& ns,
00590       const CIMObjectPath& instanceName,
00591       const String& propertyName) = 0;
00592 #endif // #if !defined(OW_DISABLE_PROPERTY_OPERATIONS)
00593 
00594 #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
00595 
00632    virtual void associatorNames(
00633       const String& ns,
00634       const CIMObjectPath& objectName,
00635       CIMObjectPathResultHandlerIFC& result,
00636       const String& assocClass = String(),
00637       const String& resultClass = String(),
00638       const String& role = String(),
00639       const String& resultRole = String()) = 0;
00650    virtual CIMObjectPathEnumeration associatorNamesE(
00651       const String& ns,
00652       const CIMObjectPath& objectName,
00653       const String& assocClass = String(),
00654       const String& resultClass = String(),
00655       const String& role = String(),
00656       const String& resultRole = String());
00667    virtual CIMObjectPathArray associatorNamesA(
00668       const String& ns,
00669       const CIMObjectPath& objectName,
00670       const String& assocClass = String(),
00671       const String& resultClass = String(),
00672       const String& role = String(),
00673       const String& resultRole = String());
00752    virtual void associators(
00753       const String& ns,
00754       const CIMObjectPath& path,
00755       CIMInstanceResultHandlerIFC& result,
00756       const String& assocClass = String(),
00757       const String& resultClass = String(),
00758       const String& role = String(),
00759       const String& resultRole = String(),
00760       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00761       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00762       const StringArray* propertyList = 0) = 0;
00775    virtual CIMInstanceEnumeration associatorsE(
00776       const String& ns,
00777       const CIMObjectPath& path,
00778       const String& assocClass = String(),
00779       const String& resultClass = String(),
00780       const String& role = String(),
00781       const String& resultRole = String(),
00782       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00783       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00784       const StringArray* propertyList = 0);
00797    virtual CIMInstanceArray associatorsA(
00798       const String& ns,
00799       const CIMObjectPath& path,
00800       const String& assocClass = String(),
00801       const String& resultClass = String(),
00802       const String& role = String(),
00803       const String& resultRole = String(),
00804       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00805       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00806       const StringArray* propertyList = 0);
00888    virtual void associatorsClasses(
00889       const String& ns,
00890       const CIMObjectPath& path,
00891       CIMClassResultHandlerIFC& result,
00892       const String& assocClass = String(),
00893       const String& resultClass = String(),
00894       const String& role = String(),
00895       const String& resultRole = String(),
00896       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00897       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00898       const StringArray* propertyList = 0) = 0;
00913    virtual CIMClassEnumeration associatorsClassesE(
00914       const String& ns,
00915       const CIMObjectPath& path,
00916       const String& assocClass = String(),
00917       const String& resultClass = String(),
00918       const String& role = String(),
00919       const String& resultRole = String(),
00920       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00921       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00922       const StringArray* propertyList = 0);
00935    virtual CIMClassArray associatorsClassesA(
00936       const String& ns,
00937       const CIMObjectPath& path,
00938       const String& assocClass = String(),
00939       const String& resultClass = String(),
00940       const String& role = String(),
00941       const String& resultRole = String(),
00942       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
00943       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
00944       const StringArray* propertyList = 0);
00970    virtual void referenceNames(
00971       const String& ns,
00972       const CIMObjectPath& path,
00973       CIMObjectPathResultHandlerIFC& result,
00974       const String& resultClass = String(),
00975       const String& role = String()) = 0;
00990    virtual CIMObjectPathEnumeration referenceNamesE(
00991       const String& ns,
00992       const CIMObjectPath& path,
00993       const String& resultClass = String(),
00994       const String& role = String());
01009    virtual CIMObjectPathArray referenceNamesA(
01010       const String& ns,
01011       const CIMObjectPath& path,
01012       const String& resultClass = String(),
01013       const String& role = String());
01048    virtual void references(
01049       const String& ns,
01050       const CIMObjectPath& path,
01051       CIMInstanceResultHandlerIFC& result,
01052       const String& resultClass = String(),
01053       const String& role = String(),
01054       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01055       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01056       const StringArray* propertyList = 0) = 0;
01071    virtual CIMInstanceEnumeration referencesE(
01072       const String& ns,
01073       const CIMObjectPath& path,
01074       const String& resultClass = String(),
01075       const String& role = String(),
01076       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01077       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01078       const StringArray* propertyList = 0);
01093    virtual CIMInstanceArray referencesA(
01094       const String& ns,
01095       const CIMObjectPath& path,
01096       const String& resultClass = String(),
01097       const String& role = String(),
01098       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01099       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01100       const StringArray* propertyList = 0);
01109    virtual void referencesClasses(
01110       const String& ns,
01111       const CIMObjectPath& path,
01112       CIMClassResultHandlerIFC& result,
01113       const String& resultClass = String(),
01114       const String& role = String(),
01115       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01116       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01117       const StringArray* propertyList = 0) = 0;
01132    virtual CIMClassEnumeration referencesClassesE(
01133       const String& ns,
01134       const CIMObjectPath& path,
01135       const String& resultClass = String(),
01136       const String& role = String(),
01137       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01138       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01139       const StringArray* propertyList = 0);
01154    virtual CIMClassArray referencesClassesA(
01155       const String& ns,
01156       const CIMObjectPath& path,
01157       const String& resultClass = String(),
01158       const String& role = String(),
01159       WBEMFlags::EIncludeQualifiersFlag includeQualifiers = WBEMFlags::E_EXCLUDE_QUALIFIERS,
01160       WBEMFlags::EIncludeClassOriginFlag includeClassOrigin = WBEMFlags::E_EXCLUDE_CLASS_ORIGIN,
01161       const StringArray* propertyList = 0);
01162 #endif // #ifndef OW_DISABLE_ASSOCIATION_TRAVERSAL
01163 
01184    virtual void execQuery(
01185       const String& ns,
01186       CIMInstanceResultHandlerIFC& result,
01187       const String& query,
01188       const String& queryLanguage) = 0;
01203    virtual CIMInstanceEnumeration execQueryE(
01204       const String& ns,
01205       const String& query,
01206       const String& queryLanguage);
01221    virtual CIMInstanceArray execQueryA(
01222       const String& ns,
01223       const String& query,
01224       const String& queryLanguage);
01225    
01232    virtual CIMFeatures getServerFeatures();
01239    virtual void exportIndication(const CIMInstance& instance,
01240       const String& instNS);
01241 };
01242 
01243 } // end namespace OW_NAMESPACE
01244 
01245 #endif

Generated on Thu Feb 9 08:47:53 2006 for openwbem by  doxygen 1.4.6