Ejemplo n.º 1
0
static void __del(void* inst) {
  iOListData data = Data(inst);
  freeIDMem( data->objList, RocsListID );
  freeIDMem( data, RocsListID );
  freeIDMem( inst, RocsListID );
  instCnt--;
}
Ejemplo n.º 2
0
static void __del(void* inst) {
  iOMutexData data = Data(inst);
  rocs_mutex_close( data );
  StrOp.freeID( data->name, RocsMutexID );
  freeIDMem( data, RocsMutexID );
  freeIDMem( inst, RocsMutexID );
  instCnt--;
}
Ejemplo n.º 3
0
static void __del(void* inst) {
  iOQueueData data = Data(inst);
  data->evt->base.del( data->evt );
  data->mux->base.del( data->mux );
  if( data->desc != NULL )
    StrOp.free(data->desc);
  freeIDMem( data, RocsQueueID );
  freeIDMem( inst, RocsQueueID );
  instCnt--;
}
Ejemplo n.º 4
0
/* ------------------------------------------------------------
 * base.del()
 */
static void __del(void* inst) {
  iOStrTok     strtok = inst;
  iOStrTokData   data = Data(inst);
  
  StrOp.freeID( data->str, RocsStrTokID );
  
  freeIDMem( data  , RocsStrTokID );
  freeIDMem( strtok, RocsStrTokID );
  
  instCnt--;
}
Ejemplo n.º 5
0
static void __del(void* inst) {
  if( inst != NULL ) {
    iOTraceData data = Data(inst);
    if( inst == traceInst ) {
      StrOp.freeID( data->appID, RocsTraceID );
      freeIDMem( data, RocsTraceID );
      freeIDMem( inst, RocsTraceID );
      traceInst = NULL;
      instCnt--;
    }
  }
}
Ejemplo n.º 6
0
static void __del(void* inst) {
  if( inst != NULL ) {
    iOThreadData data = Data(inst);
    __removeThread( inst );
    data->queue->base.del( data->queue );
    StrOp.freeID( data->tname, RocsThreadID );
    StrOp.freeID( data->tdesc, RocsThreadID );
    freeIDMem( data, RocsThreadID );
    freeIDMem( inst, RocsThreadID );
    instCnt--;
  }
  else
    TraceOp.trc( name, TRCLEVEL_EXCEPTION, __LINE__, 9999, "inst == NULL !" );
}
Ejemplo n.º 7
0
static void __del(void* inst) {
  if( inst != NULL ) {
    iOFileData data = Data(inst);
    FileOp.close( inst );
    StrOp.freeID( data->path, RocsFileID );
    freeIDMem( data, RocsFileID );
    freeIDMem( inst, RocsFileID );
    if( instCnt > 0 )
      instCnt--;
    else {
      /*OOPS*/
      printf("***** FileOp.base.del() instCnt can't be decreased...");
    }
  }
}
Ejemplo n.º 8
0
static void _sort( iOList inst, comparator comp ) {
  if( inst != NULL ) {
    iOListData data = Data(inst);
    int size = ListOp.size( inst );
    int i = 0;
    int moved = 0;
    void** objlist;
    
    if( size < 2 )
      return;
    
    /* init index: */  
    objlist = allocIDMem( size * sizeof(void*), RocsListID );
    for( i = 0; i < size; i++ ) {
      objlist[i] = (void*)ListOp.get( inst, i );
    }
  
    qsort( (void *)objlist, (size_t)size, sizeof(void*), (qsort_compar)comp );
    
    /* copy objects in the new list */
    ListOp.clear( inst );
    for( i = 0; i < size; i++ )
      ListOp.add( inst, objlist[i] ); 
    
    /* cleanup index */
    freeIDMem( objlist, RocsListID );
  }
  else {
    TraceOp.trc( name, TRCLEVEL_WARNING, __LINE__, 9999, "inst == NULL" );
  }
}
Ejemplo n.º 9
0
static Boolean _cp( const char* src, const char* dst ) {
  Boolean     ok = False;
  int buffersize = 1024 * 1024;
  byte*   buffer = NULL;

  /* Correct file separators. */
  _convertPath2OSType( src );
  _convertPath2OSType( dst );

  /* Allocate buffer for copy. */
  buffer = allocIDMem( buffersize, RocsFileID );

  if( buffer != NULL && FileOp.exist( src ) ) {
    iOFile srcFile = FileOp.inst( src, OPEN_READONLY );
    iOFile dstFile = FileOp.inst( dst, OPEN_WRITE );
    if( srcFile != NULL && dstFile != NULL ) {
      long    readed = 0;
      long   written = 0;
      long     fsize = FileOp.size( srcFile );
      long readtotal = 0;

      do {
        long toread = buffersize;

        if( readtotal + buffersize > fsize )
          toread = fsize - readtotal;

        ok = FileOp.read( srcFile, (char*)buffer, toread );
        readed = FileOp.getReaded( srcFile );
        readtotal += readed;

        if( ok && readed > 0 ) {
          ok = FileOp.write( dstFile, (char*)buffer, readed );
          written += FileOp.getWritten( dstFile );
        }

      } while( ok && fsize > written );

    }
    FileOp.base.del( srcFile );
    FileOp.base.del( dstFile );

  }

  freeIDMem( buffer, RocsFileID );

  return ok;
}
Ejemplo n.º 10
0
static obj _get( iOQueue inst ) {
  iOQueueData data = Data(inst);
  obj qo = NULL;

  MutexOp.wait( data->mux );
  if( data->first != NULL ) {
    qMsg qm = data->first;
    qo = qm->o;
    data->first = qm->next;
    if( data->last[qm->prio] == qm ) {
      /* last element of this prio */
      data->last[qm->prio] = NULL;
    }
    freeIDMem( qm, RocsQueueID );
    data->count--;
  }
  MutexOp.post( data->mux );
  return qo;
}
Ejemplo n.º 11
0
int closedir(DIR *dir)
{
  _findclose( dir->handle );
  freeIDMem( dir, RocsDirID );
  return 0;
}