![]() |
![]() |
|
Index
Source Files
Annotated Class List
Alphabetical Class List
Class Hierarchy
Graphical Class Hierarchy
|
||
![]() |
![]() |
#include <SessionSettings.h>
Collaboration diagram for FIX::SessionSettings:

Public Types | |
| typedef std::map< SessionID, Dictionary > | Dictionaries |
Public Member Functions | |
| SessionSettings () | |
| SessionSettings (std::istream &stream) throw ( ConfigError ) | |
| SessionSettings (const std::string &file) throw ( ConfigError ) | |
| const bool | has (const SessionID &) const |
| Check if session setings are present. | |
| const Dictionary & | get (const SessionID &) const throw ( ConfigError ) |
| Get a dictionary for a session. | |
| void | set (const SessionID &, Dictionary) throw ( ConfigError ) |
| Set a dictionary for a session. | |
| const Dictionary & | get () const |
| Get global default settings. | |
| void | set (const Dictionary &defaults) throw ( ConfigError ) |
| Set global default settings. | |
| int | size () |
| Number of session settings. | |
| std::set< SessionID > | getSessions () const |
Private Member Functions | |
| void | validate (const Dictionary &) const throw ( ConfigError ) |
Private Attributes | |
| Dictionaries | m_settings |
| Dictionary | m_defaults |
Definition at line 107 of file SessionSettings.h.
|
|
Definition at line 130 of file SessionSettings.h. |
|
|
Definition at line 110 of file SessionSettings.h.
00110 {}
|
|
|
Definition at line 34 of file SessionSettings.cpp.
00036 {
00037 stream >> *this;
00038 }
|
|
|
Definition at line 40 of file SessionSettings.cpp.
00042 {
00043 std::ifstream fstream( file.c_str() );
00044 if ( !fstream.is_open() )
00045 throw ConfigError( ( "File " + file + " not found" ).c_str() );
00046 fstream >> *this;
00047 }
|
|
|
Get global default settings.
Definition at line 123 of file SessionSettings.h. References m_defaults.
00123 { return m_defaults; }
|
|
|
Get a dictionary for a session.
Definition at line 94 of file SessionSettings.cpp. References QF_STACK_POP, and QF_STACK_PUSH. Referenced by FIX::Initiator::connect(), FIX::ScreenLogFactory::create(), FIX::FileStoreFactory::create(), and FIX::FileLogFactory::create().
00096 { QF_STACK_PUSH(SessionSettings::get)
00097
00098 Dictionaries::const_iterator i;
00099 i = m_settings.find( sessionID );
00100 if ( i == m_settings.end() ) throw ConfigError( "Session not found" );
00101 return i->second;
00102
00103 QF_STACK_POP
00104 }
|
|
|
Definition at line 130 of file SessionSettings.cpp. References QF_STACK_POP, and QF_STACK_PUSH.
00131 { QF_STACK_PUSH(SessionSettings::getSessions)
00132
00133 std::set < SessionID > result;
00134 Dictionaries::const_iterator i;
00135 for ( i = m_settings.begin(); i != m_settings.end(); ++i )
00136 result.insert( i->first );
00137 return result;
00138
00139 QF_STACK_POP
00140 }
|
|
|
Check if session setings are present.
Definition at line 88 of file SessionSettings.cpp. References QF_STACK_POP, and QF_STACK_PUSH. Referenced by FIX::ScreenLogFactory::create().
00089 { QF_STACK_PUSH(SessionSettings::has)
00090 return m_settings.find( sessionID ) != m_settings.end();
00091 QF_STACK_POP
00092 }
|
|
|
Set global default settings.
Definition at line 122 of file SessionSettings.cpp.
00123 {
00124 m_defaults = defaults;
00125 Dictionaries::iterator i = m_settings.begin();
00126 for( i = m_settings.begin(); i != m_settings.end(); ++i )
00127 i->second.merge( defaults );
00128 }
|
|
||||||||||||
|
Set a dictionary for a session.
Definition at line 106 of file SessionSettings.cpp. References FIX::BEGINSTRING, QF_STACK_POP, QF_STACK_PUSH, FIX::SENDERCOMPID, and FIX::TARGETCOMPID.
00109 { QF_STACK_PUSH(SessionSettings::set)
00110
00111 settings.setString( BEGINSTRING, sessionID.getBeginString() );
00112 settings.setString( SENDERCOMPID, sessionID.getSenderCompID() );
00113 settings.setString( TARGETCOMPID, sessionID.getTargetCompID() );
00114
00115 settings.merge( m_defaults );
00116 validate( settings );
00117 m_settings[ sessionID ] = settings;
00118
00119 QF_STACK_POP
00120 }
|
|
|
Number of session settings.
Definition at line 128 of file SessionSettings.h.
00128 { return m_settings.size(); }
|
|
|
Definition at line 142 of file SessionSettings.cpp. References FIX::BEGINSTRING, FIX::BeginString_FIX40, FIX::BeginString_FIX41, FIX::BeginString_FIX42, FIX::BeginString_FIX43, FIX::BeginString_FIX44, and FIX::CONNECTION_TYPE.
00144 {
00145 std::string beginString = dictionary.getString( BEGINSTRING );
00146 if( beginString != BeginString_FIX40 &&
00147 beginString != BeginString_FIX41 &&
00148 beginString != BeginString_FIX42 &&
00149 beginString != BeginString_FIX43 &&
00150 beginString != BeginString_FIX44 )
00151 {
00152 throw ConfigError( std::string(BEGINSTRING) + " must be FIX.4.0 to FIX.4.4" );
00153 }
00154
00155 std::string connectionType = dictionary.getString( CONNECTION_TYPE );
00156 if( connectionType != "initiator" &&
00157 connectionType != "acceptor" )
00158 {
00159 throw ConfigError( std::string(CONNECTION_TYPE) + " must be 'initiator' or 'acceptor'" );
00160 }
00161 }
|
|
|
Definition at line 137 of file SessionSettings.h. Referenced by get(). |
|
|
Definition at line 136 of file SessionSettings.h. |
1.3.6-20040222 written by Dimitri van Heesch,
© 1997-2001