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 />

if (set_current_node(sessionID, "PhysicalObj") != APIFail)<br />

if ((ret_set1 = get_instances(sessionID, 0)) != APIFail) {<br />

reset_set(sessionID, ret_set1);<br />

printf("\nINSTANCES OF 'PhysicalObj' : \n");<br />

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

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

}<br />

if ((ret_set2 = get_instances(sessionID, ret_set1)) != -1) {<br />

set_union(sessionID, ret_set1, ret_set2);<br />

reset_set(sessionID, ret_set1);<br />

printf("\nALL INSTANCES OF 'PhysicalObj' : \n");<br />

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

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

}<br />

free_all_sets(sessionID);<br />

reset_name_scope(sessionID);<br />

if (set_current_node(sessionID, "CAR") != APIFail)<br />

if ((ret_set1 = get_link_from(sessionID, 0)) != APIFail) {<br />

reset_set(sessionID, ret_set1);<br />

printf("\nLINKS FROM 'CAR' : \n");<br />

}<br />

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

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

reset_set(sessionID, ret_set1);<br />

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

while (return_link(sessionID, 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 />

set_categories(sessionID, categs);<br />

free_all_sets(sessionID);<br />

reset_name_scope(sessionID);<br />

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

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

reset_set(sessionID, ret_set1);<br />

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

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

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

print_value(&cmv);<br />

}<br />

}<br />

end_query(sessionID);<br />

close_connection(sessionID);<br />

release_<strong>SIS</strong>_Session(sessionID);<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 />

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 />

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

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

Saved successfully!

Ooh no, something went wrong!