Apama  10.3.1.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
correlator_plugin.h
Go to the documentation of this file.
1 
21 #ifndef CORRELATOR_PLUGIN_H
22 #define CORRELATOR_PLUGIN_H
23 
24 #ifndef _AP_NO_DEPRECATED_PLUGINAPI_WARNING
25 #ifdef __GNUC__
26 #warning This API for writing EPL plugins is deprecated. Please use the API located in epl_plugin.hpp instead
27 #else
28 #pragma message("correlator_plugin.h(0) Warning: This API for writing EPL plugins is deprecated. Please use the API located in epl_plugin.hpp instead")
29 #endif
30 #endif
31 
32 #include <AP_Types.h>
33 #include <AP_Platform.h>
34 #include <AP_PluginCommon.h>
35 #include <stdio.h>
36 
37 
47 /* Version history:
48  * 1.0 First version released in Apama Engine 2.0.3
49  * Win32 support added in Apama Engine 2.0.4
50  * 2.0 Add serialisation support for Apama Engine 2.1 release
51  * Unfortunately this breaks back compatibility of chunks
52  * 3.0 First C-compatible version of the API, in Apama Engine 2.1.2
53  * Note that the 2.0 C++ API still exists in this release; the
54  * 2.x (C++) and 3.x (C) versions will be maintained in parallel.
55  * 4.0 Major version number change to force users to re-compile for VS7.1
56  * and/or check the correct free implementation is used (result of
57  * InputStream's getString must be freed with AP_Context's char8free)
58  * Also adds support for the getCorrelator() context function and the
59  * AP_PluginCorrelatorInterface type that can be used to send events
60  * back into the correlator. This brings the C++ and C plugin APIs
61  * back into sync - future changes should be made to both APIs.
62  * 5.0 Add getContextId and sendEventTo. Also added the optional
63  * GET_CAPABILITIES and THREAD_ENDED functions that the plugin may
64  * provide. Improved some function prototypes.
65  * 6.0 Improved the interface's const-correctness. Increased the
66  * performance of AP_TypeList, made AP_Chunk construction and
67  * destruction cheaper, especially in a multi-threaded
68  * environment. Added AP_Type::visitSequenceElements.
69  * 7.0 Remove serialisation support for Apama 5.0 release
70  * 8.0 No changes here, but to keep it in sync with the .hpp
71  * 9.0 Add support for modifying sequence lengths and returning sequences
72  */
73 #define AP_CORRELATOR_PLUGIN_VERSION 0x00090000
74 
77 typedef enum {
86  AP_PLUGIN_SERIALISATION_EXCEPTION
88 
89 
90 
91 #ifdef __cplusplus
92 extern "C" {
93 #endif /* __cplusplus */
94 
96  struct AP_PluginContext_API;
97  struct AP_PluginType_API;
98  struct AP_PluginChunk_API;
99  struct AP_PluginTypeList_API;
100 
102 
103 #ifdef __cplusplus
104  struct AP_PluginCorrelatorInterface_Stubs;
105  struct AP_PluginContext_Stubs;
106  struct AP_PluginType_Stubs;
107  struct AP_PluginChunk_Stubs;
108  struct AP_PluginTypeList_Stubs;
109 
110  typedef struct AP_PluginCorrelatorInterface_Stubs AP_PluginCorrelatorInterface;
111  typedef struct AP_PluginContext_Stubs AP_PluginContext;
112  typedef struct AP_PluginType_Stubs AP_PluginType;
113  typedef struct AP_PluginChunk_Stubs AP_PluginChunk;
114  typedef struct AP_PluginTypeList_Stubs AP_PluginTypeList;
115 #else
116  typedef struct AP_PluginCorrelatorInterface_API AP_PluginCorrelatorInterface;
117  typedef struct AP_PluginContext_API AP_PluginContext;
118  typedef struct AP_PluginType_API AP_PluginType;
119  typedef struct AP_PluginChunk_API AP_PluginChunk;
120  typedef struct AP_PluginTypeList_API AP_PluginTypeList;
121 #endif /* __cplusplus */
122 
130  {
140  void (AP_PLUGIN_CALL* sendEvent)(AP_PluginCorrelatorInterface* _interface, const char* event);
155  void (AP_PLUGIN_CALL* sendEventTo)(AP_PluginCorrelatorInterface* _interface, const char* event, AP_uint64 targetContext, AP_uint64 sourceContext);
156  };
157 
165  {
166  void* reserved;
170  };
171 
172  struct AP_PluginCorrelatorInterface_Stubs {
174 
175 #ifdef __cplusplus
176  void sendEvent(char* event) {
177  api.functions->sendEvent(this, event);
178  }
179 
180  void sendEvent(char* event, AP_uint64 targetCtx, AP_uint64 sourceCtx) {
181  api.functions->sendEventTo(this, event, targetCtx, sourceCtx);
182  }
183 #endif /* __ cplusplus */
184  };
185 
193  {
198  AP_uint32 (AP_PLUGIN_CALL* version)(const AP_PluginContext* ctx);
206  AP_PluginChunk* (AP_PLUGIN_CALL* createChunk)(const AP_PluginContext* ctx, const struct AP_PluginChunk_Callbacks* callbacks, void* userData);
214  void (AP_PLUGIN_CALL* deleteChunk)(const AP_PluginContext* ctx, AP_PluginChunk* chunk);
217  AP_bool (AP_PLUGIN_CALL* checkException)(const AP_PluginContext* ctx);
220  AP_CorrelatorPluginExceptionType (AP_PLUGIN_CALL* getExceptionType)(const AP_PluginContext* ctx);
223  const AP_char8* (AP_PLUGIN_CALL* getExceptionMessage)(const AP_PluginContext* ctx);
226  void (AP_PLUGIN_CALL* clearException)(const AP_PluginContext* ctx);
230  AP_PluginCorrelatorInterface* (AP_PLUGIN_CALL* getCorrelator)(const AP_PluginContext* ctx);
236  void (AP_PLUGIN_CALL* char8free)(AP_char8* ptr);
241  AP_uint64 (AP_PLUGIN_CALL* getContextId)(const AP_PluginContext* ctx);
242  };
243 
251  {
252  const void* reserved;
256  };
257 
258  struct AP_PluginContext_Stubs {
259  struct AP_PluginContext_API api;
260 
261 #ifdef __cplusplus
262  AP_uint32 version() const {
263  return api.functions->version(this);
264  }
265 
266  AP_PluginChunk* createChunk(const struct AP_PluginChunk_Callbacks* callbacks, void* userData) const {
267  return api.functions->createChunk(this, callbacks, userData);
268  }
269 
270  void deleteChunk(AP_PluginChunk* chunk) const {
271  api.functions->deleteChunk(this, chunk);
272  }
273 
274  AP_bool checkException() const {
275  return api.functions->checkException(this);
276  }
277 
278  AP_CorrelatorPluginExceptionType getExceptionType() const {
279  return api.functions->getExceptionType(this);
280  }
281 
282  const AP_char8* getExceptionMessage() const {
283  return api.functions->getExceptionMessage(this);
284  }
285 
286  void clearException() const {
287  api.functions->clearException(this);
288  }
289 
290  const AP_PluginCorrelatorInterface* getCorrelator() const{
291  return api.functions->getCorrelator(this);
292  }
293 
294  void char8free(AP_char8* ptr) const{
295  api.functions->char8free(ptr);
296  }
297 
298  AP_uint64 getContextId() const{
299  return api.functions->getContextId(this);
300  }
301 #endif /* __ cplusplus */
302  };
303 
304 
312  {
315  void* (AP_PLUGIN_CALL* getUserData)(const AP_PluginChunk* chunk);
322  void (AP_PLUGIN_CALL* setUserData)(AP_PluginChunk* chunk, void* userData);
323  };
324 
333  {
336  void (AP_PLUGIN_CALL* freeUserData)(AP_PluginChunk* chunk);
339  void* (AP_PLUGIN_CALL* copyUserData)(const AP_PluginChunk* chunk);
340  };
341 
349  {
350  void* reserved;
357  };
358 
359  struct AP_PluginChunk_Stubs {
360  struct AP_PluginChunk_API api;
361 
362 #ifdef __cplusplus
363  void* getUserData() const {
364  return api.functions->getUserData(this);
365  }
366 
367  void setUserData(void* userData) {
368  api.functions->setUserData(this, userData);
369  }
370 
371  void freeUserData() {
372  api.callbacks->freeUserData(this);
373  }
374 
375  void* copyUserData() {
376  return api.callbacks->copyUserData(this);
377  }
378 #endif /* __cplusplus */
379  };
380 
381 
382 
390  {
393  AP_TypeDiscriminator (AP_PLUGIN_CALL* getDiscriminator)(const AP_PluginType* obj);
394 
397  AP_PluginChunk* (AP_PLUGIN_CALL* getChunkValue)(const AP_PluginType* obj);
406  void (AP_PLUGIN_CALL* setChunkValue)(const AP_PluginType* obj, AP_PluginChunk* val);
407 
410  AP_int64 (AP_PLUGIN_CALL* getIntegerValue)(const AP_PluginType* obj);
413  void (AP_PLUGIN_CALL* setIntegerValue)(AP_PluginType* obj, AP_int64 val);
414 
417  AP_float64 (AP_PLUGIN_CALL* getFloatValue)(const AP_PluginType* obj);
420  void (AP_PLUGIN_CALL* setFloatValue)(AP_PluginType* obj, AP_float64 val);
421 
424  AP_decimal (AP_PLUGIN_CALL* getDecimalValue)(const AP_PluginType* obj);
427  void (AP_PLUGIN_CALL* setDecimalValue)(AP_PluginType* obj, AP_decimal val);
428 
431  AP_bool (AP_PLUGIN_CALL* getBooleanValue)(const AP_PluginType* obj);
434  void (AP_PLUGIN_CALL* setBooleanValue)(AP_PluginType* obj, AP_bool val);
435 
438  const AP_char8* (AP_PLUGIN_CALL* getStringValue)(const AP_PluginType* obj);
444  void (AP_PLUGIN_CALL* setStringValue)(AP_PluginType* obj, const AP_char8* val);
445 
448  AP_uint32 (AP_PLUGIN_CALL* getSequenceLength)(const AP_PluginType* obj);
457  void (AP_PLUGIN_CALL* setSequenceLength)(const AP_PluginType* obj, AP_uint32 len);
460  AP_TypeDiscriminator (AP_PLUGIN_CALL* getSequenceType)(const AP_PluginType* obj);
469  void (AP_PLUGIN_CALL* createSequence)(const AP_PluginType *obj, AP_TypeDiscriminator inner);
470 
476  AP_PluginType* (AP_PLUGIN_CALL* getSequenceElement)(const AP_PluginType* obj, AP_uint32 index);
477 
480  void (AP_PLUGIN_CALL *copyFrom)(const AP_PluginType *obj, const AP_PluginType *other);
481 
487  AP_PluginType* const * (AP_PLUGIN_CALL* getSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
497  void (AP_PLUGIN_CALL* releaseSequenceElements)(const AP_PluginType* obj);
498 
509  AP_PluginChunk* const * (AP_PLUGIN_CALL* getChunkSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
518  void (AP_PLUGIN_CALL* releaseChunkSequenceElements)(const AP_PluginType* obj);
519 
525  AP_int64* (AP_PLUGIN_CALL* getIntegerSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
535  void (AP_PLUGIN_CALL* releaseIntegerSequenceElements)(const AP_PluginType* obj);
536 
542  AP_float64* (AP_PLUGIN_CALL* getFloatSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
552  void (AP_PLUGIN_CALL* releaseFloatSequenceElements)(const AP_PluginType* obj);
553 
559  AP_decimal* (AP_PLUGIN_CALL* getDecimalSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
569  void (AP_PLUGIN_CALL* releaseDecimalSequenceElements)(const AP_PluginType* obj);
570 
576  AP_bool* (AP_PLUGIN_CALL* getBooleanSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
586  void (AP_PLUGIN_CALL* releaseBooleanSequenceElements)(const AP_PluginType* obj);
587 
595  const AP_char8** (AP_PLUGIN_CALL* getStringSequenceElements)(const AP_PluginType* obj, AP_uint32 start, AP_uint32 length);
613  void (AP_PLUGIN_CALL* releaseStringSequenceElements)(const AP_PluginType* obj);
614  };
615 
623  {
624  void* reserved;
628  };
629 
630  struct AP_PluginType_Stubs {
631  struct AP_PluginType_API api;
632 
633 #ifdef __cplusplus
634  AP_TypeDiscriminator getDiscriminator() const {
635  return api.functions->getDiscriminator(this);
636  }
637 
638  AP_PluginChunk* getChunkValue() const {
639  return api.functions->getChunkValue(this);
640  }
641 
642  void setChunkValue(AP_PluginChunk* val) const {
643  api.functions->setChunkValue(this, val);
644  }
645 
646  AP_int64 getIntegerValue() const {
647  return api.functions->getIntegerValue(this);
648  }
649 
650  void setIntegerValue(AP_int64 val) {
651  api.functions->setIntegerValue(this, val);
652  }
653 
654  AP_float64 getFloatValue() const {
655  return api.functions->getFloatValue(this);
656  }
657 
658  void setFloatValue(AP_float64 val) {
659  api.functions->setFloatValue(this, val);
660  }
661 
662  AP_decimal getDecimalValue() const {
663  return api.functions->getDecimalValue(this);
664  }
665 
666  void setDecimalValue(AP_decimal val) {
667  api.functions->setDecimalValue(this, val);
668  }
669 
670  AP_bool getBooleanValue() const {
671  return api.functions->getBooleanValue(this);
672  }
673 
674  void setBooleanValue(AP_bool val) {
675  api.functions->setBooleanValue(this, val);
676  }
677 
678  const AP_char8* getStringValue() const {
679  return api.functions->getStringValue(this);
680  }
681 
682  void setStringValue(const AP_char8* val) {
683  api.functions->setStringValue(this, val);
684  }
685 
686  AP_uint32 getSequenceLength() const {
687  return api.functions->getSequenceLength(this);
688  }
689 
690  AP_TypeDiscriminator getSequenceType() const {
691  return api.functions->getSequenceType(this);
692  }
693 
694  AP_PluginType* getSequenceElement(AP_uint32 index) const {
695  return api.functions->getSequenceElement(this, index);
696  }
697 
698  void copyFrom(const AP_PluginType *other) {
699  return api.functions->copyFrom(this, other);
700  }
701 
702  AP_PluginType* const *getSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
703  return api.functions->getSequenceElements(this, start, length);
704  }
705 
706  void releaseSequenceElements() const {
707  api.functions->releaseSequenceElements(this);
708  }
709 
710  AP_PluginChunk* const * getChunkSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
711  return api.functions->getChunkSequenceElements(this, start, length);
712  }
713 
714  void releaseChunkSequenceElements() const {
715  api.functions->releaseChunkSequenceElements(this);
716  }
717 
718  AP_int64* getIntegerSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
719  return api.functions->getIntegerSequenceElements(this, start, length);
720  }
721 
722  void releaseIntegerSequenceElements() const {
723  api.functions->releaseIntegerSequenceElements(this);
724  }
725 
726  AP_float64* getFloatSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
727  return api.functions->getFloatSequenceElements(this, start, length);
728  }
729 
730  void releaseFloatSequenceElements() const {
731  api.functions->releaseFloatSequenceElements(this);
732  }
733 
734  AP_decimal* getDecimalSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
735  return api.functions->getDecimalSequenceElements(this, start, length);
736  }
737 
738  void releaseDecimalSequenceElements() const {
739  api.functions->releaseDecimalSequenceElements(this);
740  }
741 
742  AP_bool* getBooleanSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
743  return api.functions->getBooleanSequenceElements(this, start, length);
744  }
745 
746  void releaseBooleanSequenceElements() const {
747  api.functions->releaseBooleanSequenceElements(this);
748  }
749 
750  const AP_char8** getStringSequenceElements(AP_uint32 start = 0, AP_uint32 length = ~0U) const {
751  return api.functions->getStringSequenceElements(this, start, length);
752  }
753 
754  void releaseStringSequenceElements() const {
755  api.functions->releaseStringSequenceElements(this);
756  }
757 #endif /* __cplusplus */
758  };
759 
760 
761 
769  {
772  AP_uint32 (AP_PLUGIN_CALL* getSize)(const AP_PluginTypeList* list);
775  AP_bool (AP_PLUGIN_CALL* isEmpty)(const AP_PluginTypeList* list);
778  const AP_PluginType* (AP_PLUGIN_CALL* getElement)(const AP_PluginTypeList* list, AP_uint32 index);
779  };
780 
788  {
789  void* reserved;
793  };
794 
795  struct AP_PluginTypeList_Stubs {
796  struct AP_PluginTypeList_API api;
797 
798 #ifdef __cplusplus
799  AP_uint32 getSize() const {
800  return api.functions->getSize(this);
801  }
802 
803  AP_bool isEmpty() const {
804  return api.functions->isEmpty(this);
805  }
806 
807  const AP_PluginType* getElement(AP_uint32 index) const {
808  return api.functions->getElement(this, index);
809  }
810 #endif /* __cplusplus */
811  };
812 
813 
822  typedef void (AP_PLUGIN_CALL* AP_PluginFunctionPtr)(const AP_PluginContext* ctx, const AP_PluginTypeList* args, AP_PluginType* rval, AP_TypeDiscriminator rtype);
823 
834  typedef struct
835  {
838  const AP_char8* name;
839 
843 
846  AP_uint32 nParams;
847 
850  const AP_char8** paramTypes;
851 
854  const AP_char8* returnType;
855 
857 
882  typedef AP_PLUGIN_DLL_SYM AP_ErrorCode (AP_PLUGIN_CALL* AP_PluginInitFunctionPtr)(const AP_PluginContext* ctx, AP_uint32* version, AP_uint32* nFunctions, AP_PluginFunction** functions);
883 
892  typedef AP_PLUGIN_DLL_SYM AP_ErrorCode (AP_PLUGIN_CALL* AP_PluginShutdownFunctionPtr)(const AP_PluginContext* ctx);
893 
912  typedef AP_PLUGIN_DLL_SYM AP_ErrorCode (AP_PLUGIN_CALL* AP_PluginVersionFunctionPtr)(const AP_PluginContext* ctx, AP_uint32* version);
913 
930  typedef AP_PLUGIN_DLL_SYM AP_Capabilities (AP_PLUGIN_CALL* AP_PluginGetCapabilitiesFunctionPtr)(const AP_PluginContext* ctx);
931 
947  typedef AP_PLUGIN_DLL_SYM AP_ErrorCode (AP_PLUGIN_CALL* AP_PluginThreadEndedFunctionPtr) (const AP_PluginContext* ctx);
948 
949 #ifdef __cplusplus
950 } /* extern "C" */
951 #endif /* __cplusplus */
952 
953 #endif /* CORRELATOR_PLUGIN_H */
[DEPRECATED] AP_TypeList
Definition: correlator_plugin.h:787
const AP_char8 *AP_PLUGIN_CALL * getExceptionMessage(const AP_PluginContext *ctx)
void *AP_PLUGIN_CALL * copyUserData(const AP_PluginChunk *chunk)
AP_PluginCorrelatorInterface *AP_PLUGIN_CALL * getCorrelator(const AP_PluginContext *ctx)
[DEPRECATED] CorrelatorInterface.
Definition: correlator_plugin.h:164
AP_uint32(AP_PLUGIN_CALL *getSequenceLength)(const AP_PluginType *obj)
AP_bool(AP_PLUGIN_CALL *checkException)(const AP_PluginContext *ctx)
AP_Capabilities
Definition: AP_PluginCommon.h:108
void(AP_PLUGIN_CALL * AP_PluginFunctionPtr)(const AP_PluginContext *ctx, const AP_PluginTypeList *args, AP_PluginType *rval, AP_TypeDiscriminator rtype)
Definition: correlator_plugin.h:822
[DEPRECATED] CorrelatorInterface function API.
Definition: correlator_plugin.h:129
[DEPRECATED] AP_TypeList function API
Definition: correlator_plugin.h:768
const struct AP_PluginTypeList_Functions * functions
Definition: correlator_plugin.h:792
AP_int64 *AP_PLUGIN_CALL * getIntegerSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
AP_PluginType *const *AP_PLUGIN_CALL * getSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
AP_PluginType *AP_PLUGIN_CALL * getSequenceElement(const AP_PluginType *obj, AP_uint32 index)
Incorrect type.
Definition: correlator_plugin.h:81
Generic exception.
Definition: correlator_plugin.h:79
AP_decimal *AP_PLUGIN_CALL * getDecimalSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
AP_uint32(AP_PLUGIN_CALL *getSize)(const AP_PluginTypeList *list)
const AP_char8 * returnType
Definition: correlator_plugin.h:854
const AP_char8 *AP_PLUGIN_CALL * getStringValue(const AP_PluginType *obj)
AP_uint64(AP_PLUGIN_CALL *getContextId)(const AP_PluginContext *ctx)
const struct AP_PluginType_Functions * functions
Definition: correlator_plugin.h:627
[DEPRECATED] PluginChunk function API.
Definition: correlator_plugin.h:311
AP_TypeDiscriminator
Definition: AP_PluginCommon.h:56
[DEPRECATED] PluginContext.
Definition: correlator_plugin.h:250
AP_PLUGIN_DLL_SYM AP_ErrorCode(AP_PLUGIN_CALL * AP_PluginShutdownFunctionPtr)(const AP_PluginContext *ctx)
Definition: correlator_plugin.h:892
AP_PluginFunctionPtr fptr
Definition: correlator_plugin.h:842
AP_uint32 nParams
Definition: correlator_plugin.h:846
AP_float64(AP_PLUGIN_CALL *getFloatValue)(const AP_PluginType *obj)
[DEPRECATED] AP_Type function API
Definition: correlator_plugin.h:389
const struct AP_PluginChunk_Functions * functions
Definition: correlator_plugin.h:353
void(AP_PLUGIN_CALL *deleteChunk)(const AP_PluginContext *ctx
[DEPRECATED] PluginChunk.
Definition: correlator_plugin.h:348
const struct AP_PluginChunk_Callbacks * callbacks
Definition: correlator_plugin.h:356
void(AP_PLUGIN_CALL *sendEvent)(AP_PluginCorrelatorInterface *_interface
[DEPRECATED] PluginChunk callback API.
Definition: correlator_plugin.h:332
const AP_char8 **AP_PLUGIN_CALL * getStringSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
const AP_char8 ** paramTypes
Definition: correlator_plugin.h:850
AP_float64 *AP_PLUGIN_CALL * getFloatSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
const struct AP_PluginCorrelatorInterface_Functions * functions
Definition: correlator_plugin.h:169
const AP_PluginType *AP_PLUGIN_CALL * getElement(const AP_PluginTypeList *list, AP_uint32 index)
AP_TypeDiscriminator(AP_PLUGIN_CALL *getDiscriminator)(const AP_PluginType *obj)
AP_CorrelatorPluginExceptionType
Definition: correlator_plugin.h:77
AP_decimal(AP_PLUGIN_CALL *getDecimalValue)(const AP_PluginType *obj)
AP_int64(AP_PLUGIN_CALL *getIntegerValue)(const AP_PluginType *obj)
void *AP_PLUGIN_CALL * getUserData(const AP_PluginChunk *chunk)
AP_PluginChunk *AP_PLUGIN_CALL * createChunk(const AP_PluginContext *ctx, const struct AP_PluginChunk_Callbacks *callbacks, void *userData)
AP_CorrelatorPluginExceptionType(AP_PLUGIN_CALL *getExceptionType)(const AP_PluginContext *ctx)
const struct AP_PluginContext_Functions * functions
Definition: correlator_plugin.h:255
const AP_char8 * name
Definition: correlator_plugin.h:838
Out of bands.
Definition: correlator_plugin.h:85
[DEPRECATED] PluginContext function API.
Definition: correlator_plugin.h:192
AP_bool(AP_PLUGIN_CALL *getBooleanValue)(const AP_PluginType *obj)
AP_PLUGIN_DLL_SYM AP_ErrorCode(AP_PLUGIN_CALL * AP_PluginVersionFunctionPtr)(const AP_PluginContext *ctx, AP_uint32 *version)
Definition: correlator_plugin.h:912
AP_PluginChunk *const *AP_PLUGIN_CALL * getChunkSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
void(AP_PLUGIN_CALL *freeUserData)(AP_PluginChunk *chunk)
AP_PLUGIN_DLL_SYM AP_ErrorCode(AP_PLUGIN_CALL *AP_PluginThreadEndedFunctionPtr)(const AP_PluginContext *ctx)
Definition: correlator_plugin.h:947
AP_ENGINE_CLIENT_API void char8free(char *string)
Free any char* string returned from the client API.
AP_PLUGIN_DLL_SYM AP_ErrorCode(AP_PLUGIN_CALL * AP_PluginInitFunctionPtr)(const AP_PluginContext *ctx, AP_uint32 *version, AP_uint32 *nFunctions, AP_PluginFunction **functions)
Definition: correlator_plugin.h:882
AP_bool *AP_PLUGIN_CALL * getBooleanSequenceElements(const AP_PluginType *obj, AP_uint32 start, AP_uint32 length)
AP_PLUGIN_DLL_SYM AP_Capabilities(AP_PLUGIN_CALL * AP_PluginGetCapabilitiesFunctionPtr)(const AP_PluginContext *ctx)
Definition: correlator_plugin.h:930
[DEPRECATED] Plugin function descriptor.
Definition: correlator_plugin.h:834
AP_uint32(AP_PLUGIN_CALL *version)(const AP_PluginContext *ctx)
[DEPRECATED] AP_Type
Definition: correlator_plugin.h:622
void(AP_PLUGIN_CALL *setChunkValue)(const AP_PluginType *obj
Unimplemented method.
Definition: correlator_plugin.h:83
void(AP_PLUGIN_CALL *setUserData)(AP_PluginChunk *chunk
AP_bool(AP_PLUGIN_CALL *isEmpty)(const AP_PluginTypeList *list)
AP_PluginChunk *AP_PLUGIN_CALL * getChunkValue(const AP_PluginType *obj)