CyberXML::Node *ActionRequest::getActionNode() { CyberXML::Node *bodyNode = getBodyNode(); if (bodyNode == NULL) return NULL; if (bodyNode->hasNodes() == false) return NULL; return bodyNode->getNode(0); }
void Action::initArgumentList() { argumentList = new ArgumentList(true); argumentInList = new ArgumentList(false); argumentOutList = new ArgumentList(false); CyberXML::Node *serviceNode = getServiceNode(); CyberXML::Node *argumentListNode = getActionNode()->getNode(ArgumentList::ELEM_NAME); if (serviceNode == NULL || argumentListNode == NULL) return; int nodeCnt = argumentListNode->getNNodes(); for (int n = 0; n < nodeCnt; n++) { CyberXML::Node *argNode = argumentListNode->getNode(n); if (Argument::isArgumentNode(argNode) == false) continue; Argument *arg = new Argument(serviceNode, argNode); argumentList->add(arg); if (arg->isInDirection() == true) argumentInList->add(arg); if (arg->isOutDirection() == true) argumentOutList->add(arg); } }