//---------------------------------------------------------------------------- // // Copyright (c) Intel Corporation, 2011 All Rights Reserved. // //---------------------------------------------------------------------------- using System; using Intel.Manageability.Events; using Intel.Manageability.Exceptions; using Intel.Manageability; namespace PETEventsSample { class GeneralEventsFunctionality { /// /// Subscribe for events /// /// The Intel AMT instance public static void Subscribe(IAMTInstance amt) { try { //Subscribe for Power_Supply_Failed event GeneralSubscription subscription = new GeneralSubscription("http://192.168.0.1:16997", Events.Power_Supply.Power_Supply_Failed, SenderIDType.UUID); amt.Events.Subscribe(subscription); Console.WriteLine("\nSubscription operation completed successfully"); } catch (EventsManageabilityException e) { PrintException("Subscribe", e); } try { //Subscribe for Battery_added event GeneralSubscription subscription = new GeneralSubscription("http://192.168.0.1:16997", Events.Battery.Battery_Added, "MyAMT"); amt.Events.Subscribe(subscription); Console.WriteLine("\nSubscription operation completed successfully"); } catch (EventsManageabilityException e) { PrintException("Subscribe", e); } } /// /// UnSubscribe for Power_Supply_Failed event /// /// The Intel AMT instance public static void UnSubscribe(IAMTInstance amt) { try { GeneralSubscription subscription = new GeneralSubscription("http://192.168.0.1:16997", Events.Power_Supply.Power_Supply_Failed, SenderIDType.UUID); amt.Events.UnSubscribe(subscription); Console.WriteLine("\nUnSubscribe operation completed successfully"); } catch (EventsManageabilityException e) { PrintException("UnSubscribe", e); } } /// /// Unsubscribe all existing subscriptions /// /// The Intel AMT instance public static void UnSubscribeAll(IAMTInstance amt) { try { amt.Events.UnSubscribeAll(); Console.WriteLine("\nUnSubscribe all subscribers completed successfully"); } catch (EventsManageabilityException e) { PrintException("UnSubscribeAll", e); } } static void PrintException(string methodName, EventsManageabilityException e) { Console.WriteLine(methodName + " throw: " + e.Message); Console.WriteLine("Details:"); Console.WriteLine("========"); Console.WriteLine("\t- Machine Origin : {0}", e.MachineOrigin); Console.WriteLine("\t- HLAPI Source Function: {0}", e.Source); if (e.PT_STATUS != null) Console.WriteLine("\t- Return Value : {0}", e.PT_STATUS); if (e.Tip != string.Empty) Console.WriteLine("\t- Counsel : {0}", e.Tip); } } }