internal static unsafe ScheduleBasedBackupPolicy FromNative(NativeBackupRestoreTypes.FABRIC_BACKUP_POLICY backupPolicy) { var scheduleBasedPolicy = new ScheduleBasedBackupPolicy(); scheduleBasedPolicy.PopulateBackupPolicyFromNative(backupPolicy); var scheduleBasedPolicyDescription = *(NativeBackupRestoreTypes.FABRIC_SCHEDULE_BASED_BACKUP_POLICY *)backupPolicy.PolicyDescription; scheduleBasedPolicy.RunSchedule = (BackupPolicyRunSchedule)scheduleBasedPolicyDescription.RunScheduleType; scheduleBasedPolicy.RunDays = GetRunDaysFromByte(scheduleBasedPolicyDescription.RunDays); scheduleBasedPolicy.RunTimes = GetRunTimesFromNative(scheduleBasedPolicyDescription.RunTimesList); return(scheduleBasedPolicy); }
internal static unsafe BackupPolicy FromNative(IntPtr pointer) { var nativeBackupPolicy = *(NativeBackupRestoreTypes.FABRIC_BACKUP_POLICY *)pointer; if (nativeBackupPolicy.PolicyType == NativeBackupRestoreTypes.FABRIC_BACKUP_POLICY_TYPE.FABRIC_BACKUP_POLICY_TYPE_FREQUENCY_BASED) { return(FrequencyBasedBackupPolicy.FromNative(nativeBackupPolicy)); } else if (nativeBackupPolicy.PolicyType == NativeBackupRestoreTypes.FABRIC_BACKUP_POLICY_TYPE.FABRIC_BACKUP_POLICY_TYPE_SCHEDULE_BASED) { return(ScheduleBasedBackupPolicy.FromNative(nativeBackupPolicy)); } return(null); }