102 lines
3.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |