cmpi
|
00001 /* 00002 * 00003 * $Id: CmpiBroker.h,v 1.3 2008/07/09 19:36:59 tyreld Exp $ 00004 * 00005 * (C) Copyright IBM Corp. 2003, 2005, 2008 00006 * 00007 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE 00008 * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 00009 * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 00010 * 00011 * You can obtain a current copy of the Eclipse Public License from 00012 * http://www.opensource.org/licenses/eclipse-1.0.txt 00013 * 00014 * Author: Adrian Schuur <schuur@de.ibm.com> 00015 * Contributors: Heidi Neumann, heidineu@de.ibm.com 00016 * Angel Nunez Mencias, anunez@de.ibm.com 00017 * Viktor Mihajlovski, mihajlov@de.ibm.com 00018 * 00019 * Description: CMPI Mgmt Broker Definitions 00020 * 00021 */ 00022 00023 #ifndef _CmpiBroker_h_ 00024 #define _CmpiBroker_h_ 00025 00026 #include "cmpidt.h" 00027 #include "cmpift.h" 00028 00029 class CmpiInstance; 00030 class CmpiObject; 00031 class CmpiEnumeration; 00032 class CmpiArgs; 00033 00034 #include "Linkage.h" 00035 #include "CmpiObject.h" 00036 #include "CmpiString.h" 00037 #include "CmpiInstance.h" 00038 #include "CmpiContext.h" 00039 #include "CmpiObjectPath.h" 00040 #include "CmpiBaseMI.h" 00041 #include "CmpiEnumeration.h" 00042 00046 class CMPI_PROVIDER_LINKAGE CmpiBroker : public CmpiObject { 00047 public: 00050 CmpiBroker(CMPIBroker* b); 00051 00054 CMPIBroker *getEnc() const; 00055 00063 CmpiContext prepareAttachThread 00064 (const CmpiContext& ctx); 00065 00070 void attachThread 00071 (const CmpiContext& ctx); 00072 00078 void detachThread 00079 (const CmpiContext& ctx); 00080 00081 // class 0 services 00082 00089 void deliverIndication 00090 (const CmpiContext& ctx, const char* ns,const CmpiInstance& ind); 00091 00097 CmpiEnumeration enumInstanceNames 00098 (const CmpiContext& ctx, const CmpiObjectPath& op); 00099 00109 CmpiInstance getInstance 00110 (const CmpiContext& ctx, const CmpiObjectPath& op, 00111 const char** properties); 00112 00119 CmpiObjectPath createInstance 00120 (const CmpiContext& ctx, const CmpiObjectPath& op, 00121 const CmpiInstance& inst); 00122 00128 void setInstance 00129 (const CmpiContext& ctx, const CmpiObjectPath& op, 00130 const CmpiInstance& inst, const char** properties); 00131 00136 void deleteInstance 00137 (const CmpiContext& ctx, const CmpiObjectPath& op); 00138 00147 CmpiEnumeration execQuery 00148 (const CmpiContext& ctx, const CmpiObjectPath& op, 00149 const char* query, const char* lang); 00150 00161 CmpiEnumeration enumInstances 00162 (const CmpiContext& ctx, const CmpiObjectPath& op, 00163 const char** properties); 00164 00193 CmpiEnumeration associators 00194 (const CmpiContext& ctx, const CmpiObjectPath& op, 00195 const char* assocClass, const char* resultClass, 00196 const char* role, const char* resultRole, 00197 const char** properties); 00198 00224 CmpiEnumeration associatorNames 00225 (const CmpiContext& ctx, const CmpiObjectPath& op, 00226 const char* assocClass, const char* resultClass, 00227 const char* role, const char* resultRole); 00228 00248 CmpiEnumeration references 00249 (const CmpiContext& ctx, const CmpiObjectPath& op, 00250 const char* resultClass, const char* role, 00251 const char** properties); 00252 00269 CmpiEnumeration referenceNames 00270 (const CmpiContext& ctx, const CmpiObjectPath& op, 00271 const char* resultClass, const char* role); 00272 00282 CmpiData invokeMethod 00283 (const CmpiContext& ctx, const CmpiObjectPath& op, 00284 const char* method, const CmpiArgs& in, CmpiArgs& out); 00285 00292 void setProperty 00293 (const CmpiContext& ctx, const CmpiObjectPath& op, 00294 const char* name, const CmpiData& data); 00295 00302 CmpiData getProperty 00303 (const CmpiContext& ctx, const CmpiObjectPath& op, 00304 const char* name); 00305 }; 00306 00307 #endif 00308 00309 00310