private void WriteParameter(WindowsAccessBridgeModel model, SourceCodeWriter sourceWriter, ParameterDefinition parameterDefinition) { if (parameterDefinition.IsOutAttribute) { if (sourceWriter.IsNativeTypes || !model.IsClass(parameterDefinition.Type)) { sourceWriter.Write("[Out]"); } } if (parameterDefinition.IsOut) { sourceWriter.Write("out "); } else if (parameterDefinition.IsOutAttribute && model.IsClass(parameterDefinition.Type) && !sourceWriter.IsNativeTypes) { sourceWriter.Write("out "); } else if (parameterDefinition.IsRef) { sourceWriter.Write("ref "); } if (sourceWriter.IsNativeTypes) { sourceWriter.WriteMashalAs(parameterDefinition.MarshalAs); } sourceWriter.WriteType(parameterDefinition.Type); sourceWriter.Write(" "); sourceWriter.Write(parameterDefinition.Name); }
private void WriteDelegateType(WindowsAccessBridgeModel model, SourceCodeWriter sourceWriter, FunctionDefinition definition) { if (sourceWriter.IsNativeTypes) { if (definition.MarshalAs != null) { sourceWriter.WriteIndent(); sourceWriter.WriteMashalAs(definition.MarshalAs); sourceWriter.WriteLine(); } } sourceWriter.WriteIndent(); sourceWriter.Write("public delegate "); WriteFunctionSignature(model, sourceWriter, definition); sourceWriter.Write(";"); sourceWriter.WriteLine(); }
private void WriteField(WindowsAccessBridgeModel model, SourceCodeWriter sourceWriter, TypeDefinition container, FieldDefinition definition) { if (sourceWriter.IsNativeTypes || !model.TypeDefinitionNeedsWrapper(container)) { if (definition.MarshalAs != null) { sourceWriter.WriteIndent(); sourceWriter.WriteMashalAs(definition.MarshalAs); sourceWriter.WriteLine(); } } sourceWriter.WriteIndent(); sourceWriter.Write("public "); sourceWriter.WriteType(definition.Type); sourceWriter.Write(" "); sourceWriter.Write("{0};", definition.Name); sourceWriter.WriteLine(); }