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

Contains the headers needed to implement your own Connectivity Plug-ins. More...

#include <sag_connectivity_cpp.hpp>
#include <sag_plugin_logging.hpp>
#include <memory>
#include <mutex>
#include <inttypes.h>
#include <sag_internal/exception.hpp>
#include <sag_internal/remote_plugins.hpp>
#include <sag_internal/plugin_macros.hpp>

Go to the source code of this file.

Classes

class  com::softwareag::connectivity::PluginHost
 Interface to support miscellaneous requests from a particular plug-in to the host system. More...
 
class  com::softwareag::connectivity::PluginConstructorParameters
 A base interface for parameters passed to the constructor of transport or codec plug-ins. More...
 
class  com::softwareag::connectivity::PluginConstructorParameters::TransportConstructorParameters
 A container for parameters passed to the constructor of a transport plug-in. More...
 
class  com::softwareag::connectivity::PluginConstructorParameters::CodecConstructorParameters
 A container for parameters passed to the constructor of a codec plug-in. More...
 
class  com::softwareag::connectivity::StatusReporter
 A class allowing a plug-in to report status values to the host. More...
 
class  com::softwareag::connectivity::StatusReporter::StatusItem
 A class that can be used to efficiently update the value associated with a single status key. More...
 
class  com::softwareag::connectivity::Plugin
 Base of the inheritance tree for Connectivity plugins. More...
 
class  com::softwareag::connectivity::HostSide
 An interface to the next component (plugin or host) towards the host. More...
 
class  com::softwareag::connectivity::TransportSide
 An interface to the next component (plugin or host) towards the transport. More...
 
class  com::softwareag::connectivity::AbstractCodec
 Base class for codec plug-ins. More...
 
class  com::softwareag::connectivity::AbstractTransport
 Base class for transport plug-ins. More...
 
class  com::softwareag::connectivity::AbstractSimpleTransport
 Base class that simplifies implementation of transport plug-ins that deal only with individual messages not batches, and ignore messages with null payloads. More...
 
class  com::softwareag::connectivity::AbstractSimpleCodec
 Base class that simplifies implementation of codec plug-ins that deal only with individual messages not batches, and ignore messages with null payloads. More...
 

Namespaces

 com::softwareag::connectivity
 Contains classes relating to the connectivity system.
 

Macros

#define SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS(Class)   _SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS(Class)
 Registers a connectivity transport plug-in class, by exporting the necessary C free functions from this library. More...
 
#define SAG_DECLARE_CONNECTIVITY_TRANSPORT(Class)   _SAG_DECLARE_CONNECTIVITY_TRANSPORT_LEGACY(Class)
 Legacy macro to register a connectivity transport plug-in class, by exporting the necessary C free functions from this library [DEPRECATED]. More...
 
#define SAG_DECLARE_CONNECTIVITY_CODEC_CLASS(Class)   _SAG_DECLARE_CONNECTIVITY_CODEC_CLASS(Class)
 Registers a connectivity codec plug-in class, by exporting the necessary C free functions from this library. More...
 
#define SAG_DECLARE_CONNECTIVITY_CODEC(Class)   _SAG_DECLARE_CONNECTIVITY_CODEC_LEGACY(Class)
 Legacy macro to register a connectivity codec plug-in class, by exporting the necessary C free functions from this library [DEPRECATED]. More...
 

Enumerations

enum  com::softwareag::connectivity::Direction { com::softwareag::connectivity::Direction::TOWARDS_HOST = 1, com::softwareag::connectivity::Direction::TOWARDS_TRANSPORT = 2 }
 The enumeration indicating the direction of message flow - towards the transport or towards the host. More...
 

Detailed Description

Contains the headers needed to implement your own Connectivity Plug-ins.

See the com::softwareag::connectivity::AbstractTransport, com::softwareag::connectivity::AbstractCodec and com::softwareag::connectivity::Message classes.

Macro Definition Documentation

#define SAG_DECLARE_CONNECTIVITY_CODEC (   Class)    _SAG_DECLARE_CONNECTIVITY_CODEC_LEGACY(Class)

Legacy macro to register a connectivity codec plug-in class, by exporting the necessary C free functions from this library [DEPRECATED].

For each codec class you have (derived from com::softwareag::connectivity::AbstractCodec or com::softwareag::connectivity::AbstractSimpleCodec) you should call this macro once, and ensure that your class has a constructor with the same signature as com::softwareag::connectivity::AbstractCodec(std::string &, std::string &, map_t &).

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.

Deprecated:
This macro is deprecated and new plug-ins should use SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS(Class) instead.
#define SAG_DECLARE_CONNECTIVITY_CODEC_CLASS (   Class)    _SAG_DECLARE_CONNECTIVITY_CODEC_CLASS(Class)

Registers a connectivity codec plug-in class, by exporting the necessary C free functions from this library.

For each codec class you have (derived from com::softwareag::connectivity::AbstractCodec or com::softwareag::connectivity::AbstractSimpleCodec) you should call this macro once, and ensure that your class has a constructor with the same signature as com::softwareag::connectivity::AbstractCodec(com::softwareag::connectivity::PluginConstructorParameters::CodecConstructorParameters &).

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.

Since
9.12.0.1
#define SAG_DECLARE_CONNECTIVITY_TRANSPORT (   Class)    _SAG_DECLARE_CONNECTIVITY_TRANSPORT_LEGACY(Class)

Legacy macro to register a connectivity transport plug-in class, by exporting the necessary C free functions from this library [DEPRECATED].

For each transport class you have (derived from com::softwareag::connectivity::AbstractTransport or com::softwareag::connectivity::AbstractSimpleTransport) you should call this macro once, and ensure that your class has a constructor with the same signature as com::softwareag::connectivity::AbstractTransport(std::string &, std::string &, map_t &).

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.

Deprecated:
This macro is deprecated and new plug-ins should use SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS(Class) instead.
#define SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS (   Class)    _SAG_DECLARE_CONNECTIVITY_TRANSPORT_CLASS(Class)

Registers a connectivity transport plug-in class, by exporting the necessary C free functions from this library.

For each transport class you have (derived from com::softwareag::connectivity::AbstractTransport or com::softwareag::connectivity::AbstractSimpleTransport) you should call this macro once, and ensure that your class has a constructor with the same signature as com::softwareag::connectivity::AbstractTransport(com::softwareag::connectivity::PluginConstructorParameters::TransportConstructorParameters &).

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.

Since
9.12.0.1