using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tango.PPC.Common.OS
{
///
/// Represents a windows license activation manager.
///
public interface IOperationSystemManager
{
///
/// Determines whether the OS is activated.
///
///
Task IsActivated();
///
/// Activates the OS using the specified activation key.
///
/// The activation key.
///
Task Activate(String activationKey);
///
/// Deactivates the OS license.
///
///
Task Deactivate();
///
/// Gets the available time zones.
///
///
ReadOnlyCollection GetAvailableTimeZones();
///
/// Changes the operation system time zone.
///
/// The time zone.
///
Task ChangeTimeZone(TimeZoneInfo timeZone);
///
/// Gets the machine unique identifier.
///
///
Task GetDeviceId();
///
/// Gets the machine host name.
///
///
Task GetDeviceName();
///
/// Sets the device host name.
///
///
Task SetDeviceName(String name);
///
/// Restarts the system.
///
///
void Restart();
///
/// Shutdown the system.
///
///
void Shutdown();
///
/// Opens the operating system shell (explorer).
///
void OpenShell();
}
}