private async void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            AbMediaContent media = e.Item as AbMediaContent;

            // If clicked media is a card open card page
            if (media.mediaType == MediaContentType.Card)
            {
                Card card = FSManager.getCard(media.name);
                await Navigation.PushAsync(new CardPage(card));

                return;
            }

            // If clicked media is media box toggle
            if (media.mediaType == MediaContentType.MediaCount)
            {
                MediaCountBox mediaBox = media as MediaCountBox;
                mediaBox.toggleOpen();
                return;
            }

            if (card != null)
            {
                // TODO temp this should just have the card's media
                await Navigation.PushAsync(new CardMediaCarouselPage(media, MediaManager.allMedia));
            }
            else
            {
                await Navigation.PushAsync(new CardMediaCarouselPage(media, MediaManager.allMedia));
            }
        }
예제 #2
0
        public static void SaveHardwareSource(FSSnapshot snapshot)
        {
            Clean(TestPath.HardwareSourceFolder);
            var m = new FSManager(TestPath.HardwareSourceFolder);

            m.SaveSnapshot(snapshot);
        }
예제 #3
0
        private void deleteCard(ISortableCardItem cardItem)
        {
            Dir card = cardItem as Dir;

            FSManager.deleteCardAsync(card.name);
            cardsToDisplay.Remove(card);
        }
예제 #4
0
        private async void createAlbum()
        {
            PromptConfig prompt = new PromptConfig();

            prompt.SetCancelText("Cancel");
            prompt.SetOkText("Create");
            prompt.SetMessage("Create New Album");
            prompt.SetInputMode(InputType.Default);

            PromptResult promptResult = await UserDialogs.Instance.PromptAsync(prompt);

            if (!promptResult.Ok)
            {
                return;
            }

            if (FSManager.albumExists(promptResult.Text))
            {
                await DisplayAlert("Notice", "Album name already exists", "OK");
            }
            else
            {
                Dir newAlbum = await FSManager.addNewAlbumAsync(promptResult.Text);

                this.albumsToDisplay.Add(newAlbum);
            }
        }
예제 #5
0
        public static void SaveFirmwareOutput(FSSnapshot snapshot)
        {
            Clean(TestPath.FirmwareOutputFolder);
            var m = new FSManager(TestPath.FirmwareOutputFolder);

            m.SaveSnapshot(snapshot);
        }
예제 #6
0
    public override void Execute()
    {
        Validate(Parameters);
        string sourcePath = Parameters[1];

        FSManager.DownloadFile(sourcePath);
    }
예제 #7
0
        private void loginBTN_Click(object sender, EventArgs e)
        {
            //string username = usernameTB.Text;
            string pw = FSManager.HashString(passwordTB.Text);
            // Check database
            User u = db.CheckLogin(username, pw);

            invalidLoginLBL.Visible    = false;
            inactiveAccountLBL.Visible = false;
            if (u == null)
            {
                // Invalid login
                invalidLoginLBL.Visible = true;
            }
            else if (u.PermissionLevel == 0)
            {
                // Inactive account (0 level permission)
                inactiveAccountLBL.Visible = true;
            }
            else if (u.PermissionLevel > 0)
            {
                LocalUserSession.Locked = false;

                if (cw == null)
                {
                    cw = new ConsoleWindow();
                }
                cw.Show();
                cw.UpdateUser();
                this.Hide();
            }
        }
예제 #8
0
        /// <summary>
        /// Refresh data set
        /// </summary>
        protected override void OnAppearing()
        {
            allCardsToDisplay = new ObservableCollection <Card>(FSManager.getAllCards());
            cardsHeaderView.updateDataSet(allCardsToDisplay);

            base.OnAppearing();
        }
예제 #9
0
        private string generateDefaultCardName()
        {
            string uniqueCardName = "Card (" + FSManager.getNumCards() + ") " + DateTime.Now.ToString();

            uniqueCardName = uniqueCardName.Replace("/", ".");
            return(uniqueCardName);
        }
예제 #10
0
    public override void Execute()
    {
        Validate(Parameters);
        string destinationPath = Parameters[1];

        FSManager.ChangeDirectory(destinationPath);
    }
예제 #11
0
        private async void createCard_Clicked(object sender, EventArgs e)
        {
            PromptConfig prompt = new PromptConfig();

            prompt.SetCancelText("Cancel");
            prompt.SetOkText("Create");
            prompt.SetMessage("Name Card");
            prompt.SetInputMode(InputType.Default);

            PromptResult promptResult = await UserDialogs.Instance.PromptAsync(prompt);

            if (promptResult.Ok)
            {
                Card newCard = await FSManager.addNewCardAsync(promptResult.Text);

                allCardsToDisplay.Add(newCard);

                if (mediasToAdd != null)
                {
                    addMediaToCard(newCard);
                }
            }

            // Resort cards
            allCardsToDisplay = new ObservableCollection <Card>(FSManager.getAllCards());
            cardsHeaderView.updateDataSet(allCardsToDisplay);
        }
예제 #12
0
        void FirmwareFromCS()
        {
            var csFiles        = Directory.EnumerateFiles(SourceFolder);
            var csFilesContent = csFiles
                                 .Select(path => new FSTextFile()
            {
                Name = path, Content = File.ReadAllText(path)
            })
                                 .ToList();

            if (csFilesContent.Any())
            {
                foreach (var cs in csFilesContent)
                {
                    Console.WriteLine($"Found CS source: {cs.Name}");
                }

                // translate source files
                var tx     = new CSharp2CPPTranslator();
                var source = new FSSnapshot();
                source.Files.AddRange(csFilesContent);
                tx.Run(source);
                var firmwareSource = tx.Result;

                // create soc resource records
                var socGenerator      = new SOCGenerator();
                var socRecordsBuilder = new SOCRecordsBuilder();
                var socRecords        = socRecordsBuilder.ToSOCRecords(0x800, tx.SOCResources);
                firmwareSource.Add(socGenerator.SOCImport(socRecords));

                FileTools.CreateDirectoryRecursive(FirmwareFolder);
                var m = new FSManager(FirmwareFolder);
                m.SaveSnapshot(firmwareSource);
            }

            ModifyMakefile();

            if (File.Exists(MakefileFile))
            {
                if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                {
                    var context = RISCVIntegration
                                  .DefaultContext(FirmwareFolder)
                                  .WithMakeTarget("bin");

                    RISCVIntegrationClient.Make(context).Wait();
                }
                else
                {
                    using (new CurrentDirectory(FirmwareFolder))
                    {
                        Toolchain.Make("bin");
                    }
                }
            }
            else
            {
                Console.WriteLine($"Makefile was not found: {MakefileFile}");
            }
        }
    public override void Execute()
    {
        Validate(Parameters);
        string path = Parameters[1];

        FSManager.CreateDirectory(path);
    }
예제 #14
0
        private void RunClock()
        {
            int errorCount = 0;

            try
            {
                bookingCycle = bs.SlotLength * 1800;
                while (true)
                {
                    DateTime dt = DateTime.Now;
                    mainDateLBL.BeginInvoke(new MethodInvoker(() =>
                    {
                        mainDateLBL.Text = dt.ToString("dd-MMM");
                    }));
                    mainTimeLBL.BeginInvoke(new MethodInvoker(() =>
                    {
                        mainTimeLBL.Text = dt.ToString("hh:mm:ss");
                    }));
                    mainAmPmLBL.BeginInvoke(new MethodInvoker(() =>
                    {
                        mainAmPmLBL.Text = dt.ToString("tt");
                    }));
                    CheckForBookingStart(FSManager.GetSeconds(dt));
                    Thread.Sleep(1000);
                }
            }
            catch (InvalidOperationException e)
            {
                errorCount += 1;
                Console.WriteLine("Error Count: " + errorCount);
                Console.WriteLine(e.StackTrace);
                Thread.Sleep(1000);
                RunClock();
            }
        }
예제 #15
0
        ////////////  Accounts / Permissions Tables
        public void CreateDefaultFSGAdminAccount()
        {
            string         login    = "******";
            string         password = FSManager.HashString("fsg1100");
            UserPermission up       = PullPermissionByLevel(99);

            NewAccount(login, password, up.DatabaseID, "FSG", "Admin");
        }
        private async void deleteButton_Clicked(object sender, EventArgs e)
        {
            this.card.removeMedia(this.media);
            FSManager.deleteMediaAsync(this.media);

            //and close out of the view
            await this.Navigation.PopAsync();
        }
예제 #17
0
 internal static void DisplayWelcome()
 {
     string[] welcomeText = FSManager.ReadFile("resources/welcome.txt");
     foreach (string line in welcomeText)
     {
         OutputLine(typeof(String), line);
     }
 }
예제 #18
0
        public void Execute(string[] args, User user)
        {
            if (args.Length != 2)
            {
                Output.WriteError("Invalid arguments!\n");
                return;
            }
            switch (args[1])
            {
            case "..":
                if (FSManager.PresentWorkingDirectory() != "~/")
                {
                    FSManager.ChangeDirectory("..");
                    return;
                }
                else
                {
                    return;
                }

            case "/":
                FSManager.ChangeDirectory("/");
                break;

            default:
                if (!FSManager.ChangeDirectory(args[1]))
                {
                    return;
                }
                if (FSManager.CatFile("folder.sys") != User.currentUser.ToString())
                {
                    FSManager.ChangeDirectory("..");
                    Output.WriteError("You don't have permission to access this folder!\n");
                }
                break;
            }

            /*
             * if (args[1] == ".." && FSManager.PresentWorkingDirectory() != "~/")
             * {
             *      FSManager.ChangeDirectory("..");
             *      return;
             * }
             * if (args[1] == ".." && FSManager.PresentWorkingDirectory() == "~/")
             *      return;
             * bool undo = FSManager.ChangeDirectory(args[1]);
             * if (!((FSManager.CatFile("folder.sys") == user.userID.ToString() && FSManager.GetFilePerms("folder.sys").or == true) || FSManager.GetFilePerms("folder.sys").ar == true || user == User.FetchUserID(0)))
             * {
             *      Output.WriteError("You don't have permission to enter this folder!\n");
             *      FSManager.ChangeDirectory("..");
             *      return;
             * }
             * if (undo&&args[1]!="/")
             * {
             *      FSManager.ChangeDirectory("..");
             *      FSManager.ChangeDirectory(args[1]);
             * }*/
        }
예제 #19
0
        public AllCardsPage()
        {
            InitializeComponent();

            allCardsToDisplay = new ObservableCollection <Card>(FSManager.getAllCards());

            cardsListView.ItemsSource = allCardsToDisplay;
            cardsHeaderView.initialize(allCardsToDisplay, cardsListView);
        }
예제 #20
0
파일: User.cs 프로젝트: Gameefan/GConsole
 public static void AddUser(User user)
 {
     users.Add(user);
     allUsers.Add(user);
     FSManager.ChangeDirectory("@home");
     FSManager.ChangeDirectory("..");
     FSManager.AddFolder(user.name, user);
     FSManager.ChangeDirectory("@home");
 }
예제 #21
0
 public override void Execute()
 {
     Validate(Parameters);
     Console.Clear();
     string[] helpText = FSManager.ReadFile("resources/help.txt");
     foreach (string line in helpText)
     {
         IOManager.OutputLine(typeof(String), line);
     }
 }
예제 #22
0
        private long[] GetLongTime()
        {
            long[] output    = new long[2];
            long   today     = FSManager.GetSecondsDayOnly(selDay);
            int    startTime = hours[0] + selStartTime;

            output[0] = FSManager.AddHoursToTime(today, startTime);
            output[1] = FSManager.AddHoursToTime(today, endTimeInt);
            return(output);
        }
예제 #23
0
 public void Execute(string[] args, User user)
 {
     if (args.Length != 2)
     {
         Output.WriteError("Invalid arguments!");
         return;
     }
     FSManager.AddFile(new Structs.FilePerms {
         ar = true, aw = false, ax = false, flag = Structs.FileFlag.None, or = true, os = false, ow = true, ox = false, owner = user.userID
     }, path: FSManager.DirListToString(FSManager.currentDirectory), name: args[1], data: "", id: user.userID);
 }
예제 #24
0
        private void deleteAlbum(ISortableCardItem cardItem)
        {
            Dir album = cardItem as Dir;

            if (specialAlbumNames.ContainsValue(album.name))
            {
                return;
            }
            FSManager.deleteAlbumAsync(album.name);
            albumsToDisplay.Remove(album);
        }
예제 #25
0
        private void PopulateBookings(DateTime dt)
        {
            long today    = FSManager.GetSecondsDayOnly(dt);
            long tomorrow = FSManager.AdjustDay(today, 1);

            bookings      = db.PullAllBookingsByDate(today, tomorrow);
            bookingPanels = new List <int>();
            foreach (Booking b in bookings.Values)
            {
                GenerateBookingSlot(b);
            }
        }
예제 #26
0
        private void loginBTN_Click(object sender, EventArgs e)
        {
            //string licenseType = ManageLicense.PullCurrentLicenseType();
            int lic = ManageLicense.CheckCurrentLicense();

            if (lic != 2)
            {
                // No license applied
                if (lic == 1)
                {
                    MessageBox.Show("Current license is invalid. Please enter a new license.");
                }
                loginBTN.Enabled = false;
                button1.Enabled  = false;
                LicenseWindow lw = new LicenseWindow(this);
                lw.BringToFront();
                lw.Show();
            }
            else
            {
                string username = usernameTB.Text;
                string pw       = FSManager.HashString(passwordTB.Text);
                // Check database
                //int permLevel = db.CheckLogin(username, pw);
                User u = db.CheckLogin(username, pw);
                invalidLoginLBL.Visible    = false;
                inactiveAccountLBL.Visible = false;
                if (u == null)
                {
                    // Invalid login
                    invalidLoginLBL.Visible = true;
                }
                else if (u.PermissionLevel == 0)
                {
                    // Inactive account (0 level permission)
                    inactiveAccountLBL.Visible = true;
                }
                else if (u.PermissionLevel > 0)
                {
                    LocalUserSession.LoggedIn        = true;
                    LocalUserSession.Username        = username;
                    LocalUserSession.HashedPassword  = pw;
                    LocalUserSession.PermissionLevel = u.PermissionLevel;
                    if (cw == null)
                    {
                        cw = new ConsoleWindow();
                    }
                    cw.Show();
                    cw.UpdateUser();
                    this.Hide();
                }
            }
        }
        public RISCVIntegrationContext WithAllFiles()
        {
            var result = Clone();

            var fs       = new FSManager(RootFolder);
            var allFiles = Directory
                           .EnumerateFiles(RootFolder, "*.*", SearchOption.AllDirectories)
            ;

            var snapshot = fs.LoadSnapshot(ExtensionClasses, allFiles);

            return(result.WithSourceSnapshot(snapshot));
        }
예제 #28
0
        private async void initialize()
        {
            await FSManager.initializeAsync();


            flowListView.FlowItemsSource = MediaManager.allMediaCollection;

            MediaManager.collectionRefresh += () =>
            {
                flowListView.FlowItemsSource = null;
                flowListView.FlowItemsSource = MediaManager.allMediaCollection;
            };
        }
예제 #29
0
        public void initialize()
        {
            this.Title = "Create New Card";

            string uniqueCardName = "Card (" + FSManager.getNumCards() + ") " + DateTime.Now.ToString();

            uniqueCardName = uniqueCardName.Replace("/", ".");

            this.cardNameEntry.Text = uniqueCardName;

            this.mediaCaptureView.noCardInitialize(this, this);

            //this.mediaCaptureView.mediaCapturePreClick += this.createCard;
        }
예제 #30
0
        static void Main(string[] args)
        {
            User.Initialize();
            CommandManager.SetupCommands();

            FSManager.AddFile(new FilePerms
            {
                ar    = false,
                aw    = false,
                ax    = false,
                flag  = FileFlag.Directory,
                or    = true,
                os    = false,
                ow    = true,
                ox    = false,
                owner = 0
            }, path: $"~/", name: "folder.sys", data: "0");
            FSManager.AddFolder("test", User.FetchUserID(0));
            FSManager.AddFolder("home", User.FetchUserID(0));
            User.AddUser(new User()
            {
                perms =
                {
                    isDisplayedAsAdmin      = true,
                    canChangeSystemSettings = true,
                    canDoSudo      = true,
                    isRoot         = false,
                    canSeeAllUsers = true
                },
                executeUserID = User.GetNextUserID(),
                groups        =
                {
                    (int)SystemGroups.Admin,
                    (int)SystemGroups.NormalUser,
                },
                name   = "admin",
                userID = User.GetNextUserID(),
                passwd = "admin"
            });
            //FSManager.ChangeDirectory("test");
            //FSManager.GetChildren();
            while (true)
            {
                Output.Write($"SHELL({User.FetchUserID(User.currentUser).name}) {FSManager.PresentWorkingDirectory()} $ ");
                string cmd = Console.ReadLine();
                CommandManager.FetchCommand(cmd, User.FetchUserID(User.currentUser));
            }
        }