## MateComponentPersist MateComponentPersist — Interface for anything that can save / load itself. |

## Synopsis

                        MateComponentPersist;
                        MateComponentPersistClass;
    MateComponent_Persist_ContentTypeList * matecomponent_persist_generate_content_types
                                                            (int num,
                                                             ...);
    MateComponentPersist *     matecomponent_persist_construct            (MateComponentPersist *persist,
                                                             const gchar *iid);
    void                matecomponent_persist_set_dirty            (MateComponentPersist *persist,
                                                             gboolean dirty);

## Object Hierarchy

      GObject
       +----MateComponentObject
             +----MateComponentPersist
                   +----MateComponentPersistStream
                   +----MateComponentPersistFile

## Description

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

## Details

### MateComponentPersist

    typedef struct _MateComponentPersist MateComponentPersist;

### MateComponentPersistClass

    typedef struct {
    	MateComponentObjectClass      parent_class;

    	POA_MateComponent_Persist__epv epv;

    	MateComponent_Persist_ContentTypeList *
    	                      (*get_content_types) (MateComponentPersist     *persist,
    						    CORBA_Environment *ev);
    } MateComponentPersistClass;

### matecomponent_persist_generate_content_types ()

    MateComponent_Persist_ContentTypeList * matecomponent_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

### matecomponent_persist_construct ()

    MateComponentPersist *     matecomponent_persist_construct            (MateComponentPersist *persist,
                                                             const gchar *iid);

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

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

### matecomponent_persist_set_dirty ()

    void                matecomponent_persist_set_dirty            (MateComponentPersist *persist,
                                                             gboolean dirty);

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

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

## See Also

MateComponentPersistStream, MateComponentPersistFile