public static string GetParentPath(string path, string root) { if (ADPathHelper.StartsWithDelimiter(path, X500Path.delimiterChar)) { path = path.Substring(1); } if (ADPathHelper.StartsWithDelimiter(root, X500Path.delimiterChar)) { root = root.Substring(1); } root = X500Path.StripX500Whitespace(root); if (!string.Equals(X500Path.StripX500Whitespace(path), root, StringComparison.InvariantCultureIgnoreCase)) { int num = ADPathHelper.IndexOfFirstDelimiter(path, X500Path.delimiterChar, X500Path.escapeChar); if (num < 0 || num >= path.Length - 1) { return(""); } else { return(path.Substring(num + 1)); } } else { return(""); } }
public static bool IsChildPath(string path, string parentPath, bool includeSelf, ADPathFormat format) { if (string.IsNullOrEmpty(path) || string.IsNullOrEmpty(parentPath)) { if (!includeSelf) { return(false); } else { return(path == parentPath); } } else { ADPathFormat aDPathFormat = format; switch (aDPathFormat) { case ADPathFormat.X500: { return(X500Path.IsChildPath(path, parentPath, includeSelf)); } case ADPathFormat.Canonical: { return(CanonicalPath.IsChildPath(path, parentPath, includeSelf)); } } return(false); } }
public static bool IsChildPath(string path, string parentPath, bool includeSelf) { path = X500Path.StandardizeX500Path(path); parentPath = X500Path.StandardizeX500Path(parentPath); if (includeSelf || path.Length > parentPath.Length) { return(path.EndsWith(parentPath, StringComparison.OrdinalIgnoreCase)); } else { return(false); } }
public static bool IsValidPath(string path) { string str = null; path = X500Path.StripX500Whitespace(path); while (path != null) { int num = ADPathHelper.IndexOfFirstDelimiter(path, X500Path.delimiterChar, X500Path.escapeChar); if (num <= 0 || num >= path.Length - 1) { if (num == 0 || num == path.Length - 1) { return(false); } else { str = path; path = null; } } else { str = path.Substring(0, num); path = path.Substring(num + 1); } int num1 = str.IndexOf(X500Path.equalsChar); if (num1 <= 0 || num1 >= str.Length - 1) { if (num1 == 0 || num1 == str.Length - 1) { return(false); } else { return(false); } } else { string str1 = str.Substring(0, num1); string str2 = str.Substring(num1 + 1); if (X500Path.IsProperlyFormedRDNAttID(str1) && X500Path.IsProperlyFormedValue(str2)) { continue; } return(false); } } return(true); }
public static bool ComparePath(string path1, string path2) { if (ADPathHelper.StartsWithDelimiter(path1, X500Path.delimiterChar)) { path1 = path1.Substring(1); } if (ADPathHelper.StartsWithDelimiter(path2, X500Path.delimiterChar)) { path2 = path2.Substring(1); } if (ADPathHelper.EndsWithDelimiter(path1, X500Path.delimiterChar, X500Path.escapeChar)) { path1 = path1.Substring(0, path1.Length - 1); } if (ADPathHelper.EndsWithDelimiter(path2, X500Path.delimiterChar, X500Path.escapeChar)) { path2 = path2.Substring(0, path2.Length - 1); } path1 = X500Path.StandardizeX500Path(path1); path2 = X500Path.StandardizeX500Path(path2); return(path1.Equals(path2, StringComparison.OrdinalIgnoreCase)); }
public static string MakePath(string parent, string child, ADPathFormat format) { if (!string.IsNullOrEmpty(parent) || !string.IsNullOrEmpty(child)) { if (!string.IsNullOrEmpty(parent)) { if (!string.IsNullOrEmpty(child)) { ADPathFormat aDPathFormat = format; switch (aDPathFormat) { case ADPathFormat.X500: { return(X500Path.MakePath(parent, child)); } case ADPathFormat.Canonical: { return(CanonicalPath.MakePath(parent, child)); } } return(null); } else { return(parent); } } else { return(child); } } else { return(""); } }
public static string GetParentPath(string path, string root, ADPathFormat format) { if (!string.IsNullOrEmpty(path)) { ADPathFormat aDPathFormat = format; switch (aDPathFormat) { case ADPathFormat.X500: { return(X500Path.GetParentPath(path, root)); } case ADPathFormat.Canonical: { return(CanonicalPath.GetParentPath(path, root)); } } return(null); } else { return(""); } }
public static bool ComparePath(string path1, string path2, ADPathFormat format) { if (string.IsNullOrEmpty(path1) || string.IsNullOrEmpty(path2)) { return(path1 == path2); } else { ADPathFormat aDPathFormat = format; switch (aDPathFormat) { case ADPathFormat.X500: { return(X500Path.ComparePath(path1, path2)); } case ADPathFormat.Canonical: { return(CanonicalPath.ComparePath(path1, path2)); } } return(false); } }
public static bool IsValidPath(string path, ADPathFormat format) { if (!string.IsNullOrEmpty(path)) { ADPathFormat aDPathFormat = format; switch (aDPathFormat) { case ADPathFormat.X500: { return(X500Path.IsValidPath(path)); } case ADPathFormat.Canonical: { return(CanonicalPath.IsValidPath(path)); } } return(false); } else { return(true); } }
public static string StandardizeX500Path(string path) { return(X500Path.StripX500Whitespace(path)); }