// Code generated by protoc-gen-go. DO NOT EDIT.
// source: service/cross_mail_game.proto

package proto

import (
	fmt "fmt"
	math "math"
	context "context"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type CrossMailGetPlaceHolderRequest struct {
	ServerId             []uint32 `protobuf:"varint,1,rep,packed,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossMailGetPlaceHolderRequest) Reset()         { *m = CrossMailGetPlaceHolderRequest{} }
func (m *CrossMailGetPlaceHolderRequest) String() string { return proto.CompactTextString(m) }
func (*CrossMailGetPlaceHolderRequest) ProtoMessage()    {}
func (*CrossMailGetPlaceHolderRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{0}
}

func (m *CrossMailGetPlaceHolderRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailGetPlaceHolderRequest.Unmarshal(m, b)
}
func (m *CrossMailGetPlaceHolderRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailGetPlaceHolderRequest.Marshal(b, m, deterministic)
}
func (m *CrossMailGetPlaceHolderRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailGetPlaceHolderRequest.Merge(m, src)
}
func (m *CrossMailGetPlaceHolderRequest) XXX_Size() int {
	return xxx_messageInfo_CrossMailGetPlaceHolderRequest.Size(m)
}
func (m *CrossMailGetPlaceHolderRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailGetPlaceHolderRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailGetPlaceHolderRequest proto.InternalMessageInfo

func (m *CrossMailGetPlaceHolderRequest) GetServerId() []uint32 {
	if m != nil {
		return m.ServerId
	}
	return nil
}

type CrossMailGetPlaceHolderResponse struct {
	Code                 int64                                 `protobuf:"zigzag64,1,opt,name=code,proto3" json:"code,omitempty"`
	Info                 string                                `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	Data                 *CrossMailGetPlaceHolderResponse_Data `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
	XXX_unrecognized     []byte                                `json:"-"`
	XXX_sizecache        int32                                 `json:"-"`
}

func (m *CrossMailGetPlaceHolderResponse) Reset()         { *m = CrossMailGetPlaceHolderResponse{} }
func (m *CrossMailGetPlaceHolderResponse) String() string { return proto.CompactTextString(m) }
func (*CrossMailGetPlaceHolderResponse) ProtoMessage()    {}
func (*CrossMailGetPlaceHolderResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{1}
}

func (m *CrossMailGetPlaceHolderResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse.Unmarshal(m, b)
}
func (m *CrossMailGetPlaceHolderResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse.Marshal(b, m, deterministic)
}
func (m *CrossMailGetPlaceHolderResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse.Merge(m, src)
}
func (m *CrossMailGetPlaceHolderResponse) XXX_Size() int {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse.Size(m)
}
func (m *CrossMailGetPlaceHolderResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailGetPlaceHolderResponse proto.InternalMessageInfo

func (m *CrossMailGetPlaceHolderResponse) GetCode() int64 {
	if m != nil {
		return m.Code
	}
	return 0
}

func (m *CrossMailGetPlaceHolderResponse) GetInfo() string {
	if m != nil {
		return m.Info
	}
	return ""
}

func (m *CrossMailGetPlaceHolderResponse) GetData() *CrossMailGetPlaceHolderResponse_Data {
	if m != nil {
		return m.Data
	}
	return nil
}

type CrossMailGetPlaceHolderResponse_Data struct {
	PlaceHolder          []*CrossMailGetPlaceHolderResponse_Data_PlaceHolder `protobuf:"bytes,1,rep,name=place_holder,json=placeHolder,proto3" json:"place_holder,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
	XXX_unrecognized     []byte                                              `json:"-"`
	XXX_sizecache        int32                                               `json:"-"`
}

func (m *CrossMailGetPlaceHolderResponse_Data) Reset()         { *m = CrossMailGetPlaceHolderResponse_Data{} }
func (m *CrossMailGetPlaceHolderResponse_Data) String() string { return proto.CompactTextString(m) }
func (*CrossMailGetPlaceHolderResponse_Data) ProtoMessage()    {}
func (*CrossMailGetPlaceHolderResponse_Data) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{1, 0}
}

func (m *CrossMailGetPlaceHolderResponse_Data) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data.Unmarshal(m, b)
}
func (m *CrossMailGetPlaceHolderResponse_Data) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data.Marshal(b, m, deterministic)
}
func (m *CrossMailGetPlaceHolderResponse_Data) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data.Merge(m, src)
}
func (m *CrossMailGetPlaceHolderResponse_Data) XXX_Size() int {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data.Size(m)
}
func (m *CrossMailGetPlaceHolderResponse_Data) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data proto.InternalMessageInfo

func (m *CrossMailGetPlaceHolderResponse_Data) GetPlaceHolder() []*CrossMailGetPlaceHolderResponse_Data_PlaceHolder {
	if m != nil {
		return m.PlaceHolder
	}
	return nil
}

type CrossMailGetPlaceHolderResponse_Data_PlaceHolder struct {
	Mark                 string                                                    `protobuf:"bytes,1,opt,name=mark,proto3" json:"mark,omitempty"`
	Key                  string                                                    `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	Value                []*CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value `protobuf:"bytes,3,rep,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                                  `json:"-"`
	XXX_unrecognized     []byte                                                    `json:"-"`
	XXX_sizecache        int32                                                     `json:"-"`
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) Reset() {
	*m = CrossMailGetPlaceHolderResponse_Data_PlaceHolder{}
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) String() string {
	return proto.CompactTextString(m)
}
func (*CrossMailGetPlaceHolderResponse_Data_PlaceHolder) ProtoMessage() {}
func (*CrossMailGetPlaceHolderResponse_Data_PlaceHolder) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{1, 0, 0}
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder.Unmarshal(m, b)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder.Marshal(b, m, deterministic)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder.Merge(m, src)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) XXX_Size() int {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder.Size(m)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder proto.InternalMessageInfo

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) GetMark() string {
	if m != nil {
		return m.Mark
	}
	return ""
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) GetKey() string {
	if m != nil {
		return m.Key
	}
	return ""
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder) GetValue() []*CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

type CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value struct {
	Lang                 string   `protobuf:"bytes,1,opt,name=lang,proto3" json:"lang,omitempty"`
	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) Reset() {
	*m = CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value{}
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) String() string {
	return proto.CompactTextString(m)
}
func (*CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) ProtoMessage() {}
func (*CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{1, 0, 0, 0}
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value.Unmarshal(m, b)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value.Marshal(b, m, deterministic)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value.Merge(m, src)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) XXX_Size() int {
	return xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value.Size(m)
}
func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value proto.InternalMessageInfo

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) GetLang() string {
	if m != nil {
		return m.Lang
	}
	return ""
}

func (m *CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type CrossMailCheatSyncTemplateRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossMailCheatSyncTemplateRequest) Reset()         { *m = CrossMailCheatSyncTemplateRequest{} }
func (m *CrossMailCheatSyncTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*CrossMailCheatSyncTemplateRequest) ProtoMessage()    {}
func (*CrossMailCheatSyncTemplateRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{2}
}

func (m *CrossMailCheatSyncTemplateRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailCheatSyncTemplateRequest.Unmarshal(m, b)
}
func (m *CrossMailCheatSyncTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailCheatSyncTemplateRequest.Marshal(b, m, deterministic)
}
func (m *CrossMailCheatSyncTemplateRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailCheatSyncTemplateRequest.Merge(m, src)
}
func (m *CrossMailCheatSyncTemplateRequest) XXX_Size() int {
	return xxx_messageInfo_CrossMailCheatSyncTemplateRequest.Size(m)
}
func (m *CrossMailCheatSyncTemplateRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailCheatSyncTemplateRequest.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailCheatSyncTemplateRequest proto.InternalMessageInfo

type CrossMailCheatSyncTemplateResponse struct {
	Code                 int64    `protobuf:"zigzag64,1,opt,name=code,proto3" json:"code,omitempty"`
	Info                 string   `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CrossMailCheatSyncTemplateResponse) Reset()         { *m = CrossMailCheatSyncTemplateResponse{} }
func (m *CrossMailCheatSyncTemplateResponse) String() string { return proto.CompactTextString(m) }
func (*CrossMailCheatSyncTemplateResponse) ProtoMessage()    {}
func (*CrossMailCheatSyncTemplateResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_98f151a5ece59df1, []int{3}
}

func (m *CrossMailCheatSyncTemplateResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CrossMailCheatSyncTemplateResponse.Unmarshal(m, b)
}
func (m *CrossMailCheatSyncTemplateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CrossMailCheatSyncTemplateResponse.Marshal(b, m, deterministic)
}
func (m *CrossMailCheatSyncTemplateResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CrossMailCheatSyncTemplateResponse.Merge(m, src)
}
func (m *CrossMailCheatSyncTemplateResponse) XXX_Size() int {
	return xxx_messageInfo_CrossMailCheatSyncTemplateResponse.Size(m)
}
func (m *CrossMailCheatSyncTemplateResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_CrossMailCheatSyncTemplateResponse.DiscardUnknown(m)
}

var xxx_messageInfo_CrossMailCheatSyncTemplateResponse proto.InternalMessageInfo

func (m *CrossMailCheatSyncTemplateResponse) GetCode() int64 {
	if m != nil {
		return m.Code
	}
	return 0
}

func (m *CrossMailCheatSyncTemplateResponse) GetInfo() string {
	if m != nil {
		return m.Info
	}
	return ""
}

func init() {
	proto.RegisterType((*CrossMailGetPlaceHolderRequest)(nil), "proto.CrossMailGetPlaceHolderRequest")
	proto.RegisterType((*CrossMailGetPlaceHolderResponse)(nil), "proto.CrossMailGetPlaceHolderResponse")
	proto.RegisterType((*CrossMailGetPlaceHolderResponse_Data)(nil), "proto.CrossMailGetPlaceHolderResponse.Data")
	proto.RegisterType((*CrossMailGetPlaceHolderResponse_Data_PlaceHolder)(nil), "proto.CrossMailGetPlaceHolderResponse.Data.PlaceHolder")
	proto.RegisterType((*CrossMailGetPlaceHolderResponse_Data_PlaceHolder_Value)(nil), "proto.CrossMailGetPlaceHolderResponse.Data.PlaceHolder.Value")
	proto.RegisterType((*CrossMailCheatSyncTemplateRequest)(nil), "proto.CrossMailCheatSyncTemplateRequest")
	proto.RegisterType((*CrossMailCheatSyncTemplateResponse)(nil), "proto.CrossMailCheatSyncTemplateResponse")
}

func init() { proto.RegisterFile("service/cross_mail_game.proto", fileDescriptor_98f151a5ece59df1) }

var fileDescriptor_98f151a5ece59df1 = []byte{
	// 378 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x52, 0xcd, 0x4a, 0xf3, 0x40,
	0x14, 0x25, 0x4d, 0xfb, 0xf1, 0xf5, 0xe6, 0xfb, 0x44, 0x2f, 0x2e, 0x42, 0x44, 0x8d, 0x11, 0x25,
	0x22, 0x44, 0xac, 0x0b, 0x57, 0xc5, 0x45, 0x05, 0x15, 0x14, 0x24, 0x15, 0x17, 0x6e, 0xc2, 0x98,
	0x5c, 0xdb, 0xd0, 0xfc, 0x99, 0xa4, 0x85, 0xbe, 0x8d, 0x2f, 0xe0, 0x13, 0xf8, 0x22, 0x3e, 0x8e,
	0xcc, 0x4c, 0xab, 0x55, 0xa9, 0x6d, 0x5d, 0xe5, 0xdc, 0xb9, 0xe7, 0x9e, 0x7b, 0xce, 0x4c, 0x60,
	0xbd, 0xa0, 0x7c, 0x10, 0xfa, 0x74, 0xe0, 0xe7, 0x69, 0x51, 0x78, 0x31, 0x0b, 0x23, 0xaf, 0xc3,
	0x62, 0x72, 0xb2, 0x3c, 0x2d, 0x53, 0xac, 0x89, 0x8f, 0xd5, 0x84, 0x8d, 0x16, 0xef, 0x5f, 0xb1,
	0x30, 0x3a, 0xa3, 0xf2, 0x3a, 0x62, 0x3e, 0x9d, 0xa7, 0x51, 0x40, 0xb9, 0x4b, 0x8f, 0x7d, 0x2a,
	0x4a, 0x5c, 0x83, 0x3a, 0x57, 0xa2, 0xdc, 0x0b, 0x03, 0x5d, 0x31, 0x55, 0xfb, 0xbf, 0xfb, 0x57,
	0x1e, 0x5c, 0x04, 0xd6, 0xb3, 0x0a, 0x9b, 0x53, 0xe7, 0x8b, 0x2c, 0x4d, 0x0a, 0x42, 0x84, 0xaa,
	0x9f, 0x06, 0xa4, 0x2b, 0xa6, 0x62, 0xa3, 0x2b, 0x30, 0x3f, 0x0b, 0x93, 0x87, 0x54, 0xaf, 0x98,
	0x8a, 0x5d, 0x77, 0x05, 0xc6, 0x13, 0xa8, 0x06, 0xac, 0x64, 0xba, 0x6a, 0x2a, 0xb6, 0xd6, 0xd8,
	0x97, 0x3e, 0x9d, 0x19, 0xea, 0xce, 0x29, 0x2b, 0x99, 0x2b, 0x06, 0x8d, 0xa7, 0x0a, 0x54, 0x79,
	0x89, 0x77, 0xf0, 0x2f, 0xe3, 0x54, 0xaf, 0x2b, 0xb8, 0xc2, 0xb5, 0xd6, 0x38, 0x5e, 0x40, 0xd1,
	0x99, 0x6c, 0x68, 0xd9, 0x47, 0x61, 0xbc, 0x28, 0xa0, 0x4d, 0x34, 0x79, 0x92, 0x98, 0xe5, 0x3d,
	0x91, 0xae, 0xee, 0x0a, 0x8c, 0xcb, 0xa0, 0xf6, 0x68, 0x38, 0x0a, 0xc7, 0x21, 0xb6, 0xa1, 0x36,
	0x60, 0x51, 0x9f, 0x74, 0x55, 0x58, 0x69, 0xfe, 0xd2, 0x8a, 0x73, 0xcb, 0x45, 0x5c, 0xa9, 0x65,
	0x1c, 0x42, 0x4d, 0xd4, 0xdc, 0x43, 0xc4, 0x92, 0xce, 0xd8, 0x03, 0xc7, 0xb8, 0x3a, 0xde, 0x28,
	0x5d, 0xc8, 0xc2, 0xda, 0x86, 0xad, 0xf7, 0x9d, 0xad, 0x2e, 0xb1, 0xb2, 0x3d, 0x4c, 0xfc, 0x1b,
	0x8a, 0xb3, 0x88, 0x95, 0x34, 0x7a, 0x71, 0xeb, 0x12, 0xac, 0x9f, 0x48, 0x8b, 0x3d, 0x6b, 0xe3,
	0x55, 0x01, 0x8d, 0x2b, 0xb5, 0xe5, 0xef, 0x88, 0x1e, 0x2c, 0x7d, 0x4e, 0x8b, 0x3b, 0xb3, 0x6e,
	0x43, 0xd8, 0x32, 0x76, 0xe7, 0xbb, 0x34, 0xec, 0xc2, 0xca, 0x37, 0xd7, 0x68, 0x7f, 0x1d, 0x9e,
	0x96, 0xde, 0xd8, 0x9b, 0x83, 0x29, 0x37, 0xdd, 0xff, 0x11, 0xcc, 0xa3, 0xb7, 0x00, 0x00, 0x00,
	0xff, 0xff, 0x88, 0xd2, 0x68, 0xb4, 0x6b, 0x03, 0x00, 0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// MailServiceClient is the client API for MailService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type MailServiceClient interface {
	GetPlaceHolder(ctx context.Context, in *CrossMailGetPlaceHolderRequest, opts ...grpc.CallOption) (*CrossMailGetPlaceHolderResponse, error)
	CheatSyncTemplate(ctx context.Context, in *CrossMailCheatSyncTemplateRequest, opts ...grpc.CallOption) (*CrossMailCheatSyncTemplateResponse, error)
}

type mailServiceClient struct {
	cc *grpc.ClientConn
}

func NewMailServiceClient(cc *grpc.ClientConn) MailServiceClient {
	return &mailServiceClient{cc}
}

func (c *mailServiceClient) GetPlaceHolder(ctx context.Context, in *CrossMailGetPlaceHolderRequest, opts ...grpc.CallOption) (*CrossMailGetPlaceHolderResponse, error) {
	out := new(CrossMailGetPlaceHolderResponse)
	err := c.cc.Invoke(ctx, "/proto.MailService/GetPlaceHolder", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *mailServiceClient) CheatSyncTemplate(ctx context.Context, in *CrossMailCheatSyncTemplateRequest, opts ...grpc.CallOption) (*CrossMailCheatSyncTemplateResponse, error) {
	out := new(CrossMailCheatSyncTemplateResponse)
	err := c.cc.Invoke(ctx, "/proto.MailService/CheatSyncTemplate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// MailServiceServer is the server API for MailService service.
type MailServiceServer interface {
	GetPlaceHolder(context.Context, *CrossMailGetPlaceHolderRequest) (*CrossMailGetPlaceHolderResponse, error)
	CheatSyncTemplate(context.Context, *CrossMailCheatSyncTemplateRequest) (*CrossMailCheatSyncTemplateResponse, error)
}

// UnimplementedMailServiceServer can be embedded to have forward compatible implementations.
type UnimplementedMailServiceServer struct {
}

func (*UnimplementedMailServiceServer) GetPlaceHolder(ctx context.Context, req *CrossMailGetPlaceHolderRequest) (*CrossMailGetPlaceHolderResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPlaceHolder not implemented")
}
func (*UnimplementedMailServiceServer) CheatSyncTemplate(ctx context.Context, req *CrossMailCheatSyncTemplateRequest) (*CrossMailCheatSyncTemplateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheatSyncTemplate not implemented")
}

func RegisterMailServiceServer(s *grpc.Server, srv MailServiceServer) {
	s.RegisterService(&_MailService_serviceDesc, srv)
}

func _MailService_GetPlaceHolder_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CrossMailGetPlaceHolderRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MailServiceServer).GetPlaceHolder(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/proto.MailService/GetPlaceHolder",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MailServiceServer).GetPlaceHolder(ctx, req.(*CrossMailGetPlaceHolderRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _MailService_CheatSyncTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CrossMailCheatSyncTemplateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MailServiceServer).CheatSyncTemplate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/proto.MailService/CheatSyncTemplate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MailServiceServer).CheatSyncTemplate(ctx, req.(*CrossMailCheatSyncTemplateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _MailService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "proto.MailService",
	HandlerType: (*MailServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetPlaceHolder",
			Handler:    _MailService_GetPlaceHolder_Handler,
		},
		{
			MethodName: "CheatSyncTemplate",
			Handler:    _MailService_CheatSyncTemplate_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "service/cross_mail_game.proto",
}
