## BonoboPersist

BonoboPersist — Interface for anything that can save / load itself.

## Synopsis

                        BonoboPersist;
                        BonoboPersistClass;
    Bonobo_Persist_ContentTypeList * bonobo_persist_generate_content_types
                                                            (int num,
                                                             ...);
    BonoboPersist *     bonobo_persist_construct            (BonoboPersist *persist,
                                                             const gchar *iid);
    void                bonobo_persist_set_dirty            (BonoboPersist *persist,
                                                             gboolean dirty);

## Object Hierarchy

      GObject
       +----BonoboObject
             +----BonoboPersist
                   +----BonoboPersistStream
                   +----BonoboPersistFile

## Description

BonoboPersist is an abstract base class that is useless by itself. It implements some methods to handle content type querying for use by the derived BonoboPersistStream interface.

## Details

### BonoboPersist

    typedef struct _BonoboPersist BonoboPersist;

### BonoboPersistClass

    typedef struct {
    	BonoboObjectClass      parent_class;

    	POA_Bonobo_Persist__epv epv;

    	Bonobo_Persist_ContentTypeList *
    	                      (*get_content_types) (BonoboPersist     *persist,
    						    CORBA_Environment *ev);
    } BonoboPersistClass;

### bonobo_persist_generate_content_types ()

    Bonobo_Persist_ContentTypeList * bonobo_persist_generate_content_types
                                                            (int num,
                                                             ...);

`num` : | the number of content types specified
`...` : | the content types (as strings)
Returns : | a ContentTypeList containing the given ContentTypes

### bonobo_persist_construct ()

    BonoboPersist *     bonobo_persist_construct            (BonoboPersist *persist,
                                                             const gchar *iid);

Initializes the BonoboPersist object. You should only use this method in derived implementations, because a BonoboPersist instance doesn't make a lot of sense, but the iid private field has to be set at construction time.

`persist` : | A BonoboPersist
`iid` : | OAF IID of the object this interface is aggregated to
Returns : | the BonoboPersist.

### bonobo_persist_set_dirty ()

    void                bonobo_persist_set_dirty            (BonoboPersist *persist,
                                                             gboolean dirty);

Sets the dirty status of the interface which is reported via the isDirty method.

`persist` : | A BonoboPersist
`dirty` : | A flag indicating the dirty status of this object.

## See Also

BonoboPersistStream, BonoboPersistFile