123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*##############################################################################
- HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems.
- Licensed 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.
- ############################################################################## */
- #include <time.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- #include "examplelib.hpp"
- #define EXAMPLELIB_VERSION "EXAMPLELIB 1.0.00"
- static const char * HoleDefinition = NULL;
- static const char * EclDefinition =
- "export ExampleLib := SERVICE\n"
- " string EchoString(const string src) : c, pure,entrypoint='elEchoString'; \n"
- "END;";
- EXAMPLELIB_API bool getECLPluginDefinition(ECLPluginDefinitionBlock *pb)
- {
- if (pb->size != sizeof(ECLPluginDefinitionBlock))
- return false;
- pb->magicVersion = PLUGIN_VERSION;
- pb->version = EXAMPLELIB_VERSION " $Revision: 62376 $";
- pb->moduleName = "lib_examplelib";
- pb->ECL = EclDefinition;
- pb->Hole = HoleDefinition;
- pb->flags = PLUGIN_IMPLICIT_MODULE;
- pb->description = "ExampleLib example services library";
- return true;
- }
- namespace nsExamplelib {
- IPluginContext * parentCtx = NULL;
- }
- using namespace nsExamplelib;
- EXAMPLELIB_API void setPluginContext(IPluginContext * _ctx) { parentCtx = _ctx; }
- //-------------------------------------------------------------------------------------------------------------------------------------------
- EXAMPLELIB_API void EXAMPLELIB_CALL elEchoString(unsigned & tgtLen, char * & tgt, unsigned srcLen, const char * src)
- {
- tgt = (char *)CTXMALLOC(parentCtx, srcLen);
- memcpy(tgt,src,srcLen);
- tgtLen = srcLen;
- }
|