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

FIX::SessionID Class Reference

Unique session id consists of BeginString, SenderCompID and TargetCompID. More...

#include <SessionID.h>

List of all members.

Public Member Functions

 SessionID ()
 SessionID (const BeginString &beginString, const SenderCompID &senderCompID, const TargetCompID &targetCompID, const std::string &sessionQualifier="")
 SessionID (const std::string &beginString, const std::string &senderCompID, const std::string &targetCompID, const std::string &sessionQualifier="")
const BeginString & getBeginString () const
const SenderCompID & getSenderCompID () const
const TargetCompID & getTargetCompID () const
const std::string & getSessionQualifier () const
std::string toString () const
 Get a string representation of the SessionID.

void fromString (const std::string &str)
 Build from string representation of SessionID.

std::string & toString (std::string &str) const
 Get a string representation without making a copy.

SessionID operator~ ()

Private Attributes

BeginString m_beginString
SenderCompID m_senderCompID
TargetCompID m_targetCompID
std::string m_sessionQualifier

Friends

bool operator< (const SessionID &, const SessionID &)
bool operator== (const SessionID &, const SessionID &)
bool operator!= (const SessionID &, const SessionID &)
std::ostream & operator<< (std::ostream &, const SessionID &)
std::ostream & operator>> (std::ostream &, const SessionID &)


Detailed Description

Unique session id consists of BeginString, SenderCompID and TargetCompID.

Definition at line 30 of file SessionID.h.


Constructor & Destructor Documentation

FIX::SessionID::SessionID  )  [inline]
 

Definition at line 33 of file SessionID.h.

Referenced by operator~().

00033 {}

FIX::SessionID::SessionID const BeginString &  beginString,
const SenderCompID &  senderCompID,
const TargetCompID &  targetCompID,
const std::string &  sessionQualifier = ""
[inline]
 

Definition at line 35 of file SessionID.h.

References m_senderCompID, m_sessionQualifier, and m_targetCompID.

00039   : m_beginString( beginString ),
00040     m_senderCompID( senderCompID ),
00041     m_targetCompID( targetCompID ),
00042     m_sessionQualifier( sessionQualifier ) {}

FIX::SessionID::SessionID const std::string &  beginString,
const std::string &  senderCompID,
const std::string &  targetCompID,
const std::string &  sessionQualifier = ""
[inline]
 

Definition at line 44 of file SessionID.h.

References m_senderCompID, m_sessionQualifier, and m_targetCompID.

00048   : m_beginString( BeginString(beginString) ),
00049     m_senderCompID( SenderCompID(senderCompID) ),
00050     m_targetCompID( TargetCompID(targetCompID) ),
00051     m_sessionQualifier( sessionQualifier ) {}


Member Function Documentation

void FIX::SessionID::fromString const std::string &  str  )  [inline]
 

Build from string representation of SessionID.

Definition at line 70 of file SessionID.h.

References m_senderCompID, m_sessionQualifier, and m_targetCompID.

00071   {
00072     std::string::size_type first =
00073       str.find_first_of(':');
00074     std::string::size_type second =
00075       str.find("->");
00076     std::string::size_type third =
00077       str.find_last_of(':');
00078     if( first == std::string::npos )
00079       return;
00080     if( second == std::string::npos )
00081       return;
00082     m_beginString = str.substr(0, first);
00083     m_senderCompID = str.substr(first+1, second - first - 1);
00084     if( first == third )
00085     {
00086       m_targetCompID = str.substr(second+2);
00087       m_sessionQualifier = "";
00088     }
00089     else
00090     {
00091       m_targetCompID = str.substr(second+2, third - second - 2);
00092       m_sessionQualifier = str.substr(third+1);
00093     }
00094   }

const BeginString& FIX::SessionID::getBeginString  )  const [inline]
 

Definition at line 53 of file SessionID.h.

Referenced by FIX::FileLog::FileLog(), FIX::FileStore::FileStore(), FIX::Session::fill(), FIX::Session::generateReject(), FIX::Session::insertOrigSendingTime(), FIX::Session::insertSendingTime(), FIX::Session::next(), FIX::Session::nextResendRequest(), FIX::Session::populateRejectReason(), FIX::Message::setSessionID(), FIX::Session::shouldSendReset(), and toString().

00054     { return m_beginString; }

const SenderCompID& FIX::SessionID::getSenderCompID  )  const [inline]
 

Definition at line 55 of file SessionID.h.

References m_senderCompID.

Referenced by FIX::FileLog::FileLog(), FIX::FileStore::FileStore(), FIX::Session::fill(), FIX::Session::isCorrectCompID(), FIX::Message::setSessionID(), and toString().

00056     { return m_senderCompID; }

const std::string& FIX::SessionID::getSessionQualifier  )  const [inline]
 

Definition at line 59 of file SessionID.h.

References m_sessionQualifier.

Referenced by FIX::FileLog::FileLog(), and FIX::FileStore::FileStore().

00060     { return m_sessionQualifier; }

const TargetCompID& FIX::SessionID::getTargetCompID  )  const [inline]
 

Definition at line 57 of file SessionID.h.

References m_targetCompID.

Referenced by FIX::FileLog::FileLog(), FIX::FileStore::FileStore(), FIX::Session::fill(), FIX::Session::isCorrectCompID(), FIX::Message::setSessionID(), and toString().

00058     { return m_targetCompID; }

SessionID FIX::SessionID::operator~  )  [inline]
 

Definition at line 113 of file SessionID.h.

References m_senderCompID, m_sessionQualifier, m_targetCompID, and SessionID().

00114   {
00115     return SessionID( m_beginString, SenderCompID( m_targetCompID ),
00116                       TargetCompID( m_senderCompID ), m_sessionQualifier );
00117   }

std::string& FIX::SessionID::toString std::string &  str  )  const [inline]
 

Get a string representation without making a copy.

Definition at line 97 of file SessionID.h.

References getBeginString(), getSenderCompID(), getTargetCompID(), and m_sessionQualifier.

00098   {
00099     str = getBeginString().getValue() + ":" +
00100           getSenderCompID().getValue() + "->" +
00101           getTargetCompID().getValue();
00102     if( m_sessionQualifier.size() )
00103       str += ":" + m_sessionQualifier;
00104     return str;
00105   }

std::string FIX::SessionID::toString  )  const [inline]
 

Get a string representation of the SessionID.

Definition at line 63 of file SessionID.h.

00064   {
00065       std::string str;
00066       return toString( str );
00067   }


Friends And Related Function Documentation

bool operator!= const SessionID lhs,
const SessionID rhs
[friend]
 

Definition at line 155 of file SessionID.h.

00156 {
00157   return !( lhs == rhs );
00158 }

bool operator< const SessionID lhs,
const SessionID rhs
[friend]
 

Definition at line 127 of file SessionID.h.

00128 {
00129   if ( lhs.m_beginString < rhs.m_beginString )
00130     return true;
00131   else if ( rhs.m_beginString < lhs.m_beginString )
00132     return false;
00133   else if ( lhs.m_senderCompID < rhs.m_senderCompID )
00134     return true;
00135   else if ( rhs.m_senderCompID < lhs.m_senderCompID )
00136     return false;
00137   else if ( lhs.m_targetCompID < rhs.m_targetCompID )
00138     return true;
00139   else if ( rhs.m_targetCompID < lhs.m_targetCompID )
00140     return false;
00141   else if ( lhs.m_sessionQualifier < rhs.m_sessionQualifier )
00142     return true;
00143   else if ( rhs.m_sessionQualifier < lhs.m_sessionQualifier )
00144     return false;
00145   else
00146     return false;
00147 }

std::ostream& operator<< std::ostream &  stream,
const SessionID sessionID
[friend]
 

Definition at line 161 of file SessionID.h.

00162 {
00163   std::string str;
00164   stream << sessionID.toString( str );
00165   return stream;
00166 }

bool operator== const SessionID lhs,
const SessionID rhs
[friend]
 

Definition at line 148 of file SessionID.h.

00149 {
00150   return ( ( lhs.m_beginString == rhs.m_beginString ) &&
00151            ( lhs.m_senderCompID == rhs.m_senderCompID ) &&
00152            ( lhs.m_targetCompID == rhs.m_targetCompID ) &&
00153            ( lhs.m_sessionQualifier == rhs.m_sessionQualifier ));
00154 }

std::ostream& operator>> std::ostream &  ,
const SessionID
[friend]
 


Member Data Documentation

BeginString FIX::SessionID::m_beginString [private]
 

Definition at line 120 of file SessionID.h.

Referenced by FIX::operator<(), and FIX::operator==().

SenderCompID FIX::SessionID::m_senderCompID [private]
 

Definition at line 121 of file SessionID.h.

Referenced by fromString(), getSenderCompID(), FIX::operator<(), FIX::operator==(), operator~(), and SessionID().

std::string FIX::SessionID::m_sessionQualifier [private]
 

Definition at line 123 of file SessionID.h.

Referenced by fromString(), getSessionQualifier(), FIX::operator<(), FIX::operator==(), operator~(), SessionID(), and toString().

TargetCompID FIX::SessionID::m_targetCompID [private]
 

Definition at line 122 of file SessionID.h.

Referenced by fromString(), getTargetCompID(), FIX::operator<(), FIX::operator==(), operator~(), and SessionID().


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