diff --git a/PS.FritzBox.API.CMD/LanConfigSecurityHandler.cs b/PS.FritzBox.API.CMD/LanConfigSecurityHandler.cs index d588502..2db9808 100644 --- a/PS.FritzBox.API.CMD/LanConfigSecurityHandler.cs +++ b/PS.FritzBox.API.CMD/LanConfigSecurityHandler.cs @@ -22,8 +22,9 @@ public override async Task Handle() this.PrintOutputAction($"LanConfigSecurityHandler{Environment.NewLine}########################"); this.PrintOutputAction("1 - GetAnonymousLogin"); this.PrintOutputAction("2 - GetCurrentUser"); - this.PrintOutputAction("3 - GetInfo"); - this.PrintOutputAction("4 - SetConfigPassword"); + this.PrintOutputAction("3 - GetUserList"); + this.PrintOutputAction("4 - GetInfo"); + this.PrintOutputAction("5 - SetConfigPassword"); this.PrintOutputAction("r - Return"); input = this.GetInputFunc(); @@ -39,9 +40,12 @@ public override async Task Handle() await this.GetCurrentUser(); break; case "3": - await this.GetInfo(); + await this.GetUserList(); break; case "4": + await this.GetInfo(); + break; + case "5": await this.SetConfigPassword(); break; case "r": @@ -79,6 +83,14 @@ private async Task GetCurrentUser() this.PrintObject(currentUser); } + private async Task GetUserList() + { + this.ClearOutputAction(); + this.PrintEntry(); + var userList = await this._client.GetUserListAsync(); + this.PrintObject(userList); + } + private async Task GetInfo() { this.ClearOutputAction(); diff --git a/PS.FritzBox.API.CMD/Program.cs b/PS.FritzBox.API.CMD/Program.cs index 56ad705..585f99d 100644 --- a/PS.FritzBox.API.CMD/Program.cs +++ b/PS.FritzBox.API.CMD/Program.cs @@ -42,7 +42,6 @@ static async Task MainAsync(string[] args) FritzDevice selected = devices.Skip(deviceIndex).First(); Configure(selected); - do { Console.Clear(); diff --git a/PS.FritzBox.API/FritzBox/LANConfigSecurityClient.cs b/PS.FritzBox.API/FritzBox/LANConfigSecurityClient.cs index f901444..ebb0483 100644 --- a/PS.FritzBox.API/FritzBox/LANConfigSecurityClient.cs +++ b/PS.FritzBox.API/FritzBox/LANConfigSecurityClient.cs @@ -97,7 +97,19 @@ public async Task GetCurrentUserAsync() return user; } - + /// + /// Method to get the user list + /// + /// the current userlist + public async Task GetUserListAsync() + { + XDocument document = await this.InvokeAsync("X_AVM-DE_GetUserList", null); + LANConfigSecurityUserList userList = new LANConfigSecurityUserList(); + + userList.UserList = document.Descendants("NewX_AVM-DE_UserList").First().Value; + + return userList; + } /// /// Method to set the password for the current user diff --git a/PS.FritzBox.API/FritzBox/LANConfigSecurityUserList.cs b/PS.FritzBox.API/FritzBox/LANConfigSecurityUserList.cs new file mode 100644 index 0000000..fc24b3c --- /dev/null +++ b/PS.FritzBox.API/FritzBox/LANConfigSecurityUserList.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace PS.FritzBox.API +{ + /// + /// class representing a userlist + /// + public class LANConfigSecurityUserList + { + /// + /// gets or sets the userlist + /// + public string UserList { get; set; } + + } +}