Concrete Resource subclass representing access to an entity via a stream. More...
#include <zorba/uri_resolvers.h>
Public Types | |
typedef std::unique_ptr < Resource, internal::ztd::destroy_delete < Resource > > | ptr |
Public Member Functions | |
virtual void | destroy () const =0 |
Destroy/clean up this Resource. | |
virtual std::istream * | getStream ()=0 |
Retrieve the istream associated with this Resource. | |
virtual StreamReleaser | getStreamReleaser ()=0 |
Retrieve the stream-releaser function. | |
virtual | ~StreamResource ()=0 |
Static Public Member Functions | |
static StreamResource * | create (std::istream *aStream, StreamReleaser aStreamReleaser) |
Public factory method from istream. |
Concrete Resource subclass representing access to an entity via a stream.
typedef std::unique_ptr<Resource,internal::ztd::destroy_delete<Resource> > zorba::Resource::ptr [inherited] |
Reimplemented in zorba::Thesaurus.
Definition at line 53 of file uri_resolvers.h.
virtual zorba::StreamResource::~StreamResource | ( | ) | [pure virtual] |
static StreamResource* zorba::StreamResource::create | ( | std::istream * | aStream, |
StreamReleaser | aStreamReleaser | ||
) | [static] |
Public factory method from istream.
The Resource object will take memory ownership of the istream. Zorba will pass it to aStreamReleaser when it is no longer needed, so that the original client may delete it.
aStream | An istream whence to read the string's content. |
aStreamReleaser | A function pointer which is invoked once the StreamResource is destroyed. Normally this function will delete the std::istream object passed to it. |
virtual void zorba::Resource::destroy | ( | ) | const [pure virtual, inherited] |
Destroy/clean up this Resource.
Zorba will call this method when it no longer needs the Resource. It is the responsibility of subclasses to clean up appropriate when this method is called, including calling "delete this" if the Resource was allocated with "new".
Implemented in zorba::Thesaurus.
virtual std::istream* zorba::StreamResource::getStream | ( | ) | [pure virtual] |
Retrieve the istream associated with this Resource.
virtual StreamReleaser zorba::StreamResource::getStreamReleaser | ( | ) | [pure virtual] |
Retrieve the stream-releaser function.