See CMPI_MB_Class_x and CMPI_MB_Supports_xxx flags.
*/
inline static unsigned long
-CBGetClassification (const CMPIBroker * mb)
+CBGetBrokerCapabilities (const CMPIBroker * mb)
{
- return ((mb)->bft->brokerClassification);
+ return ((mb)->bft-> brokerCapabilities);
}
# else
-# define CBGetClassification(b) ((b)->bft->brokerClassification)
+# define CBGetBrokerCapabilities(b) ((b)->bft->brokerCapabilities)
# endif
# ifdef CMPI_INLINE
CMPIError *cmpiErrorClone;
CMPICount i, arrSize;
+ CMPIUint32 brokerCapabilities;
/* CMPIError data */
const char* inOwningEntity = "ACME";
CMPIString* outOwningEntity;
PROV_LOG_OPEN (_ClassName, _ProviderLocation);
+ PROV_LOG ("Calling CBGetBrokerCapabilities");
+ brokerCapabilities = CBGetBrokerCapabilities(_broker);
+ if (brokerCapabilities & CMPI_MB_Supports_Extended_Error)
+ {
+ PROV_LOG("CMPI_MB_Supports_Extended_Error Support : True");
+ }
+ else
+ {
+ PROV_LOG("CMPI_MB_Supports_Extended_Error Support : False");
+ CMReturnWithString(CMPI_RC_ERR_NOT_SUPPORTED,
+ CMNewString(_broker,
+ "Extended error support not avilable", NULL));
+ }
+
PROV_LOG ("--- %s CMPI InvokeMethod() called", _ClassName);
class = CMGetClassName (ref, &rc);