<!-- ##### SECTION Title ##### -->
bonobo-storage

<!-- ##### SECTION Short_Description ##### -->
Abstract implementation of the Bonobo::Storage interface

<!-- ##### SECTION Long_Description ##### -->
<para>
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.
</para>

<para>
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>
     <title>An example storage use case</title>
     <programlisting>
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));
}
     </programlisting>
  </example>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#BonoboPersist #BonoboPersistStream
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### FUNCTION bonobo_storage_copy_to ##### -->
<para>

</para>

@src: 
@dest: 
@ev: 


