Github user phrocker commented on a diff in the pull request: https://github.com/apache/nifi-minifi-cpp/pull/157#discussion_r148539598 --- Diff: extensions/bustache/ApplyTemplate.h --- @@ -0,0 +1,88 @@ +/** + * @file ApplyTemplate.h + * ApplyTemplate class declaration + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef __APPLY_TEMPLATE_H__ +#define __APPLY_TEMPLATE_H__ + +#include <memory> + +#include "core/Processor.h" +#include "core/ProcessSession.h" +#include "core/FlowFile.h" +#include "core/Resource.h" + +namespace org { +namespace apache { +namespace nifi { +namespace minifi { +namespace processors { + +//! ApplyTemplate Class +class ApplyTemplate : public core::Processor { +public: + //! Constructor + /*! + * Create a new processor + */ + ApplyTemplate(std::string name, uuid_t uuid = NULL) + : Processor(name, uuid), + logger_(logging::LoggerFactory<ApplyTemplate>::getLogger()) {} + //! Destructor + ~ApplyTemplate() {} + //! Processor Name + static constexpr char const* ProcessorName = "ApplyTemplate"; + //! Supported Properties + static core::Property Template; + //! Supported Relationships + static core::Relationship Success; + + //! OnTrigger method, implemented by NiFi ApplyTemplate + void onTrigger(core::ProcessContext *context, core::ProcessSession *session); + //! Initialize, over write by NiFi ApplyTemplate + void initialize(void); + + //! Write callback for outputting files generated by applying template to input + class WriteCallback : public OutputStreamCallback { + public: + WriteCallback(const std::string& templateFile, std::shared_ptr<core::FlowFile> flowFile); + int64_t process(std::shared_ptr<io::BaseStream> stream); --- End diff -- const ref shared pointers here, please.
---