rendered paste body#ifndef MyProcessing_hxx
#define MyProcessing_hxx
#include <CLAM/InPort.hxx>
#include <CLAM/OutPort.hxx>
#include <CLAM/Processing.hxx>
#include <CLAM/NullProcessingConfig.hxx>
// Those two configuration types could be the ones you choose.
// Your own ones or any type already in CLAM.
#include "SpectralPeakArray.hxx"
#include "XMLStorage.hxx"
class MyProcessing : public CLAM::Processing
{
CLAM::InPort<CLAM::SpectralPeakArray> mIn;
typedef CLAM::NullProcessingConfig Config;
public:
const char* GetClassName() const { return "MyProcessing"; }
MyProcessing(const Config & config=Config())
: mIn("My Input", this)
{
Configure( config );
}
~MyProcessing(); {}
// Configuration to the minimal expression
bool ConcreteConfigure(const CLAM::ProcessingConfig&)
{
return true; // I got proper configuration
}
const ProcessingConfig& GetConfig() const
{
static Config config;
return config;
}
bool Do()
{
bool result = Do(mIn.GetData());
// Tell the ports this is done
mIn.Consume();
return result;
}
bool Do(const CLAM::SpectralPeakArray& in)
{
// Your implementation
}
};
#endif // MyProcessing_hxx