version 1.101, 2013/08/12 13:41:20
|
version 1.102, 2013/10/16 23:24:19
|
|
|
return _totalIssued; | return _totalIssued; |
} | } |
| |
|
|
inline void OperationAggregate::incTotalIssued() | inline void OperationAggregate::incTotalIssued() |
{ | { |
_totalIssued++; | _totalIssued++; |
|
|
const CIMOperationRequestMessage* request, | const CIMOperationRequestMessage* request, |
const CIMResponseMessage* response); | const CIMResponseMessage* response); |
| |
|
|
void _enqueueExceptionResponse( | void _enqueueExceptionResponse( |
CIMOperationRequestMessage* request, | CIMOperationRequestMessage* request, |
CIMException& exception); | CIMException& exception); |
|
|
CIMOperationRequestMessage* request, | CIMOperationRequestMessage* request, |
const CIMObjectPath& path); | const CIMObjectPath& path); |
| |
|
/**Tests for existence of the class defined in the request and |
|
if successful return true with the class in the targetClass |
|
argument. Note that exceptions are caught in this method. |
|
|
|
@param request CIMOperationRequestMessage containing |
|
Request. Note that this depends on class name |
|
and namespace being in this message |
|
@param targetClass CIMClass class to be returned if request |
|
successful |
|
|
|
@return Boolean true if class in request->className found |
|
for request->nameSpace. False if not found. |
|
*/ |
|
|
Boolean _rejectInvalidClassParameter(CIMOperationRequestMessage* request, | Boolean _rejectInvalidClassParameter(CIMOperationRequestMessage* request, |
const CIMNamespaceName& nameSpace, |
CIMConstClass& targetClass); |
const CIMObjectPath& objectName); |
|
|
/**Equivalent to _rejectInvalidClassParameter above except that |
|
it included objecName parameter |
|
|
|
@param request |
|
@param nameSpace |
|
@param objectName |
| |
|
@return Boolean |
|
*/ |
Boolean _rejectInvalidClassParameter(CIMOperationRequestMessage* request, | Boolean _rejectInvalidClassParameter(CIMOperationRequestMessage* request, |
const CIMNamespaceName& nameSpace, | const CIMNamespaceName& nameSpace, |
const CIMName& className, |
const CIMObjectPath& objectName); |
CIMConstClass& targetClass); |
|
/** | /** |
Reject if no providers or repository for this class | Reject if no providers or repository for this class |
*/ | */ |
Boolean _rejectNoProvidersOrRepository(CIMOperationRequestMessage* request, | Boolean _rejectNoProvidersOrRepository(CIMOperationRequestMessage* request, |
const ProviderInfoList&, |
const ProviderInfoList&); |
const CIMName& className); |
|
| |
/** | /** |
Checks whether the number of providers required to complete an | Checks whether the number of providers required to complete an |
|
|
const CIMName& className, | const CIMName& className, |
CIMException& cimException); | CIMException& cimException); |
| |
//// void enumerateInstancesFromRepository( |
/* |
//// CIMEnumerateInstancesResponseMessage *response, |
Check to determine if we have any providers or repository for this |
//// OperationAggregate* poA, |
class. |
//// const CIMNamespaceName& nameSpace, |
NOTE: There may be issues with this test in general since it is use |
//// const CIMName& className, |
for enumerates, etc. and the goal there is to never exception for |
//// Boolean includeQualifiers = false, |
things like this, simply return no objects. On the other hand |
//// Boolean includeClassOrigin = false, |
This is a real boundary condition for the server where the |
//// const CIMPropertyList& propertyList = CIMPropertyList()); |
repository is not to be used and there are NO providers registered. |
|
TODO - Check if this is really valid |
|
*/ |
|
Boolean _checkNoProvidersOrRepository(CIMOperationRequestMessage* request, |
|
Uint32 providerCount, const CIMName& className); |
|
|
| |
Boolean _forwardEnumerationToProvider( | Boolean _forwardEnumerationToProvider( |
ProviderInfo &providerInfo, | ProviderInfo &providerInfo, |
OperationAggregate* poA, | OperationAggregate* poA, |
CIMOperationRequestMessage* request); | CIMOperationRequestMessage* request); |
| |
|
void enumerateInstancesFromRepository( |
|
CIMEnumerateInstancesResponseMessage *response, |
|
OperationAggregate* poA, |
|
CIMOperationRequestMessage* request); |
|
|
CIMRepository* _repository; | CIMRepository* _repository; |
| |
ProviderRegistrationManager* _providerRegistrationManager; | ProviderRegistrationManager* _providerRegistrationManager; |
|
|
// | // |
// Enable particular Operations or services | // Enable particular Operations or services |
// | // |
|
|
private: | private: |
static void _handle_enqueue_callback(AsyncOpNode*, MessageQueue*, void*); | static void _handle_enqueue_callback(AsyncOpNode*, MessageQueue*, void*); |
| |
|
|
Boolean _lookupAssociationProvider( | Boolean _lookupAssociationProvider( |
const CIMNamespaceName& nameSpace, | const CIMNamespaceName& nameSpace, |
const CIMName& assocClass, | const CIMName& assocClass, |
|
|
DynamicRoutingTable *_routing_table; | DynamicRoutingTable *_routing_table; |
}; | }; |
| |
// Forward response to aggregrator |
// Forward response to Common Request Aggregator. This is simply |
|
// a syntatic simplification. |
inline void CIMOperationRequestDispatcher::_forwardResponseForAggregation( | inline void CIMOperationRequestDispatcher::_forwardResponseForAggregation( |
CIMOperationRequestMessage* request, | CIMOperationRequestMessage* request, |
OperationAggregate* poA, | OperationAggregate* poA, |
|
|
response); | response); |
} | } |
| |
|
/* |
|
For request for aggregation with poA as parameter. |
|
*/ |
inline void CIMOperationRequestDispatcher::_forwardRequestForAggregation( | inline void CIMOperationRequestDispatcher::_forwardRequestForAggregation( |
const ProviderInfo& providerInfo, | const ProviderInfo& providerInfo, |
CIMOperationRequestMessage* request, | CIMOperationRequestMessage* request, |