zeek/tools/binpac/src/pac_output.h

42 lines
774 B
C++

// See the file "COPYING" in the main distribution directory for copyright.
#ifndef pac_output_h
#define pac_output_h
#include <cstdarg>
#include <cstdio>
#include <string>
using namespace std;
class OutputException {
public:
OutputException(const char* arg_msg);
~OutputException() = default;
const char* errmsg() const { return msg.c_str(); }
protected:
string msg;
};
class Output {
public:
Output(string filename);
~Output();
int println(const char* fmt, ...);
int print(const char* fmt, ...);
int indent() const { return indent_; }
void inc_indent() { ++indent_; }
void dec_indent() { --indent_; }
protected:
int print(const char* fmt, va_list ap);
FILE* fp;
int indent_;
};
#endif /* pac_output_h */