00001 /* 00002 * NPIProvider.h 00003 * 00004 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE 00005 * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 00006 * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 00007 * 00008 * You can obtain a current copy of the Common Public License from 00009 * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html 00010 * 00011 * Author: Markus Mueller <markus_mueller@de.ibm.com> 00012 * Contributors: 00013 * 00014 * Description: <Some descriptive text> 00015 */ 00016 #ifndef PegasusProvider_NPIProvider_h 00017 #define PegasusProvider_NPIProvider_h 00018 #include "OW_CIMOMHandleIFC.hpp" 00019 #include "OW_CIMDataType.hpp" 00020 #include "OW_CIMProperty.hpp" 00021 #include "OW_String.hpp" 00022 #include "OW_CIMValue.hpp" 00023 #include "OW_CIMClass.hpp" 00024 #include "OW_CIMInstance.hpp" 00025 #include "OW_CIMObjectPath.hpp" 00026 #include "OW_CIMParameter.hpp" 00027 #include "OW_Array.hpp" 00028 #include "OW_CIMBase.hpp" 00029 #include "OW_ProviderEnvironmentIFC.hpp" 00030 #include <stdlib.h> 00031 #include "npi.h" 00032 00033 namespace OW_NAMESPACE 00034 { 00035 00036 typedef struct { 00037 char* operationContext; 00038 CIMOMHandleIFCRef _cimomhandle; 00039 String _nameSpace; 00040 } NPIenv; 00041 #define PROVIDER_ENTRY \ 00042 _npiHandle->thisObject = (void *)createEnv(_repository, nameSpace); \ 00043 ((NPIenv *)_npiHandle->thisObject)->operationContext = getOperationContext(); \ 00044 handler.processing(); 00045 #define PROVIDER_EXIT \ 00046 deleteEnv((NPIenv *)_npiHandle->thisObject); \ 00047 handler.complete(); 00048 typedef Array<char *> charVect; 00049 00050 } // end namespace OW_NAMESPACE 00051 00052 #endif /* PegasusProvider_NPIProvider_h */