Defined GswePlanetInfo as a boxed type
This commit is contained in:
parent
5c3e05ce56
commit
a4f0c8ef9a
@ -206,3 +206,32 @@ gswe_init(void)
|
|||||||
gswe_initialized = TRUE;
|
gswe_initialized = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GswePlanetInfo *
|
||||||
|
gswe_planet_info_copy(GswePlanetInfo *planet_info)
|
||||||
|
{
|
||||||
|
GswePlanetInfo *ret = g_new0(GswePlanetInfo, 1);
|
||||||
|
|
||||||
|
ret->planet = planet_info->planet;
|
||||||
|
ret->sweph_id = planet_info->sweph_id;
|
||||||
|
ret->real_body = planet_info->real_body;
|
||||||
|
ret->orb = planet_info->orb;
|
||||||
|
ret->name = g_strdup(planet_info->name);
|
||||||
|
ret->points = planet_info->points;
|
||||||
|
ret->domicile_sign_1 = planet_info->domicile_sign_1;
|
||||||
|
ret->domicile_sign_2 = planet_info->domicile_sign_2;
|
||||||
|
ret->exile_sign_1 = planet_info->exile_sign_1;
|
||||||
|
ret->exile_sign_2 = planet_info->exile_sign_2;
|
||||||
|
ret->exalted_sign = planet_info->exalted_sign;
|
||||||
|
ret->fall_sign = planet_info->fall_sign;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gswe_planet_info_free(GswePlanetInfo *planet_info)
|
||||||
|
{
|
||||||
|
g_free(planet_info->name);
|
||||||
|
g_free(planet_info);
|
||||||
|
}
|
||||||
|
|
||||||
|
G_DEFINE_BOXED_TYPE(GswePlanetInfo, gswe_planet_info, (GBoxedCopyFunc)gswe_planet_info_copy, (GBoxedFreeFunc)gswe_planet_info_free);
|
||||||
|
@ -33,5 +33,8 @@ extern GHashTable *gswe_mirror_info_table;
|
|||||||
|
|
||||||
void gswe_init();
|
void gswe_init();
|
||||||
|
|
||||||
|
GType gswe_planet_info_get_type(void);
|
||||||
|
#define GSWE_TYPE_PLANET_INFO (gswe_planet_info_get_type())
|
||||||
|
|
||||||
#endif /* __SWE_GLIB_H__ */
|
#endif /* __SWE_GLIB_H__ */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user