102 lines
3.6 KiB
C#

//----------------------------------------------------------------------------
//
// 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
{
/// <summary>
/// Display the current alarm clock settings
/// </summary>
/// <param name="amt">The Intel AMT instance</param>
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);
}
}
/// <summary>
/// Configure a single wake up event
/// </summary>
/// <param name="amt">The Intel AMT instance</param>
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);
}
}
/// <summary>
/// Configure a recurring wake up event
/// </summary>
/// <param name="amt">The Intel AMT instance</param>
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);
}
}
/// <summary>
/// Disable the Alarm Clock
/// </summary>
/// <param name="amt">The Intel AMT instance</param>
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);
}
}
}
}