awips2/ncep/gov.noaa.nws.ncep.viz.rsc.ncgrid/dgdriv_c/dbrdtrgrid.c
Steve Harris 7f90924706 12.4.1-10 baseline
Former-commit-id: 7fa9dbd5fb [formerly 4bfbdad17d] [formerly 9f8cb727a5] [formerly 7fa9dbd5fb [formerly 4bfbdad17d] [formerly 9f8cb727a5] [formerly 8485b90ff8 [formerly 9f8cb727a5 [formerly bf53d06834caa780226121334ac1bcf0534c3f16]]]]
Former-commit-id: 8485b90ff8
Former-commit-id: 40aa780b3d [formerly 33a67cdd82] [formerly 73930fb29d0c1e91204e76e6ebfdbe757414f319 [formerly a28d70b5c5]]
Former-commit-id: a16a1b4dd44fc344ee709abbe262aeed58a8339b [formerly e5543a0e86]
Former-commit-id: 0c25458510
2012-05-01 18:06:13 -05:00

75 lines
2.4 KiB
C

#include "geminc.h"
#include "gemprm.h"
#include "dbcmn.h"
#include <sys/timeb.h>
void db_rdtrgrid ( char *dimx, char *dimy, char *dataUri,
float *rdata, int *nword, int *iret )
/************************************************************************
* *
* db_dataquery *
* *
* m.gamazaychikov/SAIC 11/08 Created *
************************************************************************/
{
int jj, ier, ier1;
char message[1024], diagMessage[720];
struct timeb t_callback, t_current;
/*---------------------------------------------------------------------*/
diagMessage[0] = '\0';
message[0] = '\0';
/*
* If the pointer to the callback function is not set, return
*/
if ( dataClbkPtr == NULL ) {
ier = -17;
er_wmsg ( "DB", &ier, "db_rdtrgrid", &ier1, 2, strlen("db_rdtrgrid") );
*iret = -1;
return;
}
/*
* If the data uri is not set, return
*/
if ( strlen(dataUri) == 0 ) {
ier = -19;
er_wmsg ( "DB", &ier, "db_rdtrgrid", &ier1, 2, strlen("db_rdtrgrid") );
*iret = -1;
return;
}
sprintf(message,"%s", dataUri);
strcat (message, ";");
strcat (message, dimx);
strcat (message, ";");
strcat (message, dimy);
sprintf (diagMessage, "%s %s", "calling the callback function with ", message);
db_msgcave ("db_rdtrgrid", "debug", diagMessage, &ier);
ftime(&t_callback);
dataClbkPtr(message);
ftime(&t_current);
sprintf (diagMessage, "%s %d", "time spent in callback ", (int) (1000.0 * (t_current.time - t_callback.time) + (t_current.millitm - t_callback.millitm)));
db_msgcave ("db_rdtrgrid", "debug", diagMessage, &ier);
sprintf (diagMessage, "%s %d", "got rdataBackSize=", rdataBackSize);
db_msgcave ("db_rdtrgrid", "debug", diagMessage, &ier);
if ( rdataBackSize > 0 && rdataBack != NULL ) {
sprintf (diagMessage, "%s %f", "got rdataBack[0]=", rdataBack[0]);
db_msgcave ("db_rdtrgrid", "debug", diagMessage, &ier);
for( jj=0; jj < rdataBackSize; jj++ ) {
rdata[jj] = rdataBack[jj];
}
*iret = 0;
*nword = rdataBackSize;
G_FREE ( rdataBack, float );
rdataBackSize = 0;
}
else {
db_msgcave ("db_rdtrgrid", "error","!!! *could not get data* !!!", &ier);
*iret = -1;
*nword = 0;
}
return;
}