package api

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

var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

const _ = proto.ProtoPackageIsVersion2 

func init() { proto.RegisterFile("api/server.proto", fileDescriptor_19b13ee64afa9929) }

var fileDescriptor_19b13ee64afa9929 = []byte{

	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x93, 0x51, 0x6b, 0xea, 0x30,
	0x14, 0xc7, 0x0b, 0xde, 0x5b, 0xf1, 0xd4, 0xab, 0xd7, 0x33, 0xd8, 0x43, 0xde, 0x56, 0x18, 0x0c,
	0x64, 0x15, 0xb6, 0xb7, 0xc1, 0x1e, 0xa6, 0xb2, 0x22, 0x1b, 0xac, 0xd8, 0x4f, 0x90, 0xba, 0x33,
	0x28, 0xd4, 0xb6, 0xb6, 0x51, 0xe6, 0x87, 0xdc, 0x77, 0x1a, 0x49, 0x34, 0x4d, 0xb6, 0xc7, 0xdf,
	0x3f, 0xbf, 0xff, 0x49, 0x8c, 0x29, 0xfc, 0xe7, 0x75, 0x3e, 0x6b, 0xa9, 0x39, 0x50, 0x13, 0xd5,
	0x4d, 0x25, 0x2a, 0xec, 0xf1, 0x3a, 0x67, 0x43, 0x19, 0x37, 0xad, 0x8e, 0xee, 0xbe, 0xfe, 0x42,
	0xff, 0x35, 0x2f, 0x8e, 0x4f, 0xc9, 0x0a, 0x6f, 0xa0, 0x1f, 0x93, 0x58, 0x54, 0xe5, 0x07, 0x0e,
	0x23, 0x5e, 0xe7, 0xd1, 0x9a, 0x76, 0x92, 0xd8, 0xbf, 0x13, 0xb5, 0xb5, 0xc4, 0xd0, 0xc3, 0x07,
	0x18, 0xbf, 0x65, 0x82, 0xe7, 0xe5, 0x92, 0x0b, 0x9e, 0xf1, 0x96, 0x5a, 0x9c, 0x9c, 0x1b, 0x26,
	0x62, 0x68, 0x6a, 0x26, 0x0b, 0x3d, 0x8c, 0x20, 0xd0, 0xdd, 0xe7, 0xaa, 0xd9, 0xb6, 0x78, 0x9e,
	0xbd, 0x53, 0xc8, 0x46, 0xa6, 0xa3, 0x38, 0xf4, 0xf0, 0x11, 0x46, 0x8b, 0x86, 0xb8, 0xa0, 0xf3,
	0x10, 0xbc, 0x34, 0x87, 0x73, 0x72, 0x36, 0xf9, 0xb5, 0x5f, 0xe8, 0xe1, 0x2d, 0x80, 0xd6, 0xe4,
	0x3c, 0x44, 0xb7, 0x2a, 0x33, 0x36, 0x30, 0xb5, 0xd0, 0xc3, 0x29, 0x0c, 0xf4, 0xd2, 0x0b, 0x1d,
	0xbb, 0xdf, 0x64, 0x22, 0x57, 0x9e, 0x41, 0xa0, 0x57, 0x56, 0xe5, 0x3b, 0x7d, 0xe2, 0x85, 0xab,
	0xab, 0xd0, 0x2d, 0x5c, 0xc3, 0x9f, 0x64, 0x2f, 0x96, 0xdd, 0xf5, 0x4a, 0xb2, 0xae, 0x57, 0xa2,
	0xd6, 0x52, 0xb2, 0x35, 0x49, 0x96, 0x26, 0x51, 0x6b, 0xb1, 0xa3, 0xc5, 0xae, 0x16, 0x6b, 0x2d,
	0x84, 0x5e, 0xb2, 0x17, 0x18, 0x58, 0x7b, 0xb2, 0xa1, 0xbd, 0xa5, 0x76, 0x52, 0xb2, 0x9c, 0x94,
	0x6c, 0x27, 0xa5, 0x93, 0x13, 0xdb, 0x4e, 0xec, 0x38, 0xb1, 0x72, 0xa6, 0xe0, 0xa7, 0x54, 0xd0,
	0x46, 0xe0, 0xa8, 0x1b, 0x25, 0x99, 0x8d, 0xad, 0x69, 0x32, 0x50, 0xe7, 0xf7, 0xd7, 0xb4, 0xad,
	0x0e, 0xd4, 0xc9, 0x9a, 0x7f, 0xfe, 0x25, 0xfe, 0x92, 0x0a, 0x12, 0x96, 0xa6, 0xd9, 0x9a, 0xa9,
	0x83, 0xd0, 0x9b, 0x5f, 0x01, 0x6e, 0xca, 0x88, 0x67, 0xd4, 0xe4, 0x9b, 0xa8, 0xc8, 0x8b, 0xa3,
	0x54, 0xe6, 0x41, 0xaa, 0x3e, 0x83, 0x44, 0x3e, 0xf9, 0xcc, 0x57, 0x2f, 0xff, 0xfe, 0x3b, 0x00,
	0x00, 0xff, 0xff, 0xf5, 0x35, 0x4d, 0xfe, 0x20, 0x03, 0x00, 0x00,
}

var _ context.Context
var _ grpc.ClientConn

const _ = grpc.SupportPackageIsVersion4

type LilyAPIClient interface {

	GetConf(ctx context.Context, in *ReqConf, opts ...grpc.CallOption) (*RespConf, error)

	ObtainDatabases(ctx context.Context, in *ReqDatabases, opts ...grpc.CallOption) (*RespDatabases, error)

	ObtainForms(ctx context.Context, in *ReqForms, opts ...grpc.CallOption) (*RespForms, error)

	CreateDatabase(ctx context.Context, in *ReqCreateDatabase, opts ...grpc.CallOption) (*RespDatabase, error)

	CreateForm(ctx context.Context, in *ReqCreateForm, opts ...grpc.CallOption) (*Resp, error)

	CreateKey(ctx context.Context, in *ReqCreateKey, opts ...grpc.CallOption) (*Resp, error)

	CreateIndex(ctx context.Context, in *ReqCreateIndex, opts ...grpc.CallOption) (*Resp, error)

	PutD(ctx context.Context, in *ReqPutD, opts ...grpc.CallOption) (*RespPutD, error)

	SetD(ctx context.Context, in *ReqSetD, opts ...grpc.CallOption) (*RespSetD, error)

	GetD(ctx context.Context, in *ReqGetD, opts ...grpc.CallOption) (*RespGetD, error)

	Put(ctx context.Context, in *ReqPut, opts ...grpc.CallOption) (*RespPut, error)

	Set(ctx context.Context, in *ReqSet, opts ...grpc.CallOption) (*RespSet, error)

	Get(ctx context.Context, in *ReqGet, opts ...grpc.CallOption) (*RespGet, error)

	Select(ctx context.Context, in *ReqSelect, opts ...grpc.CallOption) (*RespSelect, error)

	Remove(ctx context.Context, in *ReqRemove, opts ...grpc.CallOption) (*Resp, error)

	Delete(ctx context.Context, in *ReqDelete, opts ...grpc.CallOption) (*RespDelete, error)
}

type lilyAPIClient struct {
	cc *grpc.ClientConn
}

func NewLilyAPIClient(cc *grpc.ClientConn) LilyAPIClient {
	return &lilyAPIClient{cc}
}

func (c *lilyAPIClient) GetConf(ctx context.Context, in *ReqConf, opts ...grpc.CallOption) (*RespConf, error) {
	out := new(RespConf)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/GetConf", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) ObtainDatabases(ctx context.Context, in *ReqDatabases, opts ...grpc.CallOption) (*RespDatabases, error) {
	out := new(RespDatabases)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/ObtainDatabases", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) ObtainForms(ctx context.Context, in *ReqForms, opts ...grpc.CallOption) (*RespForms, error) {
	out := new(RespForms)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/ObtainForms", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateDatabase(ctx context.Context, in *ReqCreateDatabase, opts ...grpc.CallOption) (*RespDatabase, error) {
	out := new(RespDatabase)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateDatabase", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateForm(ctx context.Context, in *ReqCreateForm, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateForm", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateKey(ctx context.Context, in *ReqCreateKey, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateIndex(ctx context.Context, in *ReqCreateIndex, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateIndex", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) PutD(ctx context.Context, in *ReqPutD, opts ...grpc.CallOption) (*RespPutD, error) {
	out := new(RespPutD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/PutD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) SetD(ctx context.Context, in *ReqSetD, opts ...grpc.CallOption) (*RespSetD, error) {
	out := new(RespSetD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/SetD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) GetD(ctx context.Context, in *ReqGetD, opts ...grpc.CallOption) (*RespGetD, error) {
	out := new(RespGetD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/GetD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Put(ctx context.Context, in *ReqPut, opts ...grpc.CallOption) (*RespPut, error) {
	out := new(RespPut)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Put", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Set(ctx context.Context, in *ReqSet, opts ...grpc.CallOption) (*RespSet, error) {
	out := new(RespSet)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Set", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Get(ctx context.Context, in *ReqGet, opts ...grpc.CallOption) (*RespGet, error) {
	out := new(RespGet)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Select(ctx context.Context, in *ReqSelect, opts ...grpc.CallOption) (*RespSelect, error) {
	out := new(RespSelect)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Select", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Remove(ctx context.Context, in *ReqRemove, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Remove", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Delete(ctx context.Context, in *ReqDelete, opts ...grpc.CallOption) (*RespDelete, error) {
	out := new(RespDelete)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type LilyAPIServer interface {

	GetConf(context.Context, *ReqConf) (*RespConf, error)

	ObtainDatabases(context.Context, *ReqDatabases) (*RespDatabases, error)

	ObtainForms(context.Context, *ReqForms) (*RespForms, error)

	CreateDatabase(context.Context, *ReqCreateDatabase) (*RespDatabase, error)

	CreateForm(context.Context, *ReqCreateForm) (*Resp, error)

	CreateKey(context.Context, *ReqCreateKey) (*Resp, error)

	CreateIndex(context.Context, *ReqCreateIndex) (*Resp, error)

	PutD(context.Context, *ReqPutD) (*RespPutD, error)

	SetD(context.Context, *ReqSetD) (*RespSetD, error)

	GetD(context.Context, *ReqGetD) (*RespGetD, error)

	Put(context.Context, *ReqPut) (*RespPut, error)

	Set(context.Context, *ReqSet) (*RespSet, error)

	Get(context.Context, *ReqGet) (*RespGet, error)

	Select(context.Context, *ReqSelect) (*RespSelect, error)

	Remove(context.Context, *ReqRemove) (*Resp, error)

	Delete(context.Context, *ReqDelete) (*RespDelete, error)
}

func RegisterLilyAPIServer(s *grpc.Server, srv LilyAPIServer) {
	s.RegisterService(&_LilyAPI_serviceDesc, srv)
}

func _LilyAPI_GetConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqConf)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).GetConf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/GetConf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).GetConf(ctx, req.(*ReqConf))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_ObtainDatabases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqDatabases)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).ObtainDatabases(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/ObtainDatabases",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).ObtainDatabases(ctx, req.(*ReqDatabases))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_ObtainForms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqForms)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).ObtainForms(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/ObtainForms",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).ObtainForms(ctx, req.(*ReqForms))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateDatabase)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateDatabase(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateDatabase",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateDatabase(ctx, req.(*ReqCreateDatabase))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateForm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateForm)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateForm(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateForm",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateForm(ctx, req.(*ReqCreateForm))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateKey(ctx, req.(*ReqCreateKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateIndex)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateIndex(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateIndex",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateIndex(ctx, req.(*ReqCreateIndex))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_PutD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqPutD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).PutD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/PutD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).PutD(ctx, req.(*ReqPutD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_SetD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSetD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).SetD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/SetD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).SetD(ctx, req.(*ReqSetD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_GetD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqGetD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).GetD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/GetD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).GetD(ctx, req.(*ReqGetD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Put_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqPut)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Put(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Put",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Put(ctx, req.(*ReqPut))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSet)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Set(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Set",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Set(ctx, req.(*ReqSet))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqGet)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Get(ctx, req.(*ReqGet))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Select_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSelect)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Select(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Select",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Select(ctx, req.(*ReqSelect))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqRemove)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Remove(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Remove",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Remove(ctx, req.(*ReqRemove))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqDelete)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Delete(ctx, req.(*ReqDelete))
	}
	return interceptor(ctx, in, info, handler)
}

var _LilyAPI_serviceDesc = grpc.ServiceDesc{
	ServiceName: "api.LilyAPI",
	HandlerType: (*LilyAPIServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetConf",
			Handler:    _LilyAPI_GetConf_Handler,
		},
		{
			MethodName: "ObtainDatabases",
			Handler:    _LilyAPI_ObtainDatabases_Handler,
		},
		{
			MethodName: "ObtainForms",
			Handler:    _LilyAPI_ObtainForms_Handler,
		},
		{
			MethodName: "CreateDatabase",
			Handler:    _LilyAPI_CreateDatabase_Handler,
		},
		{
			MethodName: "CreateForm",
			Handler:    _LilyAPI_CreateForm_Handler,
		},
		{
			MethodName: "CreateKey",
			Handler:    _LilyAPI_CreateKey_Handler,
		},
		{
			MethodName: "CreateIndex",
			Handler:    _LilyAPI_CreateIndex_Handler,
		},
		{
			MethodName: "PutD",
			Handler:    _LilyAPI_PutD_Handler,
		},
		{
			MethodName: "SetD",
			Handler:    _LilyAPI_SetD_Handler,
		},
		{
			MethodName: "GetD",
			Handler:    _LilyAPI_GetD_Handler,
		},
		{
			MethodName: "Put",
			Handler:    _LilyAPI_Put_Handler,
		},
		{
			MethodName: "Set",
			Handler:    _LilyAPI_Set_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _LilyAPI_Get_Handler,
		},
		{
			MethodName: "Select",
			Handler:    _LilyAPI_Select_Handler,
		},
		{
			MethodName: "Remove",
			Handler:    _LilyAPI_Remove_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _LilyAPI_Delete_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api/server.proto",
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: api/server.proto

package api

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

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

func init() { proto.RegisterFile("api/server.proto", fileDescriptor_19b13ee64afa9929) }

var fileDescriptor_19b13ee64afa9929 = []byte{
	// 363 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x93, 0x51, 0x6b, 0xea, 0x30,
	0x14, 0xc7, 0x0b, 0xde, 0x5b, 0xf1, 0xd4, 0xab, 0xd7, 0x33, 0xd8, 0x43, 0xde, 0x56, 0x18, 0x0c,
	0x64, 0x15, 0xb6, 0xb7, 0xc1, 0x1e, 0xa6, 0xb2, 0x22, 0x1b, 0xac, 0xd8, 0x4f, 0x90, 0xba, 0x33,
	0x28, 0xd4, 0xb6, 0xb6, 0x51, 0xe6, 0x87, 0xdc, 0x77, 0x1a, 0x49, 0x34, 0x4d, 0xb6, 0xc7, 0xdf,
	0x3f, 0xbf, 0xff, 0x49, 0x8c, 0x29, 0xfc, 0xe7, 0x75, 0x3e, 0x6b, 0xa9, 0x39, 0x50, 0x13, 0xd5,
	0x4d, 0x25, 0x2a, 0xec, 0xf1, 0x3a, 0x67, 0x43, 0x19, 0x37, 0xad, 0x8e, 0xee, 0xbe, 0xfe, 0x42,
	0xff, 0x35, 0x2f, 0x8e, 0x4f, 0xc9, 0x0a, 0x6f, 0xa0, 0x1f, 0x93, 0x58, 0x54, 0xe5, 0x07, 0x0e,
	0x23, 0x5e, 0xe7, 0xd1, 0x9a, 0x76, 0x92, 0xd8, 0xbf, 0x13, 0xb5, 0xb5, 0xc4, 0xd0, 0xc3, 0x07,
	0x18, 0xbf, 0x65, 0x82, 0xe7, 0xe5, 0x92, 0x0b, 0x9e, 0xf1, 0x96, 0x5a, 0x9c, 0x9c, 0x1b, 0x26,
	0x62, 0x68, 0x6a, 0x26, 0x0b, 0x3d, 0x8c, 0x20, 0xd0, 0xdd, 0xe7, 0xaa, 0xd9, 0xb6, 0x78, 0x9e,
	0xbd, 0x53, 0xc8, 0x46, 0xa6, 0xa3, 0x38, 0xf4, 0xf0, 0x11, 0x46, 0x8b, 0x86, 0xb8, 0xa0, 0xf3,
	0x10, 0xbc, 0x34, 0x87, 0x73, 0x72, 0x36, 0xf9, 0xb5, 0x5f, 0xe8, 0xe1, 0x2d, 0x80, 0xd6, 0xe4,
	0x3c, 0x44, 0xb7, 0x2a, 0x33, 0x36, 0x30, 0xb5, 0xd0, 0xc3, 0x29, 0x0c, 0xf4, 0xd2, 0x0b, 0x1d,
	0xbb, 0xdf, 0x64, 0x22, 0x57, 0x9e, 0x41, 0xa0, 0x57, 0x56, 0xe5, 0x3b, 0x7d, 0xe2, 0x85, 0xab,
	0xab, 0xd0, 0x2d, 0x5c, 0xc3, 0x9f, 0x64, 0x2f, 0x96, 0xdd, 0xf5, 0x4a, 0xb2, 0xae, 0x57, 0xa2,
	0xd6, 0x52, 0xb2, 0x35, 0x49, 0x96, 0x26, 0x51, 0x6b, 0xb1, 0xa3, 0xc5, 0xae, 0x16, 0x6b, 0x2d,
	0x84, 0x5e, 0xb2, 0x17, 0x18, 0x58, 0x7b, 0xb2, 0xa1, 0xbd, 0xa5, 0x76, 0x52, 0xb2, 0x9c, 0x94,
	0x6c, 0x27, 0xa5, 0x93, 0x13, 0xdb, 0x4e, 0xec, 0x38, 0xb1, 0x72, 0xa6, 0xe0, 0xa7, 0x54, 0xd0,
	0x46, 0xe0, 0xa8, 0x1b, 0x25, 0x99, 0x8d, 0xad, 0x69, 0x32, 0x50, 0xe7, 0xf7, 0xd7, 0xb4, 0xad,
	0x0e, 0xd4, 0xc9, 0x9a, 0x7f, 0xfe, 0x25, 0xfe, 0x92, 0x0a, 0x12, 0x96, 0xa6, 0xd9, 0x9a, 0xa9,
	0x83, 0xd0, 0x9b, 0x5f, 0x01, 0x6e, 0xca, 0x88, 0x67, 0xd4, 0xe4, 0x9b, 0xa8, 0xc8, 0x8b, 0xa3,
	0x54, 0xe6, 0x41, 0xaa, 0x3e, 0x83, 0x44, 0x3e, 0xf9, 0xcc, 0x57, 0x2f, 0xff, 0xfe, 0x3b, 0x00,
	0x00, 0xff, 0xff, 0xf5, 0x35, 0x4d, 0xfe, 0x20, 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

// LilyAPIClient is the client API for LilyAPI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type LilyAPIClient interface {
	// GetConf 获取数据库引擎对象
	GetConf(ctx context.Context, in *ReqConf, opts ...grpc.CallOption) (*RespConf, error)
	// ObtainDatabases 获取数据库集合
	ObtainDatabases(ctx context.Context, in *ReqDatabases, opts ...grpc.CallOption) (*RespDatabases, error)
	// ObtainForms 获取数据库表集合
	ObtainForms(ctx context.Context, in *ReqForms, opts ...grpc.CallOption) (*RespForms, error)
	// CreateDatabase 新建数据库
	CreateDatabase(ctx context.Context, in *ReqCreateDatabase, opts ...grpc.CallOption) (*RespDatabase, error)
	// CreateForm 创建表
	CreateForm(ctx context.Context, in *ReqCreateForm, opts ...grpc.CallOption) (*Resp, error)
	// CreateKey 新建主键
	CreateKey(ctx context.Context, in *ReqCreateKey, opts ...grpc.CallOption) (*Resp, error)
	// CreateIndex 新建索引
	CreateIndex(ctx context.Context, in *ReqCreateIndex, opts ...grpc.CallOption) (*Resp, error)
	// PutD 新增数据
	PutD(ctx context.Context, in *ReqPutD, opts ...grpc.CallOption) (*RespPutD, error)
	// SetD 新增数据
	SetD(ctx context.Context, in *ReqSetD, opts ...grpc.CallOption) (*RespSetD, error)
	// GetD 获取数据
	GetD(ctx context.Context, in *ReqGetD, opts ...grpc.CallOption) (*RespGetD, error)
	// Put 新增数据
	Put(ctx context.Context, in *ReqPut, opts ...grpc.CallOption) (*RespPut, error)
	// Set 新增数据
	Set(ctx context.Context, in *ReqSet, opts ...grpc.CallOption) (*RespSet, error)
	// Get 获取数据
	Get(ctx context.Context, in *ReqGet, opts ...grpc.CallOption) (*RespGet, error)
	// Select 获取数据
	Select(ctx context.Context, in *ReqSelect, opts ...grpc.CallOption) (*RespSelect, error)
	// Remove 删除数据
	Remove(ctx context.Context, in *ReqRemove, opts ...grpc.CallOption) (*Resp, error)
	// Delete 删除数据
	Delete(ctx context.Context, in *ReqDelete, opts ...grpc.CallOption) (*RespDelete, error)
}

type lilyAPIClient struct {
	cc *grpc.ClientConn
}

func NewLilyAPIClient(cc *grpc.ClientConn) LilyAPIClient {
	return &lilyAPIClient{cc}
}

func (c *lilyAPIClient) GetConf(ctx context.Context, in *ReqConf, opts ...grpc.CallOption) (*RespConf, error) {
	out := new(RespConf)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/GetConf", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) ObtainDatabases(ctx context.Context, in *ReqDatabases, opts ...grpc.CallOption) (*RespDatabases, error) {
	out := new(RespDatabases)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/ObtainDatabases", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) ObtainForms(ctx context.Context, in *ReqForms, opts ...grpc.CallOption) (*RespForms, error) {
	out := new(RespForms)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/ObtainForms", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateDatabase(ctx context.Context, in *ReqCreateDatabase, opts ...grpc.CallOption) (*RespDatabase, error) {
	out := new(RespDatabase)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateDatabase", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateForm(ctx context.Context, in *ReqCreateForm, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateForm", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateKey(ctx context.Context, in *ReqCreateKey, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) CreateIndex(ctx context.Context, in *ReqCreateIndex, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/CreateIndex", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) PutD(ctx context.Context, in *ReqPutD, opts ...grpc.CallOption) (*RespPutD, error) {
	out := new(RespPutD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/PutD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) SetD(ctx context.Context, in *ReqSetD, opts ...grpc.CallOption) (*RespSetD, error) {
	out := new(RespSetD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/SetD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) GetD(ctx context.Context, in *ReqGetD, opts ...grpc.CallOption) (*RespGetD, error) {
	out := new(RespGetD)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/GetD", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Put(ctx context.Context, in *ReqPut, opts ...grpc.CallOption) (*RespPut, error) {
	out := new(RespPut)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Put", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Set(ctx context.Context, in *ReqSet, opts ...grpc.CallOption) (*RespSet, error) {
	out := new(RespSet)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Set", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Get(ctx context.Context, in *ReqGet, opts ...grpc.CallOption) (*RespGet, error) {
	out := new(RespGet)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Select(ctx context.Context, in *ReqSelect, opts ...grpc.CallOption) (*RespSelect, error) {
	out := new(RespSelect)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Select", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Remove(ctx context.Context, in *ReqRemove, opts ...grpc.CallOption) (*Resp, error) {
	out := new(Resp)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Remove", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *lilyAPIClient) Delete(ctx context.Context, in *ReqDelete, opts ...grpc.CallOption) (*RespDelete, error) {
	out := new(RespDelete)
	err := c.cc.Invoke(ctx, "/api.LilyAPI/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// LilyAPIServer is the server API for LilyAPI service.
type LilyAPIServer interface {
	// GetConf 获取数据库引擎对象
	GetConf(context.Context, *ReqConf) (*RespConf, error)
	// ObtainDatabases 获取数据库集合
	ObtainDatabases(context.Context, *ReqDatabases) (*RespDatabases, error)
	// ObtainForms 获取数据库表集合
	ObtainForms(context.Context, *ReqForms) (*RespForms, error)
	// CreateDatabase 新建数据库
	CreateDatabase(context.Context, *ReqCreateDatabase) (*RespDatabase, error)
	// CreateForm 创建表
	CreateForm(context.Context, *ReqCreateForm) (*Resp, error)
	// CreateKey 新建主键
	CreateKey(context.Context, *ReqCreateKey) (*Resp, error)
	// CreateIndex 新建索引
	CreateIndex(context.Context, *ReqCreateIndex) (*Resp, error)
	// PutD 新增数据
	PutD(context.Context, *ReqPutD) (*RespPutD, error)
	// SetD 新增数据
	SetD(context.Context, *ReqSetD) (*RespSetD, error)
	// GetD 获取数据
	GetD(context.Context, *ReqGetD) (*RespGetD, error)
	// Put 新增数据
	Put(context.Context, *ReqPut) (*RespPut, error)
	// Set 新增数据
	Set(context.Context, *ReqSet) (*RespSet, error)
	// Get 获取数据
	Get(context.Context, *ReqGet) (*RespGet, error)
	// Select 获取数据
	Select(context.Context, *ReqSelect) (*RespSelect, error)
	// Remove 删除数据
	Remove(context.Context, *ReqRemove) (*Resp, error)
	// Delete 删除数据
	Delete(context.Context, *ReqDelete) (*RespDelete, error)
}

func RegisterLilyAPIServer(s *grpc.Server, srv LilyAPIServer) {
	s.RegisterService(&_LilyAPI_serviceDesc, srv)
}

func _LilyAPI_GetConf_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqConf)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).GetConf(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/GetConf",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).GetConf(ctx, req.(*ReqConf))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_ObtainDatabases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqDatabases)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).ObtainDatabases(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/ObtainDatabases",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).ObtainDatabases(ctx, req.(*ReqDatabases))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_ObtainForms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqForms)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).ObtainForms(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/ObtainForms",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).ObtainForms(ctx, req.(*ReqForms))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateDatabase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateDatabase)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateDatabase(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateDatabase",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateDatabase(ctx, req.(*ReqCreateDatabase))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateForm_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateForm)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateForm(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateForm",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateForm(ctx, req.(*ReqCreateForm))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateKey)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateKey(ctx, req.(*ReqCreateKey))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_CreateIndex_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqCreateIndex)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).CreateIndex(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/CreateIndex",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).CreateIndex(ctx, req.(*ReqCreateIndex))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_PutD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqPutD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).PutD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/PutD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).PutD(ctx, req.(*ReqPutD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_SetD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSetD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).SetD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/SetD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).SetD(ctx, req.(*ReqSetD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_GetD_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqGetD)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).GetD(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/GetD",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).GetD(ctx, req.(*ReqGetD))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Put_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqPut)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Put(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Put",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Put(ctx, req.(*ReqPut))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Set_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSet)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Set(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Set",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Set(ctx, req.(*ReqSet))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqGet)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Get(ctx, req.(*ReqGet))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Select_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqSelect)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Select(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Select",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Select(ctx, req.(*ReqSelect))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqRemove)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Remove(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Remove",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Remove(ctx, req.(*ReqRemove))
	}
	return interceptor(ctx, in, info, handler)
}

func _LilyAPI_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReqDelete)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(LilyAPIServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.LilyAPI/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(LilyAPIServer).Delete(ctx, req.(*ReqDelete))
	}
	return interceptor(ctx, in, info, handler)
}

var _LilyAPI_serviceDesc = grpc.ServiceDesc{
	ServiceName: "api.LilyAPI",
	HandlerType: (*LilyAPIServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetConf",
			Handler:    _LilyAPI_GetConf_Handler,
		},
		{
			MethodName: "ObtainDatabases",
			Handler:    _LilyAPI_ObtainDatabases_Handler,
		},
		{
			MethodName: "ObtainForms",
			Handler:    _LilyAPI_ObtainForms_Handler,
		},
		{
			MethodName: "CreateDatabase",
			Handler:    _LilyAPI_CreateDatabase_Handler,
		},
		{
			MethodName: "CreateForm",
			Handler:    _LilyAPI_CreateForm_Handler,
		},
		{
			MethodName: "CreateKey",
			Handler:    _LilyAPI_CreateKey_Handler,
		},
		{
			MethodName: "CreateIndex",
			Handler:    _LilyAPI_CreateIndex_Handler,
		},
		{
			MethodName: "PutD",
			Handler:    _LilyAPI_PutD_Handler,
		},
		{
			MethodName: "SetD",
			Handler:    _LilyAPI_SetD_Handler,
		},
		{
			MethodName: "GetD",
			Handler:    _LilyAPI_GetD_Handler,
		},
		{
			MethodName: "Put",
			Handler:    _LilyAPI_Put_Handler,
		},
		{
			MethodName: "Set",
			Handler:    _LilyAPI_Set_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _LilyAPI_Get_Handler,
		},
		{
			MethodName: "Select",
			Handler:    _LilyAPI_Select_Handler,
		},
		{
			MethodName: "Remove",
			Handler:    _LilyAPI_Remove_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _LilyAPI_Delete_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api/server.proto",
}
