Created
December 17, 2015 08:25
-
-
Save iamralch/7632c3628ded96a1fc60 to your computer and use it in GitHub Desktop.
Sample Golang implementation of spec.proto
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Code generated by protoc-gen-go. | |
// source: spec.proto | |
// DO NOT EDIT! | |
/* | |
Package example is a generated protocol buffer package. | |
It is generated from these files: | |
spec.proto | |
It has these top-level messages: | |
Company | |
Employee | |
*/ | |
package example | |
import proto "github.com/golang/protobuf/proto" | |
import fmt "fmt" | |
import math "math" | |
// Reference imports to suppress errors if they are not otherwise used. | |
var _ = proto.Marshal | |
var _ = fmt.Errorf | |
var _ = math.Inf | |
type CompanyType int32 | |
const ( | |
CompanyType_Private CompanyType = 17 | |
CompanyType_Public CompanyType = 18 | |
CompanyType_NonProfit CompanyType = 19 | |
) | |
var CompanyType_name = map[int32]string{ | |
17: "Private", | |
18: "Public", | |
19: "NonProfit", | |
} | |
var CompanyType_value = map[string]int32{ | |
"Private": 17, | |
"Public": 18, | |
"NonProfit": 19, | |
} | |
func (x CompanyType) Enum() *CompanyType { | |
p := new(CompanyType) | |
*p = x | |
return p | |
} | |
func (x CompanyType) String() string { | |
return proto.EnumName(CompanyType_name, int32(x)) | |
} | |
func (x *CompanyType) UnmarshalJSON(data []byte) error { | |
value, err := proto.UnmarshalJSONEnum(CompanyType_value, data, "CompanyType") | |
if err != nil { | |
return err | |
} | |
*x = CompanyType(value) | |
return nil | |
} | |
func (CompanyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } | |
type Company struct { | |
Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` | |
Employees []*Employee `protobuf:"bytes,2,rep,name=Employees" json:"Employees,omitempty"` | |
Type *CompanyType `protobuf:"varint,3,req,name=Type,enum=example.CompanyType" json:"Type,omitempty"` | |
Address *Company_Address `protobuf:"group,4,opt,name=Address" json:"address,omitempty"` | |
XXX_unrecognized []byte `json:"-"` | |
} | |
func (m *Company) Reset() { *m = Company{} } | |
func (m *Company) String() string { return proto.CompactTextString(m) } | |
func (*Company) ProtoMessage() {} | |
func (*Company) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } | |
func (m *Company) GetName() string { | |
if m != nil && m.Name != nil { | |
return *m.Name | |
} | |
return "" | |
} | |
func (m *Company) GetEmployees() []*Employee { | |
if m != nil { | |
return m.Employees | |
} | |
return nil | |
} | |
func (m *Company) GetType() CompanyType { | |
if m != nil && m.Type != nil { | |
return *m.Type | |
} | |
return CompanyType_Private | |
} | |
func (m *Company) GetAddress() *Company_Address { | |
if m != nil { | |
return m.Address | |
} | |
return nil | |
} | |
type Company_Address struct { | |
Country *string `protobuf:"bytes,5,req,name=Country" json:"Country,omitempty"` | |
City *string `protobuf:"bytes,6,req,name=City" json:"City,omitempty"` | |
Street *string `protobuf:"bytes,7,opt,name=Street" json:"Street,omitempty"` | |
XXX_unrecognized []byte `json:"-"` | |
} | |
func (m *Company_Address) Reset() { *m = Company_Address{} } | |
func (m *Company_Address) String() string { return proto.CompactTextString(m) } | |
func (*Company_Address) ProtoMessage() {} | |
func (m *Company_Address) GetCountry() string { | |
if m != nil && m.Country != nil { | |
return *m.Country | |
} | |
return "" | |
} | |
func (m *Company_Address) GetCity() string { | |
if m != nil && m.City != nil { | |
return *m.City | |
} | |
return "" | |
} | |
func (m *Company_Address) GetStreet() string { | |
if m != nil && m.Street != nil { | |
return *m.Street | |
} | |
return "" | |
} | |
type Employee struct { | |
Name *string `protobuf:"bytes,1,req,name=Name" json:"Name,omitempty"` | |
SSN *string `protobuf:"bytes,2,opt,name=SSN" json:"SSN,omitempty"` | |
XXX_unrecognized []byte `json:"-"` | |
} | |
func (m *Employee) Reset() { *m = Employee{} } | |
func (m *Employee) String() string { return proto.CompactTextString(m) } | |
func (*Employee) ProtoMessage() {} | |
func (*Employee) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } | |
func (m *Employee) GetName() string { | |
if m != nil && m.Name != nil { | |
return *m.Name | |
} | |
return "" | |
} | |
func (m *Employee) GetSSN() string { | |
if m != nil && m.SSN != nil { | |
return *m.SSN | |
} | |
return "" | |
} | |
func init() { | |
proto.RegisterType((*Company)(nil), "example.Company") | |
proto.RegisterType((*Company_Address)(nil), "example.Company.Address") | |
proto.RegisterType((*Employee)(nil), "example.Employee") | |
proto.RegisterEnum("example.CompanyType", CompanyType_name, CompanyType_value) | |
} | |
var fileDescriptor0 = []byte{ | |
// 243 bytes of a gzipped FileDescriptorProto | |
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x5c, 0x8f, 0xc1, 0x4a, 0xc4, 0x30, | |
0x14, 0x45, 0xe9, 0xb4, 0x36, 0xf6, 0x55, 0xc7, 0xce, 0xd3, 0x45, 0x70, 0x55, 0x8a, 0x42, 0x75, | |
0xd1, 0x45, 0x41, 0x70, 0x2b, 0x83, 0xdb, 0x52, 0xa8, 0x3f, 0x10, 0x67, 0x9e, 0x50, 0x98, 0x36, | |
0x21, 0xc9, 0x88, 0xf9, 0x41, 0xbf, 0xcb, 0xcc, 0x58, 0x8b, 0xba, 0x4b, 0xb8, 0xe7, 0x5d, 0xce, | |
0x05, 0x30, 0x8a, 0x36, 0x95, 0xd2, 0xd2, 0x4a, 0x64, 0xf4, 0x21, 0x06, 0xb5, 0xa3, 0xe2, 0x33, | |
0x00, 0xb6, 0x96, 0x83, 0x12, 0xa3, 0xc3, 0x33, 0x88, 0x1a, 0x31, 0x10, 0x0f, 0xf2, 0x45, 0x99, | |
0xe0, 0x0d, 0x24, 0xcf, 0x1e, 0x91, 0x8e, 0xc8, 0xf0, 0x45, 0x1e, 0x96, 0x69, 0xbd, 0xaa, 0xa6, | |
0xb3, 0xea, 0x27, 0xc1, 0x02, 0xa2, 0x17, 0xa7, 0x88, 0x87, 0xfe, 0x66, 0x59, 0x5f, 0xcd, 0xc0, | |
0xd4, 0x79, 0xc8, 0xf0, 0x0e, 0x98, 0xd8, 0x6e, 0x35, 0x19, 0xc3, 0xa3, 0x3c, 0x28, 0xa1, 0xe6, | |
0xff, 0xb1, 0xea, 0xe9, 0x3b, 0xbf, 0x7e, 0x04, 0x36, 0x3d, 0xf1, 0xe2, 0x20, 0xb6, 0x1f, 0xad, | |
0x76, 0xfc, 0xe4, 0x28, 0xe4, 0xf5, 0xd6, 0xbd, 0x75, 0x3c, 0x3e, 0xfe, 0x96, 0x10, 0x77, 0x56, | |
0x13, 0x59, 0xce, 0x7c, 0x67, 0x52, 0xdc, 0xc2, 0xe9, 0x2c, 0xf5, 0x77, 0x48, 0x0a, 0x61, 0xd7, | |
0x35, 0x7e, 0x82, 0xc7, 0xee, 0x1f, 0x20, 0xfd, 0xad, 0x96, 0x02, 0x6b, 0x75, 0xff, 0x2e, 0x2c, | |
0x65, 0x2b, 0x04, 0x88, 0xdb, 0xfd, 0xeb, 0xae, 0xdf, 0x64, 0x88, 0xe7, 0x90, 0x34, 0x72, 0x6c, | |
0xb5, 0x7c, 0xeb, 0x6d, 0x76, 0xf9, 0x15, 0x00, 0x00, 0xff, 0xff, 0xec, 0x74, 0xf0, 0x0d, 0x3c, | |
0x01, 0x00, 0x00, | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment