//---------------------------------------------------------------------------- // // Copyright (c) Intel Corporation, 2009-2013 All Rights Reserved. // // File: AlarmClockFunctionality.cs // // Contents: Demonstrate the IAlarmClock interface. // // //---------------------------------------------------------------------------- using System; using Intel.Manageability; using Intel.Manageability.AlarmClock; using Intel.Manageability.Exceptions; namespace AlarmClockSample { public class AlarmClockFunctionality { /// /// Display the current alarm clock settings /// /// The Intel AMT instance public static void DisplaySettings(IAMTInstance amt) { try { AlarmClockSettings settings = amt.AlarmClock.GetAlarmClockSettings(); Console.WriteLine("Alarm Clock Settings:\n=====================\n"); Console.WriteLine("Next Alarm Time: {0}", (settings.NextAlarmTime != DateTime.MinValue) ? settings.NextAlarmTime.ToString() : @"N\A"); Console.WriteLine("Alarm Clock Interval: {0}", (settings.AlarmInterval != null) ? settings.AlarmInterval.ToString() : @"N\A"); } catch (ManageabilityException ex) { Console.WriteLine("Get alarm clock settings failed"); Console.WriteLine(ex.Message); } } /// /// Configure a single wake up event /// /// The Intel AMT instance public static void SetSingleAlarmTime(IAMTInstance amt) { DateTime date; try { date = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day + 1); Console.Write("Setting next alarm time to: "+date.ToString()+"...\t"); amt.AlarmClock.SetSingleAlarm(date); Console.WriteLine("Success"); } catch (ManageabilityException ex) { Console.WriteLine("Failed"); Console.WriteLine("\n" + ex.Message); } } /// /// Configure a recurring wake up event /// /// The Intel AMT instance public static void SetRecurringAlarm(IAMTInstance amt) { DateTime date; try { date = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day + 1); Console.Write("Setting recurring alarm to:" + date.ToString()+", with interval of 1 day...\t"); amt.AlarmClock.SetRecurringAlarm(date, new AlarmInterval(1,0,0)); Console.WriteLine("Success"); } catch (ManageabilityException ex) { Console.WriteLine("Failed"); Console.WriteLine("\n" + ex.Message); } } /// /// Disable the Alarm Clock /// /// The Intel AMT instance public static void Disable(IAMTInstance amt) { try { Console.Write("Disable the alarm clock...\t"); amt.AlarmClock.DisableAll(); Console.WriteLine("Success"); } catch (ManageabilityException ex) { Console.WriteLine("Failed"); Console.WriteLine("\n" + ex.Message); } } } }