//
//
// Logs:
//
//  $Log: TLClient.h,v $
//  Revision 1.4  2003/11/15 10:52:35  cvs
//  upgraded TLServeer to new scheme
//
//  Revision 1.3  2003/08/20 10:26:50  cvs
//  Added scripts directory with two utilities now:
//  modify_header which modify existing header and send it database
//  deliver_header program and script which deliver header to clients
//
//  libLComm was made ROOT compatible and GetBias(z) was added to LDataHeader
//
//  Revision 1.2  2003/06/26 09:27:11  cvs
//  added log fields...
//
#ifndef __TLClient_h
#define __TLClient_h

#include <TSocket.h>
#include <TMessage.h>
#include <TObject.h>
#include "LClientTypes.h"

class TLClient : public TSocket {

private:
  ELClientTypes efClType;
  Bool_t fConnected;

public:
  TLClient(const ELClientTypes elc,const char* host, const Int_t port);
  ~TLClient();
  Bool_t IsConnected();
  void SetDisconnected() {fConnected=kFALSE;}
  Int_t SendTo(const ELClientTypes elcto,const char* mess);
  Int_t RecvFrom(const ELClientTypes elcfrom,char* mess, Bool_t wait=kTRUE);
  Int_t SendTo(const ELClientTypes elcto,const TObject& obj);
  Int_t RecvFrom(const ELClientTypes elcfrom,TObject*& obj, Bool_t wait=kTRUE);
  Int_t QueueSize(const ELClientTypes elcto);


  ClassDef(TLClient,0)  //Networking client 
};

#endif //__TLClient_h
