diff options
Diffstat (limited to 'ShiftOS_TheReturn/KernelWatchdog.cs')
| -rw-r--r-- | ShiftOS_TheReturn/KernelWatchdog.cs | 54 |
1 files changed, 19 insertions, 35 deletions
diff --git a/ShiftOS_TheReturn/KernelWatchdog.cs b/ShiftOS_TheReturn/KernelWatchdog.cs index 430d36a..0608c46 100644 --- a/ShiftOS_TheReturn/KernelWatchdog.cs +++ b/ShiftOS_TheReturn/KernelWatchdog.cs @@ -10,6 +10,7 @@ namespace ShiftOS.Engine { public static class KernelWatchdog { + //store logs into a file public static void Log(string e, string desc) { string line = $"[{DateTime.Now}] <{e}> {desc}"; @@ -36,12 +37,13 @@ namespace ShiftOS.Engine } set { - if(value == false) + if(value == false) // hey game if you want to disconnect from mud do this: { foreach(var win in AppearanceManager.OpenForms) { foreach(var attr in win.ParentWindow.GetType().GetCustomAttributes(true)) { + // prevents disconnect from mud if an application that needs a connection is open if(attr is MultiplayerOnlyAttribute) { ConsoleEx.Bold = true; @@ -59,63 +61,44 @@ namespace ShiftOS.Engine } } - _mudConnected = value; + _mudConnected = value; // connects or disconnects from mud Desktop.PopulateAppLauncher(); } } - public static bool IsSafe(Type type) + public static bool IsSafe(TerminalBackend.TerminalCommand cmd) { - if (SaveSystem.CurrentUser.Permissions == Objects.UserPermissions.Root) + if (!cmd.RequiresElevation) return true; - - foreach (var attrib in type.GetCustomAttributes(false)) + else { - if (attrib is KernelModeAttribute) - { - if (SaveSystem.CurrentUser.Permissions == Objects.UserPermissions.Root) - return true; + if (SaveSystem.CurrentUser.Permissions == Objects.UserPermissions.Root) + return true; + else return false; - } } - return true; } - public static bool IsSafe(MethodInfo type) - { - if (SaveSystem.CurrentUser.Permissions == Objects.UserPermissions.Root) - return true; - - foreach (var attrib in type.GetCustomAttributes(false)) - { - if (attrib is KernelModeAttribute) - { - if (SaveSystem.CurrentUser.Permissions == Objects.UserPermissions.Root) - return true; - return false; - } - } - return true; - } - static string regularUsername = ""; + static string regularUsername = ""; //put regular username in here later public static void EnterKernelMode() { - regularUsername = SaveSystem.CurrentUser.Username; - SaveSystem.CurrentUser = SaveSystem.Users.FirstOrDefault(x => x.Username == "root"); + regularUsername = SaveSystem.CurrentUser.Username; // k for now put user's username in here for the time being + SaveSystem.CurrentUser = SaveSystem.Users.FirstOrDefault(x => x.Username == "root"); // now their username is root } public static void LeaveKernelMode() { - var user = SaveSystem.Users.FirstOrDefault(x => x.Username == regularUsername); - if (user == null) - throw new Exception("User not in root mode."); + var user = SaveSystem.Users.FirstOrDefault(x => x.Username == regularUsername); //finds username + if (user == null) + throw new Exception("User not in root mode."); // fuck this means the user isnt root quick throw error SaveSystem.CurrentUser = user; } + //determines if you can disconnect from mud if there are no applications that currently need to internal static bool CanRunOffline(Type method) { if (MudConnected) @@ -128,7 +111,8 @@ namespace ShiftOS.Engine } return true; } - + + //same as above but this time for methods internal static bool CanRunOffline(MethodInfo method) { if (MudConnected) |
