| Libbonobo Reference Manual |
|---|
bonobo-storage — Abstract implementation of the Bonobo::Storage interface
#define BonoboStream #define BONOBO_STREAM (o) #define BONOBO_STREAM_CLASS (k) #define BonoboStorage #define BONOBO_STORAGE (o) #define BONOBO_STORAGE_CLASS (k) void bonobo_storage_copy_to (Bonobo_Storage src, Bonobo_Storage dest, CORBA_Environment *ev);
The BonoboStorage C interface is extremely simple, this is since the CORBA client interface is where the action occurs. It is anticipated that relatively few people need to implement the Bonobo/Storage IDL interface.
The common entry point for BonoboStorage is that of opening a storage using the bonobo_storage_open function, perhaps by a container to use to persist a compound document:
Example 2. An example storage use case
void
container_save (SampleApp *app,
const char *filename,
CORBA_Environment *ev)
{
BonoboStorage *storage;
Bonobo_Storage corba_storage;
GList *components;
int i;
storage = bonobo_storage_open (STORAGE_TYPE, filename,
Bonobo_Storage_READ |
Bonobo_Storage_WRITE |
Bonobo_Storage_CREATE,
0664);
g_return_if_fail (storage);
corba_storage = BONOBO_OBJREF (storage);
...
Serialize components to streams created in the storage
...
Bonobo_Storage_commit (corba_storage, ev);
CORBA_exception_free (ev);
bonobo_object_unref (BONOBO_OBJECT (storage));
}
#define BonoboStream BonoboObject
BonoboStream is deprecated and should not be used in newly-written code.
#define BONOBO_STREAM(o) ((BonoboStream *)(o))
BONOBO_STREAM is deprecated and should not be used in newly-written code.
| o : |
#define BONOBO_STREAM_CLASS(k) ((BonoboObjectClass *)(k))
BONOBO_STREAM_CLASS is deprecated and should not be used in newly-written code.
| k : |
#define BonoboStorage BonoboObject
BonoboStorage is deprecated and should not be used in newly-written code.
#define BONOBO_STORAGE(o) ((BonoboStorage *)(o))
BONOBO_STORAGE is deprecated and should not be used in newly-written code.
| o : |
#define BONOBO_STORAGE_CLASS(k) ((BonoboObjectClass *)(k))
BONOBO_STORAGE_CLASS is deprecated and should not be used in newly-written code.
| k : |
void bonobo_storage_copy_to (Bonobo_Storage src,
Bonobo_Storage dest,
CORBA_Environment *ev);Implements a pure CORBA method for copying one storage into another, this is used by several BonoboStorage implemetations where a fast case localy copy cannot work.
| src : | the source storage |
| dest : | the destination storage |
| ev : | CORBA exception environment |
| << BonoboStreamMem | bonobo-stream-client >> |