SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SourceFlagsPlugin.h
Go to the documentation of this file.
1
17/*
18 * Copyright (C) 2012-2020 Euclid Science Ground Segment
19 *
20 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General
21 * Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option)
22 * any later version.
23 *
24 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
26 * details.
27 *
28 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to
29 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
30 */
31
39#ifndef _SEIMPLEMENTATION_PLUGIN_SOURCEFLAGSPLUGIN_H_
40#define _SEIMPLEMENTATION_PLUGIN_SOURCEFLAGSPLUGIN_H_
41
42#include "SourceFlags.h"
45
46#include <vector>
47
48namespace SourceXtractor {
49
50class SourceFlagsPlugin : public Plugin {
51public:
52 virtual ~SourceFlagsPlugin() = default;
53
55 plugin_api.getTaskFactoryRegistry().registerTaskFactory<SourceFlagsTaskFactory, SourceFlags>();
56 plugin_api.getOutputRegistry().registerColumnConverter<SourceFlags, std::vector<int64_t>>(
57 "source_flags",
58 [](const SourceFlags &prop) {
59 return flags2long(prop.getSourceFlags());
60 },
61 "",
62 "The source flags"
63 );
64 plugin_api.getOutputRegistry().enableOutput<SourceFlags>("SourceFlags");
65 }
66
67 virtual std::string getIdString() const {
68 return "source_flags";
69 }
70
71private:
72}; // end of SourceFlagsPlugin class
73
74} // namespace SourceXtractor
75#endif /* _SEIMPLEMENTATION_PLUGIN_SOURCEFLAGSPLUGIN_H_ */
This interface is given to the plugin to let it access object instances from the framework.
Definition PluginAPI.h:40
Plugins must implement this interface.
Definition Plugin.h:38
virtual std::string getIdString() const
virtual ~SourceFlagsPlugin()=default
virtual void registerPlugin(PluginAPI &plugin_api)
constexpr int64_t flags2long(const Flags &a)
Definition SourceFlags.h:90