Apama  10.3.0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
epl_plugin.hpp File Reference

Contains the headers needed to implement EPL plug-ins in C++. More...

#include <sag_connectivity_cpp.hpp>
#include <memory>
#include <sag_plugin_logging.hpp>
#include <vector>
#include <sag_internal/epl_plugin_wrap.hpp>
#include <sag_internal/epl_plugin_functions.hpp>
#include <sag_internal/epl_plugin_methods.hpp>
#include <sag_internal/exception.hpp>
#include <sag_internal/epl_plugin_macros.hpp>

Go to the source code of this file.

Classes

class  com::apama::epl::MethodData< DERIVED >
 Data structure used for declaring methods in the initialize function (EPLPlugin) to be exported to EPL. More...
 
class  com::apama::epl::EventHandlerSubscription
 This type is returned from CorrelatorInterface::registerEventHandler and can be used to add and remove channels to the subscription for this event handler. More...
 
class  com::apama::epl::EventHandler
 An interface for subscribing to events and receiving them in the plug-in. More...
 
class  com::apama::epl::ThreadEndedHandler
 An interface for receiving notifications of threads being destroyed. More...
 
class  com::apama::epl::CorrelatorInterface
 An interface to the correlator which lets plug-ins call methods on the host. More...
 
class  com::apama::epl::EPLPlugin< DERIVED >
 Derive from this class to define a Correlator EPL plug-in. More...
 

Namespaces

 com::apama
 Contains classes for writing client applications for Apama components.
 
 com::apama::epl
 Contains classes needed for implementing EPL plug-ins in C++.
 

Macros

#define APAMA_DECLARE_EPL_PLUGIN(Class)   _APAMA_DECLARE_EPL_PLUGIN(Class)
 Creates the exported C free functions for an EPL plug-in to be loaded into the correlator. More...
 

Detailed Description

Contains the headers needed to implement EPL plug-ins in C++.

This re-uses the types defined in sag_connectivity_cpp.hpp and the logger defined in sag_plugin_logging.hpp. For convenience all of the relevant types and functions have been brought into the com::apama::epl namespace as well.

Macro Definition Documentation

#define APAMA_DECLARE_EPL_PLUGIN (   Class)    _APAMA_DECLARE_EPL_PLUGIN(Class)

Creates the exported C free functions for an EPL plug-in to be loaded into the correlator.

You must call this exactly once per shared library to export a plug-in class from that library. The class provided must be derived from EPLPlugin<Class>.

If your class is in a namespace then you must call this macro in the same namespace, passing in just the base name of the class.