//---------------------------------------------------------------------------- // // Copyright (c) Intel Corporation, 2011 - 2014 All Rights Reserved. // // File: UserConsentFunctionality.cs // // Contents: Demonstrate the UserConsent interface. // // //---------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Reflection; using Intel.Manageability; using Intel.Manageability.Exceptions; using Intel.Manageability.Power; using Intel.Manageability.UserConsent; namespace UserConsentSample2 { class UserConsentFunctionality { public static void GetUserConsentSettings(IAMTInstance amt) { try { UserConsentSettings userConsentSettings = amt.UserConsent.GetSettings(); PrintSettings(userConsentSettings); } catch (UserConsentManageabilityException e) { PrintException("GetUserConsentSettings", e); } } public static void SetUserConsentSettings(IAMTInstance amt) { try { UserConsentSettings userConsentSettings = new UserConsentSettings(120, 300, FeaturesRequiringConsent.All); amt.UserConsent.SetSettings(userConsentSettings); Console.WriteLine("Set User Consent Settings successfully."); } catch (UserConsentManageabilityException e) { PrintException("SetUserConsentSettings", e); } } public static void GetSpriteLanguage(IAMTInstance amt) { try { SpriteLanguageSettings spriteLanguageSettings = amt.UserConsent.Local.GetSpriteLanguage(); Console.WriteLine("Get Sprite Language successfully."); } catch (UserConsentManageabilityException e) { PrintException("GetSpriteLanguage", e); } } public static void SetSpriteLanguage(IAMTInstance amt) { try { amt.UserConsent.Local.SetSpriteLanguage(SpriteLanguage.French, Fallback.PreviousLanguage); Console.WriteLine("Set Sprite Language successfully."); } catch (UserConsentManageabilityException e) { PrintException("SetSpriteLanguage", e); } } private static void PrintSettings(UserConsentSettings userConsentSettings) { string featuresName = GetEnumDescription(userConsentSettings.FeaturesRequiringConsent); Console.WriteLine(" User Consent Settings:"); Console.WriteLine(" ======================"); Console.WriteLine(" Display Timeout : {0}", userConsentSettings.DisplayTimeout); Console.WriteLine(" Session Timeout : {0}", userConsentSettings.SessionTimeout); Console.WriteLine(" Interval : {0}", featuresName); if (userConsentSettings.CanDisableUserConsent.HasValue) Console.WriteLine(" Can Disabled User Consent : {0}", userConsentSettings.CanDisableUserConsent.Value.ToString()); Console.WriteLine(); } static void PrintException(string methodName, UserConsentManageabilityException 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- Tip : {0}", e.Tip); Console.Write("\n"); } /// /// Return the enum description attribute /// /// /// private static string GetEnumDescription(Enum eValue) { FieldInfo finfo = eValue.GetType().GetField(eValue.ToString()); DescriptionAttribute[] attr = (DescriptionAttribute[])finfo.GetCustomAttributes(typeof(DescriptionAttribute), false); if (attr.Length != 0) { return attr[0].Description; } else { return eValue.ToString(); } } } }