# Generated by protoc_gen_nim. Do not edit! import intsets import protobuf/protobuf type Test1_MyEnum* {.pure.} = enum Foo = 0 Bar = 1 Test1* = ref Test1Obj Test1Obj* = object of RootObj hasField: IntSet a: int32 e: Test1_MyEnum proc readTest1_MyEnum*(stream: ProtobufStream): Test1_MyEnum = Test1_MyEnum(readUInt32(stream)) proc writeTest1_MyEnum*(stream: ProtobufStream, value: Test1_MyEnum) = writeUInt32(stream, uint32(value)) proc writeTest1_MyEnum*(stream: ProtobufStream, value: Test1_MyEnum, fieldNumber: int) = writeUInt32(stream, uint32(value), fieldNumber) proc sizeOfTest1_MyEnum*(value: Test1_MyEnum): uint64 = sizeOfUInt32(uint32(value)) proc newTest1*(): Test1 proc writeTest1*(stream: ProtobufStream, message: Test1) proc readTest1*(stream: ProtobufStream): Test1 proc sizeOfTest1*(message: Test1): uint64 proc newTest1*(): Test1 = new(result) result.hasField = initIntSet() result.a = 0 result.e = Test1_MyEnum(0) proc cleara*(message: Test1) = message.a = 0 excl(message.hasField, [1]) proc hasa*(message: Test1): bool = result = contains(message.hasField, 1) proc seta*(message: Test1, value: int32) = message.a = value incl(message.hasField, 1) proc a*(message: Test1): int32 {.inline.} = message.a proc `a=`*(message: Test1, value: int32) {.inline.} = seta(message, value) proc cleare*(message: Test1) = message.e = Test1_MyEnum(0) excl(message.hasField, [2]) proc hase*(message: Test1): bool = result = contains(message.hasField, 2) proc sete*(message: Test1, value: Test1_MyEnum) = message.e = value incl(message.hasField, 2) proc e*(message: Test1): Test1_MyEnum {.inline.} = message.e proc `e=`*(message: Test1, value: Test1_MyEnum) {.inline.} = sete(message, value) proc sizeOfTest1*(message: Test1): uint64 = if hasa(message): result = result + sizeOfTag(1, WireType.Varint) result = result + sizeOfInt32(message.a) if hase(message): result = result + sizeOfTag(2, WireType.Varint) result = result + sizeOfTest1_MyEnum(message.e) proc writeTest1*(stream: ProtobufStream, message: Test1) = if hasa(message): writeInt32(stream, message.a, 1) if hase(message): writeTest1_MyEnum(stream, message.e, 2) proc readTest1*(stream: ProtobufStream): Test1 = result = newTest1() while not atEnd(stream): let tag = readTag(stream) wireType = getTagWireType(tag) case getTagFieldNumber(tag) of 0: raise newException(InvalidFieldNumberError, "Invalid field number: 0") of 1: expectWireType(wireType, WireType.Varint) seta(result, readInt32(stream)) of 2: expectWireType(wireType, WireType.Varint) sete(result, readTest1_MyEnum(stream)) else: skipField(stream, wireType) proc serialize*(message: Test1): string = let ss = newStringStream() pbs = newProtobufStream(ss) writeTest1(pbs, message) result = ss.data proc newTest1*(data: string): Test1 = let ss = newStringStream(data) pbs = newProtobufStream(ss) result = readTest1(pbs)