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

package services

import (
	context "context"
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	resources "google.golang.org/genproto/googleapis/ads/googleads/v1/resources"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	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

// Request message for [ClickViewService.GetClickView][google.ads.googleads.v1.services.ClickViewService.GetClickView].
type GetClickViewRequest struct {
	// The resource name of the click view 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 *GetClickViewRequest) Reset()         { *m = GetClickViewRequest{} }
func (m *GetClickViewRequest) String() string { return proto.CompactTextString(m) }
func (*GetClickViewRequest) ProtoMessage()    {}
func (*GetClickViewRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_a3c35caeb519e64a, []int{0}
}

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

var xxx_messageInfo_GetClickViewRequest proto.InternalMessageInfo

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

func init() {
	proto.RegisterType((*GetClickViewRequest)(nil), "google.ads.googleads.v1.services.GetClickViewRequest")
}

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

var fileDescriptor_a3c35caeb519e64a = []byte{
	// 384 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xc1, 0x4a, 0xeb, 0x40,
	0x14, 0x25, 0x79, 0xf0, 0xe0, 0x85, 0x3e, 0x78, 0xe4, 0x21, 0x96, 0xe8, 0xa2, 0xd4, 0x2e, 0xa4,
	0x94, 0x19, 0x52, 0x75, 0xe1, 0x88, 0x8b, 0xd4, 0x45, 0x5d, 0x49, 0xa9, 0x90, 0x85, 0x04, 0x4a,
	0x4c, 0x86, 0x30, 0x98, 0x64, 0x6a, 0xee, 0x34, 0x5d, 0x88, 0x1b, 0x7f, 0xc1, 0x3f, 0x70, 0xa7,
	0x9f, 0xd2, 0xad, 0x4b, 0xb7, 0xae, 0xfc, 0x06, 0x17, 0x92, 0x4e, 0x26, 0x6d, 0xc5, 0xd2, 0xdd,
	0xe1, 0xde, 0x73, 0xce, 0x3d, 0x73, 0x18, 0xe3, 0x38, 0xe2, 0x3c, 0x8a, 0x29, 0xf6, 0x43, 0xc0,
	0x12, 0x16, 0x28, 0xb7, 0x31, 0xd0, 0x2c, 0x67, 0x01, 0x05, 0x1c, 0xc4, 0x2c, 0xb8, 0x19, 0xe5,
	0x8c, 0x4e, 0x47, 0xe5, 0x0c, 0x8d, 0x33, 0x2e, 0xb8, 0xd9, 0x90, 0x7c, 0xe4, 0x87, 0x80, 0x2a,
	0x29, 0xca, 0x6d, 0xa4, 0xa4, 0x56, 0x77, 0x9d, 0x79, 0x46, 0x81, 0x4f, 0xb2, 0x55, 0x77, 0xe9,
	0x6a, 0xed, 0x2a, 0xcd, 0x98, 0x61, 0x3f, 0x4d, 0xb9, 0xf0, 0x05, 0xe3, 0x29, 0x94, 0xdb, 0xed,
	0xa5, 0x6d, 0x10, 0x33, 0x9a, 0x0a, 0xb9, 0x68, 0x12, 0xe3, 0x7f, 0x9f, 0x8a, 0xb3, 0xc2, 0xcd,
	0x65, 0x74, 0x3a, 0xa4, 0xb7, 0x13, 0x0a, 0xc2, 0xdc, 0x33, 0xfe, 0xaa, 0x5b, 0xa3, 0xd4, 0x4f,
	0x68, 0x5d, 0x6b, 0x68, 0xfb, 0x7f, 0x86, 0x35, 0x35, 0xbc, 0xf0, 0x13, 0xda, 0x7d, 0xd3, 0x8c,
	0x7f, 0x95, 0xf2, 0x52, 0x86, 0x37, 0x9f, 0x35, 0xa3, 0xb6, 0xec, 0x68, 0x1e, 0xa1, 0x4d, 0xef,
	0x45, 0x3f, 0x24, 0xb0, 0x3a, 0x6b, 0x65, 0x55, 0x09, 0xa8, 0x12, 0x35, 0x0f, 0x1f, 0x5e, 0xdf,
	0x1f, 0x75, 0x64, 0x76, 0x8a, 0x96, 0xee, 0x56, 0xa2, 0x9f, 0x06, 0x13, 0x10, 0x3c, 0xa1, 0x19,
	0xe0, 0xb6, 0xac, 0xad, 0x50, 0x00, 0x6e, 0xdf, 0x5b, 0x3b, 0x33, 0xa7, 0xbe, 0xb0, 0x2e, 0xd1,
	0x98, 0x01, 0x0a, 0x78, 0xd2, 0xfb, 0xd4, 0x8c, 0x56, 0xc0, 0x93, 0x8d, 0xe9, 0x7b, 0x5b, 0xdf,
	0x3b, 0x18, 0x14, 0xcd, 0x0e, 0xb4, 0xab, 0xf3, 0x52, 0x1a, 0xf1, 0xd8, 0x4f, 0x23, 0xc4, 0xb3,
	0x08, 0x47, 0x34, 0x9d, 0xf7, 0x8e, 0x17, 0xc7, 0xd6, 0x7f, 0xa1, 0x13, 0x05, 0x9e, 0xf4, 0x5f,
	0x7d, 0xc7, 0x79, 0xd1, 0x1b, 0x7d, 0x69, 0xe8, 0x84, 0x80, 0x24, 0x2c, 0x90, 0x6b, 0xa3, 0xf2,
	0x30, 0xcc, 0x14, 0xc5, 0x73, 0x42, 0xf0, 0x2a, 0x8a, 0xe7, 0xda, 0x9e, 0xa2, 0x7c, 0xe8, 0x2d,
	0x39, 0x27, 0xc4, 0x09, 0x81, 0x90, 0x8a, 0x44, 0x88, 0x6b, 0x13, 0xa2, 0x68, 0xd7, 0xbf, 0xe7,
	0x39, 0x0f, 0xbe, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xf6, 0x63, 0x30, 0xe9, 0x02, 0x00, 0x00,
}

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

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

// ClickViewServiceClient is the client API for ClickViewService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ClickViewServiceClient interface {
	// Returns the requested click view in full detail.
	GetClickView(ctx context.Context, in *GetClickViewRequest, opts ...grpc.CallOption) (*resources.ClickView, error)
}

type clickViewServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewClickViewServiceClient(cc grpc.ClientConnInterface) ClickViewServiceClient {
	return &clickViewServiceClient{cc}
}

func (c *clickViewServiceClient) GetClickView(ctx context.Context, in *GetClickViewRequest, opts ...grpc.CallOption) (*resources.ClickView, error) {
	out := new(resources.ClickView)
	err := c.cc.Invoke(ctx, "/google.ads.googleads.v1.services.ClickViewService/GetClickView", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ClickViewServiceServer is the server API for ClickViewService service.
type ClickViewServiceServer interface {
	// Returns the requested click view in full detail.
	GetClickView(context.Context, *GetClickViewRequest) (*resources.ClickView, error)
}

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

func (*UnimplementedClickViewServiceServer) GetClickView(ctx context.Context, req *GetClickViewRequest) (*resources.ClickView, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetClickView not implemented")
}

func RegisterClickViewServiceServer(s *grpc.Server, srv ClickViewServiceServer) {
	s.RegisterService(&_ClickViewService_serviceDesc, srv)
}

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

var _ClickViewService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.ads.googleads.v1.services.ClickViewService",
	HandlerType: (*ClickViewServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetClickView",
			Handler:    _ClickViewService_GetClickView_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/ads/googleads/v1/services/click_view_service.proto",
}
