aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/KernelWatchdog.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS_TheReturn/KernelWatchdog.cs')
-rw-r--r--ShiftOS_TheReturn/KernelWatchdog.cs54
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)