diff dstep/corefoundation/CFDate.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/corefoundation/CFDate.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,78 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 12, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.corefoundation.CFDate;
+
+import dstep.corefoundation.CFBase;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc : id;
+
+alias double CFTimeInterval;
+alias double CFAbsoluteTime;
+struct __CFDate;
+alias __CFDate* CFDateRef;
+struct __CFTimeZone;
+alias __CFTimeZone* CFTimeZoneRef;
+alias uint CFGregorianUnitFlags;
+
+extern (C)
+{
+	extern
+	{
+		const double kCFAbsoluteTimeIntervalSince1970;
+		const double kCFAbsoluteTimeIntervalSince1904;
+	}
+}
+
+enum
+{
+	kCFGregorianUnitsYears = (1 << 0),
+	kCFGregorianUnitsMonths = (1 << 1),
+	kCFGregorianUnitsDays = (1 << 2),
+	kCFGregorianUnitsHours = (1 << 3),
+	kCFGregorianUnitsMinutes = (1 << 4),
+	kCFGregorianUnitsSeconds = (1 << 5),
+	kCFGregorianAllUnits = 0x00FFFFFF
+}
+
+struct CFGregorianDate
+{
+	int year;
+	byte month;
+	byte day;
+	byte hour;
+	byte minute;
+	double second;
+}
+
+
+struct CFGregorianUnits
+{
+	int years;
+	int months;
+	int days;
+	int hours;
+	int minutes;
+	double seconds;
+}
+
+extern (C)
+{
+	double CFAbsoluteTimeGetCurrent ();
+	uint CFDateGetTypeID ();
+	CFDateRef CFDateCreate (CFAllocatorRef allocator, double at);
+	double CFDateGetAbsoluteTime (CFDateRef theDate);
+	double CFDateGetTimeIntervalSinceDate (CFDateRef theDate, CFDateRef otherDate);
+	int CFDateCompare (CFDateRef theDate, CFDateRef otherDate, void* context);
+	ubyte CFGregorianDateIsValid (CFGregorianDate gdate, uint unitFlags);
+	double CFGregorianDateGetAbsoluteTime (CFGregorianDate gdate, CFTimeZoneRef tz);
+	CFGregorianDate CFAbsoluteTimeGetGregorianDate (double at, CFTimeZoneRef tz);
+	double CFAbsoluteTimeAddGregorianUnits (double at, CFTimeZoneRef tz, CFGregorianUnits units);
+	CFGregorianUnits CFAbsoluteTimeGetDifferenceAsGregorianUnits (double at1, double at2, CFTimeZoneRef tz, uint unitFlags);
+	int CFAbsoluteTimeGetDayOfWeek (double at, CFTimeZoneRef tz);
+	int CFAbsoluteTimeGetDayOfYear (double at, CFTimeZoneRef tz);
+	int CFAbsoluteTimeGetWeekOfYear (double at, CFTimeZoneRef tz);
+}
\ No newline at end of file