ACEXML 7.1.2
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ACEXML_HttpCharStream Class Reference

#include <HttpCharStream.h>

Inheritance diagram for ACEXML_HttpCharStream:
Inheritance graph
[legend]
Collaboration diagram for ACEXML_HttpCharStream:
Collaboration graph
[legend]

Public Member Functions

 ACEXML_HttpCharStream ()
 Default constructor.
 
virtual ~ACEXML_HttpCharStream ()
 Destructor.
 
int open (const ACEXML_Char *url)
 Open an URL.
 
virtual int available ()
 
virtual int close ()
 
virtual int get (ACEXML_Char &ch)
 
virtual int read (ACEXML_Char *str, size_t len)
 
virtual int peek ()
 
virtual void rewind ()
 
virtual int determine_encoding ()
 
virtual const ACEXML_ChargetEncoding ()
 
virtual const ACEXML_ChargetSystemId ()
 
- Public Member Functions inherited from ACEXML_CharStream
virtual ~ACEXML_CharStream ()=0
 
virtual int available ()=0
 
virtual int close ()=0
 
virtual int get (ACEXML_Char &ch)=0
 
virtual int read (ACEXML_Char *str, size_t len)=0
 
virtual int peek ()=0
 
virtual void rewind ()=0
 
virtual const ACEXML_ChargetEncoding ()=0
 
virtual const ACEXML_ChargetSystemId ()=0
 

Private Member Functions

int send_request ()
 
int get_url (size_t &len)
 

Private Attributes

ACEXML_Charurl_
 
ACEXML_URL_Addrurl_addr_
 
ACEXML_Mem_Map_Streamstream_
 
Connectorconnector_
 
ACE_OFF_T size_
 
ACE_OFF_T data_offset_
 
ACEXML_Charencoding_
 

Detailed Description

An implementation of ACEXML_CharStream for reading input from a URL.

Constructor & Destructor Documentation

◆ ACEXML_HttpCharStream()

ACEXML_HttpCharStream::ACEXML_HttpCharStream ( )

Default constructor.

◆ ~ACEXML_HttpCharStream()

ACEXML_HttpCharStream::~ACEXML_HttpCharStream ( )
virtual

Destructor.

Member Function Documentation

◆ available()

int ACEXML_HttpCharStream::available ( )
virtual

Returns the available ACEXML_Char in the buffer. -1 if the object is not initialized properly.

Implements ACEXML_CharStream.

◆ close()

int ACEXML_HttpCharStream::close ( )
virtual

Close this stream and release all resources used by it.

Implements ACEXML_CharStream.

◆ determine_encoding()

int ACEXML_HttpCharStream::determine_encoding ( )
virtual

Determine the encoding of the file.

◆ get()

int ACEXML_HttpCharStream::get ( ACEXML_Char ch)
virtual

Read the next ACEXML_Char. Return -1 if we are not able to return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed.

Implements ACEXML_CharStream.

◆ get_url()

int ACEXML_HttpCharStream::get_url ( size_t &  len)
private

Fetch the URL and save it in backing store.

◆ getEncoding()

const ACEXML_Char * ACEXML_HttpCharStream::getEncoding ( )
virtual

Get the encoding of the file

Implements ACEXML_CharStream.

◆ getSystemId()

const ACEXML_Char * ACEXML_HttpCharStream::getSystemId ( )
virtual

Implements ACEXML_CharStream.

◆ open()

int ACEXML_HttpCharStream::open ( const ACEXML_Char url)

Open an URL.

◆ peek()

int ACEXML_HttpCharStream::peek ( )
virtual

Peek the next ACEXML_Char in the CharStream. Return the character if succeess, -1 if EOS is reached.

Implements ACEXML_CharStream.

◆ read()

int ACEXML_HttpCharStream::read ( ACEXML_Char str,
size_t  len 
)
virtual

Read the next batch of ACEXML_Char strings

Implements ACEXML_CharStream.

◆ rewind()

void ACEXML_HttpCharStream::rewind ( )
virtual

Resets the file pointer to the beginning of the stream.

Implements ACEXML_CharStream.

◆ send_request()

int ACEXML_HttpCharStream::send_request ( )
private

Send a HTTP/1.1 request to fetch the contents of the URL.

Member Data Documentation

◆ connector_

Connector* ACEXML_HttpCharStream::connector_
private

◆ data_offset_

ACE_OFF_T ACEXML_HttpCharStream::data_offset_
private

◆ encoding_

ACEXML_Char* ACEXML_HttpCharStream::encoding_
private

◆ size_

ACE_OFF_T ACEXML_HttpCharStream::size_
private

◆ stream_

ACEXML_Mem_Map_Stream* ACEXML_HttpCharStream::stream_
private

◆ url_

ACEXML_Char* ACEXML_HttpCharStream::url_
private

◆ url_addr_

ACEXML_URL_Addr* ACEXML_HttpCharStream::url_addr_
private

The documentation for this class was generated from the following files: