Index  Source Files  Annotated Class List  Alphabetical Class List  Class Hierarchy  Graphical Class Hierarchy   
 

FIX::SynchronizedApplication Class Reference

This is a special implementation of the Application interface that takes in another Application interface and synchronizes all of its callbacks. More...

#include <Application.h>

Inheritance diagram for FIX::SynchronizedApplication:

Inheritance graph
[legend]
Collaboration diagram for FIX::SynchronizedApplication:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SynchronizedApplication (Application &app)
void onCreate (const SessionID &sessionID)
 Notification of a session begin created.

void onLogon (const SessionID &sessionID)
 Notification of a session successfully logging on.

void onLogout (const SessionID &sessionID)
 Notification of a session logging off or disconnecting.

void toAdmin (Message &message, const SessionID &sessionID)
 Notification of admin message being sent to target.

void toApp (Message &message, const SessionID &sessionID) throw ( DoNotSend )
 Notification of app message being sent to target.

void fromAdmin (const Message &message, const SessionID &sessionID) throw ( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon )
 Notification of admin message being received from target.

void fromApp (const Message &message, const SessionID &sessionID) throw ( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType )
 Notification of app message being received from target.

Applicationapp ()

Public Attributes

Mutex m_mutex
Applicationm_app

Detailed Description

This is a special implementation of the Application interface that takes in another Application interface and synchronizes all of its callbacks.

This will guarantee that only one thread will access the applications code at a time.

This class is a great convenience for writing applications where you don't want to worry about synchronization. There is of course a tradeoff in that you may be synchronizing more than you need to. There is also a very minor performance penalty due to the extra virtual table lookup.

Definition at line 76 of file Application.h.


Constructor & Destructor Documentation

FIX::SynchronizedApplication::SynchronizedApplication Application app  )  [inline]
 

Definition at line 79 of file Application.h.

References m_app.

00079 : m_app( app ) {}


Member Function Documentation

Application& FIX::SynchronizedApplication::app  )  [inline]
 

Definition at line 101 of file Application.h.

References m_app.

Referenced by fromAdmin(), fromApp(), onCreate(), onLogon(), onLogout(), toAdmin(), and toApp().

00101 { return m_app; }

void FIX::SynchronizedApplication::fromAdmin const Message message,
const SessionID sessionID
throw ( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon ) [inline, virtual]
 

Notification of admin message being received from target.

Implements FIX::Application.

Definition at line 92 of file Application.h.

References app(), FIX::Application::fromAdmin(), and m_mutex.

00094   { Locker l( m_mutex ); app().fromAdmin( message, sessionID ); }

void FIX::SynchronizedApplication::fromApp const Message message,
const SessionID sessionID
throw ( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType ) [inline, virtual]
 

Notification of app message being received from target.

Implements FIX::Application.

Definition at line 95 of file Application.h.

References app(), FIX::Application::fromApp(), and m_mutex.

00097   { Locker l( m_mutex ); app().fromApp( message, sessionID ); }

void FIX::SynchronizedApplication::onCreate const SessionID sessionID  )  [inline, virtual]
 

Notification of a session begin created.

Implements FIX::Application.

Definition at line 81 of file Application.h.

References app(), m_mutex, and FIX::Application::onCreate().

00082   { Locker l( m_mutex ); app().onCreate( sessionID ); }

void FIX::SynchronizedApplication::onLogon const SessionID sessionID  )  [inline, virtual]
 

Notification of a session successfully logging on.

Implements FIX::Application.

Definition at line 83 of file Application.h.

References app(), m_mutex, and FIX::Application::onLogon().

00084   { Locker l( m_mutex ); app().onLogon( sessionID ); }

void FIX::SynchronizedApplication::onLogout const SessionID sessionID  )  [inline, virtual]
 

Notification of a session logging off or disconnecting.

Implements FIX::Application.

Definition at line 85 of file Application.h.

References app(), m_mutex, and FIX::Application::onLogout().

00086   { Locker l( m_mutex ); app().onLogout( sessionID ); }

void FIX::SynchronizedApplication::toAdmin Message message,
const SessionID sessionID
[inline, virtual]
 

Notification of admin message being sent to target.

Implements FIX::Application.

Definition at line 87 of file Application.h.

References app(), m_mutex, and FIX::Application::toAdmin().

00088   { Locker l( m_mutex ); app().toAdmin( message, sessionID ); }

void FIX::SynchronizedApplication::toApp Message message,
const SessionID sessionID
throw ( DoNotSend ) [inline, virtual]
 

Notification of app message being sent to target.

Implements FIX::Application.

Definition at line 89 of file Application.h.

References app(), m_mutex, and FIX::Application::toApp().

00091   { Locker l( m_mutex ); app().toApp( message, sessionID ); }


Member Data Documentation

Application& FIX::SynchronizedApplication::m_app
 

Definition at line 102 of file Application.h.

Referenced by app(), and SynchronizedApplication().

Mutex FIX::SynchronizedApplication::m_mutex
 

Definition at line 99 of file Application.h.

Referenced by fromAdmin(), fromApp(), onCreate(), onLogon(), onLogout(), toAdmin(), and toApp().


The documentation for this class was generated from the following file:
Generated on Mon Jul 24 19:36:35 2006 for QuickFIX by doxygen 1.3.6-20040222 written by Dimitri van Heesch, © 1997-2001