[DllImport(Libraries.Calendar, EntryPoint = "calendar_filter_add_lli")]
internal static extern int AddLong(IntPtr filterHandle, uint propertyId, IntegerMatchType match, long value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_filter_add_caltime")]
- internal static extern int AddCalendarTime(IntPtr filterHandle, uint propertyId, IntegerMatchType match, Interop.Record.DateTime value);
+ internal static extern int AddCalendarTime(IntPtr filterHandle, uint propertyId, IntegerMatchType match, IntPtr value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_filter_add_filter")]
internal static extern int AddFilter(IntPtr parentFilterHandle, IntPtr childFilterHandle);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_filter_add_operator")]
{
internal static partial class Record
{
- [StructLayout(LayoutKind.Sequential)]
- internal unsafe struct LOCAL
- {
- internal int year;
- internal int month;
- internal int mday;
- internal int hour;
- internal int minute;
- internal int second;
- };
- [StructLayout(LayoutKind.Explicit)]
- internal struct DateTime
- {
- [FieldOffset(0)]
- internal int type;
- [FieldOffset(8)]
- internal long utime;
- [FieldOffset(8)]
- internal LOCAL local;
- };
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_create")]
internal static extern int Create(string uri, out IntPtr recordHandle);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_get_lli")]
internal static extern int GetLli(IntPtr recordHandle, uint propertyId, out long value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_get_caltime")]
- internal static extern int GetCalendarTime(IntPtr recordHandle, uint propertyId, out DateTime value);
+ internal static extern int GetCalendarTime(IntPtr recordHandle, uint propertyId, out IntPtr value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_set_str")]
internal static extern int SetString(IntPtr recordHandle, uint propertyId, string str);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_set_int")]
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_set_lli")]
internal static extern int SetLli(IntPtr recordHandle, uint propertyId, long value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_set_caltime")]
- internal static extern int SetCalendarTime(IntPtr recordHandle, uint propertyId, DateTime value);
+ internal static extern int SetCalendarTime(IntPtr recordHandle, uint propertyId, IntPtr value);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_add_child_record")]
internal static extern int AddChildRecord(IntPtr recordHandle, uint propertyId, IntPtr childHandle);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_remove_child_record")]
internal static extern int GetChildRecordPointer(IntPtr recordHandle, uint propertyId, int index, out IntPtr childHandle);
[DllImport(Libraries.Calendar, EntryPoint = "calendar_record_clone_child_record_list")]
internal static extern int CloneChildRecordList(IntPtr childRecordHandle, uint propertyId, out IntPtr listHandle);
+
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_create")]
+ internal static extern IntPtr CreateCalTime();
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_destroy")]
+ internal static extern void DestroyCalTime(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_type")]
+ internal static extern int GetCalTimeType(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_utime")]
+ internal static extern long GetCalTimeUtime(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_year")]
+ internal static extern int GetCalTimeLocalYear(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_month")]
+ internal static extern int GetCalTimeLocalMonth(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_mday")]
+ internal static extern int GetCalTimeLocalMday(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_hour")]
+ internal static extern int GetCalTimeLocalHour(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_minute")]
+ internal static extern int GetCalTimeLocalMinute(IntPtr caltime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_local_second")]
+ internal static extern int GetCalTimeLocalSecond(IntPtr caltime);
+
+
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_type")]
+ internal static extern int SetCalTimeType(IntPtr caltime, int type);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_utime")]
+ internal static extern int SetCalTimeUtime(IntPtr caltime, long utime);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_year")]
+ internal static extern int SetCalTimeLocalYear(IntPtr caltime, int year);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_month")]
+ internal static extern int SetCalTimeLocalMonth(IntPtr caltime, int month);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_mday")]
+ internal static extern int SetCalTimeLocalMday(IntPtr caltime, int mday);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_hour")]
+ internal static extern int SetCalTimeLocalHour(IntPtr caltime, int hour);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_minute")]
+ internal static extern int SetCalTimeLocalMinute(IntPtr caltime, int minute);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_local_second")]
+ internal static extern int SetCalTimeLocalSecond(IntPtr caltime, int second);
+
+
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_set_caltime")]
+ internal static extern int SetCalTime(IntPtr recordHandle, uint propertyId, IntPtr value);
+ [DllImport(Libraries.Calendar, EntryPoint = "cal_caltime_get_caltime")]
+ internal static extern int GetCalTime(IntPtr recordHandle, uint propertyId, out IntPtr value);
}
}
throw CalendarErrorFactory.GetException(error);
}
- Interop.Record.DateTime time = CalendarRecord.ConvertCalendarTimeToStruct(matchValue);
+ IntPtr time = CalendarRecord.ConvertCalendarTimeToStruct(matchValue);
error = Interop.Filter.AddCalendarTime(_filterHandle, propertyId, matchType, time);
if (CalendarError.None != (CalendarError)error)
{
throw CalendarErrorFactory.GetException(error);
}
- Interop.Record.DateTime time = CalendarRecord.ConvertCalendarTimeToStruct(matchValue);
+ IntPtr time = CalendarRecord.ConvertCalendarTimeToStruct(matchValue);
error = Interop.Filter.AddCalendarTime(_filterHandle, propertyId, matchType, time);
if (CalendarError.None != (CalendarError)error)
{
}
#endregion
- internal static Interop.Record.DateTime ConvertCalendarTimeToStruct(CalendarTime value)
+ internal static IntPtr ConvertCalendarTimeToStruct(CalendarTime value)
{
- Interop.Record.DateTime time = new Interop.Record.DateTime();
- time.type = value._type;
+ Console.WriteLine("convert calendar");
+ IntPtr caltime = Interop.Record.CreateCalTime();
+ Interop.Record.SetCalTimeType(caltime, value._type);
if ((int)CalendarTime.Type.Utc == value._type)
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
- time.utime = (value.UtcTime.Ticks - epoch.Ticks) / 10000000;
+ Interop.Record.SetCalTimeUtime(caltime, (value.UtcTime.Ticks - epoch.Ticks) / 10_000_000);
+ //Log.Debug(Globals.LogTag, "Sameer local time is if:" + Interop.Record.GetCalTimeLocalMonth(caltime) + "," + Interop.Record.GetCalTimeLocalMday(caltime) + "," + Interop.Record.GetCalTimeLocalHour(caltime) + "," + Interop.Record.GetCalTimeLocalMinute(caltime));
+
}
else
{
- time.local.year = value.LocalTime.Year;
- time.local.month = value.LocalTime.Month;
- time.local.mday = value.LocalTime.Day;
- time.local.hour = value.LocalTime.Hour;
- time.local.minute = value.LocalTime.Minute;
- time.local.second = value.LocalTime.Second;
+ Interop.Record.SetCalTimeLocalYear(caltime, value.LocalTime.Year);
+ Interop.Record.SetCalTimeLocalMonth(caltime, value.LocalTime.Month);
+ Interop.Record.SetCalTimeLocalMday(caltime, value.LocalTime.Day);
+ Interop.Record.SetCalTimeLocalHour(caltime, value.LocalTime.Hour);
+ Interop.Record.SetCalTimeLocalMinute(caltime, value.LocalTime.Minute);
+ Interop.Record.SetCalTimeLocalSecond(caltime, value.LocalTime.Second);
+ //Log.Debug(Globals.LogTag, "Sameer local time is:" + Interop.Record.GetCalTimeLocalHour(caltime) + "," + Interop.Record.GetCalTimeLocalMinute(caltime));
}
- return time;
+ return caltime;
}
- internal static CalendarTime ConvertIntPtrToCalendarTime(Interop.Record.DateTime time)
+ internal static CalendarTime ConvertIntPtrToCalendarTime(IntPtr caltime)
{
CalendarTime value;
- if ((int)CalendarTime.Type.Utc == time.type)
+ if ((int)CalendarTime.Type.Utc == Interop.Record.GetCalTimeType(caltime))
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
- value = new CalendarTime(time.utime * 10000000 + epoch.Ticks);
+ value = new CalendarTime(Interop.Record.GetCalTimeUtime(caltime) * 10_000_000 + epoch.Ticks);
}
else
{
- value = new CalendarTime(time.local.year, time.local.month, time.local.mday, time.local.hour, time.local.minute, time.local.second);
+ value = new CalendarTime(Interop.Record.GetCalTimeLocalYear(caltime), Interop.Record.GetCalTimeLocalMonth(caltime), Interop.Record.GetCalTimeLocalMday(caltime),
+ Interop.Record.GetCalTimeLocalHour(caltime), Interop.Record.GetCalTimeLocalMinute(caltime), Interop.Record.GetCalTimeLocalSecond(caltime));
}
- value._type = time.type;
+ value._type = Interop.Record.GetCalTimeType(caltime);
return value;
}
}
else if (typeof(T) == typeof(CalendarTime))
{
- Interop.Record.DateTime time;
- int error = Interop.Record.GetCalendarTime(_recordHandle, propertyId, out time);
+ IntPtr time;
+ int error = Interop.Record.GetCalTime(_recordHandle, propertyId, out time);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Get CalendarTime Failed [" + error + "]" + String.Format("{0:X}", propertyId));
else if (typeof(T) == typeof(CalendarTime))
{
CalendarTime time = (CalendarTime)Convert.ChangeType(value, typeof(CalendarTime));
- Interop.Record.DateTime val = ConvertCalendarTimeToStruct(time);
- int error = Interop.Record.SetCalendarTime(_recordHandle, propertyId, val);
+ //Interop.Record.DateTime val = ConvertCalendarTimeToStruct(time);
+ IntPtr val = ConvertCalendarTimeToStruct(time);
+ //int error = Interop.Record.SetCalendarTime(_recordHandle, propertyId, val);
+ int error = Interop.Record.SetCalTime(_recordHandle, propertyId, val);
if (CalendarError.None != (CalendarError)error)
{
Log.Error(Globals.LogTag, "Set CalendarTime Failed [" + error + "]" + String.Format("{0:X}", propertyId));