version 1.25, 2004/03/24 17:51:01
|
version 1.26, 2004/03/30 15:29:57
|
|
|
| |
#include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> | #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h> |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
#include <Pegasus/ProviderManager2/ProviderManagerzOS_inline.h> |
|
#endif |
|
|
PEGASUS_USING_STD; | PEGASUS_USING_STD; |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMGetInstanceRequestMessage * req = dynamic_cast<CIMGetInstanceRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->getInstance | rc=pr.miVector.instMI->ft->getInstance |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMEnumerateInstancesRequestMessage * req = dynamic_cast<CIMEnumerateInstancesRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->enumInstances | rc=pr.miVector.instMI->ft->enumInstances |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMEnumerateInstanceNamesRequestMessage * req = dynamic_cast<CIMEnumerateInstanceNamesRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->enumInstanceNames(pr.miVector.instMI,&eCtx,&eRes,&eRef); | rc=pr.miVector.instMI->ft->enumInstanceNames(pr.miVector.instMI,&eCtx,&eRes,&eRef); |
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMCreateInstanceRequestMessage * req = dynamic_cast<CIMCreateInstanceRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->createInstance | rc=pr.miVector.instMI->ft->createInstance |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMModifyInstanceRequestMessage * req = dynamic_cast<CIMModifyInstanceRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->setInstance | rc=pr.miVector.instMI->ft->setInstance |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMDeleteInstanceRequestMessage * req = dynamic_cast<CIMDeleteInstanceRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->deleteInstance | rc=pr.miVector.instMI->ft->deleteInstance |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMExecQueryRequestMessage * req = dynamic_cast<CIMExecQueryRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.instMI->ft->execQuery | rc=pr.miVector.instMI->ft->execQuery |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMAssociatorsRequestMessage * req = dynamic_cast<CIMAssociatorsRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.assocMI->ft->associators( | rc=pr.miVector.assocMI->ft->associators( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMAssociatorNamesRequestMessage * req = dynamic_cast<CIMAssociatorNamesRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.assocMI->ft->associatorNames( | rc=pr.miVector.assocMI->ft->associatorNames( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMReferencesRequestMessage * req = dynamic_cast<CIMReferencesRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.assocMI->ft->references( | rc=pr.miVector.assocMI->ft->references( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMReferenceNamesRequestMessage * req = dynamic_cast<CIMReferenceNamesRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
|
|
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.assocMI->ft->referenceNames( | rc=pr.miVector.assocMI->ft->referenceNames( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMInvokeMethodRequestMessage * req = dynamic_cast<CIMInvokeMethodRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.methMI->ft->invokeMethod( | rc=pr.miVector.methMI->ft->invokeMethod( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMCreateSubscriptionRequestMessage * req = dynamic_cast<CIMCreateSubscriptionRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
| |
rc=pr.miVector.indMI->ft->activateFilter( | rc=pr.miVector.indMI->ft->activateFilter( |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |
|
|
| |
CMPIProvider::pm_service_op_lock op_lock(&pr); | CMPIProvider::pm_service_op_lock op_lock(&pr); |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
CIMDeleteSubscriptionRequestMessage * req = dynamic_cast<CIMDeleteSubscriptionRequestMessage *>(const_cast<Message *>(message)); |
|
int err_num=enablePThreadSecurity(req->userName); |
|
if (err_num!=0) |
|
{ |
|
// need a new CIMException for this |
|
throw CIMException(CIM_ERR_ACCESS_DENIED,String(strerror(err_num))); |
|
} |
|
#endif |
STAT_GETSTARTTIME; | STAT_GETSTARTTIME; |
rc=pr.miVector.indMI->ft->deActivateFilter( | rc=pr.miVector.indMI->ft->deActivateFilter( |
pr.miVector.indMI,&eCtx,NULL,eSelx, | pr.miVector.indMI,&eCtx,NULL,eSelx, |
|
|
| |
STAT_PMS_PROVIDEREND; | STAT_PMS_PROVIDEREND; |
| |
|
#ifdef PEGASUS_ZOS_THREADLEVEL_SECURITY |
|
disablePThreadSecurity(req->userName); |
|
#endif |
|
|
if (rc.rc!=CMPI_RC_OK) | if (rc.rc!=CMPI_RC_OK) |
throw CIMException((CIMStatusCode)rc.rc, | throw CIMException((CIMStatusCode)rc.rc, |
rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); | rc.msg ? CMGetCharsPtr(rc.msg,NULL) : String::EMPTY); |