mirror of
https://github.com/zeek/zeek.git
synced 2025-10-09 10:08:20 +00:00
IOSource reorg.
A bunch of infrastructure work to move IOSource, IOSourceRegistry (now iosource::Manager) and PktSrc/PktDumper code into iosource/, and over to a plugin structure. Other IOSources aren't touched yet, they are still in src/*. It compiles and does something with a small trace, but that's all I've tested so far. There are quite certainly a number of problems left, as well as various TODOs and cleanup; and nothing's cast in stone yet. Will continue to work on this.
This commit is contained in:
parent
6c20df11cc
commit
93d9dde969
52 changed files with 2223 additions and 1306 deletions
56
src/iosource/Component.h
Normal file
56
src/iosource/Component.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
// See the file "COPYING" in the main distribution directory for copyright.
|
||||
|
||||
#ifndef IOSOURCE_PLUGIN_COMPONENT_H
|
||||
#define IOSOURCE_PLUGIN_COMPONENT_H
|
||||
|
||||
#include "plugin/Component.h"
|
||||
|
||||
namespace iosource {
|
||||
|
||||
class IOSource;
|
||||
|
||||
/**
|
||||
* Component description for plugins providing IOSources.
|
||||
*/
|
||||
class Component : public plugin::Component {
|
||||
public:
|
||||
typedef IOSource* (*factory_callback)();
|
||||
|
||||
/**
|
||||
* XXX
|
||||
*/
|
||||
Component(const std::string& name);
|
||||
|
||||
/**
|
||||
* Copy constructor.
|
||||
*/
|
||||
Component(const Component& other);
|
||||
|
||||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
~Component();
|
||||
|
||||
/**
|
||||
* XXX
|
||||
*/
|
||||
virtual const char* Name() const { return name.c_str(); }
|
||||
|
||||
/**
|
||||
* Generates a human-readable description of the component. This goes
|
||||
* into the output of \c "bro -NN".
|
||||
*/
|
||||
virtual void Describe(ODesc* d) const;
|
||||
|
||||
Component& operator=(const Component& other);
|
||||
|
||||
protected:
|
||||
Component(plugin::component::Type type, const std::string& name);
|
||||
|
||||
private:
|
||||
std::string name;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue