134 lines
4.8 KiB
C#
134 lines
4.8 KiB
C#
/*******************************************************************************
|
||
Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
|
||
|
||
NOTICE:All information contained herein is, and remains the property of
|
||
PICO Technology Co., Ltd. The intellectual and technical concepts
|
||
contained herein are proprietary to PICO Technology Co., Ltd. and may be
|
||
covered by patents, patents in process, and are protected by trade secret or
|
||
copyright law. Dissemination of this information or reproduction of this
|
||
material is strictly forbidden unless prior written permission is obtained from
|
||
PICO Technology Co., Ltd.
|
||
*******************************************************************************/
|
||
|
||
using System;
|
||
|
||
namespace Pico.Platform.Models
|
||
{
|
||
|
||
/// <summary>
|
||
/// The summary of daily sport info.
|
||
/// Users' daily sports info is recorded in the local database. This structure indicates the sports info generated someday.
|
||
/// </summary>
|
||
public class SportDailySummary
|
||
{
|
||
/// The ID of the summary.
|
||
public readonly long Id;
|
||
|
||
/// The date when the summary was generated.
|
||
public readonly DateTime Date;
|
||
|
||
/// The sport duration (in seconds).
|
||
public readonly int DurationInSeconds;
|
||
|
||
/// The planned sport duration (in seconds).
|
||
public readonly int PlanDurationInMinutes;
|
||
|
||
/// The actual calorie burnt (in kilo calorie).
|
||
public readonly double Calorie;
|
||
|
||
/// The planned calorie to burn.
|
||
public readonly double PlanCalorie;
|
||
|
||
public SportDailySummary(IntPtr o)
|
||
{
|
||
Id = CLIB.ppf_SportDailySummary_GetId(o);
|
||
Date = TimeUtil.MilliSecondsToDateTime(CLIB.ppf_SportDailySummary_GetDate(o));
|
||
DurationInSeconds = CLIB.ppf_SportDailySummary_GetDurationInSeconds(o);
|
||
PlanDurationInMinutes = CLIB.ppf_SportDailySummary_GetPlanDurationInMinutes(o);
|
||
Calorie = CLIB.ppf_SportDailySummary_GetCalorie(o);
|
||
PlanCalorie = CLIB.ppf_SportDailySummary_GetPlanCalorie(o);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Each element is \ref SportDailySummary
|
||
/// </summary>
|
||
public class SportDailySummaryList : MessageArray<SportDailySummary>
|
||
{
|
||
public SportDailySummaryList(IntPtr a)
|
||
{
|
||
var count = (int) CLIB.ppf_SportDailySummaryArray_GetSize(a);
|
||
this.Capacity = count;
|
||
for (int i = 0; i < count; i++)
|
||
{
|
||
this.Add(new SportDailySummary(CLIB.ppf_SportDailySummaryArray_GetElement(a, (UIntPtr) i)));
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// User's sport summary of today.
|
||
/// </summary>
|
||
public class SportSummary
|
||
{
|
||
/// The sport duration (in seconds).
|
||
public readonly int DurationInSeconds;
|
||
|
||
/// The calorie burnt (in kilo calorie).
|
||
public readonly double Calorie;
|
||
|
||
/// The time when the user started playing sport.
|
||
public readonly DateTime StartTime;
|
||
|
||
/// The time when the user stopped playing sport.
|
||
public readonly DateTime EndTime;
|
||
|
||
public SportSummary(IntPtr o)
|
||
{
|
||
DurationInSeconds = (int) CLIB.ppf_SportSummary_GetDurationInSeconds(o);
|
||
Calorie = CLIB.ppf_SportSummary_GetCalorie(o);
|
||
StartTime = TimeUtil.MilliSecondsToDateTime(CLIB.ppf_SportSummary_GetStartTime(o));
|
||
EndTime = TimeUtil.MilliSecondsToDateTime(CLIB.ppf_SportSummary_GetEndTime(o));
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// The user's sport info.
|
||
/// User can set sport goal in the Sport Center app.
|
||
/// </summary>
|
||
public class SportUserInfo
|
||
{
|
||
public readonly Gender Gender;
|
||
public readonly DateTime Birthday;
|
||
|
||
/// The height of the user (in cm).
|
||
public readonly int Stature;
|
||
|
||
/// The weight of the user (in kg).
|
||
public readonly int Weight;
|
||
|
||
/// The sport level that indicates the intensity of the sport.
|
||
public readonly int SportLevel;
|
||
|
||
/// The planned daily sport duration (in minutes).
|
||
public readonly int DailyDurationInMinutes;
|
||
|
||
/// The planned weekly sport days.
|
||
public readonly int DaysPerWeek;
|
||
|
||
/// The sport purpose, such as `keep fit` and `lose weight`.
|
||
public readonly SportTarget SportTarget;
|
||
|
||
public SportUserInfo(IntPtr o)
|
||
{
|
||
Gender = CLIB.ppf_SportUserInfo_GetGender(o);
|
||
Birthday = TimeUtil.MilliSecondsToDateTime(CLIB.ppf_SportUserInfo_GetBirthday(o));
|
||
Stature = CLIB.ppf_SportUserInfo_GetStature(o);
|
||
Weight = CLIB.ppf_SportUserInfo_GetWeight(o);
|
||
SportLevel = CLIB.ppf_SportUserInfo_GetSportLevel(o);
|
||
DailyDurationInMinutes = CLIB.ppf_SportUserInfo_GetDailyDurationInMinutes(o);
|
||
DaysPerWeek = CLIB.ppf_SportUserInfo_GetDaysPerWeek(o);
|
||
SportTarget = CLIB.ppf_SportUserInfo_GetSportTarget(o);
|
||
}
|
||
}
|
||
} |