static int counter = 0;
static VariableValue
-localCounter(Template tmpl, int nargs, VariableValue *args) {
+localCounter(TemplateInstance tmpl, int nargs, VariableValue *args) {
VariableValue out = tmalloc(sizeof(VariableValue));
out->type = valueInt;
MemoryContext *base;
char *name = NULL;
TemplateData template;
+ TemplateInstance tinstance;
int i,j,k;
int cnt=0;
executeFunctionDescData funcs[] = {
printf("initTemplate: %d\n", initTemplate(&template, base, funcs, ".", name) );
/* dumpTemplate(&template); */
- setTemplateValueInt(&template, "ID", 17);
- setTemplateValueUndefined(&template, "emptyID");
- setTemplateValueInt(&template, "zeroid", 0);
- setTemplateValueString(&template, "str", "QWERTY");
+ tinstance = newTemplateInstance(&template, NULL);
- addTemplateRow(&template, "outerLoop");
- setTemplateValueString(&template, "outerLoop.data1", "ha1");
- setTemplateValueUndefined(&template, "outerLoop.data2");
+ setTemplateValueInt(tinstance, "ID", 17);
+ setTemplateValueUndefined(tinstance, "emptyID");
+ setTemplateValueInt(tinstance, "zeroid", 0);
+ setTemplateValueString(tinstance, "str", "QWERTY");
- addTemplateRow(&template, "outerLoop");
- setTemplateValueInt(&template, "outerLoop.data1", 10);
- setTemplateValueString(&template, "outerLoop.data2", "WOW");
- addTemplateRow(&template, "outerLoop.innerLoop");
- setTemplateValueString(&template, "outerLoop.innerLoop.camenty", "Number 1");
- addTemplateRow(&template, "outerLoop.innerLoop");
- setTemplateValueString(&template, "outerLoop.innerLoop.camenty", "Number 2");
+ addTemplateRow(tinstance, "outerLoop");
+ setTemplateValueString(tinstance, "outerLoop.data1", "ha1");
+ setTemplateValueUndefined(tinstance, "outerLoop.data2");
- addTemplateRow(&template, "outerLoop");
- setTemplateValueString(&template, "outerLoop.data1", "ha3");
+ addTemplateRow(tinstance, "outerLoop");
+ setTemplateValueInt(tinstance, "outerLoop.data1", 10);
+ setTemplateValueString(tinstance, "outerLoop.data2", "WOW");
+ addTemplateRow(tinstance, "outerLoop.innerLoop");
+ setTemplateValueString(tinstance, "outerLoop.innerLoop.camenty", "Number 1");
+ addTemplateRow(tinstance, "outerLoop.innerLoop");
+ setTemplateValueString(tinstance, "outerLoop.innerLoop.camenty", "Number 2");
+
+ addTemplateRow(tinstance, "outerLoop");
+ setTemplateValueString(tinstance, "outerLoop.data1", "ha3");
template.printString = outfunc;
- printTemplate( &template );
+ printTemplate( tinstance );
- resetTemplate(&template);
+ tinstance = newTemplateInstance(&template, NULL);
- setTemplateValueInt(&template, "ID", 23);
- setTemplateValueUndefined(&template, "emptyID");
- setTemplateValueInt(&template, "zeroid", 0);
- addTemplateRow(&template, "outerLoop");
- setTemplateValueString(&template, "outerLoop.data1", "ha1");
- setTemplateValueInt(&template, "outerLoop.data1", 1234);
- setTemplateValueString(&template, "outerLoop.data2", "FOO");
- addTemplateRow(&template, "outerLoop.innerLoop");
- setTemplateValueString(&template, "outerLoop.innerLoop.camenty", "Again 1");
+ setTemplateValueInt(tinstance, "ID", 23);
+ setTemplateValueUndefined(tinstance, "emptyID");
+ setTemplateValueInt(tinstance, "zeroid", 0);
+ addTemplateRow(tinstance, "outerLoop");
+ setTemplateValueString(tinstance, "outerLoop.data1", "ha1");
+ setTemplateValueInt(tinstance, "outerLoop.data1", 1234);
+ setTemplateValueString(tinstance, "outerLoop.data2", "FOO");
+ addTemplateRow(tinstance, "outerLoop.innerLoop");
+ setTemplateValueString(tinstance, "outerLoop.innerLoop.camenty", "Again 1");
for(i=0;i<3;i++) {
- addTemplateRow(&template,"selfLoop");
- setTemplateValueInt(&template, "selfLoop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.NODE", "outer");
+ addTemplateRow(tinstance,"selfLoop");
+ setTemplateValueInt(tinstance, "selfLoop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.NODE", "outer");
if (i<1) {
- addTemplateRow(&template,"selfLoop.oneloop");
- setTemplateValueInt(&template, "selfLoop.oneloop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.oneloop.NODE", "subloop1");
+ addTemplateRow(tinstance,"selfLoop.oneloop");
+ setTemplateValueInt(tinstance, "selfLoop.oneloop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.oneloop.NODE", "subloop1");
}
if (i<2) {
- addTemplateRow(&template,"selfLoop.oneloop");
- setTemplateValueInt(&template, "selfLoop.oneloop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.oneloop.NODE", "subloop2");
+ addTemplateRow(tinstance,"selfLoop.oneloop");
+ setTemplateValueInt(tinstance, "selfLoop.oneloop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.oneloop.NODE", "subloop2");
}
- addTemplateNestedLoop(&template, "selfLoop");
+ addTemplateNestedLoop(tinstance, "selfLoop");
for(j=0;j<2;j++) {
- addTemplateRow(&template,"selfLoop");
- setTemplateValueInt(&template, "selfLoop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.NODE", "inner");
+ addTemplateRow(tinstance,"selfLoop");
+ setTemplateValueInt(tinstance, "selfLoop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.NODE", "inner");
if ( i==1 && j==0 ) {
- addTemplateRow(&template,"selfLoop.oneloop");
- setTemplateValueInt(&template, "selfLoop.oneloop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.oneloop.NODE", "subloop3");
+ addTemplateRow(tinstance,"selfLoop.oneloop");
+ setTemplateValueInt(tinstance, "selfLoop.oneloop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.oneloop.NODE", "subloop3");
}
if (i==2 && j==1) {
- addTemplateNestedLoop(&template, "selfLoop");
+ addTemplateNestedLoop(tinstance, "selfLoop");
for(k=0;k<4;k++) {
- addTemplateRow(&template,"selfLoop");
- setTemplateValueInt(&template, "selfLoop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.NODE", "innerst");
+ addTemplateRow(tinstance,"selfLoop");
+ setTemplateValueInt(tinstance, "selfLoop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.NODE", "innerst");
if ( k==2 ) {
- addTemplateRow(&template,"selfLoop.oneloop");
- setTemplateValueInt(&template, "selfLoop.oneloop.CNT", ++cnt);
- setTemplateValueString(&template, "selfLoop.oneloop.NODE", "subloop4");
+ addTemplateRow(tinstance,"selfLoop.oneloop");
+ setTemplateValueInt(tinstance, "selfLoop.oneloop.CNT", ++cnt);
+ setTemplateValueString(tinstance, "selfLoop.oneloop.NODE", "subloop4");
}
}
- returnTemplateNestedLoop(&template, "selfLoop");
+ returnTemplateNestedLoop(tinstance, "selfLoop");
}
}
- returnTemplateNestedLoop(&template, "selfLoop");
+ returnTemplateNestedLoop(tinstance, "selfLoop");
}
fputs("================================================\n", stdout);
- printTemplate( &template );
+ printTemplate( tinstance );
- resetTemplate(&template);
freeTemplate(&template);
return 0;