diff --git a/docs/reference/swe-glib/swe-glib-sections.txt b/docs/reference/swe-glib/swe-glib-sections.txt
index 77a3859..576c75a 100644
--- a/docs/reference/swe-glib/swe-glib-sections.txt
+++ b/docs/reference/swe-glib/swe-glib-sections.txt
@@ -249,6 +249,7 @@ gswe_house_data_get_type
GsweTimestamp
GsweTimestamp
GsweTimestampClass
+GsweTimestampValidityFlags
gswe_timestamp_new
gswe_timestamp_new_from_julian_day
gswe_timestamp_new_from_gregorian_full
diff --git a/src/gswe-timestamp.c b/src/gswe-timestamp.c
index a98d3bb..aba63eb 100644
--- a/src/gswe-timestamp.c
+++ b/src/gswe-timestamp.c
@@ -40,14 +40,9 @@
GsweTimestampPrivate \
))
-typedef enum {
- VALID_GREGORIAN = 1 << 0,
- VALID_JULIAN_DAY = 1 << 1
-} TimestampValidity;
-
struct _GsweTimestampPrivate {
gboolean instant_recalc;
- TimestampValidity valid_dates;
+ GsweTimestampValidityFlags valid_dates;
gint gregorian_year;
gint gregorian_month;
@@ -518,8 +513,8 @@ gswe_timestamp_get_property(
case PROP_GREGORIAN_VALID:
g_value_set_boolean(
value,
- ((timestamp->priv->valid_dates & VALID_GREGORIAN)
- == VALID_GREGORIAN)
+ ((timestamp->priv->valid_dates & GSWE_VALID_GREGORIAN)
+ == GSWE_VALID_GREGORIAN)
);
break;
@@ -584,8 +579,8 @@ gswe_timestamp_get_property(
case PROP_JULIAN_DAY_VALID:
g_value_set_boolean(
value,
- ((timestamp->priv->valid_dates & VALID_JULIAN_DAY)
- == VALID_JULIAN_DAY)
+ ((timestamp->priv->valid_dates & GSWE_VALID_JULIAN_DAY)
+ == GSWE_VALID_JULIAN_DAY)
);
break;
@@ -600,11 +595,11 @@ gswe_timestamp_get_property(
static void
gswe_timestamp_calculate_all(GsweTimestamp *timestamp, GError **err)
{
- if ((timestamp->priv->valid_dates & VALID_JULIAN_DAY) != VALID_JULIAN_DAY) {
+ if ((timestamp->priv->valid_dates & GSWE_VALID_JULIAN_DAY) != GSWE_VALID_JULIAN_DAY) {
gswe_timestamp_calculate_julian(timestamp, err);
}
- if ((timestamp->priv->valid_dates & VALID_GREGORIAN) != VALID_GREGORIAN) {
+ if ((timestamp->priv->valid_dates & GSWE_VALID_GREGORIAN) != GSWE_VALID_GREGORIAN) {
gswe_timestamp_calculate_gregorian(timestamp, err);
}
}
@@ -620,7 +615,7 @@ gswe_timestamp_calculate_gregorian(GsweTimestamp *timestamp, GError **err)
gdouble utc_second,
local_second;
- if ((timestamp->priv->valid_dates & VALID_GREGORIAN) == VALID_GREGORIAN) {
+ if ((timestamp->priv->valid_dates & GSWE_VALID_GREGORIAN) == GSWE_VALID_GREGORIAN) {
return;
}
@@ -857,7 +852,7 @@ gswe_timestamp_set_gregorian_full(
gswe_timestamp_props[PROP_JULIAN_DAY_VALID]
);
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
if (timestamp->priv->instant_recalc == TRUE) {
gswe_timestamp_calculate_all(timestamp, err);
@@ -889,7 +884,7 @@ gswe_timestamp_set_gregorian_year(
}
timestamp->priv->gregorian_year = gregorian_year;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
@@ -950,7 +945,7 @@ gswe_timestamp_set_gregorian_month(
}
timestamp->priv->gregorian_month = gregorian_month;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1010,7 +1005,7 @@ gswe_timestamp_set_gregorian_day(
}
timestamp->priv->gregorian_day = gregorian_day;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1070,7 +1065,7 @@ gswe_timestamp_set_gregorian_hour(
}
timestamp->priv->gregorian_hour = gregorian_hour;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1130,7 +1125,7 @@ gswe_timestamp_set_gregorian_minute(
}
timestamp->priv->gregorian_minute = gregorian_minute;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1190,7 +1185,7 @@ gswe_timestamp_set_gregorian_second(
}
timestamp->priv->gregorian_second = gregorian_second;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1250,7 +1245,7 @@ gswe_timestamp_set_gregorian_microsecond(
}
timestamp->priv->gregorian_microsecond = gregorian_microsecond;
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1311,7 +1306,7 @@ gswe_timestamp_set_gregorian_timezone(
gswe_timestamp_calculate_julian(timestamp, NULL);
timestamp->priv->gregorian_timezone_offset = gregorian_timezone_offset;
- timestamp->priv->valid_dates &= ~VALID_GREGORIAN;
+ timestamp->priv->valid_dates &= ~GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
@@ -1348,7 +1343,7 @@ gswe_timestamp_calculate_julian(GsweTimestamp *timestamp, GError **err)
dret[2];
gchar serr[AS_MAXCH];
- if ((timestamp->priv->valid_dates & VALID_JULIAN_DAY) == VALID_JULIAN_DAY) {
+ if ((timestamp->priv->valid_dates & GSWE_VALID_JULIAN_DAY) == GSWE_VALID_JULIAN_DAY) {
return;
}
@@ -1389,7 +1384,7 @@ gswe_timestamp_calculate_julian(GsweTimestamp *timestamp, GError **err)
} else {
timestamp->priv->julian_day = dret[0];
timestamp->priv->julian_day_ut = dret[1];
- timestamp->priv->valid_dates |= VALID_JULIAN_DAY;
+ timestamp->priv->valid_dates |= GSWE_VALID_JULIAN_DAY;
}
}
@@ -1443,7 +1438,7 @@ gswe_timestamp_set_julian_day_et(
GError *err_local = NULL;
timestamp->priv->julian_day = julian_day;
- timestamp->priv->valid_dates = VALID_JULIAN_DAY;
+ timestamp->priv->valid_dates = GSWE_VALID_JULIAN_DAY;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1466,7 +1461,7 @@ gswe_timestamp_set_julian_day_et(
return;
}
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1533,7 +1528,7 @@ gswe_timestamp_set_julian_day_ut(
GError *err_local = NULL;
timestamp->priv->julian_day_ut = julian_day;
- timestamp->priv->valid_dates = VALID_JULIAN_DAY;
+ timestamp->priv->valid_dates = GSWE_VALID_JULIAN_DAY;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1556,7 +1551,7 @@ gswe_timestamp_set_julian_day_ut(
return;
}
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
g_object_notify_by_pspec(
G_OBJECT(timestamp),
gswe_timestamp_props[PROP_GREGORIAN_VALID]
@@ -1686,7 +1681,7 @@ gswe_timestamp_new_from_gregorian_full(
"gregorian-timezone-offset", time_zone_offset,
NULL));
- timestamp->priv->valid_dates = VALID_GREGORIAN;
+ timestamp->priv->valid_dates = GSWE_VALID_GREGORIAN;
return timestamp;
}
diff --git a/src/gswe-types.h b/src/gswe-types.h
index 7e448d8..c4936c0 100644
--- a/src/gswe-types.h
+++ b/src/gswe-types.h
@@ -307,6 +307,20 @@ typedef enum {
GSWE_MOON_PHASE_DARK
} GsweMoonPhase;
+/**
+ * GsweTimestampValidityFlags:
+ * @GSWE_VALID_NONE: No valid timestamp
+ * @GSWE_VALID_GREGORIAN: Gregorian timestamp is valid
+ * @GSWE_VALID_JULIAN_DAY: Julian Day is valid
+ *
+ * Flags to show the valid values in a #GsweTimestamp
+ */
+typedef enum {
+ GSWE_VALID_NONE = 0,
+ GSWE_VALID_GREGORIAN = (1 << 0),
+ GSWE_VALID_JULIAN_DAY = (1 << 1)
+} GsweTimestampValidityFlags;
+
/**
* GsweCoordinates:
* @longitude: longitude part of the coordinates
@@ -325,4 +339,3 @@ GType gswe_coordinates_get_type(void);
#define GSWE_TYPE_COORDINATES (gswe_coordinates_get_type())
#endif /* __SWE_GLIB_GSWE_TYPES_H__ */
-