/// <summary> /// Asynchronously calls the "AddPermission" RemoteMethod on the target client /// </summary> public Task AddPermissionAsync(Permission p) { return Task.Factory.StartNew(delegate { ClientConnection.CallRemoteAction( ComponentNamesExtended.FileShare, FileShareMethods.AddPermission, p); }); }
public void TestPermissionSerialisation_Valid() { var permission = new Permission() { Path = "/foo/bar", PermittedClients = new List<string>() { "*****@*****.**", "*****@*****.**" } }; var xml = permission.Serialize(); var roundTrip = new Permission(); Assert.IsTrue(roundTrip.Validate(xml)); roundTrip.Deserialize(xml); Assert.IsNotNull(permission); Assert.IsNotNull(roundTrip); Assert.AreEqual<string>(permission.Path, roundTrip.Path); Assert.AreEqual<int>(permission.PermittedClients.Count, roundTrip.PermittedClients.Count); for (int i = 0; i < permission.PermittedClients.Count; i++) { Assert.AreEqual<string>(permission.PermittedClients[i], roundTrip.PermittedClients[i]); } }
public CallResult AddPermission(Permission p) { logger.Info("Adding Permission {0}", p); if (!permissions.ContainsKey(p.Path.ToLower())) { permissions.Add(p.Path.ToLower(), p); } else { permissions[p.Path.ToLower()] = p; } savePermissions(); return new VoidResult(); }
protected void fileshareAddPermissionCommand(IEnumerable<string> cmds) { Permission p = new Permission(); p.Path = cmds.First(); p.PermittedClients = cmds.Skip(1).ToList<string>(); fileShareComponent.AddPermissionAsync(p); }