c++/EEDB/SPStreams/BAMDB.cpp
/***** next_in_stream

  Description: since this is a source, it needs to override this method and 
               do appropriate business logic to control the stream.
  Returntype : instance of either EEDB::Feature or EEDB::Expression depending on mode
  Exceptions : none

*****/
next_in_stream
Description: since this is a source, it needs to override this method and
do appropriate business logic to control the stream.
next_in_stream Description : since this is a source it needs to override this method and do appropriate business logic to control the stream .
MQDB::DBObject* EEDB::SPStreams::BAMDB::_next_in_stream() {
  if(_source_stream != NULL) {
    MQDB::DBObject *obj = _source_stream->next_in_stream();
    if(obj == NULL) { 
      _source_stream->release();
      _source_stream = NULL;
      _disconnect();
    }
    return obj;
  }
  if(_region_set) {
    EEDB::Feature *feature = _next_feature();
    if(!feature) {
      _region_set = false;
      _disconnect();
    }
    return feature;
  }
  return NULL;  
}
MQDB :: DBObject * EEDB :: SPStreams :: BAMDB :: _next_in_stream ( ) { if ( _source_stream != NULL ) { MQDB :: DBObject * obj = _source_stream -> next_in_stream ( ) ; if ( obj == NULL ) { _source_stream -> release ( ) ; _source_stream = NULL ; _disconnect ( ) ; } return obj ; } if ( _region_set ) { EEDB :: Feature * feature = _next_feature ( ) ; if ( ! feature ) { _region_set = false ; _disconnect ( ) ; } return feature ; } return NULL ; }
next_in_stream
Description: since this is a source, it needs to override this method and
do appropriate business logic to control the stream.
next_in_stream Description : since this is a source it needs to override this method and do appropriate business logic to control the stream .
//_source_stream is a Buffer for sources,chroms.... //if no more objects then clear the source_stream() //fprintf(stderr, "BAMDB (%ld) finished\n", (long)this);