zeek/testing/builtin-plugins/Files/protocol-plugin/src/Foo.h
Arne Welzel 1912ba7002 cirrus: Add smoke testing for builtin plugins
This adds two example plugins within testing/builtin-plugins/Files:

* protocol-plugin copied over from testing/btest/plugins/protocol-plugin

* py-lib-plugin that embeds Python to have a dependency on an external
  shared library which was already available in CI and fun to use, too.

Closes #2837
2023-03-08 22:32:29 +01:00

35 lines
649 B
C++

#pragma once
#include "analyzer/protocol/pia/PIA.h"
#include "analyzer/protocol/tcp/TCP.h"
namespace binpac
{
namespace Foo
{
class Foo_Conn;
}
}
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); }
protected:
binpac::Foo::Foo_Conn* interp;
};
}