CmpiBroker.h

Go to the documentation of this file.
00001 
00002 /*
00003  *
00004  * CmpiBroker.h
00005  *
00006  * (C) Copyright IBM Corp. 2003
00007  *
00008  * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE
00009  * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
00010  * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
00011  *
00012  * You can obtain a current copy of the Common Public License from
00013  * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
00014  *
00015  * Author:        Adrian Schuur <schuur@de.ibm.com>
00016  * Contributors:
00017  *
00018  * Description: CMPI C++ magement broker wrapper
00019  *
00020  */
00021 
00022 #ifndef _CmpiBroker_h_
00023 #define _CmpiBroker_h_
00024 #include "OW_config.h"
00025 
00026 #include "cmpidt.h"
00027 #include "cmpift.h"
00028 
00029 class CmpiObject;
00030 class CmpiEnumeration;
00031 class CmpiArgs;
00032 
00033 #include "CmpiObject.h"
00034 #include "CmpiInstance.h"
00035 #include "CmpiContext.h"
00036 #include "CmpiObjectPath.h"
00037 #include "CmpiEnumeration.h"
00038 
00042 class CmpiBroker : public CmpiObject {
00043    friend class CmpiBaseMI;
00044    friend class CmpiInstanceMI;
00045    friend class CmpiInstance;
00046    friend class CmpiObjectPath;
00047    friend class CmpiEnumeration;
00048   protected:
00049 
00052    /*
00053    inline CmpiBroker(CMPIBroker* b)
00054       : CmpiObject((void*)b) {}
00055    */
00058    inline CMPIBroker *getEnc() const
00059       { return (CMPIBroker*)enc; }
00060   private:
00061 
00064    CmpiBroker() {}
00065   public:
00066 
00067    CmpiBroker(CMPIBroker* b)
00068       : CmpiObject((void*)b) {}
00076    CmpiContext prepareAttachThread
00077                 (const CmpiContext& ctx);
00078 
00083    void attachThread
00084                 (const CmpiContext& ctx);
00085 
00091   void detachThread
00092                 (const CmpiContext& ctx);
00093 
00094   /* class 0 services */
00095 
00102    void deliverIndication
00103                 (const CmpiContext& ctx, const char* ns,const CmpiInstance& ind);
00104 
00105   /* class 1 services */
00106 
00112    CmpiEnumeration enumInstanceNames
00113                 (const CmpiContext& ctx, const CmpiObjectPath& op);
00114 
00124    CmpiInstance getInstance
00125                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00126       const char** properties);
00127 
00128   /* class 2 services */
00129 
00136    CmpiObjectPath createInstance
00137                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00138       const CmpiInstance& inst);
00139 
00145    void setInstance
00146                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00147       const CmpiInstance& inst);
00148 
00153    void deleteInstance
00154                 (const CmpiContext& ctx, const CmpiObjectPath& op);
00155 
00164    CmpiEnumeration execQuery
00165                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00166        const char* query, const char* lang);
00167 
00178    CmpiEnumeration enumInstances
00179                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00180        const char** properties);
00181 
00210    CmpiEnumeration associators
00211                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00212        const char* assocClass, const char* resultClass,
00213        const char* role, const char* resultRole, 
00214        const char** properties);
00215 
00241    CmpiEnumeration associatorNames
00242                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00243        const char* assocClass, const char* resultClass,
00244        const char* role, const char* resultRole);
00245 
00265    CmpiEnumeration references
00266                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00267        const char* resultClass, const char* role,
00268        const char** properties);
00269 
00286    CmpiEnumeration referenceNames
00287                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00288        const char* resultClass, const char* role);
00289 
00299    CmpiData invokeMethod
00300                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00301        const char* method, const CmpiArgs& in, CmpiArgs& out);
00302 
00309    void setProperty
00310                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00311        const char* name, const CmpiData& data);
00312 
00319    CmpiData getProperty
00320                 (const CmpiContext& ctx, const CmpiObjectPath& op,
00321        const char* name);
00322 };
00323 
00324 #endif
00325 
00326 
00327 

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