PrevNextUpHome SophiaFramework UNIVERSE 5.3
SFBGetLine
Wrapper Class for the IGetLine interface.
#include <SFBGetLine.h.hpp>
class SFBGetLine : public SFBPeek;
SFMTYPEDEFWRAPPER(SFBGetLine)

Inheritance diagram

 Inheritance diagram of SFBGetLineClass

Version

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
O O O O

Reference

BREW API IGetLine

Member

Public Functions
static
SInt32
EOLSize( SInt32 code )
Return the length of the EOL sequence that terminated the line returned by GetLine.
SInt32 GetLine( GetLinePtr line , SInt32 type )
Get the next logical line of text from the data source.
static
Bool
LineComplete( SInt32 code )
Determine if a complete line was returned.
Void UngetLine( SInt32 lenUnused )
Let go of (ungets) some or all of the last logical line from the data source and replace the line terminators in the stream.
Void Advance( SInt32 advance ) (inherits from SFBPeek)
Advance or Retreat the peek pointer in the buffer.
static
Bool
Exhausted( SInt32 code ) (inherits from SFBSource)
Determine if a SFBSource, a SFBPeek, or a SFBGetLine is out of data.
VoidPtr Peek( SInt32 wanted , SInt32Ptr available , SInt32Ptr code ) (inherits from SFBPeek)
Return a pointer to the buffered data, and optionally tries to read more data into the buffer.
Void Peekable( SFXCallbackPtr callback ) (inherits from SFBPeek)
Call a callback when more unbuffered data is available.
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (inherits from SFBQuery)
Ask an object for another API contract from the object in question.
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (inherits from SFBQuery)
Ask an object for another API contract from the object in question.
SFBBaseSmp QueryInterface( AEECLSID clsid ) (inherits from SFBQuery)
Ask an object for another API contract from the object in question.
SInt32 Read( VoidPtr buf , SInt32 size ) (inherits from SFBSource)
Copy bytes from the source stream to the specified buffer.
SInt32 Read( SFXBufferPtr buf ) (inherits from SFBSource)
Copy bytes from the source stream to the specified buffer.
Void Readable( SFXCallbackPtr callback ) (inherits from SFBSource)
Schedule a callback to be called when SFBSource::Read() is able to return something other than ISOURCE_WAIT.
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (inherits from SFBQuery)
Helper macro for those implementing an object with a single interface.
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (inherits from SFBQuery)
Helper macro for those implementing an object with a single interface.
Protected Functions
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (inherits from SFBBase)
Create the instance for the specified ClassID's interface.
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (inherits from SFBBase)
Create the instance for the specified ClassID's interface using the SFBQuery instance.

SFBGetLine::EOLSize
Return the length of the EOL sequence that terminated the line returned by GetLine.
[ public, static ]
SInt32 EOLSize(
    SInt32 code   // returned value from Read(), Peek() or GetLine()
);

Description

EOL sequences are stripped by GetLine before lines are returned.

Reference

BREW API IGETLINE_EOLSize | SFBGetLine::GetLine


SFBGetLine::GetLine
Get the next logical line of text from the data source.
[ public ]
SInt32 GetLine(
    GetLinePtr line   // pointer to structure to hold results
    SInt32 type       // type of termination lines
);

Argument

line

Pointer to structure to hold results. On exit: line->psz = Pointer the start of line data (zero-terminated). line->nLen = Number of characters in line. line->bLeftover = true when the returned text is the continuation of a previous truncated line. In other words, the last return code was IGETLINE_FULL (ignoring IGETLINE_WAIT return codes). The text described by *pline does not include any EOL characters. If the line was terminated by an EOL character sequence, GetLine writes a null character over the initial EOL character to ensure zero termination. nLen is the same as strlen(psz), unless the line contains a null character. GetLine() does not restrict the contents of lines, so returned lines may contain binary data (except, of course, a valid EOL sequence). All of the line data, including the EOL characters, can be modified by the caller, so the original binary form, including EOL characters, can be reconstructed, if necessary.

type

Specifies which EOL sequences should be recognized: IGETLINE_CRLF = Only CRLF sequences terminate lines. IGETLINE_LF = CRLF or single LF terminate lines. IGETLINE_CR = CRLF, single LF, or single CR terminate lines. [This option is not fully supported; it is equivalent to IGETLINE_LF.]

Reference

BREW API IGETLINE_GetLine


SFBGetLine::LineComplete
Determine if a complete line was returned.
[ public, static ]
Bool LineComplete(
    SInt32 code   // returned value of SFBGetLine::GetLine()
);

Reference

BREW API IGETLINE_LineComplete | SFBGetLine::GetLine


SFBGetLine::UngetLine
Let go of (ungets) some or all of the last logical line from the data source and replace the line terminators in the stream.
[ public ]
Void UngetLine(
    SInt32 lenUnused   // specifies how much (up to the length of the last line) to let go of (unget). 
                       // this number must be less than or equal to nLen from the GetLine structure filled by 
                       // the last call to GetLine(), i.e., it must *not* include the length of line terminator(s)
);

Reference

BREW API IGETLINE_UngetLine | SFBGetLine::GetLine