zeek/testing/btest/plugins/protocol-plugin/src/Foo.h
Tim Wojtulewicz 9de1dd16d5 Remove variant from StdFunctionStmt
The variant ended up conflicting with std::bind, which resulted in failures
on the btest invoking it. Change back to a single function that takes a
flow, and default it to a value in Exec.
2024-03-19 09:07:45 -07:00

33 lines
837 B
C++

#pragma once
#include "Stmt.h"
#include "analyzer/protocol/pia/PIA.h"
#include "analyzer/protocol/tcp/TCP.h"
namespace binpac {
namespace Foo {
class Foo_Conn;
}
} // namespace binpac
namespace btest::plugin::Demo_Foo {
class Foo : public zeek::analyzer::tcp::TCP_ApplicationAnalyzer {
public:
Foo(zeek::Connection* conn);
~Foo();
virtual void Done();
virtual void DeliverStream(int len, const u_char* data, bool orig);
virtual void Undelivered(uint64_t seq, int len, bool orig);
virtual void EndpointEOF(bool is_orig);
static zeek::analyzer::Analyzer* Instantiate(zeek::Connection* conn) { return new Foo(conn); }
void ConnectionEstablishedHandler(const zeek::Args& args, zeek::detail::StmtFlowType& flow);
protected:
binpac::Foo::Foo_Conn* interp;
};
} // namespace btest::plugin::Demo_Foo