Apama  9.10.0.4.289795
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
com::softwareag::connectivity::Plugin Class Reference

Base of the inheritence tree for Connectivity plugins. More...

#include <sag_connectivity_plugins.hpp>

Inheritance diagram for com::softwareag::connectivity::Plugin:
com::softwareag::connectivity::AbstractCodec com::softwareag::connectivity::AbstractTransport com::softwareag::connectivity::AbstractSimpleCodec com::softwareag::connectivity::AbstractSimpleTransport

Public Member Functions

 Plugin (const std::string &name, const std::string &chainId, const map_t &config)
 Give the plugin instance name and the chain name. More...
 
virtual ~Plugin ()
 Virtual destructor to ensure that we can delete any part of the tree. More...
 
virtual void start ()
 Called when the plugin should be started up (after all plugins are connected together). More...
 
virtual void hostReady ()
 Called when the host indicates it is ready to start receiving input (sends will be queued until this point). More...
 
virtual void shutdown ()
 Release any resources created by the connectivity plug-in, and terminate and join any background threads. More...
 
const std::string & getName () const
 Return the name of this plugin instance. More...
 

Detailed Description

Base of the inheritence tree for Connectivity plugins.

Normally plugins will implement either AbstractCodec or AbstractTransport, or one of their Simple variants.

This class provides the following members to its derived classes:

To export a codec or a transport for use in the correlator you must use one of the following macros:

Constructor & Destructor Documentation

com::softwareag::connectivity::Plugin::Plugin ( const std::string &  name,
const std::string &  chainId,
const map_t config 
)
inline

Give the plugin instance name and the chain name.

virtual com::softwareag::connectivity::Plugin::~Plugin ( )
inlinevirtual

Virtual destructor to ensure that we can delete any part of the tree.

Member Function Documentation

const std::string& com::softwareag::connectivity::Plugin::getName ( ) const
inline

Return the name of this plugin instance.

virtual void com::softwareag::connectivity::Plugin::hostReady ( )
inlinevirtual

Called when the host indicates it is ready to start receiving input (sends will be queued until this point).

Default implementation is a no-op.

virtual void com::softwareag::connectivity::Plugin::shutdown ( )
inlinevirtual

Release any resources created by the connectivity plug-in, and terminate and join any background threads.

The host will call this before shutdown.

This method will never be called more than once on this instance. Implementations should ensure they work correctly even if the start() method was not called.

If the plug-in is blocked waiting to send a message it should attempt to cancel the operation when this method is called. The plug-in must ensure that any calls to hostSide or transportSide are completed before returning from this method and not initiate any calls after this has completed. This is typically achieved by interrupting and joining any threads that this plug-in has started (i.e. waiting for the threads to terminate).

Default implementation is a no-op. You must override it if you need to wait for anything.

virtual void com::softwareag::connectivity::Plugin::start ( )
inlinevirtual

Called when the plugin should be started up (after all plugins are connected together).

You must not call methods on hostSide or transportSide before start() is called.

Default implementation is a no-op. You must override this if you need to signal startup.


The documentation for this class was generated from the following file: