00001 /** 00002 Licensed to the Apache Software Foundation (ASF) under one 00003 or more contributor license agreements. See the NOTICE file 00004 distributed with this work for additional information 00005 regarding copyright ownership. The ASF licenses this file 00006 to you under the Apache License, Version 2.0 (the 00007 "License"); you may not use this file except in compliance 00008 with the License. You may obtain a copy of the License at 00009 00010 http://www.apache.org/licenses/LICENSE-2.0 00011 00012 Unless required by applicable law or agreed to in writing, software 00013 distributed under the License is distributed on an "AS IS" BASIS, 00014 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 See the License for the specific language governing permissions and 00016 limitations under the License. 00017 */ 00018 /** 00019 * @file PluginInit.h 00020 * @brief Provides hooks that plugins have to implement. ATS will invoke these when loading the plugin .so files. 00021 */ 00022 00023 #pragma once 00024 #ifndef ATSCPPAPI_PLUGININIT_H_ 00025 #define ATSCPPAPI_PLUGININIT_H_ 00026 00027 #include <atscppapi/utils.h> 00028 00029 extern "C" { 00030 00031 /** 00032 * Invoked for "general" plugins - listed in plugin.config. The arguments in the 00033 * plugin.config line are provided in this invocation. 00034 * 00035 * @param argc Count of arguments 00036 * @param argv Array of pointers pointing to arguments 00037 */ 00038 void TSPluginInit(int argc, const char *argv[]); 00039 00040 enum TsReturnCode { TS_ERROR = -1, TS_SUCCESS = 0 }; 00041 00042 /** 00043 * Invoked for remap plugins - listed in remap.config. The arguments provided as @pparam 00044 * in the remap.config line are provided in this invocation. 00045 * 00046 * @param argc Count of arguments 00047 * @param argv Array of pointers pointing to arguments 00048 * @param instance_handle Should be passed to the RemapPlugin constructor 00049 * @param errbuf Not used 00050 * @param errbuf_size Not used 00051 */ 00052 TsReturnCode TSRemapNewInstance(int argc, char *argv[], void **instance_handle, char *errbuf, int errbuf_size); 00053 00054 } 00055 00056 00057 #endif /* ATSCPPAPI_PLUGININIT_H_ */