// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v1/services/geo_target_constant_service.proto

package services // import "google.golang.org/genproto/googleapis/ads/googleads/v1/services"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import wrappers "github.com/golang/protobuf/ptypes/wrappers"
import resources "google.golang.org/genproto/googleapis/ads/googleads/v1/resources"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// 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.ProtoPackageIsVersion2 // please upgrade the proto package

// Request message for [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v1.services.GeoTargetConstantService.GetGeoTargetConstant].
type GetGeoTargetConstantRequest struct {
	// The resource name of the geo target constant to fetch.
	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetGeoTargetConstantRequest) Reset()         { *m = GetGeoTargetConstantRequest{} }
func (m *GetGeoTargetConstantRequest) String() string { return proto.CompactTextString(m) }
func (*GetGeoTargetConstantRequest) ProtoMessage()    {}
func (*GetGeoTargetConstantRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{0}
}
func (m *GetGeoTargetConstantRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GetGeoTargetConstantRequest.Unmarshal(m, b)
}
func (m *GetGeoTargetConstantRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GetGeoTargetConstantRequest.Marshal(b, m, deterministic)
}
func (dst *GetGeoTargetConstantRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GetGeoTargetConstantRequest.Merge(dst, src)
}
func (m *GetGeoTargetConstantRequest) XXX_Size() int {
	return xxx_messageInfo_GetGeoTargetConstantRequest.Size(m)
}
func (m *GetGeoTargetConstantRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_GetGeoTargetConstantRequest.DiscardUnknown(m)
}

var xxx_messageInfo_GetGeoTargetConstantRequest proto.InternalMessageInfo

func (m *GetGeoTargetConstantRequest) GetResourceName() string {
	if m != nil {
		return m.ResourceName
	}
	return ""
}

// Request message for
// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][].
type SuggestGeoTargetConstantsRequest struct {
	// If possible, returned geo targets are translated using this locale. If not,
	// en is used by default. This is also used as a hint for returned geo
	// targets.
	Locale *wrappers.StringValue `protobuf:"bytes,3,opt,name=locale,proto3" json:"locale,omitempty"`
	// Returned geo targets are restricted to this country code.
	CountryCode *wrappers.StringValue `protobuf:"bytes,5,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	// Required. A selector of geo target constants.
	//
	// Types that are valid to be assigned to Query:
	//	*SuggestGeoTargetConstantsRequest_LocationNames_
	//	*SuggestGeoTargetConstantsRequest_GeoTargets_
	Query                isSuggestGeoTargetConstantsRequest_Query `protobuf_oneof:"query"`
	XXX_NoUnkeyedLiteral struct{}                                 `json:"-"`
	XXX_unrecognized     []byte                                   `json:"-"`
	XXX_sizecache        int32                                    `json:"-"`
}

func (m *SuggestGeoTargetConstantsRequest) Reset()         { *m = SuggestGeoTargetConstantsRequest{} }
func (m *SuggestGeoTargetConstantsRequest) String() string { return proto.CompactTextString(m) }
func (*SuggestGeoTargetConstantsRequest) ProtoMessage()    {}
func (*SuggestGeoTargetConstantsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{1}
}
func (m *SuggestGeoTargetConstantsRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest.Unmarshal(m, b)
}
func (m *SuggestGeoTargetConstantsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest.Marshal(b, m, deterministic)
}
func (dst *SuggestGeoTargetConstantsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest.Merge(dst, src)
}
func (m *SuggestGeoTargetConstantsRequest) XXX_Size() int {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest.Size(m)
}
func (m *SuggestGeoTargetConstantsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_SuggestGeoTargetConstantsRequest proto.InternalMessageInfo

func (m *SuggestGeoTargetConstantsRequest) GetLocale() *wrappers.StringValue {
	if m != nil {
		return m.Locale
	}
	return nil
}

func (m *SuggestGeoTargetConstantsRequest) GetCountryCode() *wrappers.StringValue {
	if m != nil {
		return m.CountryCode
	}
	return nil
}

type isSuggestGeoTargetConstantsRequest_Query interface {
	isSuggestGeoTargetConstantsRequest_Query()
}

type SuggestGeoTargetConstantsRequest_LocationNames_ struct {
	LocationNames *SuggestGeoTargetConstantsRequest_LocationNames `protobuf:"bytes,1,opt,name=location_names,json=locationNames,proto3,oneof"`
}

type SuggestGeoTargetConstantsRequest_GeoTargets_ struct {
	GeoTargets *SuggestGeoTargetConstantsRequest_GeoTargets `protobuf:"bytes,2,opt,name=geo_targets,json=geoTargets,proto3,oneof"`
}

func (*SuggestGeoTargetConstantsRequest_LocationNames_) isSuggestGeoTargetConstantsRequest_Query() {}

func (*SuggestGeoTargetConstantsRequest_GeoTargets_) isSuggestGeoTargetConstantsRequest_Query() {}

func (m *SuggestGeoTargetConstantsRequest) GetQuery() isSuggestGeoTargetConstantsRequest_Query {
	if m != nil {
		return m.Query
	}
	return nil
}

func (m *SuggestGeoTargetConstantsRequest) GetLocationNames() *SuggestGeoTargetConstantsRequest_LocationNames {
	if x, ok := m.GetQuery().(*SuggestGeoTargetConstantsRequest_LocationNames_); ok {
		return x.LocationNames
	}
	return nil
}

func (m *SuggestGeoTargetConstantsRequest) GetGeoTargets() *SuggestGeoTargetConstantsRequest_GeoTargets {
	if x, ok := m.GetQuery().(*SuggestGeoTargetConstantsRequest_GeoTargets_); ok {
		return x.GeoTargets
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*SuggestGeoTargetConstantsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _SuggestGeoTargetConstantsRequest_OneofMarshaler, _SuggestGeoTargetConstantsRequest_OneofUnmarshaler, _SuggestGeoTargetConstantsRequest_OneofSizer, []interface{}{
		(*SuggestGeoTargetConstantsRequest_LocationNames_)(nil),
		(*SuggestGeoTargetConstantsRequest_GeoTargets_)(nil),
	}
}

func _SuggestGeoTargetConstantsRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*SuggestGeoTargetConstantsRequest)
	// query
	switch x := m.Query.(type) {
	case *SuggestGeoTargetConstantsRequest_LocationNames_:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.LocationNames); err != nil {
			return err
		}
	case *SuggestGeoTargetConstantsRequest_GeoTargets_:
		b.EncodeVarint(2<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.GeoTargets); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("SuggestGeoTargetConstantsRequest.Query has unexpected type %T", x)
	}
	return nil
}

func _SuggestGeoTargetConstantsRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*SuggestGeoTargetConstantsRequest)
	switch tag {
	case 1: // query.location_names
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(SuggestGeoTargetConstantsRequest_LocationNames)
		err := b.DecodeMessage(msg)
		m.Query = &SuggestGeoTargetConstantsRequest_LocationNames_{msg}
		return true, err
	case 2: // query.geo_targets
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(SuggestGeoTargetConstantsRequest_GeoTargets)
		err := b.DecodeMessage(msg)
		m.Query = &SuggestGeoTargetConstantsRequest_GeoTargets_{msg}
		return true, err
	default:
		return false, nil
	}
}

func _SuggestGeoTargetConstantsRequest_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*SuggestGeoTargetConstantsRequest)
	// query
	switch x := m.Query.(type) {
	case *SuggestGeoTargetConstantsRequest_LocationNames_:
		s := proto.Size(x.LocationNames)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *SuggestGeoTargetConstantsRequest_GeoTargets_:
		s := proto.Size(x.GeoTargets)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// A list of location names.
type SuggestGeoTargetConstantsRequest_LocationNames struct {
	// A list of location names.
	Names                []*wrappers.StringValue `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *SuggestGeoTargetConstantsRequest_LocationNames) Reset() {
	*m = SuggestGeoTargetConstantsRequest_LocationNames{}
}
func (m *SuggestGeoTargetConstantsRequest_LocationNames) String() string {
	return proto.CompactTextString(m)
}
func (*SuggestGeoTargetConstantsRequest_LocationNames) ProtoMessage() {}
func (*SuggestGeoTargetConstantsRequest_LocationNames) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{1, 0}
}
func (m *SuggestGeoTargetConstantsRequest_LocationNames) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames.Unmarshal(m, b)
}
func (m *SuggestGeoTargetConstantsRequest_LocationNames) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames.Marshal(b, m, deterministic)
}
func (dst *SuggestGeoTargetConstantsRequest_LocationNames) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames.Merge(dst, src)
}
func (m *SuggestGeoTargetConstantsRequest_LocationNames) XXX_Size() int {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames.Size(m)
}
func (m *SuggestGeoTargetConstantsRequest_LocationNames) XXX_DiscardUnknown() {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames.DiscardUnknown(m)
}

var xxx_messageInfo_SuggestGeoTargetConstantsRequest_LocationNames proto.InternalMessageInfo

func (m *SuggestGeoTargetConstantsRequest_LocationNames) GetNames() []*wrappers.StringValue {
	if m != nil {
		return m.Names
	}
	return nil
}

// A list of geo target constant resource names.
type SuggestGeoTargetConstantsRequest_GeoTargets struct {
	// A list of geo target constant resource names.
	GeoTargetConstants   []*wrappers.StringValue `protobuf:"bytes,1,rep,name=geo_target_constants,json=geoTargetConstants,proto3" json:"geo_target_constants,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *SuggestGeoTargetConstantsRequest_GeoTargets) Reset() {
	*m = SuggestGeoTargetConstantsRequest_GeoTargets{}
}
func (m *SuggestGeoTargetConstantsRequest_GeoTargets) String() string {
	return proto.CompactTextString(m)
}
func (*SuggestGeoTargetConstantsRequest_GeoTargets) ProtoMessage() {}
func (*SuggestGeoTargetConstantsRequest_GeoTargets) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{1, 1}
}
func (m *SuggestGeoTargetConstantsRequest_GeoTargets) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets.Unmarshal(m, b)
}
func (m *SuggestGeoTargetConstantsRequest_GeoTargets) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets.Marshal(b, m, deterministic)
}
func (dst *SuggestGeoTargetConstantsRequest_GeoTargets) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets.Merge(dst, src)
}
func (m *SuggestGeoTargetConstantsRequest_GeoTargets) XXX_Size() int {
	return xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets.Size(m)
}
func (m *SuggestGeoTargetConstantsRequest_GeoTargets) XXX_DiscardUnknown() {
	xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets.DiscardUnknown(m)
}

var xxx_messageInfo_SuggestGeoTargetConstantsRequest_GeoTargets proto.InternalMessageInfo

func (m *SuggestGeoTargetConstantsRequest_GeoTargets) GetGeoTargetConstants() []*wrappers.StringValue {
	if m != nil {
		return m.GeoTargetConstants
	}
	return nil
}

// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v1.services.GeoTargetConstantService.SuggestGeoTargetConstants]
type SuggestGeoTargetConstantsResponse struct {
	// Geo target constant suggestions.
	GeoTargetConstantSuggestions []*GeoTargetConstantSuggestion `protobuf:"bytes,1,rep,name=geo_target_constant_suggestions,json=geoTargetConstantSuggestions,proto3" json:"geo_target_constant_suggestions,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                       `json:"-"`
	XXX_unrecognized             []byte                         `json:"-"`
	XXX_sizecache                int32                          `json:"-"`
}

func (m *SuggestGeoTargetConstantsResponse) Reset()         { *m = SuggestGeoTargetConstantsResponse{} }
func (m *SuggestGeoTargetConstantsResponse) String() string { return proto.CompactTextString(m) }
func (*SuggestGeoTargetConstantsResponse) ProtoMessage()    {}
func (*SuggestGeoTargetConstantsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{2}
}
func (m *SuggestGeoTargetConstantsResponse) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SuggestGeoTargetConstantsResponse.Unmarshal(m, b)
}
func (m *SuggestGeoTargetConstantsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SuggestGeoTargetConstantsResponse.Marshal(b, m, deterministic)
}
func (dst *SuggestGeoTargetConstantsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SuggestGeoTargetConstantsResponse.Merge(dst, src)
}
func (m *SuggestGeoTargetConstantsResponse) XXX_Size() int {
	return xxx_messageInfo_SuggestGeoTargetConstantsResponse.Size(m)
}
func (m *SuggestGeoTargetConstantsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_SuggestGeoTargetConstantsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_SuggestGeoTargetConstantsResponse proto.InternalMessageInfo

func (m *SuggestGeoTargetConstantsResponse) GetGeoTargetConstantSuggestions() []*GeoTargetConstantSuggestion {
	if m != nil {
		return m.GeoTargetConstantSuggestions
	}
	return nil
}

// A geo target constant suggestion.
type GeoTargetConstantSuggestion struct {
	// The language this GeoTargetConstantSuggestion is currently translated to.
	// It affects the name of geo target fields. For example, if locale=en, then
	// name=Spain. If locale=es, then name=España. The default locale will be
	// returned if no translation exists for the locale in the request.
	Locale *wrappers.StringValue `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
	// Approximate user population that will be targeted, rounded to the
	// nearest 100.
	Reach *wrappers.Int64Value `protobuf:"bytes,2,opt,name=reach,proto3" json:"reach,omitempty"`
	// If the request searched by location name, this is the location name that
	// matched the geo target.
	SearchTerm *wrappers.StringValue `protobuf:"bytes,3,opt,name=search_term,json=searchTerm,proto3" json:"search_term,omitempty"`
	// The GeoTargetConstant result.
	GeoTargetConstant *resources.GeoTargetConstant `protobuf:"bytes,4,opt,name=geo_target_constant,json=geoTargetConstant,proto3" json:"geo_target_constant,omitempty"`
	// The list of parents of the geo target constant.
	GeoTargetConstantParents []*resources.GeoTargetConstant `protobuf:"bytes,5,rep,name=geo_target_constant_parents,json=geoTargetConstantParents,proto3" json:"geo_target_constant_parents,omitempty"`
	XXX_NoUnkeyedLiteral     struct{}                       `json:"-"`
	XXX_unrecognized         []byte                         `json:"-"`
	XXX_sizecache            int32                          `json:"-"`
}

func (m *GeoTargetConstantSuggestion) Reset()         { *m = GeoTargetConstantSuggestion{} }
func (m *GeoTargetConstantSuggestion) String() string { return proto.CompactTextString(m) }
func (*GeoTargetConstantSuggestion) ProtoMessage()    {}
func (*GeoTargetConstantSuggestion) Descriptor() ([]byte, []int) {
	return fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc, []int{3}
}
func (m *GeoTargetConstantSuggestion) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GeoTargetConstantSuggestion.Unmarshal(m, b)
}
func (m *GeoTargetConstantSuggestion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GeoTargetConstantSuggestion.Marshal(b, m, deterministic)
}
func (dst *GeoTargetConstantSuggestion) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GeoTargetConstantSuggestion.Merge(dst, src)
}
func (m *GeoTargetConstantSuggestion) XXX_Size() int {
	return xxx_messageInfo_GeoTargetConstantSuggestion.Size(m)
}
func (m *GeoTargetConstantSuggestion) XXX_DiscardUnknown() {
	xxx_messageInfo_GeoTargetConstantSuggestion.DiscardUnknown(m)
}

var xxx_messageInfo_GeoTargetConstantSuggestion proto.InternalMessageInfo

func (m *GeoTargetConstantSuggestion) GetLocale() *wrappers.StringValue {
	if m != nil {
		return m.Locale
	}
	return nil
}

func (m *GeoTargetConstantSuggestion) GetReach() *wrappers.Int64Value {
	if m != nil {
		return m.Reach
	}
	return nil
}

func (m *GeoTargetConstantSuggestion) GetSearchTerm() *wrappers.StringValue {
	if m != nil {
		return m.SearchTerm
	}
	return nil
}

func (m *GeoTargetConstantSuggestion) GetGeoTargetConstant() *resources.GeoTargetConstant {
	if m != nil {
		return m.GeoTargetConstant
	}
	return nil
}

func (m *GeoTargetConstantSuggestion) GetGeoTargetConstantParents() []*resources.GeoTargetConstant {
	if m != nil {
		return m.GeoTargetConstantParents
	}
	return nil
}

func init() {
	proto.RegisterType((*GetGeoTargetConstantRequest)(nil), "google.ads.googleads.v1.services.GetGeoTargetConstantRequest")
	proto.RegisterType((*SuggestGeoTargetConstantsRequest)(nil), "google.ads.googleads.v1.services.SuggestGeoTargetConstantsRequest")
	proto.RegisterType((*SuggestGeoTargetConstantsRequest_LocationNames)(nil), "google.ads.googleads.v1.services.SuggestGeoTargetConstantsRequest.LocationNames")
	proto.RegisterType((*SuggestGeoTargetConstantsRequest_GeoTargets)(nil), "google.ads.googleads.v1.services.SuggestGeoTargetConstantsRequest.GeoTargets")
	proto.RegisterType((*SuggestGeoTargetConstantsResponse)(nil), "google.ads.googleads.v1.services.SuggestGeoTargetConstantsResponse")
	proto.RegisterType((*GeoTargetConstantSuggestion)(nil), "google.ads.googleads.v1.services.GeoTargetConstantSuggestion")
}

// 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

// GeoTargetConstantServiceClient is the client API for GeoTargetConstantService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GeoTargetConstantServiceClient interface {
	// Returns the requested geo target constant in full detail.
	GetGeoTargetConstant(ctx context.Context, in *GetGeoTargetConstantRequest, opts ...grpc.CallOption) (*resources.GeoTargetConstant, error)
	// Returns GeoTargetConstant suggestions by location name or by resource name.
	SuggestGeoTargetConstants(ctx context.Context, in *SuggestGeoTargetConstantsRequest, opts ...grpc.CallOption) (*SuggestGeoTargetConstantsResponse, error)
}

type geoTargetConstantServiceClient struct {
	cc *grpc.ClientConn
}

func NewGeoTargetConstantServiceClient(cc *grpc.ClientConn) GeoTargetConstantServiceClient {
	return &geoTargetConstantServiceClient{cc}
}

func (c *geoTargetConstantServiceClient) GetGeoTargetConstant(ctx context.Context, in *GetGeoTargetConstantRequest, opts ...grpc.CallOption) (*resources.GeoTargetConstant, error) {
	out := new(resources.GeoTargetConstant)
	err := c.cc.Invoke(ctx, "/google.ads.googleads.v1.services.GeoTargetConstantService/GetGeoTargetConstant", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *geoTargetConstantServiceClient) SuggestGeoTargetConstants(ctx context.Context, in *SuggestGeoTargetConstantsRequest, opts ...grpc.CallOption) (*SuggestGeoTargetConstantsResponse, error) {
	out := new(SuggestGeoTargetConstantsResponse)
	err := c.cc.Invoke(ctx, "/google.ads.googleads.v1.services.GeoTargetConstantService/SuggestGeoTargetConstants", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// GeoTargetConstantServiceServer is the server API for GeoTargetConstantService service.
type GeoTargetConstantServiceServer interface {
	// Returns the requested geo target constant in full detail.
	GetGeoTargetConstant(context.Context, *GetGeoTargetConstantRequest) (*resources.GeoTargetConstant, error)
	// Returns GeoTargetConstant suggestions by location name or by resource name.
	SuggestGeoTargetConstants(context.Context, *SuggestGeoTargetConstantsRequest) (*SuggestGeoTargetConstantsResponse, error)
}

func RegisterGeoTargetConstantServiceServer(s *grpc.Server, srv GeoTargetConstantServiceServer) {
	s.RegisterService(&_GeoTargetConstantService_serviceDesc, srv)
}

func _GeoTargetConstantService_GetGeoTargetConstant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetGeoTargetConstantRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GeoTargetConstantServiceServer).GetGeoTargetConstant(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.ads.googleads.v1.services.GeoTargetConstantService/GetGeoTargetConstant",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GeoTargetConstantServiceServer).GetGeoTargetConstant(ctx, req.(*GetGeoTargetConstantRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GeoTargetConstantService_SuggestGeoTargetConstants_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SuggestGeoTargetConstantsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GeoTargetConstantServiceServer).SuggestGeoTargetConstants(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.ads.googleads.v1.services.GeoTargetConstantService/SuggestGeoTargetConstants",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GeoTargetConstantServiceServer).SuggestGeoTargetConstants(ctx, req.(*SuggestGeoTargetConstantsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _GeoTargetConstantService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.ads.googleads.v1.services.GeoTargetConstantService",
	HandlerType: (*GeoTargetConstantServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetGeoTargetConstant",
			Handler:    _GeoTargetConstantService_GetGeoTargetConstant_Handler,
		},
		{
			MethodName: "SuggestGeoTargetConstants",
			Handler:    _GeoTargetConstantService_SuggestGeoTargetConstants_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/ads/googleads/v1/services/geo_target_constant_service.proto",
}

func init() {
	proto.RegisterFile("google/ads/googleads/v1/services/geo_target_constant_service.proto", fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc)
}

var fileDescriptor_geo_target_constant_service_1639e7a2b84ebefc = []byte{
	// 714 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x6e, 0xd3, 0x4c,
	0x14, 0xfd, 0x9c, 0x34, 0xfd, 0xc4, 0xa4, 0x45, 0x62, 0xe8, 0xc2, 0xa4, 0xa5, 0x04, 0xb7, 0x8b,
	0xd2, 0x85, 0x4d, 0x42, 0xc5, 0xc2, 0x55, 0x85, 0x92, 0x2c, 0x52, 0x24, 0xa8, 0xa2, 0xb4, 0xca,
	0x02, 0x45, 0x8a, 0xa6, 0xf6, 0x65, 0x1a, 0x29, 0xf1, 0xb8, 0x33, 0xe3, 0xa2, 0x0a, 0xb1, 0x41,
	0x7d, 0x03, 0x5e, 0x00, 0xb1, 0xac, 0x58, 0xb1, 0xe7, 0x05, 0xd8, 0xb0, 0xe0, 0x15, 0x58, 0xf1,
	0x14, 0xc8, 0xf6, 0xd8, 0x6d, 0xe5, 0x98, 0x84, 0x96, 0xdd, 0x78, 0xee, 0xbd, 0xe7, 0xcc, 0xb9,
	0x7f, 0x46, 0x4d, 0xca, 0x18, 0x1d, 0x81, 0x45, 0x5c, 0x61, 0xc5, 0xc7, 0xf0, 0x74, 0x52, 0xb3,
	0x04, 0xf0, 0x93, 0xa1, 0x03, 0xc2, 0xa2, 0xc0, 0x06, 0x92, 0x70, 0x0a, 0x72, 0xe0, 0x30, 0x4f,
	0x48, 0xe2, 0xc9, 0x81, 0x32, 0x9a, 0x3e, 0x67, 0x92, 0xe1, 0x6a, 0x1c, 0x68, 0x12, 0x57, 0x98,
	0x29, 0x86, 0x79, 0x52, 0x33, 0x13, 0x8c, 0xca, 0x76, 0x1e, 0x0b, 0x07, 0xc1, 0x02, 0x9e, 0x43,
	0x13, 0xc3, 0x57, 0x56, 0x92, 0x60, 0x7f, 0x68, 0x11, 0xcf, 0x63, 0x92, 0xc8, 0x21, 0xf3, 0x84,
	0xb2, 0xae, 0x2a, 0x6b, 0xf4, 0x75, 0x18, 0xbc, 0xb6, 0xde, 0x70, 0xe2, 0xfb, 0xc0, 0x95, 0xdd,
	0x68, 0xa2, 0xe5, 0x36, 0xc8, 0x36, 0xb0, 0x83, 0x08, 0xbc, 0xa5, 0xb0, 0xbb, 0x70, 0x1c, 0x80,
	0x90, 0x78, 0x0d, 0x2d, 0x26, 0x6f, 0x18, 0x78, 0x64, 0x0c, 0xba, 0x56, 0xd5, 0x36, 0x6e, 0x75,
	0x17, 0x92, 0xcb, 0x3d, 0x32, 0x06, 0xe3, 0xcb, 0x1c, 0xaa, 0xee, 0x07, 0x94, 0x82, 0xc8, 0x02,
	0x89, 0x04, 0x69, 0x0b, 0xcd, 0x8f, 0x98, 0x43, 0x46, 0xa0, 0x17, 0xab, 0xda, 0x46, 0xb9, 0xbe,
	0xa2, 0x72, 0x61, 0x26, 0x2f, 0x33, 0xf7, 0x25, 0x1f, 0x7a, 0xb4, 0x47, 0x46, 0x01, 0x74, 0x95,
	0x2f, 0x7e, 0x86, 0x16, 0x1c, 0x16, 0x78, 0x92, 0x9f, 0x0e, 0x1c, 0xe6, 0x82, 0x5e, 0x9a, 0x21,
	0xb6, 0xac, 0x22, 0x5a, 0xcc, 0x05, 0x7c, 0x8a, 0x6e, 0x87, 0x50, 0x61, 0x4a, 0x22, 0x01, 0x22,
	0x52, 0x50, 0xae, 0x77, 0xcc, 0x69, 0x55, 0x31, 0xa7, 0x49, 0x32, 0x5f, 0x28, 0xe0, 0x30, 0x09,
	0x62, 0xf7, 0xbf, 0xee, 0xe2, 0xe8, 0xf2, 0x05, 0xf6, 0x51, 0xf9, 0xa2, 0x6a, 0x42, 0x2f, 0x44,
	0xbc, 0x2f, 0xff, 0x01, 0x6f, 0x6a, 0x09, 0x49, 0x11, 0x4d, 0xbf, 0x2a, 0x2d, 0xb4, 0x78, 0xe5,
	0x4d, 0xb8, 0x8e, 0x4a, 0x89, 0xe8, 0xe2, 0xd4, 0xbc, 0xc5, 0xae, 0x95, 0x3e, 0x42, 0x17, 0x04,
	0x78, 0x0f, 0x2d, 0x4d, 0x68, 0xbd, 0xd9, 0x00, 0x31, 0xcd, 0x48, 0x68, 0xfe, 0x8f, 0x4a, 0xc7,
	0x01, 0xf0, 0x53, 0xe3, 0x5c, 0x43, 0x0f, 0xff, 0xa0, 0x54, 0xf8, 0xcc, 0x13, 0x80, 0xcf, 0x34,
	0xf4, 0x60, 0xe2, 0x84, 0xc5, 0x91, 0x61, 0xa3, 0xab, 0xa7, 0xec, 0x4c, 0x4f, 0x6c, 0x86, 0x67,
	0x3f, 0x45, 0xe9, 0xae, 0xd0, 0x7c, 0xa3, 0x30, 0x3e, 0x16, 0xc3, 0x31, 0xc9, 0x75, 0xb8, 0xd4,
	0xdc, 0xda, 0x5f, 0x34, 0x77, 0x0d, 0x95, 0x38, 0x10, 0xe7, 0x48, 0xb5, 0xc6, 0x72, 0x26, 0xe8,
	0xb9, 0x27, 0x9f, 0x6e, 0xa9, 0xe2, 0x44, 0x9e, 0x78, 0x07, 0x95, 0x05, 0x10, 0xee, 0x1c, 0x0d,
	0x24, 0xf0, 0xf1, 0x4c, 0xa3, 0x84, 0xe2, 0x80, 0x03, 0xe0, 0x63, 0xec, 0xa2, 0xbb, 0x13, 0xb2,
	0xa9, 0xcf, 0x45, 0x30, 0x5b, 0xb9, 0x19, 0x4c, 0xd7, 0x50, 0x36, 0x85, 0xdd, 0x3b, 0x99, 0xc4,
	0x61, 0x81, 0x96, 0x27, 0xd5, 0xcc, 0x27, 0x1c, 0xc2, 0xd6, 0x29, 0x45, 0xf5, 0xba, 0x1e, 0x9b,
	0x9e, 0x61, 0xeb, 0xc4, 0xa8, 0xf5, 0xcf, 0x45, 0xa4, 0x67, 0x4b, 0x14, 0x97, 0x1e, 0x7f, 0xd5,
	0xd0, 0xd2, 0xa4, 0x35, 0x87, 0x67, 0xea, 0x9a, 0xdc, 0xf5, 0x58, 0xb9, 0x96, 0x08, 0xe3, 0xf1,
	0xfb, 0x1f, 0x3f, 0x3f, 0x14, 0x36, 0xf1, 0x46, 0xb8, 0xe2, 0xdf, 0x5e, 0xd9, 0xaf, 0x3b, 0xd9,
	0x91, 0xb1, 0x36, 0xdf, 0xe1, 0xef, 0x1a, 0xba, 0x97, 0x3b, 0x2c, 0xb8, 0x79, 0xf3, 0x9d, 0x52,
	0x69, 0xdd, 0x08, 0x23, 0x9e, 0x56, 0xe3, 0x51, 0x24, 0x6c, 0xcd, 0x58, 0x0d, 0x85, 0x65, 0x95,
	0xd8, 0x6a, 0x6a, 0x6d, 0x6d, 0xb3, 0x79, 0x56, 0x40, 0xeb, 0x0e, 0x1b, 0x4f, 0x65, 0x6d, 0xde,
	0xcf, 0x2b, 0x6a, 0x27, 0x6c, 0xf6, 0x8e, 0xf6, 0x6a, 0x57, 0x41, 0x50, 0x36, 0x22, 0x1e, 0x35,
	0x19, 0xa7, 0x16, 0x05, 0x2f, 0x1a, 0x85, 0xe4, 0x67, 0xea, 0x0f, 0x45, 0xfe, 0x1f, 0x7c, 0x3b,
	0x39, 0x7c, 0x2a, 0x14, 0xdb, 0x8d, 0xc6, 0x79, 0xa1, 0xda, 0x8e, 0x01, 0x1b, 0xae, 0x30, 0xe3,
	0x63, 0x78, 0xea, 0xd5, 0x4c, 0x45, 0x2c, 0xbe, 0x25, 0x2e, 0xfd, 0x86, 0x2b, 0xfa, 0xa9, 0x4b,
	0xbf, 0x57, 0xeb, 0x27, 0x2e, 0xbf, 0x0a, 0xeb, 0xf1, 0xbd, 0x6d, 0x37, 0x5c, 0x61, 0xdb, 0xa9,
	0x93, 0x6d, 0xf7, 0x6a, 0xb6, 0x9d, 0xb8, 0x1d, 0xce, 0x47, 0xef, 0x7c, 0xf2, 0x3b, 0x00, 0x00,
	0xff, 0xff, 0x1e, 0xee, 0xdc, 0x5b, 0x68, 0x08, 0x00, 0x00,
}
