QuickFIX: /home/omiller/Development/autobuild/quickfix/src/C++/Parser.h Source File

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

# Parser.h

Go to the documentation of this file.

    00001 /* -*- C++ -*- */
    00002
    00003 /****************************************************************************
    00004 ** Copyright (c) quickfixengine.org  All rights reserved.
    00005 **
    00006 ** This file is part of the QuickFIX FIX Engine
    00007 **
    00008 ** This file may be distributed under the terms of the quickfixengine.org
    00009 ** license as defined by quickfixengine.org and appearing in the file
    00010 ** LICENSE included in the packaging of this file.
    00011 **
    00012 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
    00013 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    00014 **
    00015 ** See http://www.quickfixengine.org/LICENSE for licensing information.
    00016 **
    00017 ** Contact ask@quickfixengine.org if any conditions of this licensing are
    00018 ** not clear to you.
    00019 **
    00020 ****************************************************************************/
    00021
    00022 #ifndef FIX_PARSER_H
    00023 #define FIX_PARSER_H
    00024
    00025 #ifdef _MSC_VER
    00026 #pragma warning( disable : 4503 4355 4786 4290 )
    00027 #endif
    00028
    00029 #include "Exceptions.h"
    00030 #include <iostream>
    00031 #include <string>
    00032
    00033 namespace FIX
    00034 {
    00036 class Parser
    00037 {
    00038 public:
    00039   Parser()
    00040   : m_bufferSize( 0 ) {}
    00041   ~Parser() {}
    00042
    00043   bool extractLength( int& length, std::string::size_type& pos,
    00044                       const std::string& buffer )
    00045   throw ( MessageParseError );
    00046   bool readFixMessage( std::string& str )
    00047   throw ( MessageParseError );
    00048
    00049   void addToStream( const char* str, size_t len )
    00050   { m_buffer.append( str, len ); }
    00051   void addToStream( const std::string& str )
    00052   { m_buffer.append( str ); }
    00053
    00054 private:
    00055   std::string m_buffer;
    00056   int m_bufferSize;
    00057 };
    00058 }
    00059 #endif //FIX_PARSER_H