Bonobo API Reference Manual | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
struct BonoboStreamMem; struct BonoboStorageMem; typedef BonoboStreamMemClass; BonoboStreamMem* bonobo_stream_mem_construct (BonoboStreamMem *stream_mem, Bonobo_Stream corba_stream, const char *buffer, size_t size, gboolean read_only, gboolean resizable); BonoboStream* bonobo_stream_mem_create (const char *buffer, size_t size, gboolean read_only, gboolean resizable); const char* bonobo_stream_mem_get_buffer (BonoboStreamMem *stream_mem); size_t bonobo_stream_mem_get_size (BonoboStreamMem *stream_mem); |
The BonoboStreamMem is an implementation of the IDL:Bonobo/Stream:1.0 interface. This implementation allows an in-memory buffer to be exposed as a IDL:Bonobo/Stream:1.0 to clients.
Here is a sample way of exposing a C string as an IDL:Bonobo/Stream:1.0:
This example will make the string argument be exposed as a CORBA stream.typedef struct { BonoboStreamClass parent_class; char *(*get_buffer) (BonoboStreamMem *stream_mem); size_t (*get_size) (BonoboStreamMem *stream_mem); } BonoboStreamMemClass; |
BonoboStreamMem* bonobo_stream_mem_construct (BonoboStreamMem *stream_mem, Bonobo_Stream corba_stream, const char *buffer, size_t size, gboolean read_only, gboolean resizable); |
BonoboStream* bonobo_stream_mem_create (const char *buffer, size_t size, gboolean read_only, gboolean resizable); |
Creates a new BonoboStreamMem object.
If buffer is non-NULL, size bytes are copied from it into a new buffer. If buffer is NULL, a new buffer of size size is created and filled with zero bytes.
When data is read out of or (if read_only is FALSE) written into the returned BonoboStream object, the read() and write() operations operate on the new buffer. If resizable is TRUE, writing or seeking past the end of the buffer will cause the buffer to be expanded (with the new space zero-filled for a seek).
buffer : | The data for which a BonoboStreamMem object is to be created. |
size : | The size in bytes of buffer. |
read_only : | Specifies whether or not the returned BonoboStreamMem object should allow write() operations. |
resizable : | Whether or not the buffer should be resized as needed. |
Returns : | the constructed BonoboStream object |
const char* bonobo_stream_mem_get_buffer (BonoboStreamMem *stream_mem); |
Returns the buffer associated with a BonoboStreamMem. If the stream is set to automatically resize itself, this buffer is only guaranteed to stay valid until the next write operation on the stream.
An abstract class to implement IDL:Bonobo/Streams.
The CORBA interface implemented .