support line numbers in lineparser
authorMichael Andres <ma@suse.de>
Thu, 19 Apr 2007 15:43:00 +0000 (15:43 +0000)
committerMichael Andres <ma@suse.de>
Thu, 19 Apr 2007 15:43:00 +0000 (15:43 +0000)
zypp/base/IOStream.cc
zypp/base/IOStream.h
zypp/base/InputStream.h

index 2d65e4a..7d3b50f 100644 (file)
@@ -53,9 +53,9 @@ namespace zypp
     // METHOD NAME : EachLine::EachLine
     // METHOD TYPE : Ctor
     //
-    EachLine::EachLine( std::istream & str_r )
+    EachLine::EachLine( std::istream & str_r, unsigned lineNo_r )
       : _str( str_r )
-      , _lineNo( 0 )
+      , _lineNo( lineNo_r )
       , _valid( true )
     {
       next();
index 918d35b..fc43c28 100644 (file)
@@ -63,9 +63,9 @@ namespace zypp
 
       public:
        /** Ctor taking a stream and reading the 1st line from it. */
-       EachLine( std::istream & str_r );
+       EachLine( std::istream & str_r, unsigned lineNo_r = 0 );
 
-       /** Evaluate class in a  boolean context. */
+       /** Evaluate class in a boolean context. */
        using SafeBool::operator bool_type;
 
        /** Whether \c this contains a valid line to consume. */
@@ -76,6 +76,10 @@ namespace zypp
        unsigned lineNo() const
        { return _lineNo; }
 
+       /** Set current line number. */
+       void setLineNo( unsigned lineNo_r )
+       { _lineNo = lineNo_r; }
+
        /** Access the current line. */
        const std::string & operator*() const
        { return _line; }
index c2f064a..60455f9 100644 (file)
@@ -93,7 +93,7 @@ namespace zypp
     { return *_stream; }
 
     /** Allow implicit conversion to std::istream.*/
-    operator std::istream &()
+    operator std::istream &() const
     { return *_stream; }
 
     /** Name of the std::istream.