FACT++  1.0
static void data_user_routine ( void *  tagp,
void *  bufp,
int *  size 
)
static

Definition at line 343 of file diccpp.cxx.

References DimCurrentInfo::itsData, DimCurrentInfo::itsDataSize, DimCurrentInfo::itsSize, size, t, wake_up, and DimCurrentInfo::wakeUp.

Referenced by DimCurrentInfo::subscribe().

344 {
345 // int *tag = (int *)tagp;
346  char *buf = (char *)bufp;
347 // int id = *tag;
348  DimCurrentInfo *t;
349 
350 // t = (DimCurrentInfo *)id_get_ptr(id, SRC_DIC);
351  t = * (DimCurrentInfo **)tagp;
352  if(*size > 0)
353  {
354  if(!t->itsDataSize)
355  {
356  t->itsData = new char[*size];
357  t->itsDataSize = *size;
358  }
359  else if(t->itsDataSize < *size)
360  {
361  delete[] (char *)(t->itsData);
362  t->itsData = new char[*size];
363  t->itsDataSize = *size;
364  }
365  memcpy(t->itsData, buf, (size_t)*size);
366  }
367  else if (*size == 0)
368  {
369  if(t->itsDataSize)
370  {
371  delete[] (char *)(t->itsData);
372  t->itsDataSize = 0;
373  }
374  t->itsData = buf;
375  }
376  t->itsSize = *size;
377  t->wakeUp = 1;
378 #ifdef __VMS
379  sys$wake(0,0);
380 #endif
381 #ifdef WIN32
382  wake_up();
383 #endif
384 }
static int wake_up
Definition: dns.c:81
int wakeUp
Definition: dic.hxx:297
int itsDataSize
Definition: dic.hxx:294
int itsSize
Definition: dic.hxx:295
int size
Definition: db_dim_server.c:17
void * itsData
Definition: dic.hxx:293
TT t
Definition: test_client.c:26

+ Here is the caller graph for this function: