示例#1
0
int Graph_New(struct World *inWorld, struct GraphDef *inGraphDef, int32 inID,
	      struct sc_msg_iter* args, Graph** outGraph,bool argtype)//true for normal args , false for setn type args
{
	Graph* graph;
	int err = Node_New(inWorld, &inGraphDef->mNodeDef, inID, (Node**)&graph);
	if (err) return err;
	Graph_Ctor(inWorld, inGraphDef, graph, args,argtype);
	*outGraph = graph;
	return err;
}
示例#2
0
int Group_New(World *inWorld, int32 inID, Group** outGroup)
{
	Group *group;
	int err = Node_New(inWorld, &gGroupNodeDef, inID, (Node**)&group);
	if (err) return err;

	group->mNode.mCalcFunc = (NodeCalcFunc)&Group_Calc;
	group->mNode.mIsGroup = true;
	group->mHead = 0;
	group->mTail = 0;
	inWorld->mNumGroups++;
	*outGroup = group;

	return kSCErr_None;
}
示例#3
0
PyXPathNamespaceObject *XPathNamespace_New(PyElementObject *parentNode,
                                           PyObject *prefix,
                                           PyObject *namespaceURI)
{
  PyXPathNamespaceObject *self;

  if (parentNode == NULL || !PyElement_Check(parentNode)) {
    PyErr_BadInternalCall();
    return NULL;
  }

  self = Node_New(PyXPathNamespaceObject, &DomletteXPathNamespace_Type,
                  Node_GET_DOCUMENT(parentNode));
  if (self != NULL) {
    if (xns_init(self, parentNode, prefix, namespaceURI) < 0) {
      Node_Del(self);
      return NULL;
    }
  }

  PyObject_GC_Track(self);

  return self;
}