# -*- coding: utf-8 -*-
# Generated by https://github.com/verloop/twirpy/protoc-gen-twirpy.  DO NOT EDIT!
# source: video/coordinator/client_v1_rpc/client_rpc.proto

from google.protobuf import symbol_database as _symbol_database

from twirp.base import Endpoint
from twirp.server import TwirpServer
from twirp.client import TwirpClient

_sym_db = _symbol_database.Default()

class ClientRPCServer(TwirpServer):

	def __init__(self, *args, service, server_path_prefix="/twirp"):
		super().__init__(service=service)
		self._prefix = F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC"
		self._endpoints = {
			"CreateCall": Endpoint(
				service_name="ClientRPC",
				name="CreateCall",
				function=getattr(service, "CreateCall"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateCallRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateCallResponse"),
			),
			"GetOrCreateCall": Endpoint(
				service_name="ClientRPC",
				name="GetOrCreateCall",
				function=getattr(service, "GetOrCreateCall"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetOrCreateCallRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetOrCreateCallResponse"),
			),
			"JoinCall": Endpoint(
				service_name="ClientRPC",
				name="JoinCall",
				function=getattr(service, "JoinCall"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.JoinCallRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.JoinCallResponse"),
			),
			"GetCallEdgeServer": Endpoint(
				service_name="ClientRPC",
				name="GetCallEdgeServer",
				function=getattr(service, "GetCallEdgeServer"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetCallEdgeServerRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetCallEdgeServerResponse"),
			),
			"UpdateCall": Endpoint(
				service_name="ClientRPC",
				name="UpdateCall",
				function=getattr(service, "UpdateCall"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpdateCallRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpdateCallResponse"),
			),
			"QueryCalls": Endpoint(
				service_name="ClientRPC",
				name="QueryCalls",
				function=getattr(service, "QueryCalls"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryCallsRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryCallsResponse"),
			),
			"QueryMembers": Endpoint(
				service_name="ClientRPC",
				name="QueryMembers",
				function=getattr(service, "QueryMembers"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryMembersRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryMembersResponse"),
			),
			"CreateDevice": Endpoint(
				service_name="ClientRPC",
				name="CreateDevice",
				function=getattr(service, "CreateDevice"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateDeviceRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateDeviceResponse"),
			),
			"DeleteDevice": Endpoint(
				service_name="ClientRPC",
				name="DeleteDevice",
				function=getattr(service, "DeleteDevice"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteDeviceRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteDeviceResponse"),
			),
			"QueryDevices": Endpoint(
				service_name="ClientRPC",
				name="QueryDevices",
				function=getattr(service, "QueryDevices"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryDevicesRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryDevicesResponse"),
			),
			"UpsertCallMembers": Endpoint(
				service_name="ClientRPC",
				name="UpsertCallMembers",
				function=getattr(service, "UpsertCallMembers"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpsertCallMembersRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpsertCallMembersResponse"),
			),
			"DeleteCallMembers": Endpoint(
				service_name="ClientRPC",
				name="DeleteCallMembers",
				function=getattr(service, "DeleteCallMembers"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteCallMembersRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteCallMembersResponse"),
			),
			"SendEvent": Endpoint(
				service_name="ClientRPC",
				name="SendEvent",
				function=getattr(service, "SendEvent"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendEventRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendEventResponse"),
			),
			"SendCustomEvent": Endpoint(
				service_name="ClientRPC",
				name="SendCustomEvent",
				function=getattr(service, "SendCustomEvent"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendCustomEventRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendCustomEventResponse"),
			),
			"ReportCallStats": Endpoint(
				service_name="ClientRPC",
				name="ReportCallStats",
				function=getattr(service, "ReportCallStats"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatsRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatsResponse"),
			),
			"ReportCallStatEvent": Endpoint(
				service_name="ClientRPC",
				name="ReportCallStatEvent",
				function=getattr(service, "ReportCallStatEvent"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatEventRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatEventResponse"),
			),
			"ReviewCall": Endpoint(
				service_name="ClientRPC",
				name="ReviewCall",
				function=getattr(service, "ReviewCall"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReviewCallRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReviewCallResponse"),
			),
			"ReportIssue": Endpoint(
				service_name="ClientRPC",
				name="ReportIssue",
				function=getattr(service, "ReportIssue"),
				input=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportIssueRequest"),
				output=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportIssueResponse"),
			),
		}

class ClientRPCClient(TwirpClient):

	def CreateCall(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/CreateCall",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateCallResponse"),
			**kwargs,
		)

	def GetOrCreateCall(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/GetOrCreateCall",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetOrCreateCallResponse"),
			**kwargs,
		)

	def JoinCall(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/JoinCall",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.JoinCallResponse"),
			**kwargs,
		)

	def GetCallEdgeServer(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/GetCallEdgeServer",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.GetCallEdgeServerResponse"),
			**kwargs,
		)

	def UpdateCall(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/UpdateCall",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpdateCallResponse"),
			**kwargs,
		)

	def QueryCalls(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/QueryCalls",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryCallsResponse"),
			**kwargs,
		)

	def QueryMembers(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/QueryMembers",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryMembersResponse"),
			**kwargs,
		)

	def CreateDevice(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/CreateDevice",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.CreateDeviceResponse"),
			**kwargs,
		)

	def DeleteDevice(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/DeleteDevice",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteDeviceResponse"),
			**kwargs,
		)

	def QueryDevices(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/QueryDevices",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.QueryDevicesResponse"),
			**kwargs,
		)

	def UpsertCallMembers(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/UpsertCallMembers",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.UpsertCallMembersResponse"),
			**kwargs,
		)

	def DeleteCallMembers(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/DeleteCallMembers",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.DeleteCallMembersResponse"),
			**kwargs,
		)

	def SendEvent(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/SendEvent",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendEventResponse"),
			**kwargs,
		)

	def SendCustomEvent(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/SendCustomEvent",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.SendCustomEventResponse"),
			**kwargs,
		)

	def ReportCallStats(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/ReportCallStats",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatsResponse"),
			**kwargs,
		)

	def ReportCallStatEvent(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/ReportCallStatEvent",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportCallStatEventResponse"),
			**kwargs,
		)

	def ReviewCall(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/ReviewCall",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReviewCallResponse"),
			**kwargs,
		)

	def ReportIssue(self, *args, ctx, request, server_path_prefix="/twirp", **kwargs):
		return self._make_request(
			url=F"{server_path_prefix}/stream.video.coordinator.client_v1_rpc.ClientRPC/ReportIssue",
			ctx=ctx,
			request=request,
			response_obj=_sym_db.GetSymbol("stream.video.coordinator.client_v1_rpc.ReportIssueResponse"),
			**kwargs,
		)
