FIXML guessing

View: New views
2 Messages — Rating Filter:   Alert me  

FIXML guessing

by Julian-63 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html
QuickFIX Support: http://www.quickfixengine.org/services.html


I'm trying to extend the QuickFix engine so it can support the FIXML format. I've think in two solution, directly edit the C++ classes and recompile the libraries or inherited from them and redefine the methods. But when a start reading the C++ code I found some strange things, like for example:
 
bool Session::sendToTarget( Message* message )
{ QF_STACK_TRY
  try
  {
    Message __pin * pMessage = message;
    return FIX::Session::sendToTarget( pMessage->unmanaged() );
  }
  catch ( FIX::SessionNotFound& ) { throw new SessionNotFound(); };
  QF_STACK_CATCH
}
 
This might one of the methods I'll have to redefine, but I still don't get it. It is calling itself recursively. How can the message be send in this terms...??? I look up for the message class to see what does the unmanaged() method do....
 
 FIX::Message& unmanaged()
  { return * m_pUnmanaged; }
 
Just return an attribute... so... let see where is that attribute is set...
 
Message() : disposed( false )
  { QF_STACK_TRY
    m_pUnmanaged = new FIX::Message();
    m_header = new Header( this );
    m_trailer = new Trailer( this );
    QF_STACK_CATCH
  }
 
This finish to confused me.... the method is call recursively allocating memory for a new Message..... What!!!!!! Obviously I'm quite rusty with C++.
 
Please help!!!!
 
Greetings, Julian.
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Quickfix-developers mailing list
Quickfix-developers@...
https://lists.sourceforge.net/lists/listinfo/quickfix-developers

Parent Message unknown Re: FIXML guessing

by Oren Miller :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html
QuickFIX Support: http://www.quickfixengine.org/services.html

Don't be confused, these are two different message classes.  You've run
into the .NET API for QuickFIX, which is a wrapper over the C++ API.
Quickfix::Message is a .NET class, while FIX::Message is a C++ class.
Those calls are not recursive, they are delegating work to another API.

--oren

> -------- Original Message --------
> Subject: [Quickfix-developers] FIXML guessing
> From: "Julián_Mendiola" <julian.mendiola@...>
> Date: Mon, June 30, 2008 9:09 am
> To: quickfix-developers@...
> QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html<hr>I'm trying to extend the QuickFix engine so it can support the FIXML format.
> I've think in two solution, directly edit the C++ classes and recompile the
> libraries or inherited from them and redefine the methods. But when a start
> reading the C++ code I found some strange things, like for example:
> bool Session::sendToTarget( Message* message )
> { QF_STACK_TRY
>   try
>   {
>     Message __pin * pMessage = message;
>     return FIX::Session::sendToTarget( pMessage->unmanaged() );
>   }
>   catch ( FIX::SessionNotFound& ) { throw new SessionNotFound(); };
>   QF_STACK_CATCH
> }
> This might one of the methods I'll have to redefine, but I still don't get
> it. It is calling itself recursively. How can the message be send in this
> terms...??? I look up for the message class to see what does the unmanaged()
> method do....
>  FIX::Message& unmanaged()
>   { return * m_pUnmanaged; }
> Just return an attribute... so... let see where is that attribute is set...
> Message() : disposed( false )
>   { QF_STACK_TRY
>     m_pUnmanaged = new FIX::Message();
>     m_header = new Header( this );
>     m_trailer = new Trailer( this );
>     QF_STACK_CATCH
>   }
> This finish to confused me.... the method is call recursively allocating
> memory for a new Message..... What!!!!!! Obviously I'm quite rusty with C++.
> Please help!!!!
> Greetings, Julian.<hr>-------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php<hr>_______________________________________________
> Quickfix-developers mailing list
> Quickfix-developers@...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Quickfix-developers mailing list
Quickfix-developers@...
https://lists.sourceforge.net/lists/listinfo/quickfix-developers
LightInTheBox - Buy quality products at wholesale price