20.01.2014 Views

SIS - Application Programmatic Interface, Reference Manual - ICS ...

SIS - Application Programmatic Interface, Reference Manual - ICS ...

SIS - Application Programmatic Interface, Reference Manual - ICS ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>SIS</strong>-<strong>Application</strong> <strong>Programmatic</strong> <strong>Interface</strong>, <strong>Reference</strong> <strong>Manual</strong><br />

}<br />

while (Q1->return_nodes(ret_set1, label) != APIFail)<br />

printf(" %s\n", label);<br />

Q1->reset_set(ret_set1);<br />

printf("\nINFO ABOUT LINKS FROM 'CAR' : \n");<br />

while (Q1->return_link(ret_set1, cls, label, &cmv) != APIFail){<br />

printf(" %10s --- %10s ---> ", cls, label);<br />

print_value(&cmv);<br />

}<br />

strcpy(categs[0].fcl, "PhysicalObj");<br />

strcpy(categs[0].cat, "Parts");<br />

categs[0].direction = FORWARD;<br />

categs[1].direction = 0;<br />

Q1->set_categories(categs);<br />

Q1->free_all_sets();<br />

Q1->reset_name_scope();<br />

if (Q1->set_current_node("AMT-9655") != APIFail)<br />

if ((ret_set1 = Q1->get_traverse_by_meta_category(0, NOISA)) != APIFail) {<br />

Q1->reset_set(ret_set1);<br />

printf("\nTRANSITIVE QUERY FROM 'AMT-9655' (meta-category : Parts) : \n");<br />

while ((Q1->return_link(ret_set1, cls, label, &cmv)) != APIFail) {<br />

printf(" %10s --- %10s ---> ", cls, label);<br />

print_value(&cmv);<br />

}<br />

}<br />

Connection_class1->end_query();<br />

// close_connection(...)<br />

Connection_class1->close_connection();<br />

// close_<strong>SIS</strong>_API(...)<br />

if(Q1 != NULL) delete Q1;<br />

if(Connection_class1 != NULL) delete Connection_class1;<br />

}<br />

// Wait for a keyboard hit<br />

printf("Press any key to exit...\n");<br />

getchar();<br />

void print_value(cm_value *val)<br />

{<br />

char *tmp;<br />

if (val == NULL) {<br />

return;<br />

}<br />

}<br />

switch (val->type) {<br />

case TYPE_INT : printf("Integer : %d \n",val->value.n);<br />

break;<br />

case TYPE_STRING : printf("String : %s \n",val->value.s);<br />

break;<br />

case TYPE_FLOAT : printf("Float<br />

: %f \n",val->value.r);<br />

break;<br />

case TYPE_NODE : printf("Logical Name : %s \n",val->value.s);<br />

break;<br />

case TYPE_TIME : tmp = (val->value.t).present();<br />

printf("Time<br />

: %s \n",tmp);<br />

free(tmp);<br />

break;<br />

}<br />

On WIN32 systems the include files that should be used to compile this code are:<br />

sis_kernel/time.h,<br />

cpp_api/cs_defs.h,<br />

cpp_api/identifier.h,<br />

cpp_api/sis_classes.h,<br />

sis_kernel/telos_ro.h,<br />

sis_kernel/obj_check.h,<br />

sis_kernel/initial.h,<br />

August 2002/v2.2.2 -59- <strong>ICS</strong>-FORTH

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!