From b73ac78f172fbb520248d2240fe4b555a47eb995 Mon Sep 17 00:00:00 2001 From: "Gergely Polonkai (W00d5t0ck)" Date: Fri, 27 Sep 2013 02:35:11 +0200 Subject: [PATCH] Moved all GError domains into one global GSWE_ERROR domain --- docs/reference/swe-glib/swe-glib-sections.txt | 9 ++--- src/gswe-moment.c | 25 ++++--------- src/gswe-moment.h | 36 ------------------ src/gswe-timestamp.c | 16 ++------ src/gswe-timestamp.h | 33 ----------------- src/swe-glib.c | 9 +++++ src/swe-glib.h | 37 +++++++++++++++++++ 7 files changed, 61 insertions(+), 104 deletions(-) diff --git a/docs/reference/swe-glib/swe-glib-sections.txt b/docs/reference/swe-glib/swe-glib-sections.txt index 0602752..7a8dd85 100644 --- a/docs/reference/swe-glib/swe-glib-sections.txt +++ b/docs/reference/swe-glib/swe-glib-sections.txt @@ -1,9 +1,6 @@
gswe-moment GsweMoment -GSWE_MOMENT_ERROR -gswe_moment_error_quark -GsweMomentError GsweMoment GsweMomentClass gswe_moment_new @@ -180,9 +177,6 @@ gswe_house_data_get_type
gswe-timestamp GsweTimestamp -GSWE_TIMESTAMP_ERROR -gswe_timestamp_error_quark -GsweTimestampError GsweTimestamp GsweTimestampClass gswe_timestamp_new @@ -238,6 +232,9 @@ gswe_coordinates_get_type
swe-glib +GsweError +gswe_error_quark +GSWE_ERROR gswe_init
diff --git a/src/gswe-moment.c b/src/gswe-moment.c index b6c8ad8..471ac49 100644 --- a/src/gswe-moment.c +++ b/src/gswe-moment.c @@ -385,15 +385,6 @@ gswe_moment_get_house_system(GsweMoment *moment) return moment->priv->house_system; } -/** - * gswe_moment_error_quark: - * - * Gets the GsweMoment Error Quark. - * - * Return value: a #GQuark - */ -G_DEFINE_QUARK(gswe-moment-error-quark, gswe_moment_error); - /** * gswe_moment_new: * @@ -511,7 +502,7 @@ gswe_moment_calculate_house_positions(GsweMoment *moment, GError **err) } if ((house_system_data = g_hash_table_lookup(gswe_house_system_info_table, GINT_TO_POINTER(moment->priv->house_system))) == NULL) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_UNKNOWN_HSYS, "Unknown house system"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_UNKNOWN_HSYS, "Unknown house system"); return; } @@ -540,7 +531,7 @@ gswe_moment_calculate_house_positions(GsweMoment *moment, GError **err) g_list_free_full(moment->priv->house_list, g_free); moment->priv->house_list = NULL; moment->priv->house_revision = 0; - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_UNKNOWN_SIGN, "Calculation brought an unknown sign"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_UNKNOWN_SIGN, "Calculation brought an unknown sign"); return; } @@ -690,11 +681,11 @@ gswe_moment_calculate_planet(GsweMoment *moment, GswePlanet planet, GError **err } if ((ret = swe_calc(jd, planet_data->planet_info->sweph_id, SEFLG_SPEED | SEFLG_TOPOCTR, x2, serr)) < 0) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_SWE_ERROR_FATAL, "Swiss Ephemeris error: %s", serr); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_SWE_FATAL, "Swiss Ephemeris error: %s", serr); return; } else if (ret != (SEFLG_SPEED | SEFLG_TOPOCTR)) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_SWE_ERROR_NONFATAL, "Swiss Ephemeris error: %s", serr); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_SWE_NONFATAL, "Swiss Ephemeris error: %s", serr); } gswe_calculate_data_by_position(moment, planet, x2[0], &calc_err); @@ -868,7 +859,7 @@ gswe_moment_get_planet(GsweMoment *moment, GswePlanet planet, GError **err) GswePlanetData *planet_data = (GswePlanetData *)(g_list_find_custom(moment->priv->planet_list, &planet, find_by_planet_id)->data); if (planet_data == NULL) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); return NULL; } @@ -1157,7 +1148,7 @@ gswe_moment_get_planet_aspects(GsweMoment *moment, GswePlanet planet, GError **e *aspect; if (!gswe_moment_has_planet(moment, planet)) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); return NULL; } @@ -1308,7 +1299,7 @@ gswe_moment_get_all_planet_antiscia(GsweMoment *moment, GswePlanet planet, GErro *antiscion; if (!gswe_moment_has_planet(moment, planet)) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); return NULL; } @@ -1379,7 +1370,7 @@ gswe_moment_get_axis_planet_antiscia(GsweMoment *moment, GsweAntiscionAxis axis, *antiscion_l; if (!gswe_moment_has_planet(moment, planet)) { - g_set_error(err, GSWE_MOMENT_ERROR, GSWE_MOMENT_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NONADDED_PLANET, "Specified planet is not added to the moment object"); return NULL; } diff --git a/src/gswe-moment.h b/src/gswe-moment.h index dd4a6df..c524d21 100644 --- a/src/gswe-moment.h +++ b/src/gswe-moment.h @@ -36,42 +36,6 @@ typedef struct _GsweMoment GsweMoment; typedef struct _GsweMomentClass GsweMomentClass; typedef struct _GsweMomentPrivate GsweMomentPrivate; -/** - * GSWE_MOMENT_ERROR: - * - * Error domain for GsweMoment. Errors in this domain will be from - * #GsweMomentError enumeration. See #GError for more information on error - * domains. - */ -#define GSWE_MOMENT_ERROR gswe_moment_error_quark() -GQuark gswe_moment_error_quark(void); - -/** - * GsweMomentError: - * @GSWE_MOMENT_ERROR_SUCCESS: no error - * @GSWE_MOMENT_ERROR_UNKNOWN_HSYS: house system provided is unknown (a - * #GsweHouseSystem value must be passed) - * @GSWE_MOMENT_ERROR_UNKNOWN_SIGN: an unknown zodiac sign is calculated - * @GSWE_MOMENT_ERROR_NONADDED_PLANET: the referenced planet is not added to - * the GsweMoment object - * @GSWE_MOMENT_ERROR_SWE_ERROR_NONFATAL: an error reported by the Swiss - * Ephemeris library. Errors marked with - * this value are not fatal, so it's - * more like a warning - * @GSWE_MOMENT_ERROR_SWE_ERROR_FATAL: a fatal error reported by the Swiss - * Ephemeris library - * - * Error codes returned by GsweMoment functions. - */ -typedef enum { - GSWE_MOMENT_ERROR_SUCCESS, - GSWE_MOMENT_ERROR_UNKNOWN_HSYS, - GSWE_MOMENT_ERROR_UNKNOWN_SIGN, - GSWE_MOMENT_ERROR_NONADDED_PLANET, - GSWE_MOMENT_ERROR_SWE_ERROR_NONFATAL, - GSWE_MOMENT_ERROR_SWE_ERROR_FATAL -} GsweMomentError; - /** * GsweMoment: * diff --git a/src/gswe-timestamp.c b/src/gswe-timestamp.c index 98092a8..192f88e 100644 --- a/src/gswe-timestamp.c +++ b/src/gswe-timestamp.c @@ -21,6 +21,7 @@ #include "../swe/src/swephexp.h" #include "swe-glib-private.h" +#include "swe-glib.h" #include "gswe-timestamp.h" /** @@ -383,7 +384,7 @@ gswe_timestamp_calculate_gregorian(GsweTimestamp *timestamp, GError **err) } if (timestamp->priv->valid_dates == 0) { - g_set_error(err, GSWE_TIMESTAMP_ERROR, GSWE_TIMESTAMP_ERROR_NO_VALID, "This timestamp object holds no valid values"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NO_VALID_VALUE, "This timestamp object holds no valid values"); return; } @@ -802,14 +803,14 @@ gswe_timestamp_calculate_julian(GsweTimestamp *timestamp, GError **err) } if (timestamp->priv->valid_dates == 0) { - g_set_error(err, GSWE_TIMESTAMP_ERROR, GSWE_TIMESTAMP_ERROR_NO_VALID, "This timestamp object holds no valid values"); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_NO_VALID_VALUE, "This timestamp object holds no valid values"); return; } swe_utc_time_zone(timestamp->priv->gregorian_year, timestamp->priv->gregorian_month, timestamp->priv->gregorian_day, timestamp->priv->gregorian_hour, timestamp->priv->gregorian_minute, timestamp->priv->gregorian_second + timestamp->priv->gregorian_microsecond / 1000.0, timestamp->priv->gregorian_timezone_offset, &utc_year, &utc_month, &utc_day, &utc_hour, &utc_minute, &utc_second); if ((retval = swe_utc_to_jd(utc_year, utc_month, utc_day, utc_hour, utc_minute, utc_second, SE_GREG_CAL, dret, serr)) == ERR) { - g_set_error(err, GSWE_TIMESTAMP_ERROR, GSWE_TIMESTAMP_ERROR_SWE_ERROR, "Swiss Ephemeris error: %s", serr); + g_set_error(err, GSWE_ERROR, GSWE_ERROR_SWE_FATAL, "Swiss Ephemeris error: %s", serr); } else { timestamp->priv->julian_day = dret[0]; timestamp->priv->valid_dates |= VALID_JULIAN_DAY; @@ -853,15 +854,6 @@ gswe_timestamp_get_julian_day(GsweTimestamp *timestamp, GError **err) return timestamp->priv->julian_day; } -/** - * gswe_timestamp_error_quark: - * - * Gets the GsweTimestamp Error Quark. - * - * Return value: a #GQuark - */ -G_DEFINE_QUARK(gswe-timestamp-error-quark, gswe_timestamp_error); - /** * gswe_timestamp_new: * diff --git a/src/gswe-timestamp.h b/src/gswe-timestamp.h index ea67ee9..157049b 100644 --- a/src/gswe-timestamp.h +++ b/src/gswe-timestamp.h @@ -32,39 +32,6 @@ typedef struct _GsweTimestamp GsweTimestamp; typedef struct _GsweTimestampClass GsweTimestampClass; typedef struct _GsweTimestampPrivate GsweTimestampPrivate; -/** - * GSWE_TIMESTAMP_ERROR: - * - * Error domain for GsweTimestamp. Errors in this domain will be from - * #GsweTimestampError enumeration. See #GError for more information on error - * domains. - */ -#define GSWE_TIMESTAMP_ERROR (gswe_timestamp_error_quark()) -GQuark gswe_timestamp_error_quark(void); - -/** - * GsweTimestampError: - * @GSWE_TIMESTAMP_ERROR_SUCCESS: no error - * @GSWE_TIMESTAMP_ERROR_INVALID_DATE: the Gregorian date specified in this - * GsweTimestamp is invalid - * @GSWE_TIMESTAMP_ERROR_INVALID_TIME: the time specified in this - * GsweTimestamp is invalid - * @GSWE_TIMESTAMP_ERROR_NO_VALID: the GsweTimestamp object holds no valid - * timestamp - * @GSWE_TIMESTAMP_ERROR_SWE_ERROR: denotes an error detected by the Swiss - * Ephemeris library, converted from their - * static char array to a #GError - * - * Error codes returned by GsweTimestamp functions. - */ -typedef enum { - GSWE_TIMESTAMP_ERROR_SUCCESS, - GSWE_TIMESTAMP_ERROR_INVALID_DATE, - GSWE_TIMESTAMP_ERROR_INVALID_TIME, - GSWE_TIMESTAMP_ERROR_NO_VALID, - GSWE_TIMESTAMP_ERROR_SWE_ERROR -} GsweTimestampError; - /** * GsweTimestamp: * diff --git a/src/swe-glib.c b/src/swe-glib.c index 0a24347..b39b604 100644 --- a/src/swe-glib.c +++ b/src/swe-glib.c @@ -87,6 +87,15 @@ GsweTimestamp *gswe_full_moon_base_date; (v)->sign_offset = m; \ g_hash_table_replace((ht), GINT_TO_POINTER(i), (v)); +/** + * gswe_error_quark: + * + * Gets the SWE-GLib Error Quark. + * + * Return value: a #GQuark + */ +G_DEFINE_QUARK(gswe-error-quark, gswe_error); + void gswe_free_planet_info(gpointer planet_info) { diff --git a/src/swe-glib.h b/src/swe-glib.h index 88ae53f..e97df57 100644 --- a/src/swe-glib.h +++ b/src/swe-glib.h @@ -34,6 +34,43 @@ #include "gswe-moment.h" #include "gswe-enumtypes.h" +/** + * GsweError: + * @GSWE_ERROR_SUCCESS: No error + * @GSWE_ERROR_SWE_NONFATAL: Non-fatal Swiss Ephemeris library error + * @GSWE_ERROR_SWE_FATAL: Fatal Swiss Ephemeris library error + * @GSWE_ERROR_INVALID_DATE: The specified Gregorian date is invalid + * @GSWE_ERROR_INVALID_TIME: The specified time is invalid + * @GSWE_ERROR_NO_VALID_VALUE: the #GsweTimestamp object holds no valid values + * @GSWE_ERROR_UNKNOWN_HSYS: the requested house system is unknown + * @GSWE_ERROR_UNKNOWN_SIGN: an invalid zodiac sign would have been returned + * @GSWE_ERROR_NONADDED_PLANET: the referenced planet was not added with + * gswe_moment_add_planet() + * + * Error codes returned by the SWE-GLib functions. + */ +typedef enum { + GSWE_ERROR_SUCCESS, + GSWE_ERROR_SWE_NONFATAL, + GSWE_ERROR_SWE_FATAL, + GSWE_ERROR_INVALID_DATE, + GSWE_ERROR_INVALID_TIME, + GSWE_ERROR_NO_VALID_VALUE, + GSWE_ERROR_UNKNOWN_HSYS, + GSWE_ERROR_UNKNOWN_SIGN, + GSWE_ERROR_NONADDED_PLANET, +} GsweError; + +/** + * GSWE_ERROR: + * + * Error domain for SWE-GLib in general. Since 2.0, all errors generated by + * SWE-GLib functions are from this domain. See #GError for more information on + * error domains. + */ +#define GSWE_ERROR gswe_error_quark() +GQuark gswe_error_quark(void); + void gswe_init(); #endif /* __SWE_GLIB_H__ */