From: Adrian S. <a3s...@us...> - 2005-04-11 22:50:35
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20951 Modified Files: cimXmlRequest.c Log Message: Problem 1181005 An instanceName without keyBindings means either a singleton or a class specification is involved. Both cases are not supported for the moment by sfcBroker for the associators, associatorNames, references and referenceNames operations. Both cases are very rare in CIM processing, when deemed absolutely needed, please generate a formal request. cimXmlRequest.c is updated to generate a CMPI_RC_ERR_NOT_SUPPORTED rc accompanied with the followiing message: "<operation> operation for classes not supported". Index: cimXmlRequest.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- cimXmlRequest.c 21 Mar 2005 14:22:38 -0000 1.3 +++ cimXmlRequest.c 11 Apr 2005 22:50:27 -0000 1.4 @@ -1151,6 +1151,12 @@ &val, &type); CMAddKey(path, req->objectName.bindings.keyBindings[i].name, valp, type); } + + if (req->objectName.bindings.next==0) { + _SFCB_RETURN(iMethodErrResponse(hdr, getErrSegment(CMPI_RC_ERR_NOT_SUPPORTED, + "AssociatorNames operation for classes not supported"))); + } + sreq.objectPath = setObjectPathMsgSegment(path); sreq.resultClass = req->op.resultClass; @@ -1220,6 +1226,12 @@ &val, &type); CMAddKey(path, req->objectName.bindings.keyBindings[i].name, valp, type); } + + if (req->objectName.bindings.next==0) { + _SFCB_RETURN(iMethodErrResponse(hdr, getErrSegment(CMPI_RC_ERR_NOT_SUPPORTED, + "Associator operation for classes not supported"))); + } + sreq->objectPath = setObjectPathMsgSegment(path); sreq->resultClass = req->op.resultClass; @@ -1303,6 +1315,12 @@ &val, &type); CMAddKey(path, req->objectName.bindings.keyBindings[i].name, valp, type); } + + if (req->objectName.bindings.next==0) { + _SFCB_RETURN(iMethodErrResponse(hdr, getErrSegment(CMPI_RC_ERR_NOT_SUPPORTED, + "ReferenceNames operation for classes not supported"))); + } + sreq.objectPath = setObjectPathMsgSegment(path); sreq.resultClass = req->op.resultClass; @@ -1371,6 +1389,12 @@ &val, &type); CMAddKey(path, req->objectName.bindings.keyBindings[i].name, valp, type); } + + if (req->objectName.bindings.next==0) { + _SFCB_RETURN(iMethodErrResponse(hdr, getErrSegment(CMPI_RC_ERR_NOT_SUPPORTED, + "References operation for classes not supported"))); + } + sreq->objectPath = setObjectPathMsgSegment(path); sreq->resultClass = req->op.resultClass; |