aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/updates/macosx/macosx-updates.h2
-rw-r--r--backends/updates/macosx/macosx-updates.mm17
-rw-r--r--common/updates.h8
3 files changed, 27 insertions, 0 deletions
diff --git a/backends/updates/macosx/macosx-updates.h b/backends/updates/macosx/macosx-updates.h
index 9f541ad02a..6fb9af7712 100644
--- a/backends/updates/macosx/macosx-updates.h
+++ b/backends/updates/macosx/macosx-updates.h
@@ -41,6 +41,8 @@ public:
virtual void setUpdateCheckInterval(int interval);
virtual int getUpdateCheckInterval();
+
+ virtual bool getLastUpdateCheckTimeAndDate(TimeDate &t);
};
#endif
diff --git a/backends/updates/macosx/macosx-updates.mm b/backends/updates/macosx/macosx-updates.mm
index fc967f8fec..273d80acc5 100644
--- a/backends/updates/macosx/macosx-updates.mm
+++ b/backends/updates/macosx/macosx-updates.mm
@@ -23,6 +23,7 @@
// Disable symbol overrides so that we can use system headers.
#define FORBIDDEN_SYMBOL_ALLOW_ALL
+#include "common/system.h"
#include "backends/updates/macosx/macosx-updates.h"
#ifdef USE_SPARKLE
@@ -133,4 +134,20 @@ int MacOSXUpdateManager::getUpdateCheckInterval() {
}
}
+bool MacOSXUpdateManager::getLastUpdateCheckTimeAndDate(TimeDate &t) {
+ NSDate *date = [sparkleUpdater lastUpdateCheckDate];
+ NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
+ NSDateComponents *components = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:date];
+
+ t.tm_wday = [components weekday];
+ t.tm_year = [components year];
+ t.tm_mon = [components month];
+ t.tm_mday = [components day];
+ t.tm_hour = [components hour];
+ t.tm_min = [components minute];
+ t.tm_sec = [components second];
+
+ return true;
+}
+
#endif
diff --git a/common/updates.h b/common/updates.h
index 65eb5ac095..3a3049d4df 100644
--- a/common/updates.h
+++ b/common/updates.h
@@ -95,6 +95,14 @@ public:
virtual int getUpdateCheckInterval() { return kUpdateIntervalNotSupported; }
/**
+ * Gets last update check time
+ *
+ * @param t TimeDate struct to fill out
+ * @return flag indicating success
+ */
+ virtual bool getLastUpdateCheckTimeAndDate(TimeDate &t) { return false; }
+
+ /**
* Returns list of supported uptate intervals.
* Ending with '-1' which is not acceptable value.
*