public void GenerateCppHeaderWriter(DataTypes types, LrpStream stream) { var cppType = types.ToCppFullName(this.Type); stream.Write("const {0}& {1}", cppType, this.Name); }
public void GenerateCppSignature(DataTypes types, LrpStream stream) { if (this.Direction == ParameterDirection.InOut || this.Direction == ParameterDirection.Out) { stream.Write("{0}& {1}", types.ToCppFullName(this.Type), this.Name); } else if (this.Type == EmbeddedDataTypes.LocalPointer || this.Type == EmbeddedDataTypes.RemotePointer) { stream.Write("{0} {1}", types.ToCppFullName(this.Type), this.Name); } else { stream.Write("const {0}& {1}", types.ToCppFullName(this.Type), this.Name); } }
public void GenerateCppServerRequest(DataTypes types, LrpStream stream) { var type = this.Type; stream.BeginLine(); if (type == EmbeddedDataTypes.Raw) stream.Write("auto& arg{0} = ", this.Id); else stream.Write("auto arg{0} = ", this.Id); if (this.Direction == ParameterDirection.In || this.Direction == ParameterDirection.InOut) { stream.Write("Read{0}(buffer);", this.Type.Suffix); } else if (this.Direction == ParameterDirection.Out) { if (type != EmbeddedDataTypes.LocalPointer && type != EmbeddedDataTypes.RemotePointer) { stream.Write("{0}();", types.ToCppFullName(this.Type)); } else { stream.Write("(void*)nullptr;"); } } stream.EndLine(); }