// Code generated by protoc-gen-go. DO NOT EDIT.
// source: cs3/gateway/v1beta1/gateway_api.proto

package gatewayv1beta1

import (
	context "context"
	fmt "fmt"
	v1beta15 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1"
	v1beta110 "github.com/cs3org/go-cs3apis/cs3/app/registry/v1beta1"
	v1beta14 "github.com/cs3org/go-cs3apis/cs3/auth/applications/v1beta1"
	v1beta112 "github.com/cs3org/go-cs3apis/cs3/auth/registry/v1beta1"
	v1beta111 "github.com/cs3org/go-cs3apis/cs3/identity/group/v1beta1"
	v1beta12 "github.com/cs3org/go-cs3apis/cs3/identity/user/v1beta1"
	v1beta115 "github.com/cs3org/go-cs3apis/cs3/ocm/core/v1beta1"
	v1beta113 "github.com/cs3org/go-cs3apis/cs3/ocm/invite/v1beta1"
	v1beta114 "github.com/cs3org/go-cs3apis/cs3/ocm/provider/v1beta1"
	v1beta117 "github.com/cs3org/go-cs3apis/cs3/permissions/v1beta1"
	v1beta17 "github.com/cs3org/go-cs3apis/cs3/preferences/v1beta1"
	v1beta11 "github.com/cs3org/go-cs3apis/cs3/rpc/v1beta1"
	v1beta16 "github.com/cs3org/go-cs3apis/cs3/sharing/collaboration/v1beta1"
	v1beta18 "github.com/cs3org/go-cs3apis/cs3/sharing/link/v1beta1"
	v1beta19 "github.com/cs3org/go-cs3apis/cs3/sharing/ocm/v1beta1"
	v1beta13 "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
	v1beta116 "github.com/cs3org/go-cs3apis/cs3/tx/v1beta1"
	v1beta1 "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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.ProtoPackageIsVersion3 // please upgrade the proto package

// REQUIRED.
// View mode.
type OpenInAppRequest_ViewMode int32

const (
	OpenInAppRequest_VIEW_MODE_INVALID OpenInAppRequest_ViewMode = 0
	// The resource can be opened but not downloaded.
	OpenInAppRequest_VIEW_MODE_VIEW_ONLY OpenInAppRequest_ViewMode = 1
	// The resource can be downloaded.
	OpenInAppRequest_VIEW_MODE_READ_ONLY OpenInAppRequest_ViewMode = 2
	// The resource can be downloaded and updated. The underlying application
	// MUST be a fully capable editor to support this mode.
	OpenInAppRequest_VIEW_MODE_READ_WRITE OpenInAppRequest_ViewMode = 3
	// The resource can be downloaded and updated, but must be shown in
	// preview mode. If the underlying application does not support a preview mode,
	// or if in a view-only mode users are not allowed to switch to edit mode,
	// then this mode MUST fall back to READ_WRITE.
	OpenInAppRequest_VIEW_MODE_PREVIEW OpenInAppRequest_ViewMode = 4
)

var OpenInAppRequest_ViewMode_name = map[int32]string{
	0: "VIEW_MODE_INVALID",
	1: "VIEW_MODE_VIEW_ONLY",
	2: "VIEW_MODE_READ_ONLY",
	3: "VIEW_MODE_READ_WRITE",
	4: "VIEW_MODE_PREVIEW",
}

var OpenInAppRequest_ViewMode_value = map[string]int32{
	"VIEW_MODE_INVALID":    0,
	"VIEW_MODE_VIEW_ONLY":  1,
	"VIEW_MODE_READ_ONLY":  2,
	"VIEW_MODE_READ_WRITE": 3,
	"VIEW_MODE_PREVIEW":    4,
}

func (x OpenInAppRequest_ViewMode) String() string {
	return proto.EnumName(OpenInAppRequest_ViewMode_name, int32(x))
}

func (OpenInAppRequest_ViewMode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{8, 0}
}

type AuthenticateRequest struct {
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The type of authentication to use.
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// OPTIONAL.
	// The id of the client.
	// For basic authentication with username and password
	// both client_id and client_secret are expected to be filled.
	// However, for example, for OIDC only a token is necessary.
	ClientId string `protobuf:"bytes,3,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	// OPTIONAL.
	// The secret of the client.
	ClientSecret         string   `protobuf:"bytes,4,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_AuthenticateRequest proto.InternalMessageInfo

func (m *AuthenticateRequest) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *AuthenticateRequest) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *AuthenticateRequest) GetClientId() string {
	if m != nil {
		return m.ClientId
	}
	return ""
}

func (m *AuthenticateRequest) GetClientSecret() string {
	if m != nil {
		return m.ClientSecret
	}
	return ""
}

type AuthenticateResponse struct {
	// REQUIRED.
	// The response status.
	Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The access token.
	Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"`
	// REQUIRED.
	// The authenticated user.
	User                 *v1beta12.User `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_AuthenticateResponse proto.InternalMessageInfo

func (m *AuthenticateResponse) GetStatus() *v1beta11.Status {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *AuthenticateResponse) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *AuthenticateResponse) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

func (m *AuthenticateResponse) GetUser() *v1beta12.User {
	if m != nil {
		return m.User
	}
	return nil
}

type WhoAmIRequest struct {
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The access token.
	Token                string   `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_WhoAmIRequest proto.InternalMessageInfo

func (m *WhoAmIRequest) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *WhoAmIRequest) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

type WhoAmIResponse struct {
	// REQUIRED.
	// The response status.
	Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The user information.
	User                 *v1beta12.User `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_WhoAmIResponse proto.InternalMessageInfo

func (m *WhoAmIResponse) GetStatus() *v1beta11.Status {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *WhoAmIResponse) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *WhoAmIResponse) GetUser() *v1beta12.User {
	if m != nil {
		return m.User
	}
	return nil
}

type GetQuotaRequest struct {
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The reference to which the action should be performed.
	Ref                  *v1beta13.Reference `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *GetQuotaRequest) Reset()         { *m = GetQuotaRequest{} }
func (m *GetQuotaRequest) String() string { return proto.CompactTextString(m) }
func (*GetQuotaRequest) ProtoMessage()    {}
func (*GetQuotaRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{4}
}

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

var xxx_messageInfo_GetQuotaRequest proto.InternalMessageInfo

func (m *GetQuotaRequest) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *GetQuotaRequest) GetRef() *v1beta13.Reference {
	if m != nil {
		return m.Ref
	}
	return nil
}

type InitiateFileDownloadResponse struct {
	// REQUIRED.
	// The response status.
	Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The protocols through which data can be downloaded.
	Protocols            []*FileDownloadProtocol `protobuf:"bytes,3,rep,name=protocols,proto3" json:"protocols,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *InitiateFileDownloadResponse) Reset()         { *m = InitiateFileDownloadResponse{} }
func (m *InitiateFileDownloadResponse) String() string { return proto.CompactTextString(m) }
func (*InitiateFileDownloadResponse) ProtoMessage()    {}
func (*InitiateFileDownloadResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{5}
}

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

var xxx_messageInfo_InitiateFileDownloadResponse proto.InternalMessageInfo

func (m *InitiateFileDownloadResponse) GetStatus() *v1beta11.Status {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *InitiateFileDownloadResponse) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *InitiateFileDownloadResponse) GetProtocols() []*FileDownloadProtocol {
	if m != nil {
		return m.Protocols
	}
	return nil
}

type InitiateFileUploadResponse struct {
	// REQUIRED.
	// The response status.
	Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The protocols through which data can be uploaded.
	Protocols            []*FileUploadProtocol `protobuf:"bytes,3,rep,name=protocols,proto3" json:"protocols,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *InitiateFileUploadResponse) Reset()         { *m = InitiateFileUploadResponse{} }
func (m *InitiateFileUploadResponse) String() string { return proto.CompactTextString(m) }
func (*InitiateFileUploadResponse) ProtoMessage()    {}
func (*InitiateFileUploadResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{6}
}

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

var xxx_messageInfo_InitiateFileUploadResponse proto.InternalMessageInfo

func (m *InitiateFileUploadResponse) GetStatus() *v1beta11.Status {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *InitiateFileUploadResponse) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *InitiateFileUploadResponse) GetProtocols() []*FileUploadProtocol {
	if m != nil {
		return m.Protocols
	}
	return nil
}

type ListAuthProvidersResponse struct {
	// REQUIRED.
	// The response status.
	Status *v1beta11.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The list of auth types.
	// TODO(labkode): maybe add description?
	Types                []string `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListAuthProvidersResponse) Reset()         { *m = ListAuthProvidersResponse{} }
func (m *ListAuthProvidersResponse) String() string { return proto.CompactTextString(m) }
func (*ListAuthProvidersResponse) ProtoMessage()    {}
func (*ListAuthProvidersResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{7}
}

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

var xxx_messageInfo_ListAuthProvidersResponse proto.InternalMessageInfo

func (m *ListAuthProvidersResponse) GetStatus() *v1beta11.Status {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *ListAuthProvidersResponse) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *ListAuthProvidersResponse) GetTypes() []string {
	if m != nil {
		return m.Types
	}
	return nil
}

type OpenInAppRequest struct {
	// OPTIONAL.
	// Opaque information.
	Opaque *v1beta1.Opaque `protobuf:"bytes,1,opt,name=opaque,proto3" json:"opaque,omitempty"`
	// REQUIRED.
	// The resource reference. If a path is given, it will be resolved via Stat() to a ResourceInfo
	// in case a call to the WOPI server is to be issued (cf. the provider grpc message)
	Ref      *v1beta13.Reference       `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	ViewMode OpenInAppRequest_ViewMode `protobuf:"varint,3,opt,name=view_mode,json=viewMode,proto3,enum=cs3.gateway.v1beta1.OpenInAppRequest_ViewMode" json:"view_mode,omitempty"`
	// OPTIONAL.
	// A reference to the application to be used to open the resource, should the
	// default inferred from the resource's mimetype be overridden by user's choice.
	// If the targeted resource is a directory, this parameter is required and
	// in its absence the implementation MUST return INVALID_ARGUMENT.
	App string `protobuf:"bytes,4,opt,name=app,proto3" json:"app,omitempty"`
	// OPTIONAL.
	// A lock_id: should the reference be locked and the lock type be LOCK_TYPE_EXCL,
	// the stored lock_id MUST be equal to the given value.
	LockId               string   `protobuf:"bytes,5,opt,name=lock_id,json=lockId,proto3" json:"lock_id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *OpenInAppRequest) Reset()         { *m = OpenInAppRequest{} }
func (m *OpenInAppRequest) String() string { return proto.CompactTextString(m) }
func (*OpenInAppRequest) ProtoMessage()    {}
func (*OpenInAppRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_2d35d050f2c88549, []int{8}
}

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

var xxx_messageInfo_OpenInAppRequest proto.InternalMessageInfo

func (m *OpenInAppRequest) GetOpaque() *v1beta1.Opaque {
	if m != nil {
		return m.Opaque
	}
	return nil
}

func (m *OpenInAppRequest) GetRef() *v1beta13.Reference {
	if m != nil {
		return m.Ref
	}
	return nil
}

func (m *OpenInAppRequest) GetViewMode() OpenInAppRequest_ViewMode {
	if m != nil {
		return m.ViewMode
	}
	return OpenInAppRequest_VIEW_MODE_INVALID
}

func (m *OpenInAppRequest) GetApp() string {
	if m != nil {
		return m.App
	}
	return ""
}

func (m *OpenInAppRequest) GetLockId() string {
	if m != nil {
		return m.LockId
	}
	return ""
}

func init() {
	proto.RegisterEnum("cs3.gateway.v1beta1.OpenInAppRequest_ViewMode", OpenInAppRequest_ViewMode_name, OpenInAppRequest_ViewMode_value)
	proto.RegisterType((*AuthenticateRequest)(nil), "cs3.gateway.v1beta1.AuthenticateRequest")
	proto.RegisterType((*AuthenticateResponse)(nil), "cs3.gateway.v1beta1.AuthenticateResponse")
	proto.RegisterType((*WhoAmIRequest)(nil), "cs3.gateway.v1beta1.WhoAmIRequest")
	proto.RegisterType((*WhoAmIResponse)(nil), "cs3.gateway.v1beta1.WhoAmIResponse")
	proto.RegisterType((*GetQuotaRequest)(nil), "cs3.gateway.v1beta1.GetQuotaRequest")
	proto.RegisterType((*InitiateFileDownloadResponse)(nil), "cs3.gateway.v1beta1.InitiateFileDownloadResponse")
	proto.RegisterType((*InitiateFileUploadResponse)(nil), "cs3.gateway.v1beta1.InitiateFileUploadResponse")
	proto.RegisterType((*ListAuthProvidersResponse)(nil), "cs3.gateway.v1beta1.ListAuthProvidersResponse")
	proto.RegisterType((*OpenInAppRequest)(nil), "cs3.gateway.v1beta1.OpenInAppRequest")
}

func init() {
	proto.RegisterFile("cs3/gateway/v1beta1/gateway_api.proto", fileDescriptor_2d35d050f2c88549)
}

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

// GatewayAPIClient is the client API for GatewayAPI service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GatewayAPIClient interface {
	// Authenticates a user.
	Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error)
	// WhoAmI returns the information for a user.
	WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error)
	// GenerateAppPassword creates a password with specified scope to be used by
	// third-party applications.
	GenerateAppPassword(ctx context.Context, in *v1beta14.GenerateAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.GenerateAppPasswordResponse, error)
	// ListAppPasswords lists the application passwords created by a user.
	ListAppPasswords(ctx context.Context, in *v1beta14.ListAppPasswordsRequest, opts ...grpc.CallOption) (*v1beta14.ListAppPasswordsResponse, error)
	// InvalidateAppPassword invalidates a generated password.
	InvalidateAppPassword(ctx context.Context, in *v1beta14.InvalidateAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.InvalidateAppPasswordResponse, error)
	// GetAppPassword retrieves the password information by the combination of username and password.
	GetAppPassword(ctx context.Context, in *v1beta14.GetAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.GetAppPasswordResponse, error)
	// Creates a new resource of type container.
	// MUST return CODE_FAILED_PRECONDITION if the container
	// cannot be created at the specified reference.
	CreateContainer(ctx context.Context, in *v1beta13.CreateContainerRequest, opts ...grpc.CallOption) (*v1beta13.CreateContainerResponse, error)
	// Creates a new resource of type file.
	// MUST return CODE_FAILED_PRECONDITION if the file
	// cannot be created at the specified reference.
	TouchFile(ctx context.Context, in *v1beta13.TouchFileRequest, opts ...grpc.CallOption) (*v1beta13.TouchFileResponse, error)
	// Deletes a resource.
	// If a resource specifies the non-empty container (directory, ...),
	// then the entire directory is deleted recursively.
	// If a resource specifies a reference or symlink type, only the reference is removed (not the target).
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	Delete(ctx context.Context, in *v1beta13.DeleteRequest, opts ...grpc.CallOption) (*v1beta13.DeleteResponse, error)
	// Returns the path reference for
	// the provided resource id reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist
	GetPath(ctx context.Context, in *v1beta13.GetPathRequest, opts ...grpc.CallOption) (*v1beta13.GetPathResponse, error)
	// Returns the quota available under the provided
	// reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist
	// MUST return CODE_RESOURCE_EXHAUSTED on exceeded quota limits.
	GetQuota(ctx context.Context, in *GetQuotaRequest, opts ...grpc.CallOption) (*v1beta13.GetQuotaResponse, error)
	// Initiates the download of a file using an
	// out-of-band data transfer mechanism.
	InitiateFileDownload(ctx context.Context, in *v1beta13.InitiateFileDownloadRequest, opts ...grpc.CallOption) (*InitiateFileDownloadResponse, error)
	// Initiates the upload of a file using an
	// out-of-band data transfer mechanism.
	InitiateFileUpload(ctx context.Context, in *v1beta13.InitiateFileUploadRequest, opts ...grpc.CallOption) (*InitiateFileUploadResponse, error)
	// Returns a stream of resource informations
	// for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exists.
	ListContainerStream(ctx context.Context, in *v1beta13.ListContainerStreamRequest, opts ...grpc.CallOption) (GatewayAPI_ListContainerStreamClient, error)
	// Returns a list of resource information
	// for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exists.
	ListContainer(ctx context.Context, in *v1beta13.ListContainerRequest, opts ...grpc.CallOption) (*v1beta13.ListContainerResponse, error)
	// Returns a list of the versions for a resource of
	// type file at the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_OK and MUST return an empty list if no versions are available.
	// TODO: What code if resource not of type file?
	ListFileVersions(ctx context.Context, in *v1beta13.ListFileVersionsRequest, opts ...grpc.CallOption) (*v1beta13.ListFileVersionsResponse, error)
	// Returns a stream of recycle items for this storage provider.
	ListRecycleStream(ctx context.Context, in *v1beta13.ListRecycleStreamRequest, opts ...grpc.CallOption) (GatewayAPI_ListRecycleStreamClient, error)
	// Returns a list of recycle items for this storage provider.
	// MUST return CODE_OK and MUST return an empty list if no recycle items are available.
	ListRecycle(ctx context.Context, in *v1beta13.ListRecycleRequest, opts ...grpc.CallOption) (*v1beta13.ListRecycleResponse, error)
	// Moves a resource from one reference to another.
	// MUST return CODE_NOT_FOUND if any of the references do not exist.
	// MUST return CODE_FAILED_PRECONDITION if the source reference
	// cannot be moved to the destination reference.
	Move(ctx context.Context, in *v1beta13.MoveRequest, opts ...grpc.CallOption) (*v1beta13.MoveResponse, error)
	// Permanently removes a recycle item from the recycle.
	// This operation is irrevocable.
	// MUST return CODE_NOT_FOUND if the recycle item id does not exist.
	PurgeRecycle(ctx context.Context, in *v1beta13.PurgeRecycleRequest, opts ...grpc.CallOption) (*v1beta13.PurgeRecycleResponse, error)
	// Restores a file version for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_NOT_FOUND if the version does not exist.
	RestoreFileVersion(ctx context.Context, in *v1beta13.RestoreFileVersionRequest, opts ...grpc.CallOption) (*v1beta13.RestoreFileVersionResponse, error)
	// Restores a recycle item from the recycle.
	// MUST return CODE_NOT_FOUND if the recycle item id does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the restore_path is non-empty
	// and the recycle item cannot be restored to the restore_path.
	RestoreRecycleItem(ctx context.Context, in *v1beta13.RestoreRecycleItemRequest, opts ...grpc.CallOption) (*v1beta13.RestoreRecycleItemResponse, error)
	// Returns the resource information at the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	Stat(ctx context.Context, in *v1beta13.StatRequest, opts ...grpc.CallOption) (*v1beta13.StatResponse, error)
	// Creates a symlink to another resource.
	CreateSymlink(ctx context.Context, in *v1beta13.CreateSymlinkRequest, opts ...grpc.CallOption) (*v1beta13.CreateSymlinkResponse, error)
	// Sets arbitrary metadata into a storage resource.
	// Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
	SetArbitraryMetadata(ctx context.Context, in *v1beta13.SetArbitraryMetadataRequest, opts ...grpc.CallOption) (*v1beta13.SetArbitraryMetadataResponse, error)
	// Unsets arbitrary metdata into a storage resource.
	// Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
	UnsetArbitraryMetadata(ctx context.Context, in *v1beta13.UnsetArbitraryMetadataRequest, opts ...grpc.CallOption) (*v1beta13.UnsetArbitraryMetadataResponse, error)
	// Locks a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is already locked.
	// In addition, the implementation MUST ensure atomicity when multiple users
	// concurrently attempt to set a lock.
	// The caller MUST have write permissions on the resource.
	SetLock(ctx context.Context, in *v1beta13.SetLockRequest, opts ...grpc.CallOption) (*v1beta13.SetLockResponse, error)
	// Gets the lock metadata of a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist or is not locked.
	// The caller MUST have read permissions on the resource.
	GetLock(ctx context.Context, in *v1beta13.GetLockRequest, opts ...grpc.CallOption) (*v1beta13.GetLockResponse, error)
	// Refreshes the lock metadata of a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is not locked
	// or if the caller does not hold the lock.
	// The caller MUST have write permissions on the resource.
	RefreshLock(ctx context.Context, in *v1beta13.RefreshLockRequest, opts ...grpc.CallOption) (*v1beta13.RefreshLockResponse, error)
	// Unlocks a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is not locked
	// or if the caller does not hold the lock.
	// The caller MUST have write permissions on the resource.
	Unlock(ctx context.Context, in *v1beta13.UnlockRequest, opts ...grpc.CallOption) (*v1beta13.UnlockResponse, error)
	// Creates the home directory for a user.
	CreateHome(ctx context.Context, in *v1beta13.CreateHomeRequest, opts ...grpc.CallOption) (*v1beta13.CreateHomeResponse, error)
	// Creates a storage space.
	CreateStorageSpace(ctx context.Context, in *v1beta13.CreateStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.CreateStorageSpaceResponse, error)
	// Lists storage spaces.
	ListStorageSpaces(ctx context.Context, in *v1beta13.ListStorageSpacesRequest, opts ...grpc.CallOption) (*v1beta13.ListStorageSpacesResponse, error)
	// Updates a storage space.
	UpdateStorageSpace(ctx context.Context, in *v1beta13.UpdateStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.UpdateStorageSpaceResponse, error)
	// Deletes a storage space.
	DeleteStorageSpace(ctx context.Context, in *v1beta13.DeleteStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.DeleteStorageSpaceResponse, error)
	// Returns the App URL and all necessary info to open a resource in an online editor.
	// MUST return CODE_NOT_FOUND if the resource does not exist.
	OpenInApp(ctx context.Context, in *OpenInAppRequest, opts ...grpc.CallOption) (*v1beta15.OpenInAppResponse, error)
	// Creates a new share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_LOCKED if the resource reference already locked.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreateShare(ctx context.Context, in *v1beta16.CreateShareRequest, opts ...grpc.CallOption) (*v1beta16.CreateShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemoveShare(ctx context.Context, in *v1beta16.RemoveShareRequest, opts ...grpc.CallOption) (*v1beta16.RemoveShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetShare(ctx context.Context, in *v1beta16.GetShareRequest, opts ...grpc.CallOption) (*v1beta16.GetShareResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListShares(ctx context.Context, in *v1beta16.ListSharesRequest, opts ...grpc.CallOption) (*v1beta16.ListSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateShare(ctx context.Context, in *v1beta16.UpdateShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateShareResponse, error)
	// List all shares the authproviderenticated principal has received.
	ListReceivedShares(ctx context.Context, in *v1beta16.ListReceivedSharesRequest, opts ...grpc.CallOption) (*v1beta16.ListReceivedSharesResponse, error)
	// Update the received share to change the share state or the display name.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateReceivedShare(ctx context.Context, in *v1beta16.UpdateReceivedShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateReceivedShareResponse, error)
	// Get the information for the given received share reference.
	// MUST return CODE_NOT_FOUND if the received share reference does not exist.
	GetReceivedShare(ctx context.Context, in *v1beta16.GetReceivedShareRequest, opts ...grpc.CallOption) (*v1beta16.GetReceivedShareResponse, error)
	// Maps the key-value pair.
	SetKey(ctx context.Context, in *v1beta17.SetKeyRequest, opts ...grpc.CallOption) (*v1beta17.SetKeyResponse, error)
	// Returns the value associated with the
	// requested key.
	GetKey(ctx context.Context, in *v1beta17.GetKeyRequest, opts ...grpc.CallOption) (*v1beta17.GetKeyResponse, error)
	// Creates a new share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreatePublicShare(ctx context.Context, in *v1beta18.CreatePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.CreatePublicShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemovePublicShare(ctx context.Context, in *v1beta18.RemovePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.RemovePublicShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetPublicShare(ctx context.Context, in *v1beta18.GetPublicShareRequest, opts ...grpc.CallOption) (*v1beta18.GetPublicShareResponse, error)
	// Gets share information for a single share by its unlisted token.
	// MUST return CODE_NOT_FOUND if the share does not exist.
	GetPublicShareByToken(ctx context.Context, in *v1beta18.GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*v1beta18.GetPublicShareByTokenResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListPublicShares(ctx context.Context, in *v1beta18.ListPublicSharesRequest, opts ...grpc.CallOption) (*v1beta18.ListPublicSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdatePublicShare(ctx context.Context, in *v1beta18.UpdatePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.UpdatePublicShareResponse, error)
	// Creates a new ocm share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreateOCMShare(ctx context.Context, in *v1beta19.CreateOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.CreateOCMShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemoveOCMShare(ctx context.Context, in *v1beta19.RemoveOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.RemoveOCMShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetOCMShare(ctx context.Context, in *v1beta19.GetOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.GetOCMShareResponse, error)
	// Gets share information for a single share by its unlisted token.
	// MUST return CODE_NOT_FOUND if the share does not exist.
	GetOCMShareByToken(ctx context.Context, in *v1beta19.GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*v1beta19.GetOCMShareByTokenResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListOCMShares(ctx context.Context, in *v1beta19.ListOCMSharesRequest, opts ...grpc.CallOption) (*v1beta19.ListOCMSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateOCMShare(ctx context.Context, in *v1beta19.UpdateOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.UpdateOCMShareResponse, error)
	// List all shares the authproviderenticated principal has received.
	ListReceivedOCMShares(ctx context.Context, in *v1beta19.ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*v1beta19.ListReceivedOCMSharesResponse, error)
	// Update the received share to change the share state or the display name.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateReceivedOCMShare(ctx context.Context, in *v1beta19.UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.UpdateReceivedOCMShareResponse, error)
	// Get the information for the given received share reference.
	// MUST return CODE_NOT_FOUND if the received share reference does not exist.
	GetReceivedOCMShare(ctx context.Context, in *v1beta19.GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.GetReceivedOCMShareResponse, error)
	// Returns the app providers that are capable of handling this resource info.
	// MUST return CODE_NOT_FOUND if no providers are available.
	GetAppProviders(ctx context.Context, in *v1beta110.GetAppProvidersRequest, opts ...grpc.CallOption) (*v1beta110.GetAppProvidersResponse, error)
	// Registers a new app provider to the registry.
	AddAppProvider(ctx context.Context, in *v1beta110.AddAppProviderRequest, opts ...grpc.CallOption) (*v1beta110.AddAppProviderResponse, error)
	// Returns a list of the available app providers known by this registry.
	ListAppProviders(ctx context.Context, in *v1beta110.ListAppProvidersRequest, opts ...grpc.CallOption) (*v1beta110.ListAppProvidersResponse, error)
	// Returns a list of the supported mime types along with the apps which they can opened with.
	ListSupportedMimeTypes(ctx context.Context, in *v1beta110.ListSupportedMimeTypesRequest, opts ...grpc.CallOption) (*v1beta110.ListSupportedMimeTypesResponse, error)
	// Returns the default app provider which serves a specified mime type.
	GetDefaultAppProviderForMimeType(ctx context.Context, in *v1beta110.GetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*v1beta110.GetDefaultAppProviderForMimeTypeResponse, error)
	// Sets the default app provider for a specified mime type.
	SetDefaultAppProviderForMimeType(ctx context.Context, in *v1beta110.SetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*v1beta110.SetDefaultAppProviderForMimeTypeResponse, error)
	// Gets the information about a user by the user id.
	GetUser(ctx context.Context, in *v1beta12.GetUserRequest, opts ...grpc.CallOption) (*v1beta12.GetUserResponse, error)
	// Gets the information about a user based on a specified claim.
	GetUserByClaim(ctx context.Context, in *v1beta12.GetUserByClaimRequest, opts ...grpc.CallOption) (*v1beta12.GetUserByClaimResponse, error)
	// Gets the groups of a user.
	GetUserGroups(ctx context.Context, in *v1beta12.GetUserGroupsRequest, opts ...grpc.CallOption) (*v1beta12.GetUserGroupsResponse, error)
	// Finds users by any attribute of the user.
	// TODO(labkode): to define the filters that make more sense.
	FindUsers(ctx context.Context, in *v1beta12.FindUsersRequest, opts ...grpc.CallOption) (*v1beta12.FindUsersResponse, error)
	// Gets the information about a group by the group id.
	GetGroup(ctx context.Context, in *v1beta111.GetGroupRequest, opts ...grpc.CallOption) (*v1beta111.GetGroupResponse, error)
	// Gets the information about a group based on a specified claim.
	GetGroupByClaim(ctx context.Context, in *v1beta111.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta111.GetGroupByClaimResponse, error)
	// Gets the members of a group.
	GetMembers(ctx context.Context, in *v1beta111.GetMembersRequest, opts ...grpc.CallOption) (*v1beta111.GetMembersResponse, error)
	// Tells if the group has a certain member.
	HasMember(ctx context.Context, in *v1beta111.HasMemberRequest, opts ...grpc.CallOption) (*v1beta111.HasMemberResponse, error)
	// TODO(labkode): to define the filters that make more sense.
	// Finds groups whose names match the specified filter.
	FindGroups(ctx context.Context, in *v1beta111.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta111.FindGroupsResponse, error)
	// Returns a list of the available auth providers known by this registry.
	ListAuthProviders(ctx context.Context, in *v1beta112.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error)
	// Returns the home path for the given authenticated user.
	// When a user has access to multiple storage providers, one of them is the home.
	GetHome(ctx context.Context, in *v1beta13.GetHomeRequest, opts ...grpc.CallOption) (*v1beta13.GetHomeResponse, error)
	// Generates a new token for the user with a validity of 24 hours.
	GenerateInviteToken(ctx context.Context, in *v1beta113.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta113.GenerateInviteTokenResponse, error)
	// Lists the valid tokens generated by the user.
	ListInviteTokens(ctx context.Context, in *v1beta113.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta113.ListInviteTokensResponse, error)
	// Forwards a received invite to the sync'n'share system provider.
	ForwardInvite(ctx context.Context, in *v1beta113.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta113.ForwardInviteResponse, error)
	// Completes an invitation acceptance.
	AcceptInvite(ctx context.Context, in *v1beta113.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta113.AcceptInviteResponse, error)
	// Retrieves details about a remote user who has accepted an invite to share.
	GetAcceptedUser(ctx context.Context, in *v1beta113.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta113.GetAcceptedUserResponse, error)
	// Finds users who accepted invite tokens by their attributes.
	FindAcceptedUsers(ctx context.Context, in *v1beta113.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta113.FindAcceptedUsersResponse, error)
	// Delete a previously accepted remote user, that is unfriend that user.
	DeleteAcceptedUser(ctx context.Context, in *v1beta113.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta113.DeleteAcceptedUserResponse, error)
	// Check if a given system provider is registered in the mesh or not.
	// MUST return CODE_UNAUTHENTICATED if the system is not registered
	IsProviderAllowed(ctx context.Context, in *v1beta114.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta114.IsProviderAllowedResponse, error)
	// Get the information of the provider identified by a specific domain.
	// MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist.
	GetInfoByDomain(ctx context.Context, in *v1beta114.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta114.GetInfoByDomainResponse, error)
	// Get the information of all the providers registered in the mesh.
	ListAllProviders(ctx context.Context, in *v1beta114.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta114.ListAllProvidersResponse, error)
	// Creates a new OCM share.
	CreateOCMCoreShare(ctx context.Context, in *v1beta115.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.CreateOCMCoreShareResponse, error)
	// Updates an OCM share.
	UpdateOCMCoreShare(ctx context.Context, in *v1beta115.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.UpdateOCMCoreShareResponse, error)
	// Deletes an OCM share.
	DeleteOCMCoreShare(ctx context.Context, in *v1beta115.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.DeleteOCMCoreShareResponse, error)
	//  Requests creation of a transfer.
	CreateTransfer(ctx context.Context, in *v1beta116.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta116.CreateTransferResponse, error)
	// Requests a transfer status.
	GetTransferStatus(ctx context.Context, in *v1beta116.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta116.GetTransferStatusResponse, error)
	// Requests to cancel a transfer.
	CancelTransfer(ctx context.Context, in *v1beta116.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta116.CancelTransferResponse, error)
	// Requests a list of transfers received by the authenticated principle.
	ListTransfers(ctx context.Context, in *v1beta116.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta116.ListTransfersResponse, error)
	// Requests retrying a transfer.
	RetryTransfer(ctx context.Context, in *v1beta116.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta116.RetryTransferResponse, error)
	// CheckPermission checks if a user or group has a certain permission.
	CheckPermission(ctx context.Context, in *v1beta117.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta117.CheckPermissionResponse, error)
}

type gatewayAPIClient struct {
	cc *grpc.ClientConn
}

func NewGatewayAPIClient(cc *grpc.ClientConn) GatewayAPIClient {
	return &gatewayAPIClient{cc}
}

func (c *gatewayAPIClient) Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error) {
	out := new(AuthenticateResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/Authenticate", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) {
	out := new(WhoAmIResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/WhoAmI", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GenerateAppPassword(ctx context.Context, in *v1beta14.GenerateAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.GenerateAppPasswordResponse, error) {
	out := new(v1beta14.GenerateAppPasswordResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GenerateAppPassword", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListAppPasswords(ctx context.Context, in *v1beta14.ListAppPasswordsRequest, opts ...grpc.CallOption) (*v1beta14.ListAppPasswordsResponse, error) {
	out := new(v1beta14.ListAppPasswordsResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListAppPasswords", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) InvalidateAppPassword(ctx context.Context, in *v1beta14.InvalidateAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.InvalidateAppPasswordResponse, error) {
	out := new(v1beta14.InvalidateAppPasswordResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/InvalidateAppPassword", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetAppPassword(ctx context.Context, in *v1beta14.GetAppPasswordRequest, opts ...grpc.CallOption) (*v1beta14.GetAppPasswordResponse, error) {
	out := new(v1beta14.GetAppPasswordResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetAppPassword", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateContainer(ctx context.Context, in *v1beta13.CreateContainerRequest, opts ...grpc.CallOption) (*v1beta13.CreateContainerResponse, error) {
	out := new(v1beta13.CreateContainerResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateContainer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) TouchFile(ctx context.Context, in *v1beta13.TouchFileRequest, opts ...grpc.CallOption) (*v1beta13.TouchFileResponse, error) {
	out := new(v1beta13.TouchFileResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/TouchFile", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) Delete(ctx context.Context, in *v1beta13.DeleteRequest, opts ...grpc.CallOption) (*v1beta13.DeleteResponse, error) {
	out := new(v1beta13.DeleteResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetPath(ctx context.Context, in *v1beta13.GetPathRequest, opts ...grpc.CallOption) (*v1beta13.GetPathResponse, error) {
	out := new(v1beta13.GetPathResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetPath", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetQuota(ctx context.Context, in *GetQuotaRequest, opts ...grpc.CallOption) (*v1beta13.GetQuotaResponse, error) {
	out := new(v1beta13.GetQuotaResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetQuota", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) InitiateFileDownload(ctx context.Context, in *v1beta13.InitiateFileDownloadRequest, opts ...grpc.CallOption) (*InitiateFileDownloadResponse, error) {
	out := new(InitiateFileDownloadResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/InitiateFileDownload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) InitiateFileUpload(ctx context.Context, in *v1beta13.InitiateFileUploadRequest, opts ...grpc.CallOption) (*InitiateFileUploadResponse, error) {
	out := new(InitiateFileUploadResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/InitiateFileUpload", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListContainerStream(ctx context.Context, in *v1beta13.ListContainerStreamRequest, opts ...grpc.CallOption) (GatewayAPI_ListContainerStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_GatewayAPI_serviceDesc.Streams[0], "/cs3.gateway.v1beta1.GatewayAPI/ListContainerStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &gatewayAPIListContainerStreamClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GatewayAPI_ListContainerStreamClient interface {
	Recv() (*v1beta13.ListContainerStreamResponse, error)
	grpc.ClientStream
}

type gatewayAPIListContainerStreamClient struct {
	grpc.ClientStream
}

func (x *gatewayAPIListContainerStreamClient) Recv() (*v1beta13.ListContainerStreamResponse, error) {
	m := new(v1beta13.ListContainerStreamResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gatewayAPIClient) ListContainer(ctx context.Context, in *v1beta13.ListContainerRequest, opts ...grpc.CallOption) (*v1beta13.ListContainerResponse, error) {
	out := new(v1beta13.ListContainerResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListContainer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListFileVersions(ctx context.Context, in *v1beta13.ListFileVersionsRequest, opts ...grpc.CallOption) (*v1beta13.ListFileVersionsResponse, error) {
	out := new(v1beta13.ListFileVersionsResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListFileVersions", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListRecycleStream(ctx context.Context, in *v1beta13.ListRecycleStreamRequest, opts ...grpc.CallOption) (GatewayAPI_ListRecycleStreamClient, error) {
	stream, err := c.cc.NewStream(ctx, &_GatewayAPI_serviceDesc.Streams[1], "/cs3.gateway.v1beta1.GatewayAPI/ListRecycleStream", opts...)
	if err != nil {
		return nil, err
	}
	x := &gatewayAPIListRecycleStreamClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type GatewayAPI_ListRecycleStreamClient interface {
	Recv() (*v1beta13.ListRecycleStreamResponse, error)
	grpc.ClientStream
}

type gatewayAPIListRecycleStreamClient struct {
	grpc.ClientStream
}

func (x *gatewayAPIListRecycleStreamClient) Recv() (*v1beta13.ListRecycleStreamResponse, error) {
	m := new(v1beta13.ListRecycleStreamResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gatewayAPIClient) ListRecycle(ctx context.Context, in *v1beta13.ListRecycleRequest, opts ...grpc.CallOption) (*v1beta13.ListRecycleResponse, error) {
	out := new(v1beta13.ListRecycleResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListRecycle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) Move(ctx context.Context, in *v1beta13.MoveRequest, opts ...grpc.CallOption) (*v1beta13.MoveResponse, error) {
	out := new(v1beta13.MoveResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/Move", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) PurgeRecycle(ctx context.Context, in *v1beta13.PurgeRecycleRequest, opts ...grpc.CallOption) (*v1beta13.PurgeRecycleResponse, error) {
	out := new(v1beta13.PurgeRecycleResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/PurgeRecycle", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RestoreFileVersion(ctx context.Context, in *v1beta13.RestoreFileVersionRequest, opts ...grpc.CallOption) (*v1beta13.RestoreFileVersionResponse, error) {
	out := new(v1beta13.RestoreFileVersionResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RestoreFileVersion", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RestoreRecycleItem(ctx context.Context, in *v1beta13.RestoreRecycleItemRequest, opts ...grpc.CallOption) (*v1beta13.RestoreRecycleItemResponse, error) {
	out := new(v1beta13.RestoreRecycleItemResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RestoreRecycleItem", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) Stat(ctx context.Context, in *v1beta13.StatRequest, opts ...grpc.CallOption) (*v1beta13.StatResponse, error) {
	out := new(v1beta13.StatResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/Stat", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateSymlink(ctx context.Context, in *v1beta13.CreateSymlinkRequest, opts ...grpc.CallOption) (*v1beta13.CreateSymlinkResponse, error) {
	out := new(v1beta13.CreateSymlinkResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateSymlink", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) SetArbitraryMetadata(ctx context.Context, in *v1beta13.SetArbitraryMetadataRequest, opts ...grpc.CallOption) (*v1beta13.SetArbitraryMetadataResponse, error) {
	out := new(v1beta13.SetArbitraryMetadataResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/SetArbitraryMetadata", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UnsetArbitraryMetadata(ctx context.Context, in *v1beta13.UnsetArbitraryMetadataRequest, opts ...grpc.CallOption) (*v1beta13.UnsetArbitraryMetadataResponse, error) {
	out := new(v1beta13.UnsetArbitraryMetadataResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UnsetArbitraryMetadata", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) SetLock(ctx context.Context, in *v1beta13.SetLockRequest, opts ...grpc.CallOption) (*v1beta13.SetLockResponse, error) {
	out := new(v1beta13.SetLockResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/SetLock", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetLock(ctx context.Context, in *v1beta13.GetLockRequest, opts ...grpc.CallOption) (*v1beta13.GetLockResponse, error) {
	out := new(v1beta13.GetLockResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetLock", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RefreshLock(ctx context.Context, in *v1beta13.RefreshLockRequest, opts ...grpc.CallOption) (*v1beta13.RefreshLockResponse, error) {
	out := new(v1beta13.RefreshLockResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RefreshLock", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) Unlock(ctx context.Context, in *v1beta13.UnlockRequest, opts ...grpc.CallOption) (*v1beta13.UnlockResponse, error) {
	out := new(v1beta13.UnlockResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/Unlock", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateHome(ctx context.Context, in *v1beta13.CreateHomeRequest, opts ...grpc.CallOption) (*v1beta13.CreateHomeResponse, error) {
	out := new(v1beta13.CreateHomeResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateHome", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateStorageSpace(ctx context.Context, in *v1beta13.CreateStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.CreateStorageSpaceResponse, error) {
	out := new(v1beta13.CreateStorageSpaceResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateStorageSpace", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListStorageSpaces(ctx context.Context, in *v1beta13.ListStorageSpacesRequest, opts ...grpc.CallOption) (*v1beta13.ListStorageSpacesResponse, error) {
	out := new(v1beta13.ListStorageSpacesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListStorageSpaces", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateStorageSpace(ctx context.Context, in *v1beta13.UpdateStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.UpdateStorageSpaceResponse, error) {
	out := new(v1beta13.UpdateStorageSpaceResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateStorageSpace", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) DeleteStorageSpace(ctx context.Context, in *v1beta13.DeleteStorageSpaceRequest, opts ...grpc.CallOption) (*v1beta13.DeleteStorageSpaceResponse, error) {
	out := new(v1beta13.DeleteStorageSpaceResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/DeleteStorageSpace", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) OpenInApp(ctx context.Context, in *OpenInAppRequest, opts ...grpc.CallOption) (*v1beta15.OpenInAppResponse, error) {
	out := new(v1beta15.OpenInAppResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/OpenInApp", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateShare(ctx context.Context, in *v1beta16.CreateShareRequest, opts ...grpc.CallOption) (*v1beta16.CreateShareResponse, error) {
	out := new(v1beta16.CreateShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RemoveShare(ctx context.Context, in *v1beta16.RemoveShareRequest, opts ...grpc.CallOption) (*v1beta16.RemoveShareResponse, error) {
	out := new(v1beta16.RemoveShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RemoveShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetShare(ctx context.Context, in *v1beta16.GetShareRequest, opts ...grpc.CallOption) (*v1beta16.GetShareResponse, error) {
	out := new(v1beta16.GetShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListShares(ctx context.Context, in *v1beta16.ListSharesRequest, opts ...grpc.CallOption) (*v1beta16.ListSharesResponse, error) {
	out := new(v1beta16.ListSharesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListShares", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateShare(ctx context.Context, in *v1beta16.UpdateShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateShareResponse, error) {
	out := new(v1beta16.UpdateShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListReceivedShares(ctx context.Context, in *v1beta16.ListReceivedSharesRequest, opts ...grpc.CallOption) (*v1beta16.ListReceivedSharesResponse, error) {
	out := new(v1beta16.ListReceivedSharesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListReceivedShares", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateReceivedShare(ctx context.Context, in *v1beta16.UpdateReceivedShareRequest, opts ...grpc.CallOption) (*v1beta16.UpdateReceivedShareResponse, error) {
	out := new(v1beta16.UpdateReceivedShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetReceivedShare(ctx context.Context, in *v1beta16.GetReceivedShareRequest, opts ...grpc.CallOption) (*v1beta16.GetReceivedShareResponse, error) {
	out := new(v1beta16.GetReceivedShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetReceivedShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) SetKey(ctx context.Context, in *v1beta17.SetKeyRequest, opts ...grpc.CallOption) (*v1beta17.SetKeyResponse, error) {
	out := new(v1beta17.SetKeyResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/SetKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetKey(ctx context.Context, in *v1beta17.GetKeyRequest, opts ...grpc.CallOption) (*v1beta17.GetKeyResponse, error) {
	out := new(v1beta17.GetKeyResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreatePublicShare(ctx context.Context, in *v1beta18.CreatePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.CreatePublicShareResponse, error) {
	out := new(v1beta18.CreatePublicShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreatePublicShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RemovePublicShare(ctx context.Context, in *v1beta18.RemovePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.RemovePublicShareResponse, error) {
	out := new(v1beta18.RemovePublicShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RemovePublicShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetPublicShare(ctx context.Context, in *v1beta18.GetPublicShareRequest, opts ...grpc.CallOption) (*v1beta18.GetPublicShareResponse, error) {
	out := new(v1beta18.GetPublicShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetPublicShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetPublicShareByToken(ctx context.Context, in *v1beta18.GetPublicShareByTokenRequest, opts ...grpc.CallOption) (*v1beta18.GetPublicShareByTokenResponse, error) {
	out := new(v1beta18.GetPublicShareByTokenResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetPublicShareByToken", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListPublicShares(ctx context.Context, in *v1beta18.ListPublicSharesRequest, opts ...grpc.CallOption) (*v1beta18.ListPublicSharesResponse, error) {
	out := new(v1beta18.ListPublicSharesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdatePublicShare(ctx context.Context, in *v1beta18.UpdatePublicShareRequest, opts ...grpc.CallOption) (*v1beta18.UpdatePublicShareResponse, error) {
	out := new(v1beta18.UpdatePublicShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdatePublicShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateOCMShare(ctx context.Context, in *v1beta19.CreateOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.CreateOCMShareResponse, error) {
	out := new(v1beta19.CreateOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RemoveOCMShare(ctx context.Context, in *v1beta19.RemoveOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.RemoveOCMShareResponse, error) {
	out := new(v1beta19.RemoveOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RemoveOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetOCMShare(ctx context.Context, in *v1beta19.GetOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.GetOCMShareResponse, error) {
	out := new(v1beta19.GetOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetOCMShareByToken(ctx context.Context, in *v1beta19.GetOCMShareByTokenRequest, opts ...grpc.CallOption) (*v1beta19.GetOCMShareByTokenResponse, error) {
	out := new(v1beta19.GetOCMShareByTokenResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShareByToken", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListOCMShares(ctx context.Context, in *v1beta19.ListOCMSharesRequest, opts ...grpc.CallOption) (*v1beta19.ListOCMSharesResponse, error) {
	out := new(v1beta19.ListOCMSharesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListOCMShares", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateOCMShare(ctx context.Context, in *v1beta19.UpdateOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.UpdateOCMShareResponse, error) {
	out := new(v1beta19.UpdateOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListReceivedOCMShares(ctx context.Context, in *v1beta19.ListReceivedOCMSharesRequest, opts ...grpc.CallOption) (*v1beta19.ListReceivedOCMSharesResponse, error) {
	out := new(v1beta19.ListReceivedOCMSharesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListReceivedOCMShares", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateReceivedOCMShare(ctx context.Context, in *v1beta19.UpdateReceivedOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.UpdateReceivedOCMShareResponse, error) {
	out := new(v1beta19.UpdateReceivedOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetReceivedOCMShare(ctx context.Context, in *v1beta19.GetReceivedOCMShareRequest, opts ...grpc.CallOption) (*v1beta19.GetReceivedOCMShareResponse, error) {
	out := new(v1beta19.GetReceivedOCMShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetReceivedOCMShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetAppProviders(ctx context.Context, in *v1beta110.GetAppProvidersRequest, opts ...grpc.CallOption) (*v1beta110.GetAppProvidersResponse, error) {
	out := new(v1beta110.GetAppProvidersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetAppProviders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) AddAppProvider(ctx context.Context, in *v1beta110.AddAppProviderRequest, opts ...grpc.CallOption) (*v1beta110.AddAppProviderResponse, error) {
	out := new(v1beta110.AddAppProviderResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/AddAppProvider", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListAppProviders(ctx context.Context, in *v1beta110.ListAppProvidersRequest, opts ...grpc.CallOption) (*v1beta110.ListAppProvidersResponse, error) {
	out := new(v1beta110.ListAppProvidersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListAppProviders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListSupportedMimeTypes(ctx context.Context, in *v1beta110.ListSupportedMimeTypesRequest, opts ...grpc.CallOption) (*v1beta110.ListSupportedMimeTypesResponse, error) {
	out := new(v1beta110.ListSupportedMimeTypesResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListSupportedMimeTypes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetDefaultAppProviderForMimeType(ctx context.Context, in *v1beta110.GetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*v1beta110.GetDefaultAppProviderForMimeTypeResponse, error) {
	out := new(v1beta110.GetDefaultAppProviderForMimeTypeResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetDefaultAppProviderForMimeType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) SetDefaultAppProviderForMimeType(ctx context.Context, in *v1beta110.SetDefaultAppProviderForMimeTypeRequest, opts ...grpc.CallOption) (*v1beta110.SetDefaultAppProviderForMimeTypeResponse, error) {
	out := new(v1beta110.SetDefaultAppProviderForMimeTypeResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/SetDefaultAppProviderForMimeType", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetUser(ctx context.Context, in *v1beta12.GetUserRequest, opts ...grpc.CallOption) (*v1beta12.GetUserResponse, error) {
	out := new(v1beta12.GetUserResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetUserByClaim(ctx context.Context, in *v1beta12.GetUserByClaimRequest, opts ...grpc.CallOption) (*v1beta12.GetUserByClaimResponse, error) {
	out := new(v1beta12.GetUserByClaimResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetUserByClaim", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetUserGroups(ctx context.Context, in *v1beta12.GetUserGroupsRequest, opts ...grpc.CallOption) (*v1beta12.GetUserGroupsResponse, error) {
	out := new(v1beta12.GetUserGroupsResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetUserGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) FindUsers(ctx context.Context, in *v1beta12.FindUsersRequest, opts ...grpc.CallOption) (*v1beta12.FindUsersResponse, error) {
	out := new(v1beta12.FindUsersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/FindUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetGroup(ctx context.Context, in *v1beta111.GetGroupRequest, opts ...grpc.CallOption) (*v1beta111.GetGroupResponse, error) {
	out := new(v1beta111.GetGroupResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetGroup", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetGroupByClaim(ctx context.Context, in *v1beta111.GetGroupByClaimRequest, opts ...grpc.CallOption) (*v1beta111.GetGroupByClaimResponse, error) {
	out := new(v1beta111.GetGroupByClaimResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetGroupByClaim", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetMembers(ctx context.Context, in *v1beta111.GetMembersRequest, opts ...grpc.CallOption) (*v1beta111.GetMembersResponse, error) {
	out := new(v1beta111.GetMembersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetMembers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) HasMember(ctx context.Context, in *v1beta111.HasMemberRequest, opts ...grpc.CallOption) (*v1beta111.HasMemberResponse, error) {
	out := new(v1beta111.HasMemberResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/HasMember", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) FindGroups(ctx context.Context, in *v1beta111.FindGroupsRequest, opts ...grpc.CallOption) (*v1beta111.FindGroupsResponse, error) {
	out := new(v1beta111.FindGroupsResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/FindGroups", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListAuthProviders(ctx context.Context, in *v1beta112.ListAuthProvidersRequest, opts ...grpc.CallOption) (*ListAuthProvidersResponse, error) {
	out := new(ListAuthProvidersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListAuthProviders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetHome(ctx context.Context, in *v1beta13.GetHomeRequest, opts ...grpc.CallOption) (*v1beta13.GetHomeResponse, error) {
	out := new(v1beta13.GetHomeResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetHome", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GenerateInviteToken(ctx context.Context, in *v1beta113.GenerateInviteTokenRequest, opts ...grpc.CallOption) (*v1beta113.GenerateInviteTokenResponse, error) {
	out := new(v1beta113.GenerateInviteTokenResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GenerateInviteToken", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListInviteTokens(ctx context.Context, in *v1beta113.ListInviteTokensRequest, opts ...grpc.CallOption) (*v1beta113.ListInviteTokensResponse, error) {
	out := new(v1beta113.ListInviteTokensResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListInviteTokens", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ForwardInvite(ctx context.Context, in *v1beta113.ForwardInviteRequest, opts ...grpc.CallOption) (*v1beta113.ForwardInviteResponse, error) {
	out := new(v1beta113.ForwardInviteResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ForwardInvite", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) AcceptInvite(ctx context.Context, in *v1beta113.AcceptInviteRequest, opts ...grpc.CallOption) (*v1beta113.AcceptInviteResponse, error) {
	out := new(v1beta113.AcceptInviteResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/AcceptInvite", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetAcceptedUser(ctx context.Context, in *v1beta113.GetAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta113.GetAcceptedUserResponse, error) {
	out := new(v1beta113.GetAcceptedUserResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetAcceptedUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) FindAcceptedUsers(ctx context.Context, in *v1beta113.FindAcceptedUsersRequest, opts ...grpc.CallOption) (*v1beta113.FindAcceptedUsersResponse, error) {
	out := new(v1beta113.FindAcceptedUsersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/FindAcceptedUsers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) DeleteAcceptedUser(ctx context.Context, in *v1beta113.DeleteAcceptedUserRequest, opts ...grpc.CallOption) (*v1beta113.DeleteAcceptedUserResponse, error) {
	out := new(v1beta113.DeleteAcceptedUserResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/DeleteAcceptedUser", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) IsProviderAllowed(ctx context.Context, in *v1beta114.IsProviderAllowedRequest, opts ...grpc.CallOption) (*v1beta114.IsProviderAllowedResponse, error) {
	out := new(v1beta114.IsProviderAllowedResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/IsProviderAllowed", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetInfoByDomain(ctx context.Context, in *v1beta114.GetInfoByDomainRequest, opts ...grpc.CallOption) (*v1beta114.GetInfoByDomainResponse, error) {
	out := new(v1beta114.GetInfoByDomainResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetInfoByDomain", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListAllProviders(ctx context.Context, in *v1beta114.ListAllProvidersRequest, opts ...grpc.CallOption) (*v1beta114.ListAllProvidersResponse, error) {
	out := new(v1beta114.ListAllProvidersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListAllProviders", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateOCMCoreShare(ctx context.Context, in *v1beta115.CreateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.CreateOCMCoreShareResponse, error) {
	out := new(v1beta115.CreateOCMCoreShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMCoreShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) UpdateOCMCoreShare(ctx context.Context, in *v1beta115.UpdateOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.UpdateOCMCoreShareResponse, error) {
	out := new(v1beta115.UpdateOCMCoreShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMCoreShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) DeleteOCMCoreShare(ctx context.Context, in *v1beta115.DeleteOCMCoreShareRequest, opts ...grpc.CallOption) (*v1beta115.DeleteOCMCoreShareResponse, error) {
	out := new(v1beta115.DeleteOCMCoreShareResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMCoreShare", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CreateTransfer(ctx context.Context, in *v1beta116.CreateTransferRequest, opts ...grpc.CallOption) (*v1beta116.CreateTransferResponse, error) {
	out := new(v1beta116.CreateTransferResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CreateTransfer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) GetTransferStatus(ctx context.Context, in *v1beta116.GetTransferStatusRequest, opts ...grpc.CallOption) (*v1beta116.GetTransferStatusResponse, error) {
	out := new(v1beta116.GetTransferStatusResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/GetTransferStatus", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CancelTransfer(ctx context.Context, in *v1beta116.CancelTransferRequest, opts ...grpc.CallOption) (*v1beta116.CancelTransferResponse, error) {
	out := new(v1beta116.CancelTransferResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CancelTransfer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) ListTransfers(ctx context.Context, in *v1beta116.ListTransfersRequest, opts ...grpc.CallOption) (*v1beta116.ListTransfersResponse, error) {
	out := new(v1beta116.ListTransfersResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/ListTransfers", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) RetryTransfer(ctx context.Context, in *v1beta116.RetryTransferRequest, opts ...grpc.CallOption) (*v1beta116.RetryTransferResponse, error) {
	out := new(v1beta116.RetryTransferResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/RetryTransfer", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayAPIClient) CheckPermission(ctx context.Context, in *v1beta117.CheckPermissionRequest, opts ...grpc.CallOption) (*v1beta117.CheckPermissionResponse, error) {
	out := new(v1beta117.CheckPermissionResponse)
	err := c.cc.Invoke(ctx, "/cs3.gateway.v1beta1.GatewayAPI/CheckPermission", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// GatewayAPIServer is the server API for GatewayAPI service.
type GatewayAPIServer interface {
	// Authenticates a user.
	Authenticate(context.Context, *AuthenticateRequest) (*AuthenticateResponse, error)
	// WhoAmI returns the information for a user.
	WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error)
	// GenerateAppPassword creates a password with specified scope to be used by
	// third-party applications.
	GenerateAppPassword(context.Context, *v1beta14.GenerateAppPasswordRequest) (*v1beta14.GenerateAppPasswordResponse, error)
	// ListAppPasswords lists the application passwords created by a user.
	ListAppPasswords(context.Context, *v1beta14.ListAppPasswordsRequest) (*v1beta14.ListAppPasswordsResponse, error)
	// InvalidateAppPassword invalidates a generated password.
	InvalidateAppPassword(context.Context, *v1beta14.InvalidateAppPasswordRequest) (*v1beta14.InvalidateAppPasswordResponse, error)
	// GetAppPassword retrieves the password information by the combination of username and password.
	GetAppPassword(context.Context, *v1beta14.GetAppPasswordRequest) (*v1beta14.GetAppPasswordResponse, error)
	// Creates a new resource of type container.
	// MUST return CODE_FAILED_PRECONDITION if the container
	// cannot be created at the specified reference.
	CreateContainer(context.Context, *v1beta13.CreateContainerRequest) (*v1beta13.CreateContainerResponse, error)
	// Creates a new resource of type file.
	// MUST return CODE_FAILED_PRECONDITION if the file
	// cannot be created at the specified reference.
	TouchFile(context.Context, *v1beta13.TouchFileRequest) (*v1beta13.TouchFileResponse, error)
	// Deletes a resource.
	// If a resource specifies the non-empty container (directory, ...),
	// then the entire directory is deleted recursively.
	// If a resource specifies a reference or symlink type, only the reference is removed (not the target).
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	Delete(context.Context, *v1beta13.DeleteRequest) (*v1beta13.DeleteResponse, error)
	// Returns the path reference for
	// the provided resource id reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist
	GetPath(context.Context, *v1beta13.GetPathRequest) (*v1beta13.GetPathResponse, error)
	// Returns the quota available under the provided
	// reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist
	// MUST return CODE_RESOURCE_EXHAUSTED on exceeded quota limits.
	GetQuota(context.Context, *GetQuotaRequest) (*v1beta13.GetQuotaResponse, error)
	// Initiates the download of a file using an
	// out-of-band data transfer mechanism.
	InitiateFileDownload(context.Context, *v1beta13.InitiateFileDownloadRequest) (*InitiateFileDownloadResponse, error)
	// Initiates the upload of a file using an
	// out-of-band data transfer mechanism.
	InitiateFileUpload(context.Context, *v1beta13.InitiateFileUploadRequest) (*InitiateFileUploadResponse, error)
	// Returns a stream of resource informations
	// for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exists.
	ListContainerStream(*v1beta13.ListContainerStreamRequest, GatewayAPI_ListContainerStreamServer) error
	// Returns a list of resource information
	// for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exists.
	ListContainer(context.Context, *v1beta13.ListContainerRequest) (*v1beta13.ListContainerResponse, error)
	// Returns a list of the versions for a resource of
	// type file at the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_OK and MUST return an empty list if no versions are available.
	// TODO: What code if resource not of type file?
	ListFileVersions(context.Context, *v1beta13.ListFileVersionsRequest) (*v1beta13.ListFileVersionsResponse, error)
	// Returns a stream of recycle items for this storage provider.
	ListRecycleStream(*v1beta13.ListRecycleStreamRequest, GatewayAPI_ListRecycleStreamServer) error
	// Returns a list of recycle items for this storage provider.
	// MUST return CODE_OK and MUST return an empty list if no recycle items are available.
	ListRecycle(context.Context, *v1beta13.ListRecycleRequest) (*v1beta13.ListRecycleResponse, error)
	// Moves a resource from one reference to another.
	// MUST return CODE_NOT_FOUND if any of the references do not exist.
	// MUST return CODE_FAILED_PRECONDITION if the source reference
	// cannot be moved to the destination reference.
	Move(context.Context, *v1beta13.MoveRequest) (*v1beta13.MoveResponse, error)
	// Permanently removes a recycle item from the recycle.
	// This operation is irrevocable.
	// MUST return CODE_NOT_FOUND if the recycle item id does not exist.
	PurgeRecycle(context.Context, *v1beta13.PurgeRecycleRequest) (*v1beta13.PurgeRecycleResponse, error)
	// Restores a file version for the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_NOT_FOUND if the version does not exist.
	RestoreFileVersion(context.Context, *v1beta13.RestoreFileVersionRequest) (*v1beta13.RestoreFileVersionResponse, error)
	// Restores a recycle item from the recycle.
	// MUST return CODE_NOT_FOUND if the recycle item id does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the restore_path is non-empty
	// and the recycle item cannot be restored to the restore_path.
	RestoreRecycleItem(context.Context, *v1beta13.RestoreRecycleItemRequest) (*v1beta13.RestoreRecycleItemResponse, error)
	// Returns the resource information at the provided reference.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	Stat(context.Context, *v1beta13.StatRequest) (*v1beta13.StatResponse, error)
	// Creates a symlink to another resource.
	CreateSymlink(context.Context, *v1beta13.CreateSymlinkRequest) (*v1beta13.CreateSymlinkResponse, error)
	// Sets arbitrary metadata into a storage resource.
	// Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
	SetArbitraryMetadata(context.Context, *v1beta13.SetArbitraryMetadataRequest) (*v1beta13.SetArbitraryMetadataResponse, error)
	// Unsets arbitrary metdata into a storage resource.
	// Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
	UnsetArbitraryMetadata(context.Context, *v1beta13.UnsetArbitraryMetadataRequest) (*v1beta13.UnsetArbitraryMetadataResponse, error)
	// Locks a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is already locked.
	// In addition, the implementation MUST ensure atomicity when multiple users
	// concurrently attempt to set a lock.
	// The caller MUST have write permissions on the resource.
	SetLock(context.Context, *v1beta13.SetLockRequest) (*v1beta13.SetLockResponse, error)
	// Gets the lock metadata of a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist or is not locked.
	// The caller MUST have read permissions on the resource.
	GetLock(context.Context, *v1beta13.GetLockRequest) (*v1beta13.GetLockResponse, error)
	// Refreshes the lock metadata of a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is not locked
	// or if the caller does not hold the lock.
	// The caller MUST have write permissions on the resource.
	RefreshLock(context.Context, *v1beta13.RefreshLockRequest) (*v1beta13.RefreshLockResponse, error)
	// Unlocks a storage resource.
	// MUST return CODE_NOT_FOUND if the reference does not exist.
	// MUST return CODE_FAILED_PRECONDITION if the reference is not locked
	// or if the caller does not hold the lock.
	// The caller MUST have write permissions on the resource.
	Unlock(context.Context, *v1beta13.UnlockRequest) (*v1beta13.UnlockResponse, error)
	// Creates the home directory for a user.
	CreateHome(context.Context, *v1beta13.CreateHomeRequest) (*v1beta13.CreateHomeResponse, error)
	// Creates a storage space.
	CreateStorageSpace(context.Context, *v1beta13.CreateStorageSpaceRequest) (*v1beta13.CreateStorageSpaceResponse, error)
	// Lists storage spaces.
	ListStorageSpaces(context.Context, *v1beta13.ListStorageSpacesRequest) (*v1beta13.ListStorageSpacesResponse, error)
	// Updates a storage space.
	UpdateStorageSpace(context.Context, *v1beta13.UpdateStorageSpaceRequest) (*v1beta13.UpdateStorageSpaceResponse, error)
	// Deletes a storage space.
	DeleteStorageSpace(context.Context, *v1beta13.DeleteStorageSpaceRequest) (*v1beta13.DeleteStorageSpaceResponse, error)
	// Returns the App URL and all necessary info to open a resource in an online editor.
	// MUST return CODE_NOT_FOUND if the resource does not exist.
	OpenInApp(context.Context, *OpenInAppRequest) (*v1beta15.OpenInAppResponse, error)
	// Creates a new share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_LOCKED if the resource reference already locked.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreateShare(context.Context, *v1beta16.CreateShareRequest) (*v1beta16.CreateShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemoveShare(context.Context, *v1beta16.RemoveShareRequest) (*v1beta16.RemoveShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetShare(context.Context, *v1beta16.GetShareRequest) (*v1beta16.GetShareResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListShares(context.Context, *v1beta16.ListSharesRequest) (*v1beta16.ListSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateShare(context.Context, *v1beta16.UpdateShareRequest) (*v1beta16.UpdateShareResponse, error)
	// List all shares the authproviderenticated principal has received.
	ListReceivedShares(context.Context, *v1beta16.ListReceivedSharesRequest) (*v1beta16.ListReceivedSharesResponse, error)
	// Update the received share to change the share state or the display name.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateReceivedShare(context.Context, *v1beta16.UpdateReceivedShareRequest) (*v1beta16.UpdateReceivedShareResponse, error)
	// Get the information for the given received share reference.
	// MUST return CODE_NOT_FOUND if the received share reference does not exist.
	GetReceivedShare(context.Context, *v1beta16.GetReceivedShareRequest) (*v1beta16.GetReceivedShareResponse, error)
	// Maps the key-value pair.
	SetKey(context.Context, *v1beta17.SetKeyRequest) (*v1beta17.SetKeyResponse, error)
	// Returns the value associated with the
	// requested key.
	GetKey(context.Context, *v1beta17.GetKeyRequest) (*v1beta17.GetKeyResponse, error)
	// Creates a new share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreatePublicShare(context.Context, *v1beta18.CreatePublicShareRequest) (*v1beta18.CreatePublicShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemovePublicShare(context.Context, *v1beta18.RemovePublicShareRequest) (*v1beta18.RemovePublicShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetPublicShare(context.Context, *v1beta18.GetPublicShareRequest) (*v1beta18.GetPublicShareResponse, error)
	// Gets share information for a single share by its unlisted token.
	// MUST return CODE_NOT_FOUND if the share does not exist.
	GetPublicShareByToken(context.Context, *v1beta18.GetPublicShareByTokenRequest) (*v1beta18.GetPublicShareByTokenResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListPublicShares(context.Context, *v1beta18.ListPublicSharesRequest) (*v1beta18.ListPublicSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdatePublicShare(context.Context, *v1beta18.UpdatePublicShareRequest) (*v1beta18.UpdatePublicShareResponse, error)
	// Creates a new ocm share.
	// MUST return CODE_NOT_FOUND if the resource reference does not exist.
	// MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
	// (owner, shared_resource, grantee).
	// New shares MUST be created in the state SHARE_STATE_PENDING.
	CreateOCMShare(context.Context, *v1beta19.CreateOCMShareRequest) (*v1beta19.CreateOCMShareResponse, error)
	// Removes a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	RemoveOCMShare(context.Context, *v1beta19.RemoveOCMShareRequest) (*v1beta19.RemoveOCMShareResponse, error)
	// Gets share information for a single share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	GetOCMShare(context.Context, *v1beta19.GetOCMShareRequest) (*v1beta19.GetOCMShareResponse, error)
	// Gets share information for a single share by its unlisted token.
	// MUST return CODE_NOT_FOUND if the share does not exist.
	GetOCMShareByToken(context.Context, *v1beta19.GetOCMShareByTokenRequest) (*v1beta19.GetOCMShareByTokenResponse, error)
	// List the shares the authproviderenticated principal has created,
	// both as owner and creator. If a filter is specified, only
	// shares satisfying the filter MUST be returned.
	ListOCMShares(context.Context, *v1beta19.ListOCMSharesRequest) (*v1beta19.ListOCMSharesResponse, error)
	// Updates a share.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateOCMShare(context.Context, *v1beta19.UpdateOCMShareRequest) (*v1beta19.UpdateOCMShareResponse, error)
	// List all shares the authproviderenticated principal has received.
	ListReceivedOCMShares(context.Context, *v1beta19.ListReceivedOCMSharesRequest) (*v1beta19.ListReceivedOCMSharesResponse, error)
	// Update the received share to change the share state or the display name.
	// MUST return CODE_NOT_FOUND if the share reference does not exist.
	UpdateReceivedOCMShare(context.Context, *v1beta19.UpdateReceivedOCMShareRequest) (*v1beta19.UpdateReceivedOCMShareResponse, error)
	// Get the information for the given received share reference.
	// MUST return CODE_NOT_FOUND if the received share reference does not exist.
	GetReceivedOCMShare(context.Context, *v1beta19.GetReceivedOCMShareRequest) (*v1beta19.GetReceivedOCMShareResponse, error)
	// Returns the app providers that are capable of handling this resource info.
	// MUST return CODE_NOT_FOUND if no providers are available.
	GetAppProviders(context.Context, *v1beta110.GetAppProvidersRequest) (*v1beta110.GetAppProvidersResponse, error)
	// Registers a new app provider to the registry.
	AddAppProvider(context.Context, *v1beta110.AddAppProviderRequest) (*v1beta110.AddAppProviderResponse, error)
	// Returns a list of the available app providers known by this registry.
	ListAppProviders(context.Context, *v1beta110.ListAppProvidersRequest) (*v1beta110.ListAppProvidersResponse, error)
	// Returns a list of the supported mime types along with the apps which they can opened with.
	ListSupportedMimeTypes(context.Context, *v1beta110.ListSupportedMimeTypesRequest) (*v1beta110.ListSupportedMimeTypesResponse, error)
	// Returns the default app provider which serves a specified mime type.
	GetDefaultAppProviderForMimeType(context.Context, *v1beta110.GetDefaultAppProviderForMimeTypeRequest) (*v1beta110.GetDefaultAppProviderForMimeTypeResponse, error)
	// Sets the default app provider for a specified mime type.
	SetDefaultAppProviderForMimeType(context.Context, *v1beta110.SetDefaultAppProviderForMimeTypeRequest) (*v1beta110.SetDefaultAppProviderForMimeTypeResponse, error)
	// Gets the information about a user by the user id.
	GetUser(context.Context, *v1beta12.GetUserRequest) (*v1beta12.GetUserResponse, error)
	// Gets the information about a user based on a specified claim.
	GetUserByClaim(context.Context, *v1beta12.GetUserByClaimRequest) (*v1beta12.GetUserByClaimResponse, error)
	// Gets the groups of a user.
	GetUserGroups(context.Context, *v1beta12.GetUserGroupsRequest) (*v1beta12.GetUserGroupsResponse, error)
	// Finds users by any attribute of the user.
	// TODO(labkode): to define the filters that make more sense.
	FindUsers(context.Context, *v1beta12.FindUsersRequest) (*v1beta12.FindUsersResponse, error)
	// Gets the information about a group by the group id.
	GetGroup(context.Context, *v1beta111.GetGroupRequest) (*v1beta111.GetGroupResponse, error)
	// Gets the information about a group based on a specified claim.
	GetGroupByClaim(context.Context, *v1beta111.GetGroupByClaimRequest) (*v1beta111.GetGroupByClaimResponse, error)
	// Gets the members of a group.
	GetMembers(context.Context, *v1beta111.GetMembersRequest) (*v1beta111.GetMembersResponse, error)
	// Tells if the group has a certain member.
	HasMember(context.Context, *v1beta111.HasMemberRequest) (*v1beta111.HasMemberResponse, error)
	// TODO(labkode): to define the filters that make more sense.
	// Finds groups whose names match the specified filter.
	FindGroups(context.Context, *v1beta111.FindGroupsRequest) (*v1beta111.FindGroupsResponse, error)
	// Returns a list of the available auth providers known by this registry.
	ListAuthProviders(context.Context, *v1beta112.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error)
	// Returns the home path for the given authenticated user.
	// When a user has access to multiple storage providers, one of them is the home.
	GetHome(context.Context, *v1beta13.GetHomeRequest) (*v1beta13.GetHomeResponse, error)
	// Generates a new token for the user with a validity of 24 hours.
	GenerateInviteToken(context.Context, *v1beta113.GenerateInviteTokenRequest) (*v1beta113.GenerateInviteTokenResponse, error)
	// Lists the valid tokens generated by the user.
	ListInviteTokens(context.Context, *v1beta113.ListInviteTokensRequest) (*v1beta113.ListInviteTokensResponse, error)
	// Forwards a received invite to the sync'n'share system provider.
	ForwardInvite(context.Context, *v1beta113.ForwardInviteRequest) (*v1beta113.ForwardInviteResponse, error)
	// Completes an invitation acceptance.
	AcceptInvite(context.Context, *v1beta113.AcceptInviteRequest) (*v1beta113.AcceptInviteResponse, error)
	// Retrieves details about a remote user who has accepted an invite to share.
	GetAcceptedUser(context.Context, *v1beta113.GetAcceptedUserRequest) (*v1beta113.GetAcceptedUserResponse, error)
	// Finds users who accepted invite tokens by their attributes.
	FindAcceptedUsers(context.Context, *v1beta113.FindAcceptedUsersRequest) (*v1beta113.FindAcceptedUsersResponse, error)
	// Delete a previously accepted remote user, that is unfriend that user.
	DeleteAcceptedUser(context.Context, *v1beta113.DeleteAcceptedUserRequest) (*v1beta113.DeleteAcceptedUserResponse, error)
	// Check if a given system provider is registered in the mesh or not.
	// MUST return CODE_UNAUTHENTICATED if the system is not registered
	IsProviderAllowed(context.Context, *v1beta114.IsProviderAllowedRequest) (*v1beta114.IsProviderAllowedResponse, error)
	// Get the information of the provider identified by a specific domain.
	// MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist.
	GetInfoByDomain(context.Context, *v1beta114.GetInfoByDomainRequest) (*v1beta114.GetInfoByDomainResponse, error)
	// Get the information of all the providers registered in the mesh.
	ListAllProviders(context.Context, *v1beta114.ListAllProvidersRequest) (*v1beta114.ListAllProvidersResponse, error)
	// Creates a new OCM share.
	CreateOCMCoreShare(context.Context, *v1beta115.CreateOCMCoreShareRequest) (*v1beta115.CreateOCMCoreShareResponse, error)
	// Updates an OCM share.
	UpdateOCMCoreShare(context.Context, *v1beta115.UpdateOCMCoreShareRequest) (*v1beta115.UpdateOCMCoreShareResponse, error)
	// Deletes an OCM share.
	DeleteOCMCoreShare(context.Context, *v1beta115.DeleteOCMCoreShareRequest) (*v1beta115.DeleteOCMCoreShareResponse, error)
	//  Requests creation of a transfer.
	CreateTransfer(context.Context, *v1beta116.CreateTransferRequest) (*v1beta116.CreateTransferResponse, error)
	// Requests a transfer status.
	GetTransferStatus(context.Context, *v1beta116.GetTransferStatusRequest) (*v1beta116.GetTransferStatusResponse, error)
	// Requests to cancel a transfer.
	CancelTransfer(context.Context, *v1beta116.CancelTransferRequest) (*v1beta116.CancelTransferResponse, error)
	// Requests a list of transfers received by the authenticated principle.
	ListTransfers(context.Context, *v1beta116.ListTransfersRequest) (*v1beta116.ListTransfersResponse, error)
	// Requests retrying a transfer.
	RetryTransfer(context.Context, *v1beta116.RetryTransferRequest) (*v1beta116.RetryTransferResponse, error)
	// CheckPermission checks if a user or group has a certain permission.
	CheckPermission(context.Context, *v1beta117.CheckPermissionRequest) (*v1beta117.CheckPermissionResponse, error)
}

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

func (*UnimplementedGatewayAPIServer) Authenticate(ctx context.Context, req *AuthenticateRequest) (*AuthenticateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Authenticate not implemented")
}
func (*UnimplementedGatewayAPIServer) WhoAmI(ctx context.Context, req *WhoAmIRequest) (*WhoAmIResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method WhoAmI not implemented")
}
func (*UnimplementedGatewayAPIServer) GenerateAppPassword(ctx context.Context, req *v1beta14.GenerateAppPasswordRequest) (*v1beta14.GenerateAppPasswordResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenerateAppPassword not implemented")
}
func (*UnimplementedGatewayAPIServer) ListAppPasswords(ctx context.Context, req *v1beta14.ListAppPasswordsRequest) (*v1beta14.ListAppPasswordsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAppPasswords not implemented")
}
func (*UnimplementedGatewayAPIServer) InvalidateAppPassword(ctx context.Context, req *v1beta14.InvalidateAppPasswordRequest) (*v1beta14.InvalidateAppPasswordResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InvalidateAppPassword not implemented")
}
func (*UnimplementedGatewayAPIServer) GetAppPassword(ctx context.Context, req *v1beta14.GetAppPasswordRequest) (*v1beta14.GetAppPasswordResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAppPassword not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateContainer(ctx context.Context, req *v1beta13.CreateContainerRequest) (*v1beta13.CreateContainerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateContainer not implemented")
}
func (*UnimplementedGatewayAPIServer) TouchFile(ctx context.Context, req *v1beta13.TouchFileRequest) (*v1beta13.TouchFileResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TouchFile not implemented")
}
func (*UnimplementedGatewayAPIServer) Delete(ctx context.Context, req *v1beta13.DeleteRequest) (*v1beta13.DeleteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (*UnimplementedGatewayAPIServer) GetPath(ctx context.Context, req *v1beta13.GetPathRequest) (*v1beta13.GetPathResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPath not implemented")
}
func (*UnimplementedGatewayAPIServer) GetQuota(ctx context.Context, req *GetQuotaRequest) (*v1beta13.GetQuotaResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQuota not implemented")
}
func (*UnimplementedGatewayAPIServer) InitiateFileDownload(ctx context.Context, req *v1beta13.InitiateFileDownloadRequest) (*InitiateFileDownloadResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InitiateFileDownload not implemented")
}
func (*UnimplementedGatewayAPIServer) InitiateFileUpload(ctx context.Context, req *v1beta13.InitiateFileUploadRequest) (*InitiateFileUploadResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InitiateFileUpload not implemented")
}
func (*UnimplementedGatewayAPIServer) ListContainerStream(req *v1beta13.ListContainerStreamRequest, srv GatewayAPI_ListContainerStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method ListContainerStream not implemented")
}
func (*UnimplementedGatewayAPIServer) ListContainer(ctx context.Context, req *v1beta13.ListContainerRequest) (*v1beta13.ListContainerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListContainer not implemented")
}
func (*UnimplementedGatewayAPIServer) ListFileVersions(ctx context.Context, req *v1beta13.ListFileVersionsRequest) (*v1beta13.ListFileVersionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListFileVersions not implemented")
}
func (*UnimplementedGatewayAPIServer) ListRecycleStream(req *v1beta13.ListRecycleStreamRequest, srv GatewayAPI_ListRecycleStreamServer) error {
	return status.Errorf(codes.Unimplemented, "method ListRecycleStream not implemented")
}
func (*UnimplementedGatewayAPIServer) ListRecycle(ctx context.Context, req *v1beta13.ListRecycleRequest) (*v1beta13.ListRecycleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListRecycle not implemented")
}
func (*UnimplementedGatewayAPIServer) Move(ctx context.Context, req *v1beta13.MoveRequest) (*v1beta13.MoveResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Move not implemented")
}
func (*UnimplementedGatewayAPIServer) PurgeRecycle(ctx context.Context, req *v1beta13.PurgeRecycleRequest) (*v1beta13.PurgeRecycleResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PurgeRecycle not implemented")
}
func (*UnimplementedGatewayAPIServer) RestoreFileVersion(ctx context.Context, req *v1beta13.RestoreFileVersionRequest) (*v1beta13.RestoreFileVersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RestoreFileVersion not implemented")
}
func (*UnimplementedGatewayAPIServer) RestoreRecycleItem(ctx context.Context, req *v1beta13.RestoreRecycleItemRequest) (*v1beta13.RestoreRecycleItemResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RestoreRecycleItem not implemented")
}
func (*UnimplementedGatewayAPIServer) Stat(ctx context.Context, req *v1beta13.StatRequest) (*v1beta13.StatResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Stat not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateSymlink(ctx context.Context, req *v1beta13.CreateSymlinkRequest) (*v1beta13.CreateSymlinkResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateSymlink not implemented")
}
func (*UnimplementedGatewayAPIServer) SetArbitraryMetadata(ctx context.Context, req *v1beta13.SetArbitraryMetadataRequest) (*v1beta13.SetArbitraryMetadataResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetArbitraryMetadata not implemented")
}
func (*UnimplementedGatewayAPIServer) UnsetArbitraryMetadata(ctx context.Context, req *v1beta13.UnsetArbitraryMetadataRequest) (*v1beta13.UnsetArbitraryMetadataResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UnsetArbitraryMetadata not implemented")
}
func (*UnimplementedGatewayAPIServer) SetLock(ctx context.Context, req *v1beta13.SetLockRequest) (*v1beta13.SetLockResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetLock not implemented")
}
func (*UnimplementedGatewayAPIServer) GetLock(ctx context.Context, req *v1beta13.GetLockRequest) (*v1beta13.GetLockResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetLock not implemented")
}
func (*UnimplementedGatewayAPIServer) RefreshLock(ctx context.Context, req *v1beta13.RefreshLockRequest) (*v1beta13.RefreshLockResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RefreshLock not implemented")
}
func (*UnimplementedGatewayAPIServer) Unlock(ctx context.Context, req *v1beta13.UnlockRequest) (*v1beta13.UnlockResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Unlock not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateHome(ctx context.Context, req *v1beta13.CreateHomeRequest) (*v1beta13.CreateHomeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateHome not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateStorageSpace(ctx context.Context, req *v1beta13.CreateStorageSpaceRequest) (*v1beta13.CreateStorageSpaceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateStorageSpace not implemented")
}
func (*UnimplementedGatewayAPIServer) ListStorageSpaces(ctx context.Context, req *v1beta13.ListStorageSpacesRequest) (*v1beta13.ListStorageSpacesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListStorageSpaces not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateStorageSpace(ctx context.Context, req *v1beta13.UpdateStorageSpaceRequest) (*v1beta13.UpdateStorageSpaceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateStorageSpace not implemented")
}
func (*UnimplementedGatewayAPIServer) DeleteStorageSpace(ctx context.Context, req *v1beta13.DeleteStorageSpaceRequest) (*v1beta13.DeleteStorageSpaceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteStorageSpace not implemented")
}
func (*UnimplementedGatewayAPIServer) OpenInApp(ctx context.Context, req *OpenInAppRequest) (*v1beta15.OpenInAppResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method OpenInApp not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateShare(ctx context.Context, req *v1beta16.CreateShareRequest) (*v1beta16.CreateShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateShare not implemented")
}
func (*UnimplementedGatewayAPIServer) RemoveShare(ctx context.Context, req *v1beta16.RemoveShareRequest) (*v1beta16.RemoveShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetShare(ctx context.Context, req *v1beta16.GetShareRequest) (*v1beta16.GetShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetShare not implemented")
}
func (*UnimplementedGatewayAPIServer) ListShares(ctx context.Context, req *v1beta16.ListSharesRequest) (*v1beta16.ListSharesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListShares not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateShare(ctx context.Context, req *v1beta16.UpdateShareRequest) (*v1beta16.UpdateShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateShare not implemented")
}
func (*UnimplementedGatewayAPIServer) ListReceivedShares(ctx context.Context, req *v1beta16.ListReceivedSharesRequest) (*v1beta16.ListReceivedSharesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReceivedShares not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateReceivedShare(ctx context.Context, req *v1beta16.UpdateReceivedShareRequest) (*v1beta16.UpdateReceivedShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetReceivedShare(ctx context.Context, req *v1beta16.GetReceivedShareRequest) (*v1beta16.GetReceivedShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetReceivedShare not implemented")
}
func (*UnimplementedGatewayAPIServer) SetKey(ctx context.Context, req *v1beta17.SetKeyRequest) (*v1beta17.SetKeyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetKey not implemented")
}
func (*UnimplementedGatewayAPIServer) GetKey(ctx context.Context, req *v1beta17.GetKeyRequest) (*v1beta17.GetKeyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented")
}
func (*UnimplementedGatewayAPIServer) CreatePublicShare(ctx context.Context, req *v1beta18.CreatePublicShareRequest) (*v1beta18.CreatePublicShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePublicShare not implemented")
}
func (*UnimplementedGatewayAPIServer) RemovePublicShare(ctx context.Context, req *v1beta18.RemovePublicShareRequest) (*v1beta18.RemovePublicShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemovePublicShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetPublicShare(ctx context.Context, req *v1beta18.GetPublicShareRequest) (*v1beta18.GetPublicShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPublicShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetPublicShareByToken(ctx context.Context, req *v1beta18.GetPublicShareByTokenRequest) (*v1beta18.GetPublicShareByTokenResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPublicShareByToken not implemented")
}
func (*UnimplementedGatewayAPIServer) ListPublicShares(ctx context.Context, req *v1beta18.ListPublicSharesRequest) (*v1beta18.ListPublicSharesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPublicShares not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdatePublicShare(ctx context.Context, req *v1beta18.UpdatePublicShareRequest) (*v1beta18.UpdatePublicShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdatePublicShare not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateOCMShare(ctx context.Context, req *v1beta19.CreateOCMShareRequest) (*v1beta19.CreateOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) RemoveOCMShare(ctx context.Context, req *v1beta19.RemoveOCMShareRequest) (*v1beta19.RemoveOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RemoveOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetOCMShare(ctx context.Context, req *v1beta19.GetOCMShareRequest) (*v1beta19.GetOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetOCMShareByToken(ctx context.Context, req *v1beta19.GetOCMShareByTokenRequest) (*v1beta19.GetOCMShareByTokenResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetOCMShareByToken not implemented")
}
func (*UnimplementedGatewayAPIServer) ListOCMShares(ctx context.Context, req *v1beta19.ListOCMSharesRequest) (*v1beta19.ListOCMSharesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListOCMShares not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateOCMShare(ctx context.Context, req *v1beta19.UpdateOCMShareRequest) (*v1beta19.UpdateOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) ListReceivedOCMShares(ctx context.Context, req *v1beta19.ListReceivedOCMSharesRequest) (*v1beta19.ListReceivedOCMSharesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReceivedOCMShares not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateReceivedOCMShare(ctx context.Context, req *v1beta19.UpdateReceivedOCMShareRequest) (*v1beta19.UpdateReceivedOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateReceivedOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetReceivedOCMShare(ctx context.Context, req *v1beta19.GetReceivedOCMShareRequest) (*v1beta19.GetReceivedOCMShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetReceivedOCMShare not implemented")
}
func (*UnimplementedGatewayAPIServer) GetAppProviders(ctx context.Context, req *v1beta110.GetAppProvidersRequest) (*v1beta110.GetAppProvidersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAppProviders not implemented")
}
func (*UnimplementedGatewayAPIServer) AddAppProvider(ctx context.Context, req *v1beta110.AddAppProviderRequest) (*v1beta110.AddAppProviderResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddAppProvider not implemented")
}
func (*UnimplementedGatewayAPIServer) ListAppProviders(ctx context.Context, req *v1beta110.ListAppProvidersRequest) (*v1beta110.ListAppProvidersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAppProviders not implemented")
}
func (*UnimplementedGatewayAPIServer) ListSupportedMimeTypes(ctx context.Context, req *v1beta110.ListSupportedMimeTypesRequest) (*v1beta110.ListSupportedMimeTypesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSupportedMimeTypes not implemented")
}
func (*UnimplementedGatewayAPIServer) GetDefaultAppProviderForMimeType(ctx context.Context, req *v1beta110.GetDefaultAppProviderForMimeTypeRequest) (*v1beta110.GetDefaultAppProviderForMimeTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDefaultAppProviderForMimeType not implemented")
}
func (*UnimplementedGatewayAPIServer) SetDefaultAppProviderForMimeType(ctx context.Context, req *v1beta110.SetDefaultAppProviderForMimeTypeRequest) (*v1beta110.SetDefaultAppProviderForMimeTypeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetDefaultAppProviderForMimeType not implemented")
}
func (*UnimplementedGatewayAPIServer) GetUser(ctx context.Context, req *v1beta12.GetUserRequest) (*v1beta12.GetUserResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented")
}
func (*UnimplementedGatewayAPIServer) GetUserByClaim(ctx context.Context, req *v1beta12.GetUserByClaimRequest) (*v1beta12.GetUserByClaimResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetUserByClaim not implemented")
}
func (*UnimplementedGatewayAPIServer) GetUserGroups(ctx context.Context, req *v1beta12.GetUserGroupsRequest) (*v1beta12.GetUserGroupsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetUserGroups not implemented")
}
func (*UnimplementedGatewayAPIServer) FindUsers(ctx context.Context, req *v1beta12.FindUsersRequest) (*v1beta12.FindUsersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindUsers not implemented")
}
func (*UnimplementedGatewayAPIServer) GetGroup(ctx context.Context, req *v1beta111.GetGroupRequest) (*v1beta111.GetGroupResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented")
}
func (*UnimplementedGatewayAPIServer) GetGroupByClaim(ctx context.Context, req *v1beta111.GetGroupByClaimRequest) (*v1beta111.GetGroupByClaimResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGroupByClaim not implemented")
}
func (*UnimplementedGatewayAPIServer) GetMembers(ctx context.Context, req *v1beta111.GetMembersRequest) (*v1beta111.GetMembersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetMembers not implemented")
}
func (*UnimplementedGatewayAPIServer) HasMember(ctx context.Context, req *v1beta111.HasMemberRequest) (*v1beta111.HasMemberResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method HasMember not implemented")
}
func (*UnimplementedGatewayAPIServer) FindGroups(ctx context.Context, req *v1beta111.FindGroupsRequest) (*v1beta111.FindGroupsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindGroups not implemented")
}
func (*UnimplementedGatewayAPIServer) ListAuthProviders(ctx context.Context, req *v1beta112.ListAuthProvidersRequest) (*ListAuthProvidersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAuthProviders not implemented")
}
func (*UnimplementedGatewayAPIServer) GetHome(ctx context.Context, req *v1beta13.GetHomeRequest) (*v1beta13.GetHomeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetHome not implemented")
}
func (*UnimplementedGatewayAPIServer) GenerateInviteToken(ctx context.Context, req *v1beta113.GenerateInviteTokenRequest) (*v1beta113.GenerateInviteTokenResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenerateInviteToken not implemented")
}
func (*UnimplementedGatewayAPIServer) ListInviteTokens(ctx context.Context, req *v1beta113.ListInviteTokensRequest) (*v1beta113.ListInviteTokensResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListInviteTokens not implemented")
}
func (*UnimplementedGatewayAPIServer) ForwardInvite(ctx context.Context, req *v1beta113.ForwardInviteRequest) (*v1beta113.ForwardInviteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ForwardInvite not implemented")
}
func (*UnimplementedGatewayAPIServer) AcceptInvite(ctx context.Context, req *v1beta113.AcceptInviteRequest) (*v1beta113.AcceptInviteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AcceptInvite not implemented")
}
func (*UnimplementedGatewayAPIServer) GetAcceptedUser(ctx context.Context, req *v1beta113.GetAcceptedUserRequest) (*v1beta113.GetAcceptedUserResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAcceptedUser not implemented")
}
func (*UnimplementedGatewayAPIServer) FindAcceptedUsers(ctx context.Context, req *v1beta113.FindAcceptedUsersRequest) (*v1beta113.FindAcceptedUsersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FindAcceptedUsers not implemented")
}
func (*UnimplementedGatewayAPIServer) DeleteAcceptedUser(ctx context.Context, req *v1beta113.DeleteAcceptedUserRequest) (*v1beta113.DeleteAcceptedUserResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAcceptedUser not implemented")
}
func (*UnimplementedGatewayAPIServer) IsProviderAllowed(ctx context.Context, req *v1beta114.IsProviderAllowedRequest) (*v1beta114.IsProviderAllowedResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method IsProviderAllowed not implemented")
}
func (*UnimplementedGatewayAPIServer) GetInfoByDomain(ctx context.Context, req *v1beta114.GetInfoByDomainRequest) (*v1beta114.GetInfoByDomainResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInfoByDomain not implemented")
}
func (*UnimplementedGatewayAPIServer) ListAllProviders(ctx context.Context, req *v1beta114.ListAllProvidersRequest) (*v1beta114.ListAllProvidersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAllProviders not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateOCMCoreShare(ctx context.Context, req *v1beta115.CreateOCMCoreShareRequest) (*v1beta115.CreateOCMCoreShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateOCMCoreShare not implemented")
}
func (*UnimplementedGatewayAPIServer) UpdateOCMCoreShare(ctx context.Context, req *v1beta115.UpdateOCMCoreShareRequest) (*v1beta115.UpdateOCMCoreShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateOCMCoreShare not implemented")
}
func (*UnimplementedGatewayAPIServer) DeleteOCMCoreShare(ctx context.Context, req *v1beta115.DeleteOCMCoreShareRequest) (*v1beta115.DeleteOCMCoreShareResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteOCMCoreShare not implemented")
}
func (*UnimplementedGatewayAPIServer) CreateTransfer(ctx context.Context, req *v1beta116.CreateTransferRequest) (*v1beta116.CreateTransferResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateTransfer not implemented")
}
func (*UnimplementedGatewayAPIServer) GetTransferStatus(ctx context.Context, req *v1beta116.GetTransferStatusRequest) (*v1beta116.GetTransferStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTransferStatus not implemented")
}
func (*UnimplementedGatewayAPIServer) CancelTransfer(ctx context.Context, req *v1beta116.CancelTransferRequest) (*v1beta116.CancelTransferResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelTransfer not implemented")
}
func (*UnimplementedGatewayAPIServer) ListTransfers(ctx context.Context, req *v1beta116.ListTransfersRequest) (*v1beta116.ListTransfersResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListTransfers not implemented")
}
func (*UnimplementedGatewayAPIServer) RetryTransfer(ctx context.Context, req *v1beta116.RetryTransferRequest) (*v1beta116.RetryTransferResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RetryTransfer not implemented")
}
func (*UnimplementedGatewayAPIServer) CheckPermission(ctx context.Context, req *v1beta117.CheckPermissionRequest) (*v1beta117.CheckPermissionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheckPermission not implemented")
}

func RegisterGatewayAPIServer(s *grpc.Server, srv GatewayAPIServer) {
	s.RegisterService(&_GatewayAPI_serviceDesc, srv)
}

func _GatewayAPI_Authenticate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AuthenticateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).Authenticate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/Authenticate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).Authenticate(ctx, req.(*AuthenticateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_WhoAmI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(WhoAmIRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).WhoAmI(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/WhoAmI",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).WhoAmI(ctx, req.(*WhoAmIRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GenerateAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta14.GenerateAppPasswordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GenerateAppPassword(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GenerateAppPassword",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GenerateAppPassword(ctx, req.(*v1beta14.GenerateAppPasswordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListAppPasswords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta14.ListAppPasswordsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListAppPasswords(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListAppPasswords",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListAppPasswords(ctx, req.(*v1beta14.ListAppPasswordsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_InvalidateAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta14.InvalidateAppPasswordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).InvalidateAppPassword(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/InvalidateAppPassword",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).InvalidateAppPassword(ctx, req.(*v1beta14.InvalidateAppPasswordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetAppPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta14.GetAppPasswordRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetAppPassword(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetAppPassword",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetAppPassword(ctx, req.(*v1beta14.GetAppPasswordRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.CreateContainerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateContainer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateContainer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateContainer(ctx, req.(*v1beta13.CreateContainerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_TouchFile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.TouchFileRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).TouchFile(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/TouchFile",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).TouchFile(ctx, req.(*v1beta13.TouchFileRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.DeleteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).Delete(ctx, req.(*v1beta13.DeleteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.GetPathRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetPath(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetPath",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetPath(ctx, req.(*v1beta13.GetPathRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetQuota_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQuotaRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetQuota(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetQuota",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetQuota(ctx, req.(*GetQuotaRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_InitiateFileDownload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.InitiateFileDownloadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).InitiateFileDownload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/InitiateFileDownload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).InitiateFileDownload(ctx, req.(*v1beta13.InitiateFileDownloadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_InitiateFileUpload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.InitiateFileUploadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).InitiateFileUpload(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/InitiateFileUpload",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).InitiateFileUpload(ctx, req.(*v1beta13.InitiateFileUploadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListContainerStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(v1beta13.ListContainerStreamRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GatewayAPIServer).ListContainerStream(m, &gatewayAPIListContainerStreamServer{stream})
}

type GatewayAPI_ListContainerStreamServer interface {
	Send(*v1beta13.ListContainerStreamResponse) error
	grpc.ServerStream
}

type gatewayAPIListContainerStreamServer struct {
	grpc.ServerStream
}

func (x *gatewayAPIListContainerStreamServer) Send(m *v1beta13.ListContainerStreamResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GatewayAPI_ListContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.ListContainerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListContainer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListContainer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListContainer(ctx, req.(*v1beta13.ListContainerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListFileVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.ListFileVersionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListFileVersions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListFileVersions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListFileVersions(ctx, req.(*v1beta13.ListFileVersionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListRecycleStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(v1beta13.ListRecycleStreamRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GatewayAPIServer).ListRecycleStream(m, &gatewayAPIListRecycleStreamServer{stream})
}

type GatewayAPI_ListRecycleStreamServer interface {
	Send(*v1beta13.ListRecycleStreamResponse) error
	grpc.ServerStream
}

type gatewayAPIListRecycleStreamServer struct {
	grpc.ServerStream
}

func (x *gatewayAPIListRecycleStreamServer) Send(m *v1beta13.ListRecycleStreamResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _GatewayAPI_ListRecycle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.ListRecycleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListRecycle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListRecycle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListRecycle(ctx, req.(*v1beta13.ListRecycleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_Move_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.MoveRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).Move(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/Move",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).Move(ctx, req.(*v1beta13.MoveRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_PurgeRecycle_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.PurgeRecycleRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).PurgeRecycle(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/PurgeRecycle",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).PurgeRecycle(ctx, req.(*v1beta13.PurgeRecycleRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RestoreFileVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.RestoreFileVersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RestoreFileVersion(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RestoreFileVersion",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RestoreFileVersion(ctx, req.(*v1beta13.RestoreFileVersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RestoreRecycleItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.RestoreRecycleItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RestoreRecycleItem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RestoreRecycleItem",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RestoreRecycleItem(ctx, req.(*v1beta13.RestoreRecycleItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.StatRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).Stat(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/Stat",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).Stat(ctx, req.(*v1beta13.StatRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateSymlink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.CreateSymlinkRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateSymlink(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateSymlink",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateSymlink(ctx, req.(*v1beta13.CreateSymlinkRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_SetArbitraryMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.SetArbitraryMetadataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).SetArbitraryMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/SetArbitraryMetadata",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).SetArbitraryMetadata(ctx, req.(*v1beta13.SetArbitraryMetadataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UnsetArbitraryMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.UnsetArbitraryMetadataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UnsetArbitraryMetadata(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UnsetArbitraryMetadata",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UnsetArbitraryMetadata(ctx, req.(*v1beta13.UnsetArbitraryMetadataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_SetLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.SetLockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).SetLock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/SetLock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).SetLock(ctx, req.(*v1beta13.SetLockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.GetLockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetLock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetLock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetLock(ctx, req.(*v1beta13.GetLockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RefreshLock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.RefreshLockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RefreshLock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RefreshLock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RefreshLock(ctx, req.(*v1beta13.RefreshLockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_Unlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.UnlockRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).Unlock(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/Unlock",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).Unlock(ctx, req.(*v1beta13.UnlockRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateHome_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.CreateHomeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateHome(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateHome",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateHome(ctx, req.(*v1beta13.CreateHomeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.CreateStorageSpaceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateStorageSpace(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateStorageSpace",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateStorageSpace(ctx, req.(*v1beta13.CreateStorageSpaceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListStorageSpaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.ListStorageSpacesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListStorageSpaces(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListStorageSpaces",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListStorageSpaces(ctx, req.(*v1beta13.ListStorageSpacesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.UpdateStorageSpaceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateStorageSpace(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateStorageSpace",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateStorageSpace(ctx, req.(*v1beta13.UpdateStorageSpaceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_DeleteStorageSpace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.DeleteStorageSpaceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).DeleteStorageSpace(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/DeleteStorageSpace",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).DeleteStorageSpace(ctx, req.(*v1beta13.DeleteStorageSpaceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_OpenInApp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OpenInAppRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).OpenInApp(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/OpenInApp",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).OpenInApp(ctx, req.(*OpenInAppRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.CreateShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateShare(ctx, req.(*v1beta16.CreateShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RemoveShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.RemoveShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RemoveShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RemoveShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RemoveShare(ctx, req.(*v1beta16.RemoveShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.GetShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetShare(ctx, req.(*v1beta16.GetShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.ListSharesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListShares(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListShares",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListShares(ctx, req.(*v1beta16.ListSharesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.UpdateShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateShare(ctx, req.(*v1beta16.UpdateShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListReceivedShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.ListReceivedSharesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListReceivedShares(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListReceivedShares",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListReceivedShares(ctx, req.(*v1beta16.ListReceivedSharesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.UpdateReceivedShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateReceivedShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateReceivedShare(ctx, req.(*v1beta16.UpdateReceivedShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetReceivedShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta16.GetReceivedShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetReceivedShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetReceivedShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetReceivedShare(ctx, req.(*v1beta16.GetReceivedShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_SetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta17.SetKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).SetKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/SetKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).SetKey(ctx, req.(*v1beta17.SetKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta17.GetKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetKey(ctx, req.(*v1beta17.GetKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.CreatePublicShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreatePublicShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreatePublicShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreatePublicShare(ctx, req.(*v1beta18.CreatePublicShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RemovePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.RemovePublicShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RemovePublicShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RemovePublicShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RemovePublicShare(ctx, req.(*v1beta18.RemovePublicShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetPublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.GetPublicShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetPublicShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetPublicShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetPublicShare(ctx, req.(*v1beta18.GetPublicShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetPublicShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.GetPublicShareByTokenRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetPublicShareByToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetPublicShareByToken",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetPublicShareByToken(ctx, req.(*v1beta18.GetPublicShareByTokenRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListPublicShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.ListPublicSharesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListPublicShares(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListPublicShares(ctx, req.(*v1beta18.ListPublicSharesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdatePublicShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta18.UpdatePublicShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdatePublicShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdatePublicShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdatePublicShare(ctx, req.(*v1beta18.UpdatePublicShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.CreateOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateOCMShare(ctx, req.(*v1beta19.CreateOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RemoveOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.RemoveOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RemoveOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RemoveOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RemoveOCMShare(ctx, req.(*v1beta19.RemoveOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.GetOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetOCMShare(ctx, req.(*v1beta19.GetOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetOCMShareByToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.GetOCMShareByTokenRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetOCMShareByToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetOCMShareByToken",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetOCMShareByToken(ctx, req.(*v1beta19.GetOCMShareByTokenRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.ListOCMSharesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListOCMShares(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListOCMShares",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListOCMShares(ctx, req.(*v1beta19.ListOCMSharesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.UpdateOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateOCMShare(ctx, req.(*v1beta19.UpdateOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListReceivedOCMShares_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.ListReceivedOCMSharesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListReceivedOCMShares(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListReceivedOCMShares",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListReceivedOCMShares(ctx, req.(*v1beta19.ListReceivedOCMSharesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.UpdateReceivedOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateReceivedOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateReceivedOCMShare(ctx, req.(*v1beta19.UpdateReceivedOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetReceivedOCMShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta19.GetReceivedOCMShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetReceivedOCMShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetReceivedOCMShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetReceivedOCMShare(ctx, req.(*v1beta19.GetReceivedOCMShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetAppProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.GetAppProvidersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetAppProviders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetAppProviders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetAppProviders(ctx, req.(*v1beta110.GetAppProvidersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_AddAppProvider_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.AddAppProviderRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).AddAppProvider(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/AddAppProvider",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).AddAppProvider(ctx, req.(*v1beta110.AddAppProviderRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListAppProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.ListAppProvidersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListAppProviders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListAppProviders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListAppProviders(ctx, req.(*v1beta110.ListAppProvidersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListSupportedMimeTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.ListSupportedMimeTypesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListSupportedMimeTypes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListSupportedMimeTypes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListSupportedMimeTypes(ctx, req.(*v1beta110.ListSupportedMimeTypesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetDefaultAppProviderForMimeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.GetDefaultAppProviderForMimeTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetDefaultAppProviderForMimeType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetDefaultAppProviderForMimeType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetDefaultAppProviderForMimeType(ctx, req.(*v1beta110.GetDefaultAppProviderForMimeTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_SetDefaultAppProviderForMimeType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta110.SetDefaultAppProviderForMimeTypeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).SetDefaultAppProviderForMimeType(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/SetDefaultAppProviderForMimeType",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).SetDefaultAppProviderForMimeType(ctx, req.(*v1beta110.SetDefaultAppProviderForMimeTypeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta12.GetUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetUser(ctx, req.(*v1beta12.GetUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetUserByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta12.GetUserByClaimRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetUserByClaim(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetUserByClaim",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetUserByClaim(ctx, req.(*v1beta12.GetUserByClaimRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta12.GetUserGroupsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetUserGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetUserGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetUserGroups(ctx, req.(*v1beta12.GetUserGroupsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_FindUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta12.FindUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).FindUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/FindUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).FindUsers(ctx, req.(*v1beta12.FindUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta111.GetGroupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetGroup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetGroup(ctx, req.(*v1beta111.GetGroupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetGroupByClaim_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta111.GetGroupByClaimRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetGroupByClaim(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetGroupByClaim",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetGroupByClaim(ctx, req.(*v1beta111.GetGroupByClaimRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta111.GetMembersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetMembers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetMembers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetMembers(ctx, req.(*v1beta111.GetMembersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_HasMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta111.HasMemberRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).HasMember(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/HasMember",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).HasMember(ctx, req.(*v1beta111.HasMemberRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_FindGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta111.FindGroupsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).FindGroups(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/FindGroups",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).FindGroups(ctx, req.(*v1beta111.FindGroupsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListAuthProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta112.ListAuthProvidersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListAuthProviders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListAuthProviders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListAuthProviders(ctx, req.(*v1beta112.ListAuthProvidersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetHome_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta13.GetHomeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetHome(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetHome",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetHome(ctx, req.(*v1beta13.GetHomeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GenerateInviteToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.GenerateInviteTokenRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GenerateInviteToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GenerateInviteToken",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GenerateInviteToken(ctx, req.(*v1beta113.GenerateInviteTokenRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListInviteTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.ListInviteTokensRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListInviteTokens(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListInviteTokens",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListInviteTokens(ctx, req.(*v1beta113.ListInviteTokensRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ForwardInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.ForwardInviteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ForwardInvite(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ForwardInvite",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ForwardInvite(ctx, req.(*v1beta113.ForwardInviteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_AcceptInvite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.AcceptInviteRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).AcceptInvite(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/AcceptInvite",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).AcceptInvite(ctx, req.(*v1beta113.AcceptInviteRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.GetAcceptedUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetAcceptedUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetAcceptedUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetAcceptedUser(ctx, req.(*v1beta113.GetAcceptedUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_FindAcceptedUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.FindAcceptedUsersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).FindAcceptedUsers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/FindAcceptedUsers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).FindAcceptedUsers(ctx, req.(*v1beta113.FindAcceptedUsersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_DeleteAcceptedUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta113.DeleteAcceptedUserRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).DeleteAcceptedUser(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/DeleteAcceptedUser",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).DeleteAcceptedUser(ctx, req.(*v1beta113.DeleteAcceptedUserRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_IsProviderAllowed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta114.IsProviderAllowedRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).IsProviderAllowed(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/IsProviderAllowed",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).IsProviderAllowed(ctx, req.(*v1beta114.IsProviderAllowedRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetInfoByDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta114.GetInfoByDomainRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetInfoByDomain(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetInfoByDomain",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetInfoByDomain(ctx, req.(*v1beta114.GetInfoByDomainRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListAllProviders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta114.ListAllProvidersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListAllProviders(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListAllProviders",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListAllProviders(ctx, req.(*v1beta114.ListAllProvidersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta115.CreateOCMCoreShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateOCMCoreShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateOCMCoreShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateOCMCoreShare(ctx, req.(*v1beta115.CreateOCMCoreShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_UpdateOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta115.UpdateOCMCoreShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).UpdateOCMCoreShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMCoreShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).UpdateOCMCoreShare(ctx, req.(*v1beta115.UpdateOCMCoreShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_DeleteOCMCoreShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta115.DeleteOCMCoreShareRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).DeleteOCMCoreShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMCoreShare",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).DeleteOCMCoreShare(ctx, req.(*v1beta115.DeleteOCMCoreShareRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CreateTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta116.CreateTransferRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CreateTransfer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CreateTransfer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CreateTransfer(ctx, req.(*v1beta116.CreateTransferRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_GetTransferStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta116.GetTransferStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).GetTransferStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/GetTransferStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).GetTransferStatus(ctx, req.(*v1beta116.GetTransferStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CancelTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta116.CancelTransferRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CancelTransfer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CancelTransfer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CancelTransfer(ctx, req.(*v1beta116.CancelTransferRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_ListTransfers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta116.ListTransfersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).ListTransfers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/ListTransfers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).ListTransfers(ctx, req.(*v1beta116.ListTransfersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_RetryTransfer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta116.RetryTransferRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).RetryTransfer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/RetryTransfer",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).RetryTransfer(ctx, req.(*v1beta116.RetryTransferRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _GatewayAPI_CheckPermission_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(v1beta117.CheckPermissionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayAPIServer).CheckPermission(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cs3.gateway.v1beta1.GatewayAPI/CheckPermission",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayAPIServer).CheckPermission(ctx, req.(*v1beta117.CheckPermissionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _GatewayAPI_serviceDesc = grpc.ServiceDesc{
	ServiceName: "cs3.gateway.v1beta1.GatewayAPI",
	HandlerType: (*GatewayAPIServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Authenticate",
			Handler:    _GatewayAPI_Authenticate_Handler,
		},
		{
			MethodName: "WhoAmI",
			Handler:    _GatewayAPI_WhoAmI_Handler,
		},
		{
			MethodName: "GenerateAppPassword",
			Handler:    _GatewayAPI_GenerateAppPassword_Handler,
		},
		{
			MethodName: "ListAppPasswords",
			Handler:    _GatewayAPI_ListAppPasswords_Handler,
		},
		{
			MethodName: "InvalidateAppPassword",
			Handler:    _GatewayAPI_InvalidateAppPassword_Handler,
		},
		{
			MethodName: "GetAppPassword",
			Handler:    _GatewayAPI_GetAppPassword_Handler,
		},
		{
			MethodName: "CreateContainer",
			Handler:    _GatewayAPI_CreateContainer_Handler,
		},
		{
			MethodName: "TouchFile",
			Handler:    _GatewayAPI_TouchFile_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _GatewayAPI_Delete_Handler,
		},
		{
			MethodName: "GetPath",
			Handler:    _GatewayAPI_GetPath_Handler,
		},
		{
			MethodName: "GetQuota",
			Handler:    _GatewayAPI_GetQuota_Handler,
		},
		{
			MethodName: "InitiateFileDownload",
			Handler:    _GatewayAPI_InitiateFileDownload_Handler,
		},
		{
			MethodName: "InitiateFileUpload",
			Handler:    _GatewayAPI_InitiateFileUpload_Handler,
		},
		{
			MethodName: "ListContainer",
			Handler:    _GatewayAPI_ListContainer_Handler,
		},
		{
			MethodName: "ListFileVersions",
			Handler:    _GatewayAPI_ListFileVersions_Handler,
		},
		{
			MethodName: "ListRecycle",
			Handler:    _GatewayAPI_ListRecycle_Handler,
		},
		{
			MethodName: "Move",
			Handler:    _GatewayAPI_Move_Handler,
		},
		{
			MethodName: "PurgeRecycle",
			Handler:    _GatewayAPI_PurgeRecycle_Handler,
		},
		{
			MethodName: "RestoreFileVersion",
			Handler:    _GatewayAPI_RestoreFileVersion_Handler,
		},
		{
			MethodName: "RestoreRecycleItem",
			Handler:    _GatewayAPI_RestoreRecycleItem_Handler,
		},
		{
			MethodName: "Stat",
			Handler:    _GatewayAPI_Stat_Handler,
		},
		{
			MethodName: "CreateSymlink",
			Handler:    _GatewayAPI_CreateSymlink_Handler,
		},
		{
			MethodName: "SetArbitraryMetadata",
			Handler:    _GatewayAPI_SetArbitraryMetadata_Handler,
		},
		{
			MethodName: "UnsetArbitraryMetadata",
			Handler:    _GatewayAPI_UnsetArbitraryMetadata_Handler,
		},
		{
			MethodName: "SetLock",
			Handler:    _GatewayAPI_SetLock_Handler,
		},
		{
			MethodName: "GetLock",
			Handler:    _GatewayAPI_GetLock_Handler,
		},
		{
			MethodName: "RefreshLock",
			Handler:    _GatewayAPI_RefreshLock_Handler,
		},
		{
			MethodName: "Unlock",
			Handler:    _GatewayAPI_Unlock_Handler,
		},
		{
			MethodName: "CreateHome",
			Handler:    _GatewayAPI_CreateHome_Handler,
		},
		{
			MethodName: "CreateStorageSpace",
			Handler:    _GatewayAPI_CreateStorageSpace_Handler,
		},
		{
			MethodName: "ListStorageSpaces",
			Handler:    _GatewayAPI_ListStorageSpaces_Handler,
		},
		{
			MethodName: "UpdateStorageSpace",
			Handler:    _GatewayAPI_UpdateStorageSpace_Handler,
		},
		{
			MethodName: "DeleteStorageSpace",
			Handler:    _GatewayAPI_DeleteStorageSpace_Handler,
		},
		{
			MethodName: "OpenInApp",
			Handler:    _GatewayAPI_OpenInApp_Handler,
		},
		{
			MethodName: "CreateShare",
			Handler:    _GatewayAPI_CreateShare_Handler,
		},
		{
			MethodName: "RemoveShare",
			Handler:    _GatewayAPI_RemoveShare_Handler,
		},
		{
			MethodName: "GetShare",
			Handler:    _GatewayAPI_GetShare_Handler,
		},
		{
			MethodName: "ListShares",
			Handler:    _GatewayAPI_ListShares_Handler,
		},
		{
			MethodName: "UpdateShare",
			Handler:    _GatewayAPI_UpdateShare_Handler,
		},
		{
			MethodName: "ListReceivedShares",
			Handler:    _GatewayAPI_ListReceivedShares_Handler,
		},
		{
			MethodName: "UpdateReceivedShare",
			Handler:    _GatewayAPI_UpdateReceivedShare_Handler,
		},
		{
			MethodName: "GetReceivedShare",
			Handler:    _GatewayAPI_GetReceivedShare_Handler,
		},
		{
			MethodName: "SetKey",
			Handler:    _GatewayAPI_SetKey_Handler,
		},
		{
			MethodName: "GetKey",
			Handler:    _GatewayAPI_GetKey_Handler,
		},
		{
			MethodName: "CreatePublicShare",
			Handler:    _GatewayAPI_CreatePublicShare_Handler,
		},
		{
			MethodName: "RemovePublicShare",
			Handler:    _GatewayAPI_RemovePublicShare_Handler,
		},
		{
			MethodName: "GetPublicShare",
			Handler:    _GatewayAPI_GetPublicShare_Handler,
		},
		{
			MethodName: "GetPublicShareByToken",
			Handler:    _GatewayAPI_GetPublicShareByToken_Handler,
		},
		{
			MethodName: "ListPublicShares",
			Handler:    _GatewayAPI_ListPublicShares_Handler,
		},
		{
			MethodName: "UpdatePublicShare",
			Handler:    _GatewayAPI_UpdatePublicShare_Handler,
		},
		{
			MethodName: "CreateOCMShare",
			Handler:    _GatewayAPI_CreateOCMShare_Handler,
		},
		{
			MethodName: "RemoveOCMShare",
			Handler:    _GatewayAPI_RemoveOCMShare_Handler,
		},
		{
			MethodName: "GetOCMShare",
			Handler:    _GatewayAPI_GetOCMShare_Handler,
		},
		{
			MethodName: "GetOCMShareByToken",
			Handler:    _GatewayAPI_GetOCMShareByToken_Handler,
		},
		{
			MethodName: "ListOCMShares",
			Handler:    _GatewayAPI_ListOCMShares_Handler,
		},
		{
			MethodName: "UpdateOCMShare",
			Handler:    _GatewayAPI_UpdateOCMShare_Handler,
		},
		{
			MethodName: "ListReceivedOCMShares",
			Handler:    _GatewayAPI_ListReceivedOCMShares_Handler,
		},
		{
			MethodName: "UpdateReceivedOCMShare",
			Handler:    _GatewayAPI_UpdateReceivedOCMShare_Handler,
		},
		{
			MethodName: "GetReceivedOCMShare",
			Handler:    _GatewayAPI_GetReceivedOCMShare_Handler,
		},
		{
			MethodName: "GetAppProviders",
			Handler:    _GatewayAPI_GetAppProviders_Handler,
		},
		{
			MethodName: "AddAppProvider",
			Handler:    _GatewayAPI_AddAppProvider_Handler,
		},
		{
			MethodName: "ListAppProviders",
			Handler:    _GatewayAPI_ListAppProviders_Handler,
		},
		{
			MethodName: "ListSupportedMimeTypes",
			Handler:    _GatewayAPI_ListSupportedMimeTypes_Handler,
		},
		{
			MethodName: "GetDefaultAppProviderForMimeType",
			Handler:    _GatewayAPI_GetDefaultAppProviderForMimeType_Handler,
		},
		{
			MethodName: "SetDefaultAppProviderForMimeType",
			Handler:    _GatewayAPI_SetDefaultAppProviderForMimeType_Handler,
		},
		{
			MethodName: "GetUser",
			Handler:    _GatewayAPI_GetUser_Handler,
		},
		{
			MethodName: "GetUserByClaim",
			Handler:    _GatewayAPI_GetUserByClaim_Handler,
		},
		{
			MethodName: "GetUserGroups",
			Handler:    _GatewayAPI_GetUserGroups_Handler,
		},
		{
			MethodName: "FindUsers",
			Handler:    _GatewayAPI_FindUsers_Handler,
		},
		{
			MethodName: "GetGroup",
			Handler:    _GatewayAPI_GetGroup_Handler,
		},
		{
			MethodName: "GetGroupByClaim",
			Handler:    _GatewayAPI_GetGroupByClaim_Handler,
		},
		{
			MethodName: "GetMembers",
			Handler:    _GatewayAPI_GetMembers_Handler,
		},
		{
			MethodName: "HasMember",
			Handler:    _GatewayAPI_HasMember_Handler,
		},
		{
			MethodName: "FindGroups",
			Handler:    _GatewayAPI_FindGroups_Handler,
		},
		{
			MethodName: "ListAuthProviders",
			Handler:    _GatewayAPI_ListAuthProviders_Handler,
		},
		{
			MethodName: "GetHome",
			Handler:    _GatewayAPI_GetHome_Handler,
		},
		{
			MethodName: "GenerateInviteToken",
			Handler:    _GatewayAPI_GenerateInviteToken_Handler,
		},
		{
			MethodName: "ListInviteTokens",
			Handler:    _GatewayAPI_ListInviteTokens_Handler,
		},
		{
			MethodName: "ForwardInvite",
			Handler:    _GatewayAPI_ForwardInvite_Handler,
		},
		{
			MethodName: "AcceptInvite",
			Handler:    _GatewayAPI_AcceptInvite_Handler,
		},
		{
			MethodName: "GetAcceptedUser",
			Handler:    _GatewayAPI_GetAcceptedUser_Handler,
		},
		{
			MethodName: "FindAcceptedUsers",
			Handler:    _GatewayAPI_FindAcceptedUsers_Handler,
		},
		{
			MethodName: "DeleteAcceptedUser",
			Handler:    _GatewayAPI_DeleteAcceptedUser_Handler,
		},
		{
			MethodName: "IsProviderAllowed",
			Handler:    _GatewayAPI_IsProviderAllowed_Handler,
		},
		{
			MethodName: "GetInfoByDomain",
			Handler:    _GatewayAPI_GetInfoByDomain_Handler,
		},
		{
			MethodName: "ListAllProviders",
			Handler:    _GatewayAPI_ListAllProviders_Handler,
		},
		{
			MethodName: "CreateOCMCoreShare",
			Handler:    _GatewayAPI_CreateOCMCoreShare_Handler,
		},
		{
			MethodName: "UpdateOCMCoreShare",
			Handler:    _GatewayAPI_UpdateOCMCoreShare_Handler,
		},
		{
			MethodName: "DeleteOCMCoreShare",
			Handler:    _GatewayAPI_DeleteOCMCoreShare_Handler,
		},
		{
			MethodName: "CreateTransfer",
			Handler:    _GatewayAPI_CreateTransfer_Handler,
		},
		{
			MethodName: "GetTransferStatus",
			Handler:    _GatewayAPI_GetTransferStatus_Handler,
		},
		{
			MethodName: "CancelTransfer",
			Handler:    _GatewayAPI_CancelTransfer_Handler,
		},
		{
			MethodName: "ListTransfers",
			Handler:    _GatewayAPI_ListTransfers_Handler,
		},
		{
			MethodName: "RetryTransfer",
			Handler:    _GatewayAPI_RetryTransfer_Handler,
		},
		{
			MethodName: "CheckPermission",
			Handler:    _GatewayAPI_CheckPermission_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ListContainerStream",
			Handler:       _GatewayAPI_ListContainerStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListRecycleStream",
			Handler:       _GatewayAPI_ListRecycleStream_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "cs3/gateway/v1beta1/gateway_api.proto",
}
