using System;
public class Test
{
public enum State {Starting = 0, Started=1, Stopping=4, Stopped=6};
static bool StartButtonEnabled = false;
static bool StopButtonEnabled = false;
static State current;
public static void SetState(State s)
{
current = s;
//Starting = false;
//Started = false;
//Stopping = false;
//Stopped = false;
//MainForm.Instance.Invoke(new MethodInvoker(delegate
//{
/*MainForm.Instance.*/StartButtonEnabled = (2 & (int)s) !=0 ;
/*MainForm.Instance.*/StopButtonEnabled = (1 & (int)s) != 0;
//}));
}
public static void show() {
Console.WriteLine ("{2}: StartButton {0}, StopButton {1}",StartButtonEnabled ,StopButtonEnabled, current );
}
public static void Main()
{
SetState(State.Starting); show();
SetState(State.Started); show();
SetState(State.Stopping); show();
SetState(State.Stopped); show();
// your code goes here
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgcHVibGljIGVudW0gU3RhdGUge1N0YXJ0aW5nID0gMCwgU3RhcnRlZD0xLCBTdG9wcGluZz00LCBTdG9wcGVkPTZ9OyAKICAgIHN0YXRpYyBib29sIFN0YXJ0QnV0dG9uRW5hYmxlZCA9IGZhbHNlOwogICAgc3RhdGljIGJvb2wgU3RvcEJ1dHRvbkVuYWJsZWQgPSBmYWxzZTsKICAgIHN0YXRpYyBTdGF0ZSBjdXJyZW50OwoKCXB1YmxpYyBzdGF0aWMgdm9pZCBTZXRTdGF0ZShTdGF0ZSBzKQogICAgewogICAgCWN1cnJlbnQgPSBzOyAKCS8vU3RhcnRpbmcgPSBmYWxzZTsKICAgIAkvL1N0YXJ0ZWQgPSBmYWxzZTsKICAgIAkvL1N0b3BwaW5nID0gZmFsc2U7CiAgICAJLy9TdG9wcGVkID0gZmFsc2U7CgogICAgICAgIC8vTWFpbkZvcm0uSW5zdGFuY2UuSW52b2tlKG5ldyBNZXRob2RJbnZva2VyKGRlbGVnYXRlCiAgICAgICAgLy97CiAgICAgICAgLypNYWluRm9ybS5JbnN0YW5jZS4qL1N0YXJ0QnV0dG9uRW5hYmxlZCA9ICgyICYgKGludClzKSAhPTAgOwogICAgICAgIC8qTWFpbkZvcm0uSW5zdGFuY2UuKi9TdG9wQnV0dG9uRW5hYmxlZCA9ICgxICYgKGludClzKSAhPSAwOwogICAgICAgIC8vfSkpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBzaG93KCkgewogICAgCUNvbnNvbGUuV3JpdGVMaW5lICgiezJ9OiBTdGFydEJ1dHRvbiB7MH0sIFN0b3BCdXR0b24gezF9IixTdGFydEJ1dHRvbkVuYWJsZWQgLFN0b3BCdXR0b25FbmFibGVkLCBjdXJyZW50ICApOwogICAgfQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCVNldFN0YXRlKFN0YXRlLlN0YXJ0aW5nKTsgc2hvdygpOwoJCVNldFN0YXRlKFN0YXRlLlN0YXJ0ZWQpOyBzaG93KCk7CgkJU2V0U3RhdGUoU3RhdGUuU3RvcHBpbmcpOyBzaG93KCk7IAoJCVNldFN0YXRlKFN0YXRlLlN0b3BwZWQpOyBzaG93KCk7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJfQp9