func (c *Cast) StartTabMirroringWithParams(ctx context.Context, v *CastStartTabMirroringParams) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Cast.startTabMirroring", Params: v})
}
StartTabMirroringWithParams - Starts mirroring the tab to the sink.
package gcdapi
import (
	"context"
	"github.com/wirepair/gcd/v2/gcdmessage"
)
type CastSink struct {
	Name    string `json:"name"`               
	Id      string `json:"id"`                 
	Session string `json:"session,omitempty"`  
}
type CastSinksUpdatedEvent struct {
	Method string `json:"method"`
	Params struct {
		Sinks []*CastSink `json:"sinks"`  
	} `json:"Params,omitempty"`
}
type CastIssueUpdatedEvent struct {
	Method string `json:"method"`
	Params struct {
		IssueMessage string `json:"issueMessage"`  
	} `json:"Params,omitempty"`
}
type Cast struct {
	target gcdmessage.ChromeTargeter
}
func NewCast(target gcdmessage.ChromeTargeter) *Cast {
	c := &Cast{target: target}
	return c
}
type CastEnableParams struct {
	PresentationUrl string `json:"presentationUrl,omitempty"`
}
func (c *Cast) EnableWithParams(ctx context.Context, v *CastEnableParams) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Cast.enable", Params: v})
}
func (c *Cast) Enable(ctx context.Context, presentationUrl string) (*gcdmessage.ChromeResponse, error) {
	var v CastEnableParams
	v.PresentationUrl = presentationUrl
	return c.EnableWithParams(ctx, &v)
}
func (c *Cast) Disable(ctx context.Context) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Cast.disable"})
}
type CastSetSinkToUseParams struct {
	SinkName string `json:"sinkName"`
}
func (c *Cast) SetSinkToUseWithParams(ctx context.Context, v *CastSetSinkToUseParams) (*gcdmessage.ChromeResponse, error) {
	return c.target.SendDefaultRequest(ctx, &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Cast.setSinkToUse", Params: v})
}
func (c *Cast) SetSinkToUse(ctx context.Context, sinkName string) (*gcdmessage.ChromeResponse, error) {
	var v CastSetSinkToUseParams
	v.SinkName = sinkName
	return c.SetSinkToUseWithParams(ctx, &v)
}
type CastStartTabMirroringParams struct {
	SinkName string `json:"sinkName"`
}