diff --git a/src/gswe-types.c b/src/gswe-types.c index 651f3df..af7524b 100644 --- a/src/gswe-types.c +++ b/src/gswe-types.c @@ -59,3 +59,20 @@ gswe_house_data_copy(GsweHouseData *house_data) G_DEFINE_BOXED_TYPE(GsweHouseData, gswe_house_data, (GBoxedCopyFunc)gswe_house_data_copy, (GBoxedFreeFunc)g_free); +static GsweAspectData * +gswe_aspect_data_copy(GsweAspectData *aspect_data) +{ + GsweAspectData *ret = g_new0(GsweAspectData, 1); + + ret->planet1 = aspect_data->planet1; + ret->planet2 = aspect_data->planet2; + ret->distance = aspect_data->distance; + ret->aspect = aspect_data->aspect; + ret->aspect_info = aspect_data->aspect_info; + ret->difference = aspect_data->difference; + + return ret; +} + +G_DEFINE_BOXED_TYPE(GsweAspectData, gswe_aspect_data, (GBoxedCopyFunc)gswe_aspect_data_copy, (GBoxedFreeFunc)g_free); + diff --git a/src/gswe-types.h b/src/gswe-types.h index d7fa1b3..1fa9a48 100644 --- a/src/gswe-types.h +++ b/src/gswe-types.h @@ -404,6 +404,9 @@ typedef struct { gdouble difference; } GsweAspectData; +GType gswe_aspect_data_get_type(void); +#define GSWE_TYPE_ASPECT_DATA (gswe_aspect_data_get_type()) + /** * GsweAntiscionData: * @planet1: the first planet in the antiscion