2 #include <OpenGl_tgl_all.hxx>
8 #include <OpenGl_cmn_varargs.hxx>
9 #include <OpenGl_telem_attri.hxx>
10 #include <OpenGl_telem_filters.hxx>
11 #include <OpenGl_tsm.hxx>
12 #include <OpenGl_telem.hxx>
13 #include <OpenGl_telem_inquire.hxx>
15 static TStatus AddNamesetDisplay( TSM_ELEM_DATA, Tint, cmn_key* );
16 static TStatus AddNamesetAdd( TSM_ELEM_DATA, Tint, cmn_key* );
17 static TStatus AddNamesetDelete( TSM_ELEM_DATA, Tint, cmn_key* );
18 static TStatus AddNamesetPrint( TSM_ELEM_DATA, Tint, cmn_key* );
19 static TStatus AddNamesetInquire( TSM_ELEM_DATA, Tint, cmn_key* );
21 static TStatus (*MtdTbl[])( TSM_ELEM_DATA, Tint, cmn_key* ) =
23 AddNamesetDisplay, /* PickTraverse */
32 TelAddNamesetInitClass( TelType* el )
39 AddNamesetAdd( TSM_ELEM_DATA d, Tint n, cmn_key *k )
45 data = new TEL_TINT_DATA();
49 data->data = new int[num];
53 for( i=0, ptr=(Tint*)(k[0]->data.pdata); i<num; i++ )
55 data->data[i] = ptr[i];
59 ((tsm_elem_data)(d.pdata))->pdata = data;
66 AddNamesetDisplay( TSM_ELEM_DATA data, Tint n, cmn_key *k )
70 d = (tel_tint_data)data.pdata;
71 TglNamesetAdd( d->num, d->data );
76 AddNamesetDelete( TSM_ELEM_DATA data, Tint n, cmn_key *k )
87 AddNamesetPrint( TSM_ELEM_DATA data, Tint n, cmn_key *k )
92 p = (tel_tint_data)data.pdata;
94 fprintf( stdout, "TelAddNameset. Number: %d\n", p->num );
95 for( i = 0; i < p->num; i++ )
97 fprintf( stdout, "\n\t\t v[%d] = %d", i, p->data[i] );
99 fprintf( stdout, "\n" );
106 AddNamesetInquire( TSM_ELEM_DATA data, Tint n, cmn_key *k )
111 TStatus status = TSuccess;
113 d = (tel_tint_data)data.pdata;
115 size_reqd = d->num * sizeof( Tint );
117 for( i = 0; i < n; i++ )
121 case INQ_GET_SIZE_ID:
123 k[i]->data.ldata = size_reqd;
127 case INQ_GET_CONTENT_ID:
132 c = (tel_inq_content)k[i]->data.pdata;
133 c->act_size = size_reqd;
136 w->name_set.number = d->num;
137 if( c->size >= size_reqd )
139 w->name_set.integers = (Tint *)(c->buf);
140 //cmn_memcpy(w->name_set.integers, d->data, d->num);
141 memcpy( w->name_set.integers, d->data, d->num*sizeof(int) );