-/*
- * mlt_properties.h -- base properties class
- * Copyright (C) 2003-2004 Ushodaya Enterprises Limited
- * Author: Charles Yates <charles.yates@pandora.be>
+/**
+ * \file mlt_properties.h
+ * \brief Properties class declaration
+ * \see mlt_properties_s
+ *
+ * Copyright (C) 2003-2009 Ushodaya Enterprises Limited
+ * \author Charles Yates <charles.yates@pandora.be>
+ * \author Dan Dennedy <dan@dennedy.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#include "mlt_events.h"
#include <stdio.h>
-/** The properties base class defines the basic property propagation and
- handling.
-*/
+/** \brief Properties class
+ *
+ * Properties is a combination list/dictionary of name/::mlt_property pairs.
+ * It is also a base class for many of the other MLT classes.
+ */
struct mlt_properties_s
{
- void *child;
- void *local;
+ void *child; /**< \private the object of a subclass */
+ void *local; /**< \private instance object */
+
+ /** the destructor virtual function */
mlt_destructor close;
- void *close_object;
+ void *close_object; /**< the object supplied to the close virtual function */
};
-/** Public interface.
-*/
-
extern int mlt_properties_init( mlt_properties, void *child );
extern mlt_properties mlt_properties_new( );
extern mlt_properties mlt_properties_load( const char *file );
extern int mlt_properties_save( mlt_properties, const char * );
extern int mlt_properties_dir_list( mlt_properties, const char *, const char *, int );
extern void mlt_properties_close( mlt_properties self );
+extern int mlt_properties_is_sequence( mlt_properties self );
+extern mlt_properties mlt_properties_parse_yaml( const char *file );
+extern char *mlt_properties_serialise_yaml( mlt_properties self );
#endif