// Change History:
// DART Data Transfer
// 01/08/04 AV Development: Remove MacroDef to fix bug #55
// 12/09/03 AV Development: Remove env param from Execute. Make LastEnv type of Env
// 12/09/03 AV Development: Run all processes sequentially. Add LastThreadId
// 01/03/03 AV Development: BC6 conversion. const/none const
// 11/13/03 AV Development: Add MacroInfo to keep track of reports and fill MacroID
// 10/24/03 AV Development: return num of sub fields from SetMultiFile func

#ifndef DDP_PrintFile_H
#define DDP_PrintFile_H

#include "retrieve/at_retrieve.h"

////////////////////////////////////////////////////////
// DDP_PrintFile class
////////////////////////////////////////////////////////

class DDP_PrintFile
    {
public:
    enum { LINE_SIZE = 1000 };
        
protected:
    AT_Write_Seq_File * File;
public:
    DDP_PrintFile() : File(NULL) {}
    ~DDP_PrintFile() { Close(); }
    bool Print(const byte * fmt, ... );
    bool NPrint(uint sz, const byte * fmt, ... );
    bool Open(const byte * name);
    bool Close();
    const byte * GetFileName() const { return File ? File->fullName() : NULL; }
    };


#endif

 