// =====================================================================
//  $Id: TCompressObjectFilter.cc,v 1.1.1.1 2003/06/27 02:56:41 goiwai Exp $
//  $Name: CLDAQ-1-06-02 $
// =====================================================================
#include "TCompressObjectFilter.hh"
#include "TStreamableObject.hh"
#include "TInputObjectStream.hh"
#include "TOutputObjectStream.hh"

TCompressObjectFilter::TCompressObjectFilter()
  : TObjectFilter()
{;}

TCompressObjectFilter::~TCompressObjectFilter()
{;}

Tint TCompressObjectFilter::Filtering( TStreamableObject& object, TInputObjectStream* stream )
{
  // under construction
  return( 1 );
}

Tint TCompressObjectFilter::Filtering( TStreamableObject& object, TOutputObjectStream* stream )
{
  //Tstream_t stmtype = stream -> GetStreamType();
  //under construction
  return( 1 );
}

// フィルタしなくてもシリアライズしてから
// 一気に書き込んだ方が断然はやい2倍以上
// シリアライズがちゃんと動いてるか確認すること
//   内容が入ってるか
//   ポインタは適正に進んでいる
// 一番問題になるのはフラッシュのタイミング
// 最終入力のタイミングをどうやってつげればいいか？
// いっそファイル特化にしちゃうか
// Tint TCompressObjectFilter::writeToFile( TOutputObjectFile* ofile )
// {
//   Tvoid* buffer = new Tbyte[ ];
//   Tint bufsize = object.PutSerialData( buffer );
//   static const Tsize_t nmemb = 1;
//   Tsize_t ss = 0;
//   //FLUSHは一番最後なんだけど
//   //theDataDeflation -> Compress( buffer, bufsize, Ttrue );
//   theDataDeflation -> Compress( buffer, bufsize );
//   Tvoid* data = theDataDeflation -> GetDeflatedData();
//   Tint datasize = theDataDeflation -> GetSizeOfDeflatedData();
//   ss = fwrite( data, datasize, nmemb, ofile -> GetFileStream() );
//   if ( ss != nmemb ) {
//     perror( head.c_str() );
//   }
//   return( (Tint)( ss * datasize ) );
// }
