Thread: [Quickfix-developers] Question about customized group
Brought to you by:
orenmnero
|
From: quickfixuser <fw...@ro...> - 2007-06-06 16:43:19
|
Hi,
I have to add a repeating group (NoLegs) to NewOrderSingle message for
fix42. It seems I have to change QuickFix codes to do it (please correct me
if I am wrong). One question about Group Caass.
For this constructor, can someone tell me what the m_delim is for? I do not
see any use of it and get confused when I have to add a modified NoLegs
class for fix42 message.
thanks
Group( int field, int delim, const message_order& order )
: FieldMap( order ), m_field( field ), m_delim( delim ) {}
NoLegs() :
FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0))
{}
--
View this message in context: http://www.nabble.com/Question-about-customized-group-tf3879024.html#a10992496
Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
|
|
From: Djalma R. d. S. F. <drs...@gm...> - 2007-06-06 17:49:23
|
Hi, If you want to use a customized vesion of FIX42::NewOrderSingle, see my post about regenerating quickfix classes after changing xml files. This is the easiest way in my opinion. http://www.nabble.com/Rgenerating-code-after-changing-xml-files-in-spec-fix44-directory-tf3190167.html#a8855920 Basically, you need to change the definition of NewOrderSingle in FIX42.xmland use spec\generate.bat or spec\generate.sh and recompile quickfix (if you are using only C++ I think that this step is not required). In order to make the script execution faster, comment out the java / .Net code generation and also FIX versions you don't use in Generator.rb and run "ruby Generator.rb" or generate.bat, if you are using Windows. It will take some minutes to generate all the .h files for you. Djalma On 6/6/07, quickfixuser <fw...@ro...> wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > I have to add a repeating group (NoLegs) to NewOrderSingle message for > fix42. It seems I have to change QuickFix codes to do it (please correct > me > if I am wrong). One question about Group Caass. > > For this constructor, can someone tell me what the m_delim is for? I do > not > see any use of it and get confused when I have to add a modified NoLegs > class for fix42 message. > > thanks > > Group( int field, int delim, const message_order& order ) > : FieldMap( order ), m_field( field ), m_delim( delim ) {} > > NoLegs() : > > FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0)) > {} > > -- > View this message in context: > http://www.nabble.com/Question-about-customized-group-tf3879024.html#a10992496 > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: Oren M. <or...@qu...> - 2007-06-06 17:53:26
|
That is the group delimiter. This is how the FIX protocol knows that one group has ended and another has begun. This should be the same as the first field in the repeating group. --oren On Jun 6, 2007, at 11:43 AM, quickfixuser wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > I have to add a repeating group (NoLegs) to NewOrderSingle message for > fix42. It seems I have to change QuickFix codes to do it (please > correct me > if I am wrong). One question about Group Caass. > > For this constructor, can someone tell me what the m_delim is for? > I do not > see any use of it and get confused when I have to add a modified > NoLegs > class for fix42 message. > > thanks > > Group( int field, int delim, const message_order& order ) > : FieldMap( order ), m_field( field ), m_delim( delim ) {} > > NoLegs() : > FIX::Group(555,600,FIX::message_order > (600,602,609,610,624,612,613,623,654,565,0)) > {} > > -- > View this message in context: http://www.nabble.com/Question-about- > customized-group-tf3879024.html#a10992496 > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
|
From: quickfixuser <fw...@ro...> - 2007-06-08 13:25:35
|
Thanks Djalma. Your post is very interesting. It seems quickfix is very nicely designed. However, though I believe this will work for simple cases, it seems not work for groups very well. My first problem is that the codes will stop compiling after I run the script against my modified fix42.xml. I realized there are duplicate fields generated in some header files though I have no duplicate fields in xml. Second, the script only run several shared source file, for a specific class as NewOrderSingle in fix42, I have no xsl to run aginst. Since the group part need to be part the NewOrderSingle codes to let it properly added (by addGroup), I still have to manually add it anyway (please let me know if I misunderstand this part). I am not familiar with msxml, and maybe I did soemthing wrong, but it seems to me not work on my case and I finally still have to modify the quickfix codes directly for this purpose. Hi, If you want to use a customized vesion of FIX42::NewOrderSingle, see my post about regenerating quickfix classes after changing xml files. This is the easiest way in my opinion. http://www.nabble.com/Rgenerating-code-after-changing-xml-files-in-spec-fix44-directory-tf3190167.html#a8855920 Basically, you need to change the definition of NewOrderSingle in FIX42.xmland use spec\generate.bat or spec\generate.sh and recompile quickfix (if you are using only C++ I think that this step is not required). In order to make the script execution faster, comment out the java / .Net code generation and also FIX versions you don't use in Generator.rb and run "ruby Generator.rb" or generate.bat, if you are using Windows. It will take some minutes to generate all the .h files for you. Djalma On 6/6/07, quickfixuser <fw...@ro...> wrote: > > QuickFIX Documentation: > http://www.quickfixengine.org/quickfix/doc/html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > > Hi, > I have to add a repeating group (NoLegs) to NewOrderSingle message for > fix42. It seems I have to change QuickFix codes to do it (please correct > me > if I am wrong). One question about Group Caass. > > For this constructor, can someone tell me what the m_delim is for? I do > not > see any use of it and get confused when I have to add a modified NoLegs > class for fix42 message. > > thanks > > Group( int field, int delim, const message_order& order ) > : FieldMap( order ), m_field( field ), m_delim( delim ) {} > > NoLegs() : > > FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0)) > {} > > -- > View this message in context: > http://www.nabble.com/Question-about-customized-group-tf3879024.html#a10992496 > Sent from the QuickFIX - Dev mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Quickfix-developers mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfix-developers -- View this message in context: http://www.nabble.com/Question-about-customized-group-tf3879024.html#a11026398 Sent from the QuickFIX - Dev mailing list archive at Nabble.com. |
|
From: Djalma R. d. S. F. <drs...@gm...> - 2007-06-08 21:19:42
|
Hi,
There is no xsl for NewOrderSingle, the heavy job is made by ruby scripts.
IMHO, it should work for your case too. I can't see a reason why not.
Anyway, you can change the NewOrderSingle.h yourself, but the scripts exist
to automate this process.
Another solution I used to adopt in the past, when I did not know how to use
the scripts, required some more coding to create the group and add it to the
FIX::Message, like example bellow:
// Declare a group like the following:
class NoBTSClients : public FIX::Group
{
public:
NoBTSClients() : FIX::Group(BTS::FIELD::NoBTSClients,
BTS::FIELD::BTSClient,
FIX::message_order(BTS::FIELD::BTSClient,
FIX::FIELD::BeginString, BTS::FIELD::BTSClientStatus, 0))
{}
};
// use it in a FIX::Message
FIX::Message statusResponse;
NoBTSClients aClientStatus;
aClientStatus.setField(BTS::FIELD::BTSClient,
curIter->getTargetCompID().getValue() );
aClientStatus.setField(FIX::FIELD::BeginString,
curIter->getBeginString().getValue() );
std::stringstream textstream;
textstream << iStatus;
aClientStatus.setField(BTS::FIELD::BTSClientStatus, textstream.str());
statusResponse.addGroup(aClientStatus);
But, if you want the most elegant solution... maybe if you submit your
modified FIX42.xml, maybe I can help you with the scripts results.
Djalma
On 6/8/07, quickfixuser <fw...@ro...> wrote:
>
> QuickFIX Documentation:
> http://www.quickfixengine.org/quickfix/doc/html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html
>
>
>
> Thanks Djalma. Your post is very interesting. It seems quickfix is very
> nicely designed. However, though I believe this will work for simple
> cases,
> it seems not work for groups very well. My first problem is that the codes
> will stop compiling after I run the script against my modified fix42.xml.
> I
> realized there are duplicate fields generated in some header files though
> I
> have no duplicate fields in xml. Second, the script only run several
> shared
> source file, for a specific class as NewOrderSingle in fix42, I have no
> xsl
> to run aginst. Since the group part need to be part the NewOrderSingle
> codes
> to let it properly added (by addGroup), I still have to manually add it
> anyway (please let me know if I misunderstand this part).
>
> I am not familiar with msxml, and maybe I did soemthing wrong, but it
> seems
> to me not work on my case and I finally still have to modify the quickfix
> codes directly for this purpose.
>
>
>
>
> Hi,
>
> If you want to use a customized vesion of FIX42::NewOrderSingle, see my
> post
> about regenerating quickfix classes after changing xml files. This is the
> easiest way in my opinion.
>
>
> http://www.nabble.com/Rgenerating-code-after-changing-xml-files-in-spec-fix44-directory-tf3190167.html#a8855920
>
> Basically, you need to change the definition of NewOrderSingle in
> FIX42.xmland use spec\generate.bat or spec\generate.sh and recompile
> quickfix (if you
> are using only C++ I think that this step is not required).
>
> In order to make the script execution faster, comment out the java / .Net
> code generation and also FIX versions you don't use in Generator.rb and
> run
> "ruby Generator.rb" or generate.bat, if you are using Windows. It will
> take
> some minutes to generate all the .h files for you.
>
> Djalma
>
> On 6/6/07, quickfixuser <fw...@ro...> wrote:
> >
> > QuickFIX Documentation:
> > http://www.quickfixengine.org/quickfix/doc/html/index.html
> > QuickFIX Support: http://www.quickfixengine.org/services.html
> >
> >
> > Hi,
> > I have to add a repeating group (NoLegs) to NewOrderSingle message for
> > fix42. It seems I have to change QuickFix codes to do it (please correct
> > me
> > if I am wrong). One question about Group Caass.
> >
> > For this constructor, can someone tell me what the m_delim is for? I do
> > not
> > see any use of it and get confused when I have to add a modified NoLegs
> > class for fix42 message.
> >
> > thanks
> >
> > Group( int field, int delim, const message_order& order )
> > : FieldMap( order ), m_field( field ), m_delim( delim ) {}
> >
> > NoLegs() :
> >
> >
> FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0))
> > {}
> >
> > --
> > View this message in context:
> >
> http://www.nabble.com/Question-about-customized-group-tf3879024.html#a10992496
> > Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
> >
> >
> >
> -------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > Quickfix-developers mailing list
> > Qui...@li...
> > https://lists.sourceforge.net/lists/listinfo/quickfix-developers
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Quickfix-developers mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>
>
> --
> View this message in context:
> http://www.nabble.com/Question-about-customized-group-tf3879024.html#a11026398
> Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Quickfix-developers mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>
|
|
From: quickfixuser <fw...@ro...> - 2007-06-08 21:45:13
|
Hi Djalma,
Thanks for the explanation. I totally agree that script approach is more
elegant. Here is what I did
1. change fix42.xml with added group and corresponding fields.
2. change generate script as
call generate_c++
call generate_net
call generate_java
##ruby Generator.rb
After I run, I open the project and got compile error, then I see duplicate
fields in values.h as
const char MsgType_NetworkStatusRequest[] = "BC";
const char MsgType_NetworkStatusRequest[] = "BD";
At the same time, I noticed there is nothing changed in NewOrderSingle class
though I expect a NoLeg group class should be added. Also, my final app is
.NET, I am not sure whether script can handle the wrapper properly, even if
it finally works. I have some time pressure so I gave up and worked bottom
up by coding everything myself.
I did something similar as what you suggests (to modify message and a bunch
of header files by myself) and it works.
I really like that xml approach, kind of dynamic programming. And I would
like some of my projects implemented as it, though it apprears that I got to
figure it out later after I am done with my current project.
Thanks a lot and have a good weekend
Hi,
There is no xsl for NewOrderSingle, the heavy job is made by ruby scripts.
IMHO, it should work for your case too. I can't see a reason why not.
Anyway, you can change the NewOrderSingle.h yourself, but the scripts exist
to automate this process.
Another solution I used to adopt in the past, when I did not know how to use
the scripts, required some more coding to create the group and add it to the
FIX::Message, like example bellow:
// Declare a group like the following:
class NoBTSClients : public FIX::Group
{
public:
NoBTSClients() : FIX::Group(BTS::FIELD::NoBTSClients,
BTS::FIELD::BTSClient,
FIX::message_order(BTS::FIELD::BTSClient,
FIX::FIELD::BeginString, BTS::FIELD::BTSClientStatus, 0))
{}
};
// use it in a FIX::Message
FIX::Message statusResponse;
NoBTSClients aClientStatus;
aClientStatus.setField(BTS::FIELD::BTSClient,
curIter->getTargetCompID().getValue() );
aClientStatus.setField(FIX::FIELD::BeginString,
curIter->getBeginString().getValue() );
std::stringstream textstream;
textstream << iStatus;
aClientStatus.setField(BTS::FIELD::BTSClientStatus, textstream.str());
statusResponse.addGroup(aClientStatus);
But, if you want the most elegant solution... maybe if you submit your
modified FIX42.xml, maybe I can help you with the scripts results.
Djalma
On 6/8/07, quickfixuser <fw...@ro...> wrote:
>
> QuickFIX Documentation:
> http://www.quickfixengine.org/quickfix/doc/html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html
>
>
>
> Thanks Djalma. Your post is very interesting. It seems quickfix is very
> nicely designed. However, though I believe this will work for simple
> cases,
> it seems not work for groups very well. My first problem is that the codes
> will stop compiling after I run the script against my modified fix42.xml.
> I
> realized there are duplicate fields generated in some header files though
> I
> have no duplicate fields in xml. Second, the script only run several
> shared
> source file, for a specific class as NewOrderSingle in fix42, I have no
> xsl
> to run aginst. Since the group part need to be part the NewOrderSingle
> codes
> to let it properly added (by addGroup), I still have to manually add it
> anyway (please let me know if I misunderstand this part).
>
> I am not familiar with msxml, and maybe I did soemthing wrong, but it
> seems
> to me not work on my case and I finally still have to modify the quickfix
> codes directly for this purpose.
>
>
>
>
> Hi,
>
> If you want to use a customized vesion of FIX42::NewOrderSingle, see my
> post
> about regenerating quickfix classes after changing xml files. This is the
> easiest way in my opinion.
>
>
> http://www.nabble.com/Rgenerating-code-after-changing-xml-files-in-spec-fix44-directory-tf3190167.html#a8855920
>
> Basically, you need to change the definition of NewOrderSingle in
> FIX42.xmland use spec\generate.bat or spec\generate.sh and recompile
> quickfix (if you
> are using only C++ I think that this step is not required).
>
> In order to make the script execution faster, comment out the java / .Net
> code generation and also FIX versions you don't use in Generator.rb and
> run
> "ruby Generator.rb" or generate.bat, if you are using Windows. It will
> take
> some minutes to generate all the .h files for you.
>
> Djalma
>
> On 6/6/07, quickfixuser <fw...@ro...> wrote:
> >
> > QuickFIX Documentation:
> > http://www.quickfixengine.org/quickfix/doc/html/index.html
> > QuickFIX Support: http://www.quickfixengine.org/services.html
> >
> >
> > Hi,
> > I have to add a repeating group (NoLegs) to NewOrderSingle message for
> > fix42. It seems I have to change QuickFix codes to do it (please correct
> > me
> > if I am wrong). One question about Group Caass.
> >
> > For this constructor, can someone tell me what the m_delim is for? I do
> > not
> > see any use of it and get confused when I have to add a modified NoLegs
> > class for fix42 message.
> >
> > thanks
> >
> > Group( int field, int delim, const message_order& order )
> > : FieldMap( order ), m_field( field ), m_delim( delim ) {}
> >
> > NoLegs() :
> >
> >
> FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0))
> > {}
> >
> > --
--
View this message in context: http://www.nabble.com/Question-about-customized-group-tf3879024.html#a11034457
Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
|
|
From: Djalma R. d. S. F. <drs...@gm...> - 2007-06-08 22:11:13
|
Hi,
It seems that there is a bug in the FIX44.xml that comes with QuickFIX. This
is what is causing the duplicate fields.
<message name="NetworkStatusRequest" msgtype="BC" msgcat="app">
<message name="NetworkStatusRequest" msgtype="BD" msgcat="app">
##ruby Generator.rb
Ups, I am also afraid that you commented out the ruby call in generate.bat.
You cannot do this. What I meant was commenting out some lines in
Generator.rb which were not useful for you, like the following.
require 'Processor'
require "GeneratorCPP"
require "GeneratorJava"
require "GeneratorNET"
require "GeneratorPython"
require "GeneratorRuby"
def generateVersion( v )
dir = "../src"
Processor.new("FIX4#{v}.xml", "#{dir}/C++", GeneratorCPP.new("4", v.to_s,
"#{dir}/C++"))
# Processor.new("FIX4#{v}.xml", "#{dir}/java", GeneratorJava.new("4",
v.to_s, "#{dir}/java"))
Processor.new("FIX4#{v}.xml", "#{dir}/.NET", GeneratorNET.new("4", v.to_s,
"#{dir}/.NET"))
# Processor.new("FIX4#{v}.xml", "#{dir}/python", GeneratorPython.new("4",
v.to_s, "#{dir}/python"))
#Processor.new("FIX4#{v}.xml", "#{dir}/ruby", GeneratorRuby.new("4", v.to_s,
"#{dir}/ruby"))
end
(0..4).each { |i| generateVersion( i ) }
As you see, it will also change .NET classes.
Have a good weekend for you too.
bye.
On 6/8/07, quickfixuser <fw...@ro...> wrote:
>
> QuickFIX Documentation:
> http://www.quickfixengine.org/quickfix/doc/html/index.html
> QuickFIX Support: http://www.quickfixengine.org/services.html
>
>
> Hi Djalma,
>
> Thanks for the explanation. I totally agree that script approach is more
> elegant. Here is what I did
>
> 1. change fix42.xml with added group and corresponding fields.
> 2. change generate script as
> call generate_c++
> call generate_net
> call generate_java
> ##ruby Generator.rb
>
> After I run, I open the project and got compile error, then I see
> duplicate
> fields in values.h as
> const char MsgType_NetworkStatusRequest[] = "BC";
> const char MsgType_NetworkStatusRequest[] = "BD";
>
> At the same time, I noticed there is nothing changed in NewOrderSingle
> class
> though I expect a NoLeg group class should be added. Also, my final app is
> .NET, I am not sure whether script can handle the wrapper properly, even
> if
> it finally works. I have some time pressure so I gave up and worked bottom
> up by coding everything myself.
>
> I did something similar as what you suggests (to modify message and a
> bunch
> of header files by myself) and it works.
>
> I really like that xml approach, kind of dynamic programming. And I would
> like some of my projects implemented as it, though it apprears that I got
> to
> figure it out later after I am done with my current project.
>
> Thanks a lot and have a good weekend
>
>
>
> Hi,
>
> There is no xsl for NewOrderSingle, the heavy job is made by ruby scripts.
> IMHO, it should work for your case too. I can't see a reason why not.
> Anyway, you can change the NewOrderSingle.h yourself, but the scripts
> exist
> to automate this process.
>
> Another solution I used to adopt in the past, when I did not know how to
> use
> the scripts, required some more coding to create the group and add it to
> the
> FIX::Message, like example bellow:
>
> // Declare a group like the following:
>
> class NoBTSClients : public FIX::Group
> {
> public:
> NoBTSClients() : FIX::Group(BTS::FIELD::NoBTSClients,
> BTS::FIELD::BTSClient,
> FIX::message_order(BTS::FIELD::BTSClient,
> FIX::FIELD::BeginString, BTS::FIELD::BTSClientStatus, 0))
> {}
> };
>
> // use it in a FIX::Message
> FIX::Message statusResponse;
> NoBTSClients aClientStatus;
> aClientStatus.setField(BTS::FIELD::BTSClient,
> curIter->getTargetCompID().getValue() );
> aClientStatus.setField(FIX::FIELD::BeginString,
> curIter->getBeginString().getValue() );
> std::stringstream textstream;
> textstream << iStatus;
> aClientStatus.setField(BTS::FIELD::BTSClientStatus, textstream.str());
> statusResponse.addGroup(aClientStatus);
>
>
> But, if you want the most elegant solution... maybe if you submit your
> modified FIX42.xml, maybe I can help you with the scripts results.
>
> Djalma
>
> On 6/8/07, quickfixuser <fw...@ro...> wrote:
> >
> > QuickFIX Documentation:
> > http://www.quickfixengine.org/quickfix/doc/html/index.html
> > QuickFIX Support: http://www.quickfixengine.org/services.html
> >
> >
> >
> > Thanks Djalma. Your post is very interesting. It seems quickfix is very
> > nicely designed. However, though I believe this will work for simple
> > cases,
> > it seems not work for groups very well. My first problem is that the
> codes
> > will stop compiling after I run the script against my modified fix42.xml
> .
> > I
> > realized there are duplicate fields generated in some header files
> though
> > I
> > have no duplicate fields in xml. Second, the script only run several
> > shared
> > source file, for a specific class as NewOrderSingle in fix42, I have no
> > xsl
> > to run aginst. Since the group part need to be part the NewOrderSingle
> > codes
> > to let it properly added (by addGroup), I still have to manually add it
> > anyway (please let me know if I misunderstand this part).
> >
> > I am not familiar with msxml, and maybe I did soemthing wrong, but it
> > seems
> > to me not work on my case and I finally still have to modify the
> quickfix
> > codes directly for this purpose.
> >
> >
> >
> >
> > Hi,
> >
> > If you want to use a customized vesion of FIX42::NewOrderSingle, see my
> > post
> > about regenerating quickfix classes after changing xml files. This is
> the
> > easiest way in my opinion.
> >
> >
> >
> http://www.nabble.com/Rgenerating-code-after-changing-xml-files-in-spec-fix44-directory-tf3190167.html#a8855920
> >
> > Basically, you need to change the definition of NewOrderSingle in
> > FIX42.xmland use spec\generate.bat or spec\generate.sh and recompile
> > quickfix (if you
> > are using only C++ I think that this step is not required).
> >
> > In order to make the script execution faster, comment out the java /
> .Net
> > code generation and also FIX versions you don't use in Generator.rb and
> > run
> > "ruby Generator.rb" or generate.bat, if you are using Windows. It will
> > take
> > some minutes to generate all the .h files for you.
> >
> > Djalma
> >
> > On 6/6/07, quickfixuser <fw...@ro...> wrote:
> > >
> > > QuickFIX Documentation:
> > > http://www.quickfixengine.org/quickfix/doc/html/index.html
> > > QuickFIX Support: http://www.quickfixengine.org/services.html
> > >
> > >
> > > Hi,
> > > I have to add a repeating group (NoLegs) to NewOrderSingle message for
> > > fix42. It seems I have to change QuickFix codes to do it (please
> correct
> > > me
> > > if I am wrong). One question about Group Caass.
> > >
> > > For this constructor, can someone tell me what the m_delim is for? I
> do
> > > not
> > > see any use of it and get confused when I have to add a modified
> NoLegs
> > > class for fix42 message.
> > >
> > > thanks
> > >
> > > Group( int field, int delim, const message_order& order )
> > > : FieldMap( order ), m_field( field ), m_delim( delim ) {}
> > >
> > > NoLegs() :
> > >
> > >
> >
> FIX::Group(555,600,FIX::message_order(600,602,609,610,624,612,613,623,654,565,0))
> > > {}
> > >
> > > --
>
>
> --
> View this message in context:
> http://www.nabble.com/Question-about-customized-group-tf3879024.html#a11034457
> Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Quickfix-developers mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfix-developers
>
|