// Code generated by protoc-gen-go-plugin. DO NOT EDIT.
// versions:
// 	protoc-gen-go-plugin v0.1.0
// 	protoc               v5.29.3
// source: tests/host-functions/proto/host.proto

package proto

import (
	context "context"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// The request message containing the user's name.
type GreetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *GreetRequest) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *GreetRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// The response message containing the greetings
type GreetReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *GreetReply) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *GreetReply) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type ParseJsonRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
}

func (x *ParseJsonRequest) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *ParseJsonRequest) GetContent() []byte {
	if x != nil {
		return x.Content
	}
	return nil
}

type ParseJsonResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Response *Person `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
}

func (x *ParseJsonResponse) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *ParseJsonResponse) GetResponse() *Person {
	if x != nil {
		return x.Response
	}
	return nil
}

type Person struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Age  int64  `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
}

func (x *Person) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *Person) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Person) GetAge() int64 {
	if x != nil {
		return x.Age
	}
	return 0
}

// The greeting service definition.
// go:plugin type=plugin version=1
type Greeter interface {
	// Sends a greeting
	Greet(context.Context, *GreetRequest) (*GreetReply, error)
}

// The host functions embedded into the plugin
// go:plugin type=host
type HostFunctions interface {
	ParseJson(context.Context, *ParseJsonRequest) (*ParseJsonResponse, error)
}
