11 #ifndef smtk_operation_Metadata_h
12 #define smtk_operation_Metadata_h
14 #include "smtk/CoreExports.h"
17 #include "smtk/operation/MetadataObserver.h"
18 #include "smtk/operation/Operation.h"
38 using Observer = MetadataObserver;
44 Operation::Index index,
45 Operation::Specification specification,
46 std::function<std::shared_ptr<smtk::operation::Operation>(
void)> createFunctor);
48 const std::string&
typeName()
const {
return m_typeName; }
49 const Operation::Index& index()
const {
return m_index; }
50 Operation::Specification specification()
const {
return m_specification; }
53 return m_acceptsComponent(c);
56 std::string label()
const;
73 std::set<std::string> groups()
const;
75 std::function<std::shared_ptr<smtk::operation::Operation>(
void)> create;
78 std::string m_typeName;
79 Operation::Index m_index;
80 Operation::Specification m_specification;
82 Association m_primaryAssociation;
87 #endif // smtk_operation_Metadata_h