grim/gplate
Clone
Summary
Browse
Changes
Graph
some more testing migration stuff.
2012-09-04, Gary Kramlich
7f8e0e4f250f
some more testing migration stuff.
Variables aren't done yet
/*
* GPlate - GObject based templating library
* Copyright (C) 2007-2012 Gary Kramlich <grim@reaperworld.com>
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GPLATE_COLLECTION_H
#define GPLATE_COLLECTION_H
#include
<glib.h>
#include
<glib-object.h>
#include
<gplate/gplate-variable.h>
#include
<gplate/gplate-iterator.h>
#define GPLATE_TYPE_COLLECTION (gplate_collection_get_gtype())
#define GPLATE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_COLLECTION, GPlateCollection))
#define GPLATE_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_COLLECTION))
#define GPLATE_COLLECTION_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), GPLATE_TYPE_COLLECTION, GPlateCollectionIface))
typedef
struct
_GPlateCollection
GPlateCollection
;
typedef
struct
_GPlateCollectionIface
GPlateCollectionIface
;
struct
_GPlateCollectionIface
{
GTypeInterface
gparent
;
GPlateVariable
*
(
*
find_variable
)(
const
GPlateCollection
*
collection
,
const
gchar
*
name
);
gboolean
(
*
add_variable_with_name
)(
GPlateCollection
*
collection
,
const
gchar
*
name
,
GPlateVariable
*
variable
);
gboolean
(
*
remove_variable
)(
GPlateCollection
*
collection
,
GPlateVariable
*
variable
);
gboolean
(
*
remove_all
)(
GPlateCollection
*
collection
);
GPlateIterator
*
(
*
get_iterator
)(
GPlateCollection
*
collection
);
void
(
*
_gplate_reserved1
)(
void
);
void
(
*
_gplate_reserved2
)(
void
);
void
(
*
_gplate_reserved3
)(
void
);
void
(
*
_gplate_reserved4
)(
void
);
};
G_BEGIN_DECLS
#define gplate_collection_add(collection, type, name, value) { \
GPlateVariable *var = NULL; \
\
var = gplate_variable_new_from_##type((name), (value)); \
gplate_collection_add_variable(GPLATE_COLLECTION(collection), (var));\
}
#define gplate_collection_add_string(collection, name, value) \
gplate_collection_add((collection), string, (name), (value));
#define gplate_collection_add_boolean(collection, name, value) \
gplate_collection_add((collection), boolean, (name), (value));
#define gplate_collection_add_integer(collection, name, value) \
gplate_collection_add((collection), integer, (name), (value));
#define gplate_collection_add_float(collection, name, value) \
gplate_collection_add((collection), float, (name), (value));
#define gplate_collection_add_double(collection, name, value) \
gplate_collection_add((collection), double, (name), (value));
GType
gplate_collection_get_gtype
(
void
);
GPlateVariable
*
gplate_collection_find_variable
(
const
GPlateCollection
*
collection
,
const
gchar
*
name
);
const
gchar
*
gplate_collection_lookup
(
const
GPlateCollection
*
collection
,
const
gchar
*
name
);
gboolean
gplate_collection_add_variable
(
GPlateCollection
*
collection
,
GPlateVariable
*
variable
);
gboolean
gplate_collection_add_variable_with_name
(
GPlateCollection
*
collection
,
const
gchar
*
name
,
GPlateVariable
*
variable
);
gboolean
gplate_collection_remove_variable
(
GPlateCollection
*
collection
,
GPlateVariable
*
variable
);
gboolean
gplate_collection_remove_all
(
GPlateCollection
*
collection
);
GPlateIterator
*
gplate_collection_get_iterator
(
GPlateCollection
*
collection
);
G_END_DECLS
#endif
/* GPLATE_COLLECTION_H */