cmpi

cmpi/CmpiBroker.h

Go to the documentation of this file.
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