diff --git a/projects/client/Unit/Unit.csproj b/projects/client/Unit/Unit.csproj index 66b7e115db..43bfd4eaaa 100755 --- a/projects/client/Unit/Unit.csproj +++ b/projects/client/Unit/Unit.csproj @@ -23,8 +23,7 @@ - - + diff --git a/projects/client/Unit/src/ApiGenerator.cs b/projects/client/Unit/src/ApiGenerator.cs deleted file mode 100644 index 8c3b635bf3..0000000000 --- a/projects/client/Unit/src/ApiGenerator.cs +++ /dev/null @@ -1,866 +0,0 @@ -using System; -using System.CodeDom; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Text.RegularExpressions; -using Microsoft.CSharp; -using Mono.Cecil; -using Mono.Cecil.Rocks; -using ICustomAttributeProvider = Mono.Cecil.ICustomAttributeProvider; -using TypeAttributes = System.Reflection.TypeAttributes; -using System.Globalization; - -// ReSharper disable BitwiseOperatorOnEnumWithoutFlags -namespace PublicApiGenerator -{ - public static class ApiGenerator - { - static readonly string[] defaultWhitelistedNamespacePrefixes = new string[0]; - - public static string GeneratePublicApi(Assembly assembly, Type[] includeTypes = null, bool shouldIncludeAssemblyAttributes = true, string[] whitelistedNamespacePrefixes = null, string[] excludeAttributes = null) - { - var attributesToExclude = excludeAttributes == null - ? SkipAttributeNames - : new HashSet(excludeAttributes.Union(SkipAttributeNames)); - - using (var assemblyResolver = new DefaultAssemblyResolver()) - { - var assemblyPath = assembly.Location; - assemblyResolver.AddSearchDirectory(Path.GetDirectoryName(assemblyPath)); - assemblyResolver.AddSearchDirectory(AppDomain.CurrentDomain.BaseDirectory); - - var readSymbols = File.Exists(Path.ChangeExtension(assemblyPath, ".pdb")); - using (var asm = AssemblyDefinition.ReadAssembly(assemblyPath, new ReaderParameters(ReadingMode.Deferred) - { - ReadSymbols = readSymbols, - AssemblyResolver = assemblyResolver - })) - { - var publicApiForAssembly = CreatePublicApiForAssembly(asm, tr => includeTypes == null || includeTypes.Any(t => t.FullName == tr.FullName && t.Assembly.FullName == tr.Module.Assembly.FullName), - shouldIncludeAssemblyAttributes, whitelistedNamespacePrefixes ?? defaultWhitelistedNamespacePrefixes, attributesToExclude); - return RemoveUnnecessaryWhiteSpace(publicApiForAssembly); - } - } - } - - static string RemoveUnnecessaryWhiteSpace(string publicApi) - { - return string.Join(Environment.NewLine, publicApi.Split(new[] - { - Environment.NewLine - }, StringSplitOptions.RemoveEmptyEntries) - .Where(l => !string.IsNullOrWhiteSpace(l)) - ); - } - - // TODO: Assembly references? - // TODO: Better handle namespaces - using statements? - requires non-qualified type names - static string CreatePublicApiForAssembly(AssemblyDefinition assembly, Func shouldIncludeType, bool shouldIncludeAssemblyAttributes, string[] whitelistedNamespacePrefixes, HashSet excludeAttributes) - { - var publicApiBuilder = new StringBuilder(); - var cgo = new CodeGeneratorOptions - { - BracingStyle = "C", - BlankLinesBetweenMembers = false, - VerbatimOrder = false, - IndentString = " " - }; - - using (var provider = new CSharpCodeProvider()) - { - var compileUnit = new CodeCompileUnit(); - if (shouldIncludeAssemblyAttributes && assembly.HasCustomAttributes) - { - PopulateCustomAttributes(assembly, compileUnit.AssemblyCustomAttributes, excludeAttributes); - } - - var publicTypes = assembly.Modules.SelectMany(m => m.GetTypes()) - .Where(t => !t.IsNested && ShouldIncludeType(t) && shouldIncludeType(t)) - .OrderBy(t => t.FullName, StringComparer.Ordinal); - - foreach (var publicType in publicTypes) - { - var @namespace = compileUnit.Namespaces.Cast() - .FirstOrDefault(n => n.Name == publicType.Namespace); - if (@namespace == null) - { - @namespace = new CodeNamespace(publicType.Namespace); - compileUnit.Namespaces.Add(@namespace); - } - - var typeDeclaration = CreateTypeDeclaration(publicType, whitelistedNamespacePrefixes, excludeAttributes); - @namespace.Types.Add(typeDeclaration); - } - - using (var writer = new StringWriter()) - { - provider.GenerateCodeFromCompileUnit(compileUnit, writer, cgo); - var typeDeclarationText = NormaliseGeneratedCode(writer); - publicApiBuilder.AppendLine(typeDeclarationText); - } - } - return NormaliseLineEndings(publicApiBuilder.ToString().Trim()); - } - - static string NormaliseLineEndings(string value) - { - return Regex.Replace(value, @"\r\n|\n\r|\r|\n", Environment.NewLine); - } - - static bool IsDelegate(TypeDefinition publicType) - { - return publicType.BaseType != null && publicType.BaseType.FullName == "System.MulticastDelegate"; - } - - static bool ShouldIncludeType(TypeDefinition t) - { - return (t.IsPublic || t.IsNestedPublic || t.IsNestedFamily) && !IsCompilerGenerated(t); - } - - static bool ShouldIncludeMember(IMemberDefinition m, string[] whitelistedNamespacePrefixes) - { - return !IsCompilerGenerated(m) && !IsDotNetTypeMember(m, whitelistedNamespacePrefixes) && !(m is FieldDefinition); - } - - static bool IsCompilerGenerated(IMemberDefinition m) - { - return m.CustomAttributes.Any(a => a.AttributeType.FullName == "System.Runtime.CompilerServices.CompilerGeneratedAttribute"); - } - - static bool IsDotNetTypeMember(IMemberDefinition m, string[] whitelistedNamespacePrefixes) - { - if (m.DeclaringType?.FullName == null) - return false; - - return (m.DeclaringType.FullName.StartsWith("System") || m.DeclaringType.FullName.StartsWith("Microsoft")) - && !whitelistedNamespacePrefixes.Any(prefix => m.DeclaringType.FullName.StartsWith(prefix)); - } - - static void AddMemberToTypeDeclaration(CodeTypeDeclaration typeDeclaration, - IMemberDefinition memberInfo, - HashSet excludeAttributes) - { - var methodDefinition = memberInfo as MethodDefinition; - if (methodDefinition != null) - { - if (methodDefinition.IsConstructor) - AddCtorToTypeDeclaration(typeDeclaration, methodDefinition, excludeAttributes); - else - AddMethodToTypeDeclaration(typeDeclaration, methodDefinition, excludeAttributes); - } - else if (memberInfo is PropertyDefinition) - { - AddPropertyToTypeDeclaration(typeDeclaration, (PropertyDefinition)memberInfo, excludeAttributes); - } - else if (memberInfo is EventDefinition) - { - typeDeclaration.Members.Add(GenerateEvent((EventDefinition)memberInfo, excludeAttributes)); - } - else if (memberInfo is FieldDefinition) - { - AddFieldToTypeDeclaration(typeDeclaration, (FieldDefinition)memberInfo, excludeAttributes); - } - } - - static string NormaliseGeneratedCode(StringWriter writer) - { - var gennedClass = writer.ToString(); - const string autoGeneratedHeader = @"^//-+\s*$.*^//-+\s*$"; - const string emptyGetSet = @"\s+{\s+get\s+{\s+}\s+set\s+{\s+}\s+}"; - const string emptyGet = @"\s+{\s+get\s+{\s+}\s+}"; - const string emptySet = @"\s+{\s+set\s+{\s+}\s+}"; - const string getSet = @"\s+{\s+get;\s+set;\s+}"; - const string get = @"\s+{\s+get;\s+}"; - const string set = @"\s+{\s+set;\s+}"; - gennedClass = Regex.Replace(gennedClass, autoGeneratedHeader, string.Empty, - RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline | RegexOptions.Singleline); - gennedClass = Regex.Replace(gennedClass, emptyGetSet, " { get; set; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, getSet, " { get; set; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, emptyGet, " { get; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, emptySet, " { set; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, get, " { get; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, set, " { set; }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, @"\s+{\s+}", " { }", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, @"\)\s+;", ");", RegexOptions.IgnorePatternWhitespace); - return gennedClass; - } - - static CodeTypeDeclaration CreateTypeDeclaration(TypeDefinition publicType, string[] whitelistedNamespacePrefixes, HashSet excludeAttributes) - { - if (IsDelegate(publicType)) - return CreateDelegateDeclaration(publicType, excludeAttributes); - - var @static = false; - TypeAttributes attributes = 0; - if (publicType.IsPublic || publicType.IsNestedPublic) - attributes |= TypeAttributes.Public; - if (publicType.IsNestedFamily) - attributes |= TypeAttributes.NestedFamily; - if (publicType.IsSealed && !publicType.IsAbstract) - attributes |= TypeAttributes.Sealed; - else if (!publicType.IsSealed && publicType.IsAbstract && !publicType.IsInterface) - attributes |= TypeAttributes.Abstract; - else if (publicType.IsSealed && publicType.IsAbstract) - @static = true; - - // Static support is a hack. CodeDOM does support it, and this isn't - // correct C#, but it's good enough for our API outline - var name = publicType.Name; - - var index = name.IndexOf('`'); - if (index != -1) - name = name.Substring(0, index); - var declaration = new CodeTypeDeclaration(@static ? "static " + name : name) - { - CustomAttributes = CreateCustomAttributes(publicType, excludeAttributes), - // TypeAttributes must be specified before the IsXXX as they manipulate TypeAttributes! - TypeAttributes = attributes, - IsClass = publicType.IsClass, - IsEnum = publicType.IsEnum, - IsInterface = publicType.IsInterface, - IsStruct = publicType.IsValueType && !publicType.IsPrimitive && !publicType.IsEnum, - }; - - if (declaration.IsInterface && publicType.BaseType != null) - throw new NotImplementedException("Base types for interfaces needs testing"); - - PopulateGenericParameters(publicType, declaration.TypeParameters); - - if (publicType.BaseType != null && ShouldOutputBaseType(publicType)) - { - if (publicType.BaseType.FullName == "System.Enum") - { - var underlyingType = publicType.GetEnumUnderlyingType(); - if (underlyingType.FullName != "System.Int32") - declaration.BaseTypes.Add(CreateCodeTypeReference(underlyingType)); - } - else - declaration.BaseTypes.Add(CreateCodeTypeReference(publicType.BaseType)); - } - foreach (var @interface in publicType.Interfaces.OrderBy(i => i.InterfaceType.FullName, StringComparer.Ordinal) - .Select(t => new { Reference = t, Definition = t.InterfaceType.Resolve() }) - .Where(t => ShouldIncludeType(t.Definition)) - .Select(t => t.Reference)) - declaration.BaseTypes.Add(CreateCodeTypeReference(@interface.InterfaceType)); - - foreach (var memberInfo in publicType.GetMembers().Where(memberDefinition => ShouldIncludeMember(memberDefinition, whitelistedNamespacePrefixes)).OrderBy(m => m.Name, StringComparer.Ordinal)) - AddMemberToTypeDeclaration(declaration, memberInfo, excludeAttributes); - - // Fields should be in defined order for an enum - var fields = !publicType.IsEnum - ? publicType.Fields.OrderBy(f => f.Name, StringComparer.Ordinal) - : (IEnumerable)publicType.Fields; - foreach (var field in fields) - AddMemberToTypeDeclaration(declaration, field, excludeAttributes); - - foreach (var nestedType in publicType.NestedTypes.Where(ShouldIncludeType).OrderBy(t => t.FullName, StringComparer.Ordinal)) - { - var nestedTypeDeclaration = CreateTypeDeclaration(nestedType, whitelistedNamespacePrefixes, excludeAttributes); - declaration.Members.Add(nestedTypeDeclaration); - } - - return declaration; - } - - static CodeTypeDeclaration CreateDelegateDeclaration(TypeDefinition publicType, HashSet excludeAttributes) - { - var invokeMethod = publicType.Methods.Single(m => m.Name == "Invoke"); - var name = publicType.Name; - var index = name.IndexOf('`'); - if (index != -1) - name = name.Substring(0, index); - var declaration = new CodeTypeDelegate(name) - { - Attributes = MemberAttributes.Public, - CustomAttributes = CreateCustomAttributes(publicType, excludeAttributes), - ReturnType = CreateCodeTypeReference(invokeMethod.ReturnType), - }; - - // CodeDOM. No support. Return type attributes. - PopulateCustomAttributes(invokeMethod.MethodReturnType, declaration.CustomAttributes, type => ModifyCodeTypeReference(type, "return:"), excludeAttributes); - PopulateGenericParameters(publicType, declaration.TypeParameters); - PopulateMethodParameters(invokeMethod, declaration.Parameters, excludeAttributes); - - // Of course, CodeDOM doesn't support generic type parameters for delegates. Of course. - if (declaration.TypeParameters.Count > 0) - { - var parameterNames = from parameterType in declaration.TypeParameters.Cast() - select parameterType.Name; - declaration.Name = string.Format(CultureInfo.InvariantCulture, "{0}<{1}>", declaration.Name, string.Join(", ", parameterNames)); - } - - return declaration; - } - - static bool ShouldOutputBaseType(TypeDefinition publicType) - { - return publicType.BaseType.FullName != "System.Object" && publicType.BaseType.FullName != "System.ValueType"; - } - - static void PopulateGenericParameters(IGenericParameterProvider publicType, CodeTypeParameterCollection parameters) - { - foreach (var parameter in publicType.GenericParameters) - { - if (parameter.HasCustomAttributes) - throw new NotImplementedException("Attributes on type parameters is not supported. And weird"); - - // A little hacky. Means we get "in" and "out" prefixed on any constraints, but it's either that - // or add it as a custom attribute, which looks even weirder - var name = parameter.Name; - if (parameter.IsCovariant) - name = "out " + name; - if (parameter.IsContravariant) - name = "in " + name; - - var typeParameter = new CodeTypeParameter(name) - { - HasConstructorConstraint = - parameter.HasDefaultConstructorConstraint && !parameter.HasNotNullableValueTypeConstraint - }; - if (parameter.HasNotNullableValueTypeConstraint) - typeParameter.Constraints.Add(" struct"); // Extra space is a hack! - if (parameter.HasReferenceTypeConstraint) - typeParameter.Constraints.Add(" class"); - foreach (var constraint in parameter.Constraints.Where(t => t.FullName != "System.ValueType")) - { - typeParameter.Constraints.Add(CreateCodeTypeReference(constraint.GetElementType())); - } - parameters.Add(typeParameter); - } - } - - static CodeAttributeDeclarationCollection CreateCustomAttributes(ICustomAttributeProvider type, - HashSet excludeAttributes) - { - var attributes = new CodeAttributeDeclarationCollection(); - PopulateCustomAttributes(type, attributes, excludeAttributes); - return attributes; - } - - static void PopulateCustomAttributes(ICustomAttributeProvider type, - CodeAttributeDeclarationCollection attributes, - HashSet excludeAttributes) - { - PopulateCustomAttributes(type, attributes, ctr => ctr, excludeAttributes); - } - - static void PopulateCustomAttributes(ICustomAttributeProvider type, - CodeAttributeDeclarationCollection attributes, - Func codeTypeModifier, - HashSet excludeAttributes) - { - foreach (var customAttribute in type.CustomAttributes.Where(t => ShouldIncludeAttribute(t, excludeAttributes)).OrderBy(a => a.AttributeType.FullName, StringComparer.Ordinal).ThenBy(a => ConvertAttributeToCode(codeTypeModifier, a), StringComparer.Ordinal)) - { - var attribute = GenerateCodeAttributeDeclaration(codeTypeModifier, customAttribute); - attributes.Add(attribute); - } - } - - static CodeAttributeDeclaration GenerateCodeAttributeDeclaration(Func codeTypeModifier, CustomAttribute customAttribute) - { - var attribute = new CodeAttributeDeclaration(codeTypeModifier(CreateCodeTypeReference(customAttribute.AttributeType))); - foreach (var arg in customAttribute.ConstructorArguments) - { - attribute.Arguments.Add(new CodeAttributeArgument(CreateInitialiserExpression(arg))); - } - foreach (var field in customAttribute.Fields.OrderBy(f => f.Name, StringComparer.Ordinal)) - { - attribute.Arguments.Add(new CodeAttributeArgument(field.Name, CreateInitialiserExpression(field.Argument))); - } - foreach (var property in customAttribute.Properties.OrderBy(p => p.Name, StringComparer.Ordinal)) - { - attribute.Arguments.Add(new CodeAttributeArgument(property.Name, CreateInitialiserExpression(property.Argument))); - } - return attribute; - } - - // Litee: This method is used for additional sorting of custom attributes when multiple values are allowed - static string ConvertAttributeToCode(Func codeTypeModifier, CustomAttribute customAttribute) - { - using (var provider = new CSharpCodeProvider()) - { - var cgo = new CodeGeneratorOptions - { - BracingStyle = "C", - BlankLinesBetweenMembers = false, - VerbatimOrder = false - }; - var attribute = GenerateCodeAttributeDeclaration(codeTypeModifier, customAttribute); - var declaration = new CodeTypeDeclaration("DummyClass") - { - CustomAttributes = new CodeAttributeDeclarationCollection(new[] { attribute }), - }; - using (var writer = new StringWriter()) - { - provider.GenerateCodeFromType(declaration, writer, cgo); - return writer.ToString(); - } - } - } - - static readonly HashSet SkipAttributeNames = new HashSet - { - "System.CodeDom.Compiler.GeneratedCodeAttribute", - "System.ComponentModel.EditorBrowsableAttribute", - "System.Runtime.CompilerServices.AsyncStateMachineAttribute", - "System.Runtime.CompilerServices.CompilerGeneratedAttribute", - "System.Runtime.CompilerServices.CompilationRelaxationsAttribute", - "System.Runtime.CompilerServices.ExtensionAttribute", - "System.Runtime.CompilerServices.RuntimeCompatibilityAttribute", - "System.Runtime.CompilerServices.IteratorStateMachineAttribute", - "System.Reflection.DefaultMemberAttribute", - "System.Diagnostics.DebuggableAttribute", - "System.Diagnostics.DebuggerNonUserCodeAttribute", - "System.Diagnostics.DebuggerStepThroughAttribute", - "System.Reflection.AssemblyCompanyAttribute", - "System.Reflection.AssemblyConfigurationAttribute", - "System.Reflection.AssemblyCopyrightAttribute", - "System.Reflection.AssemblyDescriptionAttribute", - "System.Reflection.AssemblyFileVersionAttribute", - "System.Reflection.AssemblyInformationalVersionAttribute", - "System.Reflection.AssemblyProductAttribute", - "System.Reflection.AssemblyTitleAttribute", - "System.Reflection.AssemblyTrademarkAttribute" - }; - - static bool ShouldIncludeAttribute(CustomAttribute attribute, HashSet excludeAttributes) - { - var attributeTypeDefinition = attribute.AttributeType.Resolve(); - return attributeTypeDefinition != null && !excludeAttributes.Contains(attribute.AttributeType.FullName) && attributeTypeDefinition.IsPublic; - } - - static CodeExpression CreateInitialiserExpression(CustomAttributeArgument attributeArgument) - { - if (attributeArgument.Value is CustomAttributeArgument) - { - return CreateInitialiserExpression((CustomAttributeArgument)attributeArgument.Value); - } - - if (attributeArgument.Value is CustomAttributeArgument[]) - { - var initialisers = from argument in (CustomAttributeArgument[])attributeArgument.Value - select CreateInitialiserExpression(argument); - return new CodeArrayCreateExpression(CreateCodeTypeReference(attributeArgument.Type), initialisers.ToArray()); - } - - var type = attributeArgument.Type.Resolve(); - var value = attributeArgument.Value; - if (type.BaseType != null && type.BaseType.FullName == "System.Enum") - { - var originalValue = Convert.ToInt64(value); - if (type.CustomAttributes.Any(a => a.AttributeType.FullName == "System.FlagsAttribute")) - { - //var allFlags = from f in type.Fields - // where f.Constant != null - // let v = Convert.ToInt64(f.Constant) - // where v == 0 || (originalValue & v) != 0 - // select (CodeExpression)new CodeFieldReferenceExpression(typeExpression, f.Name); - //return allFlags.Aggregate((current, next) => new CodeBinaryOperatorExpression(current, CodeBinaryOperatorType.BitwiseOr, next)); - - // I'd rather use the above, as it's just using the CodeDOM, but it puts - // brackets around each CodeBinaryOperatorExpression - var flags = from f in type.Fields - where f.Constant != null - let v = Convert.ToInt64(f.Constant) - where v == 0 || (originalValue & v) != 0 - select type.FullName + "." + f.Name; - return new CodeSnippetExpression(flags.Aggregate((current, next) => current + " | " + next)); - } - - var allFlags = from f in type.Fields - where f.Constant != null - let v = Convert.ToInt64(f.Constant) - where v == originalValue - select new CodeFieldReferenceExpression(new CodeTypeReferenceExpression(CreateCodeTypeReference(type)), f.Name); - return allFlags.FirstOrDefault(); - } - - if (type.FullName == "System.Type" && value is TypeReference) - { - return new CodeTypeOfExpression(CreateCodeTypeReference((TypeReference)value)); - } - - if (value is string) - { - // CodeDOM outputs a verbatim string. Any string with \n is treated as such, so normalise - // it to make it easier for comparisons - value = Regex.Replace((string)value, @"\n", "\\n"); - value = Regex.Replace((string)value, @"\r\n|\r\\n", "\\r\\n"); - } - - return new CodePrimitiveExpression(value); - } - - static void AddCtorToTypeDeclaration(CodeTypeDeclaration typeDeclaration, MethodDefinition member, HashSet excludeAttributes) - { - if (member.IsAssembly || member.IsPrivate) - return; - - var method = new CodeConstructor - { - CustomAttributes = CreateCustomAttributes(member, excludeAttributes), - Name = member.Name, - Attributes = GetMethodAttributes(member) - }; - PopulateMethodParameters(member, method.Parameters, excludeAttributes); - - typeDeclaration.Members.Add(method); - } - - static readonly IDictionary OperatorNameMap = new Dictionary - { - { "op_Addition", "+" }, - { "op_UnaryPlus", "+" }, - { "op_Subtraction", "-" }, - { "op_UnaryNegation", "-" }, - { "op_Multiply", "*" }, - { "op_Division", "/" }, - { "op_Modulus", "%" }, - { "op_Increment", "++" }, - { "op_Decrement", "--" }, - { "op_OnesComplement", "~" }, - { "op_LogicalNot", "!" }, - { "op_BitwiseAnd", "&" }, - { "op_BitwiseOr", "|" }, - { "op_ExclusiveOr", "^" }, - { "op_LeftShift", "<<" }, - { "op_RightShift", ">>" }, - { "op_Equality", "==" }, - { "op_Inequality", "!=" }, - { "op_GreaterThan", ">" }, - { "op_GreaterThanOrEqual", ">=" }, - { "op_LessThan", "<" }, - { "op_LessThanOrEqual", "<=" } - }; - - static void AddMethodToTypeDeclaration(CodeTypeDeclaration typeDeclaration, MethodDefinition member, HashSet excludeAttributes) - { - if (member.IsAssembly || member.IsPrivate) return; - - if (member.IsSpecialName && !member.Name.StartsWith("op_")) return; - - var memberName = member.Name; - // ReSharper disable once InlineOutVariableDeclaration - string mappedMemberName; - if (OperatorNameMap.TryGetValue(memberName, out mappedMemberName)) - { - memberName = mappedMemberName; - } - - var returnType = CreateCodeTypeReference(member.ReturnType); - - var method = new CodeMemberMethod - { - Name = memberName, - Attributes = GetMethodAttributes(member), - CustomAttributes = CreateCustomAttributes(member, excludeAttributes), - ReturnType = returnType, - }; - PopulateCustomAttributes(member.MethodReturnType, method.ReturnTypeCustomAttributes, excludeAttributes); - PopulateGenericParameters(member, method.TypeParameters); - PopulateMethodParameters(member, method.Parameters, excludeAttributes, IsExtensionMethod(member)); - - typeDeclaration.Members.Add(method); - } - - static bool IsExtensionMethod(ICustomAttributeProvider method) - { - return method.CustomAttributes.Any(a => a.AttributeType.FullName == "System.Runtime.CompilerServices.ExtensionAttribute"); - } - - static void PopulateMethodParameters(IMethodSignature member, - CodeParameterDeclarationExpressionCollection parameters, - HashSet excludeAttributes, - bool isExtension = false) - { - foreach (var parameter in member.Parameters) - { - FieldDirection direction = 0; - if (parameter.IsOut) - direction |= FieldDirection.Out; - else if (parameter.ParameterType.IsByReference) - direction |= FieldDirection.Ref; - - var parameterType = parameter.ParameterType.IsByReference - ? parameter.ParameterType.GetElementType() - : parameter.ParameterType; - - var type = CreateCodeTypeReference(parameterType); - - if (isExtension) - { - type = ModifyCodeTypeReference(type, "this"); - isExtension = false; - } - - var name = parameter.HasConstant - ? string.Format(CultureInfo.InvariantCulture, "{0} = {1}", parameter.Name, FormatParameterConstant(parameter)) - : parameter.Name; - var expression = new CodeParameterDeclarationExpression(type, name) - { - Direction = direction, - CustomAttributes = CreateCustomAttributes(parameter, excludeAttributes) - }; - parameters.Add(expression); - } - } - - static object FormatParameterConstant(IConstantProvider parameter) - { - return parameter.Constant is string ? string.Format(CultureInfo.InvariantCulture, "\"{0}\"", parameter.Constant) : (parameter.Constant ?? "null"); - } - - static MemberAttributes GetMethodAttributes(MethodDefinition method) - { - MemberAttributes access = 0; - if (method.IsFamily) - access = MemberAttributes.Family; - if (method.IsPublic) - access = MemberAttributes.Public; - if (method.IsAssembly) - access = MemberAttributes.Assembly; - if (method.IsFamilyAndAssembly) - access = MemberAttributes.FamilyAndAssembly; - if (method.IsFamilyOrAssembly) - access = MemberAttributes.FamilyOrAssembly; - - MemberAttributes scope = 0; - if (method.IsStatic) - scope |= MemberAttributes.Static; - if (method.IsFinal || !method.IsVirtual) - scope |= MemberAttributes.Final; - if (method.IsAbstract) - scope |= MemberAttributes.Abstract; - if (method.IsVirtual && !method.IsNewSlot) - scope |= MemberAttributes.Override; - - MemberAttributes vtable = 0; - if (IsHidingMethod(method)) - vtable = MemberAttributes.New; - - return access | scope | vtable; - } - - static bool IsHidingMethod(MethodDefinition method) - { - var typeDefinition = method.DeclaringType; - - // If we're an interface, just try and find any method with the same signature - // in any of the interfaces that we implement - if (typeDefinition.IsInterface) - { - var interfaceMethods = from @interfaceReference in typeDefinition.Interfaces - let interfaceDefinition = @interfaceReference.InterfaceType.Resolve() - where interfaceDefinition != null - select interfaceDefinition.Methods; - - return interfaceMethods.Any(ms => MetadataResolver.GetMethod(ms, method) != null); - } - - // If we're not an interface, find a base method that isn't virtual - return !method.IsVirtual && GetBaseTypes(typeDefinition).Any(d => MetadataResolver.GetMethod(d.Methods, method) != null); - } - - static IEnumerable GetBaseTypes(TypeDefinition type) - { - var baseType = type.BaseType; - while (baseType != null) - { - var definition = baseType.Resolve(); - if (definition == null) - yield break; - yield return definition; - - baseType = baseType.DeclaringType; - } - } - - static void AddPropertyToTypeDeclaration(CodeTypeDeclaration typeDeclaration, PropertyDefinition member, HashSet excludeAttributes) - { - var getterAttributes = member.GetMethod != null ? GetMethodAttributes(member.GetMethod) : 0; - var setterAttributes = member.SetMethod != null ? GetMethodAttributes(member.SetMethod) : 0; - - if (!HasVisiblePropertyMethod(getterAttributes) && !HasVisiblePropertyMethod(setterAttributes)) - return; - - var propertyAttributes = GetPropertyAttributes(getterAttributes, setterAttributes); - - var propertyType = member.PropertyType.IsGenericParameter - ? new CodeTypeReference(member.PropertyType.Name) - : CreateCodeTypeReference(member.PropertyType); - - var property = new CodeMemberProperty - { - Name = member.Name, - Type = propertyType, - Attributes = propertyAttributes, - CustomAttributes = CreateCustomAttributes(member, excludeAttributes), - HasGet = member.GetMethod != null && HasVisiblePropertyMethod(getterAttributes), - HasSet = member.SetMethod != null && HasVisiblePropertyMethod(setterAttributes) - }; - - // Here's a nice hack, because hey, guess what, the CodeDOM doesn't support - // attributes on getters or setters - if (member.GetMethod != null && member.GetMethod.HasCustomAttributes) - { - PopulateCustomAttributes(member.GetMethod, property.CustomAttributes, type => ModifyCodeTypeReference(type, "get:"), excludeAttributes); - } - if (member.SetMethod != null && member.SetMethod.HasCustomAttributes) - { - PopulateCustomAttributes(member.SetMethod, property.CustomAttributes, type => ModifyCodeTypeReference(type, "set:"), excludeAttributes); - } - - foreach (var parameter in member.Parameters) - { - property.Parameters.Add( - new CodeParameterDeclarationExpression(CreateCodeTypeReference(parameter.ParameterType), - parameter.Name)); - } - - // TODO: CodeDOM has no support for different access modifiers for getters and setters - // TODO: CodeDOM has no support for attributes on setters or getters - promote to property? - - typeDeclaration.Members.Add(property); - } - - static MemberAttributes GetPropertyAttributes(MemberAttributes getterAttributes, MemberAttributes setterAttributes) - { - MemberAttributes access = 0; - var getterAccess = getterAttributes & MemberAttributes.AccessMask; - var setterAccess = setterAttributes & MemberAttributes.AccessMask; - if (getterAccess == MemberAttributes.Public || setterAccess == MemberAttributes.Public) - access = MemberAttributes.Public; - else if (getterAccess == MemberAttributes.Family || setterAccess == MemberAttributes.Family) - access = MemberAttributes.Family; - else if (getterAccess == MemberAttributes.FamilyAndAssembly || setterAccess == MemberAttributes.FamilyAndAssembly) - access = MemberAttributes.FamilyAndAssembly; - else if (getterAccess == MemberAttributes.FamilyOrAssembly || setterAccess == MemberAttributes.FamilyOrAssembly) - access = MemberAttributes.FamilyOrAssembly; - else if (getterAccess == MemberAttributes.Assembly || setterAccess == MemberAttributes.Assembly) - access = MemberAttributes.Assembly; - else if (getterAccess == MemberAttributes.Private || setterAccess == MemberAttributes.Private) - access = MemberAttributes.Private; - - // Scope should be the same for getter and setter. If one isn't specified, it'll be 0 - var getterScope = getterAttributes & MemberAttributes.ScopeMask; - var setterScope = setterAttributes & MemberAttributes.ScopeMask; - var scope = (MemberAttributes)Math.Max((int)getterScope, (int)setterScope); - - // Vtable should be the same for getter and setter. If one isn't specified, it'll be 0 - var getterVtable = getterAttributes & MemberAttributes.VTableMask; - var setterVtable = setterAttributes & MemberAttributes.VTableMask; - var vtable = (MemberAttributes)Math.Max((int)getterVtable, (int)setterVtable); - - return access | scope | vtable; - } - - static bool HasVisiblePropertyMethod(MemberAttributes attributes) - { - var access = attributes & MemberAttributes.AccessMask; - return access == MemberAttributes.Public || access == MemberAttributes.Family || - access == MemberAttributes.FamilyOrAssembly; - } - - static CodeTypeMember GenerateEvent(EventDefinition eventDefinition, HashSet excludeAttributes) - { - var @event = new CodeMemberEvent - { - Name = eventDefinition.Name, - Attributes = MemberAttributes.Public | MemberAttributes.Final, - CustomAttributes = CreateCustomAttributes(eventDefinition, excludeAttributes), - Type = CreateCodeTypeReference(eventDefinition.EventType) - }; - - return @event; - } - - static void AddFieldToTypeDeclaration(CodeTypeDeclaration typeDeclaration, FieldDefinition memberInfo, HashSet excludeAttributes) - { - if (memberInfo.IsPrivate || memberInfo.IsAssembly || memberInfo.IsSpecialName) - return; - - MemberAttributes attributes = 0; - if (memberInfo.HasConstant) - attributes |= MemberAttributes.Const; - if (memberInfo.IsFamily) - attributes |= MemberAttributes.Family; - if (memberInfo.IsPublic) - attributes |= MemberAttributes.Public; - if (memberInfo.IsStatic && !memberInfo.HasConstant) - attributes |= MemberAttributes.Static; - - // TODO: Values for readonly fields are set in the ctor - var codeTypeReference = CreateCodeTypeReference(memberInfo.FieldType); - if (memberInfo.IsInitOnly) - codeTypeReference = MakeReadonly(codeTypeReference); - var field = new CodeMemberField(codeTypeReference, memberInfo.Name) - { - Attributes = attributes, - CustomAttributes = CreateCustomAttributes(memberInfo, excludeAttributes) - }; - - if (memberInfo.HasConstant) - field.InitExpression = new CodePrimitiveExpression(memberInfo.Constant); - - typeDeclaration.Members.Add(field); - } - - static CodeTypeReference MakeReadonly(CodeTypeReference typeReference) - { - return ModifyCodeTypeReference(typeReference, "readonly"); - } - - static CodeTypeReference ModifyCodeTypeReference(CodeTypeReference typeReference, string modifier) - { - using (var provider = new CSharpCodeProvider()) - return new CodeTypeReference(modifier + " " + provider.GetTypeOutput(typeReference)); - } - - static CodeTypeReference CreateCodeTypeReference(TypeReference type) - { - var typeName = GetTypeName(type); - return new CodeTypeReference(typeName, CreateGenericArguments(type)); - } - - static string GetTypeName(TypeReference type) - { - if (type.IsGenericParameter) - return type.Name; - - if (!type.IsNested) - { - return (!string.IsNullOrEmpty(type.Namespace) ? (type.Namespace + ".") : "") + type.Name; - } - - return GetTypeName(type.DeclaringType) + "." + type.Name; - } - - static CodeTypeReference[] CreateGenericArguments(TypeReference type) - { - var genericInstance = type as IGenericInstance; - if (genericInstance == null) return null; - - var genericArguments = new List(); - foreach (var argument in genericInstance.GenericArguments) - { - genericArguments.Add(CreateCodeTypeReference(argument)); - } - return genericArguments.ToArray(); - } - } - - static class CecilEx - { - public static IEnumerable GetMembers(this TypeDefinition type) - { - return type.Fields.Cast() - .Concat(type.Methods) - .Concat(type.Properties) - .Concat(type.Events); - } - } -} diff --git a/projects/client/Unit/src/unit/APIApproval.Approve.approved.txt b/projects/client/Unit/src/unit/APIApproval.Approve.approved.txt index e606f30ea6..ecfa878912 100644 --- a/projects/client/Unit/src/unit/APIApproval.Approve.approved.txt +++ b/projects/client/Unit/src/unit/APIApproval.Approve.approved.txt @@ -1,15 +1,15 @@ -[assembly: System.Runtime.CompilerServices.InternalsVisibleToAttribute("Unit")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Unit")] namespace RabbitMQ.Client { public class AmqpTcpEndpoint { public const int DefaultAmqpSslPort = 5671; public const int UseDefaultPort = -1; - public AmqpTcpEndpoint(string hostName, int portOrMinusOne, RabbitMQ.Client.SslOption ssl) { } - public AmqpTcpEndpoint(string hostName, int portOrMinusOne = -1) { } public AmqpTcpEndpoint() { } - public AmqpTcpEndpoint(System.Uri uri, RabbitMQ.Client.SslOption ssl) { } public AmqpTcpEndpoint(System.Uri uri) { } + public AmqpTcpEndpoint(string hostName, int portOrMinusOne = -1) { } + public AmqpTcpEndpoint(System.Uri uri, RabbitMQ.Client.SslOption ssl) { } + public AmqpTcpEndpoint(string hostName, int portOrMinusOne, RabbitMQ.Client.SslOption ssl) { } public System.Net.Sockets.AddressFamily AddressFamily { get; set; } public string HostName { get; set; } public int Port { get; set; } @@ -19,9 +19,9 @@ namespace RabbitMQ.Client public RabbitMQ.Client.AmqpTcpEndpoint CloneWithHostname(string hostname) { } public override bool Equals(object obj) { } public override int GetHashCode() { } + public override string ToString() { } public static RabbitMQ.Client.AmqpTcpEndpoint Parse(string address) { } public static RabbitMQ.Client.AmqpTcpEndpoint[] ParseMultiple(string addresses) { } - public override string ToString() { } } public struct AmqpTimestamp { @@ -47,7 +47,6 @@ namespace RabbitMQ.Client public RabbitMQ.Client.IModel Model { get; set; } public RabbitMQ.Client.ShutdownEventArgs ShutdownReason { get; set; } public event RabbitMQ.Client.Events.AsyncEventHandler ConsumerCancelled; - public event System.EventHandler RabbitMQ.Client.IBasicConsumer.ConsumerCancelled; public virtual System.Threading.Tasks.Task HandleBasicCancel(string consumerTag) { } public virtual System.Threading.Tasks.Task HandleBasicCancelOk(string consumerTag) { } public virtual System.Threading.Tasks.Task HandleBasicConsumeOk(string consumerTag) { } @@ -83,14 +82,14 @@ namespace RabbitMQ.Client } public sealed class ConnectionFactory : RabbitMQ.Client.ConnectionFactoryBase, RabbitMQ.Client.IAsyncConnectionFactory, RabbitMQ.Client.IConnectionFactory { - public static readonly System.Collections.Generic.IList DefaultAuthMechanisms; public const ushort DefaultChannelMax = 2047; - public static readonly System.TimeSpan DefaultConnectionTimeout; public const uint DefaultFrameMax = 0u; - public static readonly System.TimeSpan DefaultHeartbeat; public const string DefaultPass = "guest"; public const string DefaultUser = "guest"; public const string DefaultVHost = "/"; + public static readonly System.Collections.Generic.IList DefaultAuthMechanisms; + public static readonly System.TimeSpan DefaultConnectionTimeout; + public static readonly System.TimeSpan DefaultHeartbeat; public ConnectionFactory() { } public System.Security.Authentication.SslProtocols AmqpUriSslProtocols { get; set; } public System.Collections.Generic.IList AuthMechanisms { get; set; } @@ -98,8 +97,6 @@ namespace RabbitMQ.Client public System.Collections.Generic.IDictionary ClientProperties { get; set; } public string ClientProvidedName { get; set; } public System.TimeSpan ContinuationTimeout { get; set; } - public static System.Net.Sockets.AddressFamily DefaultAddressFamily { get; set; } - public static System.Security.Authentication.SslProtocols DefaultAmqpUriSslProtocols { get; set; } public bool DispatchConsumersAsync { get; set; } public RabbitMQ.Client.AmqpTcpEndpoint Endpoint { get; set; } public System.Func, RabbitMQ.Client.IEndpointResolver> EndpointResolverFactory { get; set; } @@ -120,14 +117,16 @@ namespace RabbitMQ.Client public bool UseBackgroundThreadsForIO { get; set; } public string UserName { get; set; } public string VirtualHost { get; set; } + public static System.Net.Sockets.AddressFamily DefaultAddressFamily { get; set; } + public static System.Security.Authentication.SslProtocols DefaultAmqpUriSslProtocols { get; set; } public RabbitMQ.Client.AuthMechanismFactory AuthMechanismFactory(System.Collections.Generic.IList mechanismNames) { } public RabbitMQ.Client.IConnection CreateConnection() { } - public RabbitMQ.Client.IConnection CreateConnection(string clientProvidedName) { } - public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames) { } - public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames, string clientProvidedName) { } public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList endpoints) { } - public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList endpoints, string clientProvidedName) { } + public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames) { } + public RabbitMQ.Client.IConnection CreateConnection(string clientProvidedName) { } public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IEndpointResolver endpointResolver, string clientProvidedName) { } + public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList endpoints, string clientProvidedName) { } + public RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames, string clientProvidedName) { } } public class ConnectionFactoryBase { @@ -139,8 +138,8 @@ namespace RabbitMQ.Client { public ConsumerWorkService() { } public void AddWork(RabbitMQ.Client.IModel model, System.Action fn) { } - public void StopWork(RabbitMQ.Client.IModel model) { } public void StopWork() { } + public void StopWork(RabbitMQ.Client.IModel model) { } } public class DefaultBasicConsumer : RabbitMQ.Client.IBasicConsumer { @@ -164,7 +163,7 @@ namespace RabbitMQ.Client public DefaultEndpointResolver(System.Collections.Generic.IEnumerable tcpEndpoints) { } public System.Collections.Generic.IEnumerable All() { } } - public class static ESLog + public static class ESLog { public static void Error(string message, System.Exception ex) { } public static void Error(string message, System.Exception ex, params object[] args) { } @@ -173,11 +172,11 @@ namespace RabbitMQ.Client public static void Warn(string message) { } public static void Warn(string message, params object[] args) { } } - public class static EndpointResolverExtensions + public static class EndpointResolverExtensions { public static T SelectOne(this RabbitMQ.Client.IEndpointResolver resolver, System.Func selector) { } } - public class static ExchangeType + public static class ExchangeType { public const string Direct = "direct"; public const string Fanout = "fanout"; @@ -196,7 +195,7 @@ namespace RabbitMQ.Client public string Name { get; } public RabbitMQ.Client.AuthMechanism GetInstance() { } } - public class static Headers + public static class Headers { public const string AlternateExchange = "alternate-exchange"; public const string XDeadLetterExchange = "x-dead-letter-exchange"; @@ -216,7 +215,7 @@ namespace RabbitMQ.Client public interface IAsyncBasicConsumer { RabbitMQ.Client.IModel Model { get; } - public event RabbitMQ.Client.Events.AsyncEventHandler ConsumerCancelled; + event RabbitMQ.Client.Events.AsyncEventHandler ConsumerCancelled; System.Threading.Tasks.Task HandleBasicCancel(string consumerTag); System.Threading.Tasks.Task HandleBasicCancelOk(string consumerTag); System.Threading.Tasks.Task HandleBasicConsumeOk(string consumerTag); @@ -230,7 +229,7 @@ namespace RabbitMQ.Client public interface IBasicConsumer { RabbitMQ.Client.IModel Model { get; } - public event System.EventHandler ConsumerCancelled; + event System.EventHandler ConsumerCancelled; void HandleBasicCancel(string consumerTag); void HandleBasicCancelOk(string consumerTag); void HandleBasicConsumeOk(string consumerTag); @@ -304,19 +303,19 @@ namespace RabbitMQ.Client RabbitMQ.Client.IProtocol Protocol { get; } System.Collections.Generic.IDictionary ServerProperties { get; } System.Collections.Generic.IList ShutdownReport { get; } - public event System.EventHandler CallbackException; - public event System.EventHandler ConnectionBlocked; - public event System.EventHandler ConnectionRecoveryError; - public event System.EventHandler ConnectionShutdown; - public event System.EventHandler ConnectionUnblocked; - public event System.EventHandler RecoverySucceeded; + event System.EventHandler CallbackException; + event System.EventHandler ConnectionBlocked; + event System.EventHandler ConnectionRecoveryError; + event System.EventHandler ConnectionShutdown; + event System.EventHandler ConnectionUnblocked; + event System.EventHandler RecoverySucceeded; void Abort(); - void Abort(ushort reasonCode, string reasonText); void Abort(System.TimeSpan timeout); + void Abort(ushort reasonCode, string reasonText); void Abort(ushort reasonCode, string reasonText, System.TimeSpan timeout); void Close(); - void Close(ushort reasonCode, string reasonText); void Close(System.TimeSpan timeout); + void Close(ushort reasonCode, string reasonText); void Close(ushort reasonCode, string reasonText, System.TimeSpan timeout); RabbitMQ.Client.IModel CreateModel(); void HandleConnectionBlocked(string reason); @@ -339,11 +338,11 @@ namespace RabbitMQ.Client string VirtualHost { get; set; } RabbitMQ.Client.AuthMechanismFactory AuthMechanismFactory(System.Collections.Generic.IList mechanismNames); RabbitMQ.Client.IConnection CreateConnection(); - RabbitMQ.Client.IConnection CreateConnection(string clientProvidedName); - RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames); - RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames, string clientProvidedName); RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList endpoints); + RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames); + RabbitMQ.Client.IConnection CreateConnection(string clientProvidedName); RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList endpoints, string clientProvidedName); + RabbitMQ.Client.IConnection CreateConnection(System.Collections.Generic.IList hostnames, string clientProvidedName); } public interface IContentHeader { @@ -369,109 +368,109 @@ namespace RabbitMQ.Client bool IsClosed { get; } bool IsOpen { get; } ulong NextPublishSeqNo { get; } - public event System.EventHandler BasicAcks; - public event System.EventHandler BasicNacks; - public event System.EventHandler BasicRecoverOk; - public event System.EventHandler BasicReturn; - public event System.EventHandler CallbackException; - public event System.EventHandler FlowControl; - public event System.EventHandler ModelShutdown; - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + event System.EventHandler BasicAcks; + event System.EventHandler BasicNacks; + event System.EventHandler BasicRecoverOk; + event System.EventHandler BasicReturn; + event System.EventHandler CallbackException; + event System.EventHandler FlowControl; + event System.EventHandler ModelShutdown; + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void Abort(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void Abort(ushort replyCode, string replyText); void BasicAck(ulong deliveryTag, bool multiple); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void BasicCancel(string consumerTag); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] string BasicConsume(string queue, bool autoAck, string consumerTag, bool noLocal, bool exclusive, System.Collections.Generic.IDictionary arguments, RabbitMQ.Client.IBasicConsumer consumer); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] RabbitMQ.Client.BasicGetResult BasicGet(string queue, bool autoAck); void BasicNack(ulong deliveryTag, bool multiple, bool requeue); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void BasicPublish(string exchange, string routingKey, bool mandatory, RabbitMQ.Client.IBasicProperties basicProperties, byte[] body); void BasicQos(uint prefetchSize, ushort prefetchCount, bool global); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void BasicRecover(bool requeue); void BasicRecoverAsync(bool requeue); void BasicReject(ulong deliveryTag, bool requeue); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void Close(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void Close(ushort replyCode, string replyText); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ConfirmSelect(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] uint ConsumerCount(string queue); - [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderFactoryAttribute("basic")] + [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderFactory("basic")] RabbitMQ.Client.IBasicProperties CreateBasicProperties(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] RabbitMQ.Client.IBasicPublishBatch CreateBasicPublishBatch(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeBind(string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments); void ExchangeBindNoWait(string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeDeclare(string exchange, string type, bool durable, bool autoDelete, System.Collections.Generic.IDictionary arguments); void ExchangeDeclareNoWait(string exchange, string type, bool durable, bool autoDelete, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeDeclarePassive(string exchange); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeDelete(string exchange, bool ifUnused); void ExchangeDeleteNoWait(string exchange, bool ifUnused); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeUnbind(string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void ExchangeUnbindNoWait(string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] uint MessageCount(string queue); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void QueueBind(string queue, string exchange, string routingKey, System.Collections.Generic.IDictionary arguments); void QueueBindNoWait(string queue, string exchange, string routingKey, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] RabbitMQ.Client.QueueDeclareOk QueueDeclare(string queue, bool durable, bool exclusive, bool autoDelete, System.Collections.Generic.IDictionary arguments); void QueueDeclareNoWait(string queue, bool durable, bool exclusive, bool autoDelete, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] RabbitMQ.Client.QueueDeclareOk QueueDeclarePassive(string queue); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] uint QueueDelete(string queue, bool ifUnused, bool ifEmpty); void QueueDeleteNoWait(string queue, bool ifUnused, bool ifEmpty); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] uint QueuePurge(string queue); void QueueUnbind(string queue, string exchange, string routingKey, System.Collections.Generic.IDictionary arguments); void TxCommit(); void TxRollback(); void TxSelect(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] bool WaitForConfirms(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] bool WaitForConfirms(System.TimeSpan timeout); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] bool WaitForConfirms(System.TimeSpan timeout, out bool timedOut); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void WaitForConfirmsOrDie(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplementAttribute(null)] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodDoNotImplement(null)] void WaitForConfirmsOrDie(System.TimeSpan timeout); } - public class static IModelExensions + public static class IModelExensions { - public static string BasicConsume(this RabbitMQ.Client.IModel model, RabbitMQ.Client.IBasicConsumer consumer, string queue, bool autoAck = False, string consumerTag = "", bool noLocal = False, bool exclusive = False, System.Collections.Generic.IDictionary arguments = null) { } public static string BasicConsume(this RabbitMQ.Client.IModel model, string queue, bool autoAck, RabbitMQ.Client.IBasicConsumer consumer) { } public static string BasicConsume(this RabbitMQ.Client.IModel model, string queue, bool autoAck, string consumerTag, RabbitMQ.Client.IBasicConsumer consumer) { } public static string BasicConsume(this RabbitMQ.Client.IModel model, string queue, bool autoAck, string consumerTag, System.Collections.Generic.IDictionary arguments, RabbitMQ.Client.IBasicConsumer consumer) { } + public static string BasicConsume(this RabbitMQ.Client.IModel model, RabbitMQ.Client.IBasicConsumer consumer, string queue, bool autoAck = false, string consumerTag = "", bool noLocal = false, bool exclusive = false, System.Collections.Generic.IDictionary arguments = null) { } public static void BasicPublish(this RabbitMQ.Client.IModel model, RabbitMQ.Client.PublicationAddress addr, RabbitMQ.Client.IBasicProperties basicProperties, byte[] body) { } public static void BasicPublish(this RabbitMQ.Client.IModel model, string exchange, string routingKey, RabbitMQ.Client.IBasicProperties basicProperties, byte[] body) { } - public static void BasicPublish(this RabbitMQ.Client.IModel model, string exchange, string routingKey, bool mandatory = False, RabbitMQ.Client.IBasicProperties basicProperties = null, byte[] body = null) { } + public static void BasicPublish(this RabbitMQ.Client.IModel model, string exchange, string routingKey, bool mandatory = false, RabbitMQ.Client.IBasicProperties basicProperties = null, byte[] body = null) { } public static void ExchangeBind(this RabbitMQ.Client.IModel model, string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments = null) { } public static void ExchangeBindNoWait(this RabbitMQ.Client.IModel model, string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments = null) { } - public static void ExchangeDeclare(this RabbitMQ.Client.IModel model, string exchange, string type, bool durable = False, bool autoDelete = False, System.Collections.Generic.IDictionary arguments = null) { } - public static void ExchangeDeclareNoWait(this RabbitMQ.Client.IModel model, string exchange, string type, bool durable = False, bool autoDelete = False, System.Collections.Generic.IDictionary arguments = null) { } - public static void ExchangeDelete(this RabbitMQ.Client.IModel model, string exchange, bool ifUnused = False) { } - public static void ExchangeDeleteNoWait(this RabbitMQ.Client.IModel model, string exchange, bool ifUnused = False) { } + public static void ExchangeDeclare(this RabbitMQ.Client.IModel model, string exchange, string type, bool durable = false, bool autoDelete = false, System.Collections.Generic.IDictionary arguments = null) { } + public static void ExchangeDeclareNoWait(this RabbitMQ.Client.IModel model, string exchange, string type, bool durable = false, bool autoDelete = false, System.Collections.Generic.IDictionary arguments = null) { } + public static void ExchangeDelete(this RabbitMQ.Client.IModel model, string exchange, bool ifUnused = false) { } + public static void ExchangeDeleteNoWait(this RabbitMQ.Client.IModel model, string exchange, bool ifUnused = false) { } public static void ExchangeUnbind(this RabbitMQ.Client.IModel model, string destination, string source, string routingKey, System.Collections.Generic.IDictionary arguments = null) { } public static void QueueBind(this RabbitMQ.Client.IModel model, string queue, string exchange, string routingKey, System.Collections.Generic.IDictionary arguments = null) { } - public static RabbitMQ.Client.QueueDeclareOk QueueDeclare(this RabbitMQ.Client.IModel model, string queue = "", bool durable = False, bool exclusive = True, bool autoDelete = True, System.Collections.Generic.IDictionary arguments = null) { } - public static uint QueueDelete(this RabbitMQ.Client.IModel model, string queue, bool ifUnused = False, bool ifEmpty = False) { } - public static void QueueDeleteNoWait(this RabbitMQ.Client.IModel model, string queue, bool ifUnused = False, bool ifEmpty = False) { } + public static RabbitMQ.Client.QueueDeclareOk QueueDeclare(this RabbitMQ.Client.IModel model, string queue = "", bool durable = false, bool exclusive = true, bool autoDelete = true, System.Collections.Generic.IDictionary arguments = null) { } + public static uint QueueDelete(this RabbitMQ.Client.IModel model, string queue, bool ifUnused = false, bool ifEmpty = false) { } + public static void QueueDeleteNoWait(this RabbitMQ.Client.IModel model, string queue, bool ifUnused = false, bool ifEmpty = false) { } public static void QueueUnbind(this RabbitMQ.Client.IModel model, string queue, string exchange, string routingKey, System.Collections.Generic.IDictionary arguments = null) { } } public interface IProtocol @@ -481,15 +480,15 @@ namespace RabbitMQ.Client int MajorVersion { get; } int MinorVersion { get; } int Revision { get; } - RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler); RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.ConnectionFactory factory, RabbitMQ.Client.Impl.IFrameHandler frameHandler, bool automaticRecoveryEnabled); - RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler, string clientProvidedName); + RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler); RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.ConnectionFactory factory, RabbitMQ.Client.Impl.IFrameHandler frameHandler, bool automaticRecoveryEnabled, string clientProvidedName); + RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler, string clientProvidedName); RabbitMQ.Client.IModel CreateModel(RabbitMQ.Client.Impl.ISession session); } public interface IRecoverable { - public event System.EventHandler Recovery; + event System.EventHandler Recovery; } public interface IStreamProperties : RabbitMQ.Client.IContentHeader { @@ -536,11 +535,11 @@ namespace RabbitMQ.Client } public class ProtocolViolationException : RabbitMQ.Client.Exceptions.RabbitMQClientException { + public ProtocolViolationException() { } public ProtocolViolationException(string message) { } public ProtocolViolationException(string message, System.Exception inner) { } - public ProtocolViolationException() { } } - public class static Protocols + public static class Protocols { public static RabbitMQ.Client.IProtocol AMQP_0_9_1 { get; } public static RabbitMQ.Client.IProtocol DefaultProtocol { get; } @@ -552,8 +551,8 @@ namespace RabbitMQ.Client public string ExchangeName { get; } public string ExchangeType { get; } public string RoutingKey { get; } - public static RabbitMQ.Client.PublicationAddress Parse(string uriLikeString) { } public override string ToString() { } + public static RabbitMQ.Client.PublicationAddress Parse(string uriLikeString) { } } public class QueueDeclareOk { @@ -594,8 +593,8 @@ namespace RabbitMQ.Client } public class SslOption { - public SslOption(string serverName, string certificatePath = "", bool enabled = False) { } public SslOption() { } + public SslOption(string serverName, string certificatePath = "", bool enabled = false) { } public System.Net.Security.SslPolicyErrors AcceptablePolicyErrors { get; set; } public string CertPassphrase { get; set; } public string CertPath { get; set; } @@ -615,12 +614,12 @@ namespace RabbitMQ.Client public virtual System.TimeSpan ReceiveTimeout { get; set; } public virtual void Close() { } public virtual System.Threading.Tasks.Task ConnectAsync(string host, int port) { } - [System.ObsoleteAttribute("Override Dispose(bool) instead.")] + [System.Obsolete("Override Dispose(bool) instead.")] public virtual void Dispose() { } protected virtual void Dispose(bool disposing) { } public virtual System.Net.Sockets.NetworkStream GetStream() { } } - public class static TcpClientAdapterHelper + public static class TcpClientAdapterHelper { public static System.Net.IPAddress GetMatchingHost(System.Collections.Generic.IReadOnlyCollection addresses, System.Net.Sockets.AddressFamily addressFamily) { } } @@ -636,7 +635,7 @@ namespace RabbitMQ.Client.Apigen.Attributes public string m_namespaceName; public AmqpApigenAttribute(string namespaceName) { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpAsynchronousHandlerAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public AmqpAsynchronousHandlerAttribute(string namespaceName) { } @@ -654,7 +653,7 @@ namespace RabbitMQ.Client.Apigen.Attributes { public AmqpContentHeaderMappingAttribute() { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpFieldMappingAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public string m_fieldName; @@ -664,26 +663,26 @@ namespace RabbitMQ.Client.Apigen.Attributes { public AmqpForceOneWayAttribute() { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpMethodDoNotImplementAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public AmqpMethodDoNotImplementAttribute(string namespaceName) { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpMethodMappingAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public string m_className; public string m_methodName; public AmqpMethodMappingAttribute(string namespaceName, string className, string methodName) { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpNowaitArgumentAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public string m_replacementExpression; public AmqpNowaitArgumentAttribute(string namespaceName) { } public AmqpNowaitArgumentAttribute(string namespaceName, string replacementExpression) { } } - [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] + [System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Parameter | System.AttributeTargets.Delegate | System.AttributeTargets.ReturnValue | System.AttributeTargets.GenericParameter | System.AttributeTargets.All, AllowMultiple=true)] public class AmqpUnsupportedAttribute : RabbitMQ.Client.Apigen.Attributes.AmqpApigenAttribute { public AmqpUnsupportedAttribute(string namespaceName) { } @@ -705,8 +704,8 @@ namespace RabbitMQ.Client.Content public virtual byte[] GetContentBody() { } public virtual RabbitMQ.Client.IContentHeader GetContentHeader() { } public virtual string GetDefaultContentType() { } - public RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte value) { } public RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte[] bytes) { } + public RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte value) { } public RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte[] bytes, int offset, int length) { } } public class BasicMessageReader : RabbitMQ.Client.Content.IMessageReader @@ -754,7 +753,7 @@ namespace RabbitMQ.Client.Content public float ReadSingle() { } public string ReadString() { } } - public class static BytesWireFormatting + public static class BytesWireFormatting { public static int Read(RabbitMQ.Util.NetworkBinaryReader reader, byte[] target, int offset, int count) { } public static byte ReadByte(RabbitMQ.Util.NetworkBinaryReader reader) { } @@ -818,8 +817,8 @@ namespace RabbitMQ.Client.Content byte[] GetContentBody(); RabbitMQ.Client.IContentHeader GetContentHeader(); string GetDefaultContentType(); - RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte value); RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte[] bytes); + RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte value); RabbitMQ.Client.Content.IMessageBuilder RawWrite(byte[] bytes, int offset, int length); } public interface IMessageReader @@ -834,8 +833,8 @@ namespace RabbitMQ.Client.Content { RabbitMQ.Client.Content.IStreamMessageBuilder WriteBool(bool value); RabbitMQ.Client.Content.IStreamMessageBuilder WriteByte(byte value); - RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source, int offset, int count); RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source); + RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source, int offset, int count); RabbitMQ.Client.Content.IStreamMessageBuilder WriteChar(char value); RabbitMQ.Client.Content.IStreamMessageBuilder WriteDouble(double value); RabbitMQ.Client.Content.IStreamMessageBuilder WriteInt16(short value); @@ -877,12 +876,12 @@ namespace RabbitMQ.Client.Content public MapMessageReader(RabbitMQ.Client.IBasicProperties properties, byte[] payload) { } public System.Collections.Generic.IDictionary Body { get; } } - public class static MapWireFormatting + public static class MapWireFormatting { public static System.Collections.Generic.IDictionary ReadMap(RabbitMQ.Util.NetworkBinaryReader reader) { } public static void WriteMap(RabbitMQ.Util.NetworkBinaryWriter writer, System.Collections.Generic.IDictionary table) { } } - public class static PrimitiveParser + public static class PrimitiveParser { public static System.Exception CreateProtocolViolationException(string targetType, object source) { } public static bool ParseBool(string value) { } @@ -901,8 +900,8 @@ namespace RabbitMQ.Client.Content public override string GetDefaultContentType() { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteBool(bool value) { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteByte(byte value) { } - public RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source, int offset, int count) { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source) { } + public RabbitMQ.Client.Content.IStreamMessageBuilder WriteBytes(byte[] source, int offset, int count) { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteChar(char value) { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteDouble(double value) { } public RabbitMQ.Client.Content.IStreamMessageBuilder WriteInt16(short value) { } @@ -930,7 +929,7 @@ namespace RabbitMQ.Client.Content public float ReadSingle() { } public string ReadString() { } } - public class static StreamWireFormatting + public static class StreamWireFormatting { public static bool ReadBool(RabbitMQ.Util.NetworkBinaryReader reader) { } public static byte ReadByte(RabbitMQ.Util.NetworkBinaryReader reader) { } @@ -947,8 +946,8 @@ namespace RabbitMQ.Client.Content public static string ReadUntypedString(RabbitMQ.Util.NetworkBinaryReader reader) { } public static void WriteBool(RabbitMQ.Util.NetworkBinaryWriter writer, bool value) { } public static void WriteByte(RabbitMQ.Util.NetworkBinaryWriter writer, byte value) { } - public static void WriteBytes(RabbitMQ.Util.NetworkBinaryWriter writer, byte[] value, int offset, int length) { } public static void WriteBytes(RabbitMQ.Util.NetworkBinaryWriter writer, byte[] value) { } + public static void WriteBytes(RabbitMQ.Util.NetworkBinaryWriter writer, byte[] value, int offset, int length) { } public static void WriteChar(RabbitMQ.Util.NetworkBinaryWriter writer, char value) { } public static void WriteDouble(RabbitMQ.Util.NetworkBinaryWriter writer, double value) { } public static void WriteInt16(RabbitMQ.Util.NetworkBinaryWriter writer, short value) { } @@ -1034,8 +1033,8 @@ namespace RabbitMQ.Client.Events public class CallbackExceptionEventArgs : RabbitMQ.Client.Events.BaseExceptionEventArgs { public CallbackExceptionEventArgs(System.Exception e) { } - public static RabbitMQ.Client.Events.CallbackExceptionEventArgs Build(System.Exception e, string context) { } public static RabbitMQ.Client.Events.CallbackExceptionEventArgs Build(System.Exception e, System.Collections.Generic.IDictionary details) { } + public static RabbitMQ.Client.Events.CallbackExceptionEventArgs Build(System.Exception e, string context) { } } public class ConnectionBlockedEventArgs : System.EventArgs { @@ -1112,10 +1111,10 @@ namespace RabbitMQ.Client.Exceptions } public class OperationInterruptedException : RabbitMQ.Client.Exceptions.RabbitMQClientException { - public OperationInterruptedException(RabbitMQ.Client.ShutdownEventArgs reason) { } - public OperationInterruptedException(RabbitMQ.Client.ShutdownEventArgs reason, string prefix) { } protected OperationInterruptedException() { } + public OperationInterruptedException(RabbitMQ.Client.ShutdownEventArgs reason) { } protected OperationInterruptedException(string message) { } + public OperationInterruptedException(RabbitMQ.Client.ShutdownEventArgs reason, string prefix) { } protected OperationInterruptedException(string message, System.Exception inner) { } public RabbitMQ.Client.ShutdownEventArgs ShutdownReason { get; set; } } @@ -1129,8 +1128,8 @@ namespace RabbitMQ.Client.Exceptions } public class PossibleAuthenticationFailureException : RabbitMQ.Client.Exceptions.RabbitMQClientException { - public PossibleAuthenticationFailureException(string msg, System.Exception inner) { } public PossibleAuthenticationFailureException(string msg) { } + public PossibleAuthenticationFailureException(string msg, System.Exception inner) { } } public class ProtocolVersionMismatchException : RabbitMQ.Client.ProtocolViolationException { @@ -1507,23 +1506,22 @@ namespace RabbitMQ.Client.Framing.Impl public event System.EventHandler ConnectionShutdown; public event System.EventHandler ConnectionUnblocked; public event System.EventHandler RecoverySucceeded; - public void Abort(ushort reasonCode, string reasonText, RabbitMQ.Client.ShutdownInitiator initiator, System.TimeSpan timeout) { } public void Abort() { } - public void Abort(ushort reasonCode, string reasonText) { } public void Abort(System.TimeSpan timeout) { } + public void Abort(ushort reasonCode, string reasonText) { } public void Abort(ushort reasonCode, string reasonText, System.TimeSpan timeout) { } - public void Close(RabbitMQ.Client.ShutdownEventArgs reason) { } - public void Close(RabbitMQ.Client.ShutdownEventArgs reason, bool abort, System.TimeSpan timeout) { } + public void Abort(ushort reasonCode, string reasonText, RabbitMQ.Client.ShutdownInitiator initiator, System.TimeSpan timeout) { } public void Close() { } - public void Close(ushort reasonCode, string reasonText) { } + public void Close(RabbitMQ.Client.ShutdownEventArgs reason) { } public void Close(System.TimeSpan timeout) { } + public void Close(ushort reasonCode, string reasonText) { } + public void Close(RabbitMQ.Client.ShutdownEventArgs reason, bool abort, System.TimeSpan timeout) { } public void Close(ushort reasonCode, string reasonText, System.TimeSpan timeout) { } public void ClosingLoop() { } public RabbitMQ.Client.Impl.Command ConnectionCloseWrapper(ushort reasonCode, string reasonText) { } public RabbitMQ.Client.IModel CreateModel() { } public RabbitMQ.Client.Impl.ISession CreateSession() { } public RabbitMQ.Client.Impl.ISession CreateSession(int channelNumber) { } - public static System.Collections.Generic.IDictionary DefaultClientProperties() { } public void EnsureIsOpen() { } public void FinishClose() { } public void HandleConnectionBlocked(string reason) { } @@ -1554,8 +1552,9 @@ namespace RabbitMQ.Client.Framing.Impl public void UpdateSecret(string newSecret, string reason) { } public void WriteFrame(RabbitMQ.Client.Impl.OutboundFrame f) { } public void WriteFrameSet(System.Collections.Generic.IList f) { } + public static System.Collections.Generic.IDictionary DefaultClientProperties() { } } - public class static IProtocolExtensions + public static class IProtocolExtensions { public static RabbitMQ.Client.Impl.IFrameHandler CreateFrameHandler(this RabbitMQ.Client.IProtocol protocol, RabbitMQ.Client.AmqpTcpEndpoint endpoint, System.Func socketFactory, System.TimeSpan connectionTimeout, System.TimeSpan readTimeout, System.TimeSpan writeTimeout) { } } @@ -1571,10 +1570,10 @@ namespace RabbitMQ.Client.Framing.Impl public RabbitMQ.Client.AmqpVersion Version { get; } public bool CanSendWhileClosed(RabbitMQ.Client.Impl.Command cmd) { } public void CreateChannelClose(ushort reasonCode, string reasonText, out RabbitMQ.Client.Impl.Command request, out ushort replyClassId, out ushort replyMethodId) { } - public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler) { } - public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler, string clientProvidedName) { } public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.ConnectionFactory factory, RabbitMQ.Client.Impl.IFrameHandler frameHandler, bool automaticRecoveryEnabled) { } + public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler) { } public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.ConnectionFactory factory, RabbitMQ.Client.Impl.IFrameHandler frameHandler, bool automaticRecoveryEnabled, string clientProvidedName) { } + public RabbitMQ.Client.IConnection CreateConnection(RabbitMQ.Client.IConnectionFactory factory, bool insist, RabbitMQ.Client.Impl.IFrameHandler frameHandler, string clientProvidedName) { } public void CreateConnectionClose(ushort reasonCode, string reasonText, out RabbitMQ.Client.Impl.Command request, out ushort replyClassId, out ushort replyMethodId) { } public RabbitMQ.Client.IModel CreateModel(RabbitMQ.Client.Impl.ISession session) { } public RabbitMQ.Client.IModel CreateModel(RabbitMQ.Client.Impl.ISession session, RabbitMQ.Client.ConsumerWorkService workService) { } @@ -1666,11 +1665,11 @@ namespace RabbitMQ.Client.Impl public byte[] Body { get; } public RabbitMQ.Client.Impl.ContentHeaderBase Header { get; } public RabbitMQ.Client.Impl.MethodBase Method { get; } - public static System.Collections.Generic.List CalculateFrames(int channelNumber, RabbitMQ.Client.Framing.Impl.Connection connection, System.Collections.Generic.IList commands) { } - public static void CheckEmptyFrameSize() { } public void Transmit(int channelNumber, RabbitMQ.Client.Framing.Impl.Connection connection) { } public void TransmitAsFrameSet(int channelNumber, RabbitMQ.Client.Framing.Impl.Connection connection) { } public void TransmitAsSingleFrame(int channelNumber, RabbitMQ.Client.Framing.Impl.Connection connection) { } + public static System.Collections.Generic.List CalculateFrames(int channelNumber, RabbitMQ.Client.Framing.Impl.Connection connection, System.Collections.Generic.IList commands) { } + public static void CheckEmptyFrameSize() { } } public class CommandAssembler { @@ -1760,7 +1759,7 @@ namespace RabbitMQ.Client.Impl public EmptyOutboundFrame() { } public override void WritePayload(RabbitMQ.Util.NetworkBinaryWriter writer) { } } - public class static ExtensionMethods + public static class ExtensionMethods { public static T RandomItem(this System.Collections.Generic.IList list) { } } @@ -1829,82 +1828,82 @@ namespace RabbitMQ.Client.Impl void HandleBasicCancel(string consumerTag, bool nowait); void HandleBasicCancelOk(string consumerTag); void HandleBasicConsumeOk(string consumerTag); - void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMappingAttribute()] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMappingAttribute()] byte[] body); + void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMapping] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMapping] byte[] body); void HandleBasicGetEmpty(); - void HandleBasicGetOk(ulong deliveryTag, bool redelivered, string exchange, string routingKey, uint messageCount, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMappingAttribute()] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMappingAttribute()] byte[] body); + void HandleBasicGetOk(ulong deliveryTag, bool redelivered, string exchange, string routingKey, uint messageCount, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMapping] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMapping] byte[] body); void HandleBasicNack(ulong deliveryTag, bool multiple, bool requeue); void HandleBasicRecoverOk(); - void HandleBasicReturn(ushort replyCode, string replyText, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMappingAttribute()] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMappingAttribute()] byte[] body); + void HandleBasicReturn(ushort replyCode, string replyText, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMapping] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMapping] byte[] body); void HandleChannelClose(ushort replyCode, string replyText, ushort classId, ushort methodId); void HandleChannelCloseOk(); void HandleChannelFlow(bool active); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "blocked")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "blocked")] void HandleConnectionBlocked(string reason); void HandleConnectionClose(ushort replyCode, string replyText, ushort classId, ushort methodId); - void HandleConnectionOpenOk([RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute("RabbitMQ.Client.Framing", "reserved1")] string knownHosts); + void HandleConnectionOpenOk([RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping("RabbitMQ.Client.Framing", "reserved1")] string knownHosts); void HandleConnectionSecure(byte[] challenge); void HandleConnectionStart(byte versionMajor, byte versionMinor, System.Collections.Generic.IDictionary serverProperties, byte[] mechanisms, byte[] locales); void HandleConnectionTune(ushort channelMax, uint frameMax, ushort heartbeat); void HandleConnectionUnblocked(); void HandleQueueDeclareOk(string queue, uint messageCount, uint consumerCount); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "basic", "cancel")] + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "basic", "cancel")] void _Private_BasicCancel(string consumerTag, bool nowait); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "basic", "consume")] - void _Private_BasicConsume(string queue, string consumerTag, bool noLocal, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute(null, "noAck")] bool autoAck, bool exclusive, bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "basic", "get")] - void _Private_BasicGet(string queue, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute(null, "noAck")] bool autoAck); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "basic", "publish")] - void _Private_BasicPublish(string exchange, string routingKey, bool mandatory, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMappingAttribute()] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMappingAttribute()] byte[] body); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "basic", "recover")] + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "basic", "consume")] + void _Private_BasicConsume(string queue, string consumerTag, bool noLocal, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping(null, "noAck")] bool autoAck, bool exclusive, bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "basic", "get")] + void _Private_BasicGet(string queue, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping(null, "noAck")] bool autoAck); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "basic", "publish")] + void _Private_BasicPublish(string exchange, string routingKey, bool mandatory, [RabbitMQ.Client.Apigen.Attributes.AmqpContentHeaderMapping] RabbitMQ.Client.IBasicProperties basicProperties, [RabbitMQ.Client.Apigen.Attributes.AmqpContentBodyMapping] byte[] body); + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "basic", "recover")] void _Private_BasicRecover(bool requeue); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "channel", "close")] + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "channel", "close")] void _Private_ChannelClose(ushort replyCode, string replyText, ushort classId, ushort methodId); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "channel", "close-ok")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "channel", "close-ok")] void _Private_ChannelCloseOk(); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "channel", "flow-ok")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "channel", "flow-ok")] void _Private_ChannelFlowOk(bool active); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "channel", "open")] - void _Private_ChannelOpen([RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute("RabbitMQ.Client.Framing", "reserved1")] string outOfBand); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "confirm", "select")] - void _Private_ConfirmSelect([RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "close")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "channel", "open")] + void _Private_ChannelOpen([RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping("RabbitMQ.Client.Framing", "reserved1")] string outOfBand); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "confirm", "select")] + void _Private_ConfirmSelect([RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "close")] void _Private_ConnectionClose(ushort replyCode, string replyText, ushort classId, ushort methodId); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "close-ok")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "close-ok")] void _Private_ConnectionCloseOk(); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "open")] - void _Private_ConnectionOpen(string virtualHost, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute("RabbitMQ.Client.Framing", "reserved1")] string capabilities, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute("RabbitMQ.Client.Framing", "reserved2")] bool insist); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "secure-ok")] + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "open")] + void _Private_ConnectionOpen(string virtualHost, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping("RabbitMQ.Client.Framing", "reserved1")] string capabilities, [RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping("RabbitMQ.Client.Framing", "reserved2")] bool insist); + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "secure-ok")] void _Private_ConnectionSecureOk(byte[] response); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "start-ok")] + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "start-ok")] void _Private_ConnectionStartOk(System.Collections.Generic.IDictionary clientProperties, string mechanism, byte[] response, string locale); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "exchange", "bind")] - void _Private_ExchangeBind(string destination, string source, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "exchange", "declare")] - void _Private_ExchangeDeclare(string exchange, string type, bool passive, bool durable, bool autoDelete, bool @internal, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "exchange", "delete")] - void _Private_ExchangeDelete(string exchange, bool ifUnused, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "exchange", "unbind")] - void _Private_ExchangeUnbind(string destination, string source, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "queue", "bind")] - void _Private_QueueBind(string queue, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWayAttribute()] - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "queue", "declare")] - void _Private_QueueDeclare(string queue, bool passive, bool durable, bool exclusive, bool autoDelete, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null)] bool nowait, System.Collections.Generic.IDictionary arguments); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "queue", "delete")] - [return: RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute(null, "messageCount")] - uint _Private_QueueDelete(string queue, bool ifUnused, bool ifEmpty, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null, "0xFFFFFFFF")] bool nowait); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "queue", "purge")] - [return: RabbitMQ.Client.Apigen.Attributes.AmqpFieldMappingAttribute(null, "messageCount")] - uint _Private_QueuePurge(string queue, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgumentAttribute(null, "0xFFFFFFFF")] bool nowait); - [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMappingAttribute(null, "connection", "update-secret")] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "exchange", "bind")] + void _Private_ExchangeBind(string destination, string source, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "exchange", "declare")] + void _Private_ExchangeDeclare(string exchange, string type, bool passive, bool durable, bool autoDelete, bool @internal, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "exchange", "delete")] + void _Private_ExchangeDelete(string exchange, bool ifUnused, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "exchange", "unbind")] + void _Private_ExchangeUnbind(string destination, string source, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "queue", "bind")] + void _Private_QueueBind(string queue, string exchange, string routingKey, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpForceOneWay] + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "queue", "declare")] + void _Private_QueueDeclare(string queue, bool passive, bool durable, bool exclusive, bool autoDelete, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null)] bool nowait, System.Collections.Generic.IDictionary arguments); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "queue", "delete")] + [return: RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping(null, "messageCount")] + uint _Private_QueueDelete(string queue, bool ifUnused, bool ifEmpty, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null, "0xFFFFFFFF")] bool nowait); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "queue", "purge")] + [return: RabbitMQ.Client.Apigen.Attributes.AmqpFieldMapping(null, "messageCount")] + uint _Private_QueuePurge(string queue, [RabbitMQ.Client.Apigen.Attributes.AmqpNowaitArgument(null, "0xFFFFFFFF")] bool nowait); + [RabbitMQ.Client.Apigen.Attributes.AmqpMethodMapping(null, "connection", "update-secret")] void _Private_UpdateSecret(byte[] newSecret, string reason); } public interface IRpcContinuation @@ -1919,7 +1918,7 @@ namespace RabbitMQ.Client.Impl System.Action CommandReceived { get; set; } RabbitMQ.Client.IConnection Connection { get; } bool IsOpen { get; } - public event System.EventHandler SessionShutdown; + event System.EventHandler SessionShutdown; void Close(RabbitMQ.Client.ShutdownEventArgs reason); void Close(RabbitMQ.Client.ShutdownEventArgs reason, bool notify); void HandleFrame(RabbitMQ.Client.Impl.InboundFrame frame); @@ -1973,8 +1972,8 @@ namespace RabbitMQ.Client.Impl public void WriteOctet(byte val) { } public void WriteShort(ushort val) { } public void WriteShortstr(string val) { } - public void WriteTable(System.Collections.IDictionary val) { } public void WriteTable(System.Collections.Generic.IDictionary val) { } + public void WriteTable(System.Collections.IDictionary val) { } public void WriteTimestamp(RabbitMQ.Client.AmqpTimestamp val) { } } public abstract class MethodBase : RabbitMQ.Client.IMethod @@ -2030,10 +2029,10 @@ namespace RabbitMQ.Client.Impl public abstract void BasicRecoverAsync(bool requeue); public abstract void BasicReject(ulong deliveryTag, bool requeue); protected void BroadcastShutdownToConsumers(System.Collections.Generic.IDictionary cs, RabbitMQ.Client.ShutdownEventArgs reason) { } - public void Close(ushort replyCode, string replyText, bool abort) { } - public void Close(RabbitMQ.Client.ShutdownEventArgs reason, bool abort) { } public void Close() { } + public void Close(RabbitMQ.Client.ShutdownEventArgs reason, bool abort) { } public void Close(ushort replyCode, string replyText) { } + public void Close(ushort replyCode, string replyText, bool abort) { } public void ConfirmSelect() { } public string ConnectionOpen(string virtualHost, string capabilities, bool insist) { } public RabbitMQ.Client.Impl.ConnectionSecureOrTune ConnectionSecureOk(byte[] response) { } @@ -2105,9 +2104,9 @@ namespace RabbitMQ.Client.Impl public abstract void TxRollback(); public abstract void TxSelect(); public void UpdateSecret(string newSecret, string reason) { } - public bool WaitForConfirms(System.TimeSpan timeout, out bool timedOut) { } public bool WaitForConfirms() { } public bool WaitForConfirms(System.TimeSpan timeout) { } + public bool WaitForConfirms(System.TimeSpan timeout, out bool timedOut) { } public void WaitForConfirmsOrDie() { } public void WaitForConfirmsOrDie(System.TimeSpan timeout) { } public abstract void _Private_BasicCancel(string consumerTag, bool nowait); @@ -2219,7 +2218,7 @@ namespace RabbitMQ.Client.Impl { public readonly ushort ChannelMax; public SessionManager(RabbitMQ.Client.Framing.Impl.Connection connection, ushort channelMax) { } - [System.ObsoleteAttribute("Please explicitly close connections instead.")] + [System.Obsolete("Please explicitly close connections instead.")] public bool AutoClose { get; set; } public int Count { get; } public void AutoCloseConnection() { } @@ -2335,25 +2334,25 @@ namespace RabbitMQ.Client.Impl public static void WriteOctet(RabbitMQ.Util.NetworkBinaryWriter writer, byte val) { } public static void WriteShort(RabbitMQ.Util.NetworkBinaryWriter writer, ushort val) { } public static void WriteShortstr(RabbitMQ.Util.NetworkBinaryWriter writer, string val) { } - public static void WriteTable(RabbitMQ.Util.NetworkBinaryWriter writer, System.Collections.IDictionary val) { } public static void WriteTable(RabbitMQ.Util.NetworkBinaryWriter writer, System.Collections.Generic.IDictionary val) { } + public static void WriteTable(RabbitMQ.Util.NetworkBinaryWriter writer, System.Collections.IDictionary val) { } public static void WriteTimestamp(RabbitMQ.Util.NetworkBinaryWriter writer, RabbitMQ.Client.AmqpTimestamp val) { } } } namespace RabbitMQ.Client.Logging { - [System.Diagnostics.Tracing.EventSourceAttribute(Name="rabbitmq-dotnet-client")] + [System.Diagnostics.Tracing.EventSource(Name="rabbitmq-dotnet-client")] public sealed class RabbitMqClientEventSource : System.Diagnostics.Tracing.EventSource { public static RabbitMQ.Client.Logging.RabbitMqClientEventSource Log; public RabbitMqClientEventSource() { } - [System.Diagnostics.Tracing.EventAttribute(3, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Error, Message="ERROR")] + [System.Diagnostics.Tracing.Event(3, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Error, Message="ERROR")] public void Error(string message, RabbitMQ.Client.Logging.RabbitMqExceptionDetail ex) { } - [System.Diagnostics.Tracing.NonEventAttribute()] + [System.Diagnostics.Tracing.NonEvent] public void Error(string message, System.Exception ex) { } - [System.Diagnostics.Tracing.EventAttribute(1, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Informational, Message="INFO")] + [System.Diagnostics.Tracing.Event(1, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Informational, Message="INFO")] public void Info(string message) { } - [System.Diagnostics.Tracing.EventAttribute(2, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Warning, Message="WARN")] + [System.Diagnostics.Tracing.Event(2, Keywords=System.Diagnostics.Tracing.EventKeywords.None | System.Diagnostics.Tracing.EventKeywords.All, Level=System.Diagnostics.Tracing.EventLevel.Warning, Message="WARN")] public void Warn(string message) { } public class Keywords { @@ -2367,11 +2366,11 @@ namespace RabbitMQ.Client.Logging public override void Dispose() { } protected override void OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs eventData) { } } - [System.Diagnostics.Tracing.EventDataAttribute()] + [System.Diagnostics.Tracing.EventData] public class RabbitMqExceptionDetail { - public RabbitMqExceptionDetail(System.Exception ex) { } public RabbitMqExceptionDetail(System.Collections.Generic.IDictionary ex) { } + public RabbitMqExceptionDetail(System.Exception ex) { } public string InnerException { get; } public string Message { get; } public string StackTrace { get; } @@ -2386,10 +2385,10 @@ namespace RabbitMQ.Util public System.EventHandler ContinueUsingValue; public BlockingCell() { } public void ContinueWithValue(T value) { } - public T WaitForValue(System.TimeSpan timeout) { } public T WaitForValue() { } + public T WaitForValue(System.TimeSpan timeout) { } } - public class static DebugUtil + public static class DebugUtil { public static void Dump(byte[] bytes) { } public static void Dump(byte[] bytes, System.IO.TextWriter writer) { } @@ -2443,16 +2442,16 @@ namespace RabbitMQ.Util { public NetworkBinaryWriter(System.IO.Stream output) { } public NetworkBinaryWriter(System.IO.Stream output, System.Text.Encoding encoding) { } - public static System.IO.BinaryWriter TemporaryBinaryWriter(int initialSize) { } - public static byte[] TemporaryContents(System.IO.BinaryWriter w) { } + public override void Write(double d) { } public override void Write(short i) { } - public override void Write(ushort i) { } public override void Write(int i) { } - public override void Write(uint i) { } public override void Write(long i) { } - public override void Write(ulong i) { } public override void Write(float f) { } - public override void Write(double d) { } + public override void Write(ushort i) { } + public override void Write(uint i) { } + public override void Write(ulong i) { } + public static System.IO.BinaryWriter TemporaryBinaryWriter(int initialSize) { } + public static byte[] TemporaryContents(System.IO.BinaryWriter w) { } } public class SetQueue {