func (a *SetUserAgentOverrideArgs) SetPlatform(platform string) *SetUserAgentOverrideArgs {
	a.Platform = &platform
	return a
}
SetPlatform sets the Platform optional argument. The platform
navigator.platform should return.
package emulation
import (
	"github.com/mafredri/cdp/protocol/dom"
	"github.com/mafredri/cdp/protocol/network"
	"github.com/mafredri/cdp/protocol/page"
)
type CanEmulateReply struct {
	Result bool `json:"result"`  
}
type SetFocusEmulationEnabledArgs struct {
	Enabled bool `json:"enabled"`  
}
func NewSetFocusEmulationEnabledArgs(enabled bool) *SetFocusEmulationEnabledArgs {
	args := new(SetFocusEmulationEnabledArgs)
	args.Enabled = enabled
	return args
}
type SetCPUThrottlingRateArgs struct {
	Rate float64 `json:"rate"`  
}
func NewSetCPUThrottlingRateArgs(rate float64) *SetCPUThrottlingRateArgs {
	args := new(SetCPUThrottlingRateArgs)
	args.Rate = rate
	return args
}
type SetDefaultBackgroundColorOverrideArgs struct {
	Color *dom.RGBA `json:"color,omitempty"`  
}
func NewSetDefaultBackgroundColorOverrideArgs() *SetDefaultBackgroundColorOverrideArgs {
	args := new(SetDefaultBackgroundColorOverrideArgs)
	return args
}
func (a *SetDefaultBackgroundColorOverrideArgs) SetColor(color dom.RGBA) *SetDefaultBackgroundColorOverrideArgs {
	a.Color = &color
	return a
}
type SetDeviceMetricsOverrideArgs struct {
	Width             int     `json:"width"`              
	Height            int     `json:"height"`             
	DeviceScaleFactor float64 `json:"deviceScaleFactor"`  
	Mobile            bool    `json:"mobile"`             
	Scale *float64 `json:"scale,omitempty"`
	ScreenWidth *int `json:"screenWidth,omitempty"`
	ScreenHeight *int `json:"screenHeight,omitempty"`
	PositionX *int `json:"positionX,omitempty"`
	PositionY *int `json:"positionY,omitempty"`
	DontSetVisibleSize *bool              `json:"dontSetVisibleSize,omitempty"`
	ScreenOrientation  *ScreenOrientation `json:"screenOrientation,omitempty"`  
	Viewport *page.Viewport `json:"viewport,omitempty"`
}
func NewSetDeviceMetricsOverrideArgs(width int, height int, deviceScaleFactor float64, mobile bool) *SetDeviceMetricsOverrideArgs {
	args := new(SetDeviceMetricsOverrideArgs)
	args.Width = width
	args.Height = height
	args.DeviceScaleFactor = deviceScaleFactor
	args.Mobile = mobile
	return args
}
func (a *SetDeviceMetricsOverrideArgs) SetScale(scale float64) *SetDeviceMetricsOverrideArgs {
	a.Scale = &scale
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetScreenWidth(screenWidth int) *SetDeviceMetricsOverrideArgs {
	a.ScreenWidth = &screenWidth
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetScreenHeight(screenHeight int) *SetDeviceMetricsOverrideArgs {
	a.ScreenHeight = &screenHeight
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetPositionX(positionX int) *SetDeviceMetricsOverrideArgs {
	a.PositionX = &positionX
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetPositionY(positionY int) *SetDeviceMetricsOverrideArgs {
	a.PositionY = &positionY
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetDontSetVisibleSize(dontSetVisibleSize bool) *SetDeviceMetricsOverrideArgs {
	a.DontSetVisibleSize = &dontSetVisibleSize
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetScreenOrientation(screenOrientation ScreenOrientation) *SetDeviceMetricsOverrideArgs {
	a.ScreenOrientation = &screenOrientation
	return a
}
func (a *SetDeviceMetricsOverrideArgs) SetViewport(viewport page.Viewport) *SetDeviceMetricsOverrideArgs {
	a.Viewport = &viewport
	return a
}
type SetScrollbarsHiddenArgs struct {
	Hidden bool `json:"hidden"`  
}
func NewSetScrollbarsHiddenArgs(hidden bool) *SetScrollbarsHiddenArgs {
	args := new(SetScrollbarsHiddenArgs)
	args.Hidden = hidden
	return args
}
type SetDocumentCookieDisabledArgs struct {
	Disabled bool `json:"disabled"`  
}
func NewSetDocumentCookieDisabledArgs(disabled bool) *SetDocumentCookieDisabledArgs {
	args := new(SetDocumentCookieDisabledArgs)
	args.Disabled = disabled
	return args
}
type SetEmitTouchEventsForMouseArgs struct {
	Enabled bool `json:"enabled"`  
	Configuration *string `json:"configuration,omitempty"`
}
func NewSetEmitTouchEventsForMouseArgs(enabled bool) *SetEmitTouchEventsForMouseArgs {
	args := new(SetEmitTouchEventsForMouseArgs)
	args.Enabled = enabled
	return args
}
func (a *SetEmitTouchEventsForMouseArgs) SetConfiguration(configuration string) *SetEmitTouchEventsForMouseArgs {
	a.Configuration = &configuration
	return a
}
type SetEmulatedMediaArgs struct {
	Media string `json:"media"`  
}
func NewSetEmulatedMediaArgs(media string) *SetEmulatedMediaArgs {
	args := new(SetEmulatedMediaArgs)
	args.Media = media
	return args
}
type SetGeolocationOverrideArgs struct {
	Latitude  *float64 `json:"latitude,omitempty"`   
	Longitude *float64 `json:"longitude,omitempty"`  
	Accuracy  *float64 `json:"accuracy,omitempty"`   
}
func NewSetGeolocationOverrideArgs() *SetGeolocationOverrideArgs {
	args := new(SetGeolocationOverrideArgs)
	return args
}
func (a *SetGeolocationOverrideArgs) SetLatitude(latitude float64) *SetGeolocationOverrideArgs {
	a.Latitude = &latitude
	return a
}
func (a *SetGeolocationOverrideArgs) SetLongitude(longitude float64) *SetGeolocationOverrideArgs {
	a.Longitude = &longitude
	return a
}
func (a *SetGeolocationOverrideArgs) SetAccuracy(accuracy float64) *SetGeolocationOverrideArgs {
	a.Accuracy = &accuracy
	return a
}
type SetNavigatorOverridesArgs struct {
	Platform string `json:"platform"`  
}
func NewSetNavigatorOverridesArgs(platform string) *SetNavigatorOverridesArgs {
	args := new(SetNavigatorOverridesArgs)
	args.Platform = platform
	return args
}
type SetPageScaleFactorArgs struct {
	PageScaleFactor float64 `json:"pageScaleFactor"`  
}
func NewSetPageScaleFactorArgs(pageScaleFactor float64) *SetPageScaleFactorArgs {
	args := new(SetPageScaleFactorArgs)
	args.PageScaleFactor = pageScaleFactor
	return args
}
type SetScriptExecutionDisabledArgs struct {
	Value bool `json:"value"`  
}
func NewSetScriptExecutionDisabledArgs(value bool) *SetScriptExecutionDisabledArgs {
	args := new(SetScriptExecutionDisabledArgs)
	args.Value = value
	return args
}
type SetTouchEmulationEnabledArgs struct {
	Enabled        bool `json:"enabled"`                   
	MaxTouchPoints *int `json:"maxTouchPoints,omitempty"`  
}
func NewSetTouchEmulationEnabledArgs(enabled bool) *SetTouchEmulationEnabledArgs {
	args := new(SetTouchEmulationEnabledArgs)
	args.Enabled = enabled
	return args
}
func (a *SetTouchEmulationEnabledArgs) SetMaxTouchPoints(maxTouchPoints int) *SetTouchEmulationEnabledArgs {
	a.MaxTouchPoints = &maxTouchPoints
	return a
}
type SetVirtualTimePolicyArgs struct {
	Policy                            VirtualTimePolicy      `json:"policy"`                                       
	Budget                            *float64               `json:"budget,omitempty"`                             
	MaxVirtualTimeTaskStarvationCount *int                   `json:"maxVirtualTimeTaskStarvationCount,omitempty"`  
	WaitForNavigation                 *bool                  `json:"waitForNavigation,omitempty"`                  
	InitialVirtualTime                network.TimeSinceEpoch `json:"initialVirtualTime,omitempty"`                 
}
func NewSetVirtualTimePolicyArgs(policy VirtualTimePolicy) *SetVirtualTimePolicyArgs {
	args := new(SetVirtualTimePolicyArgs)
	args.Policy = policy
	return args
}
func (a *SetVirtualTimePolicyArgs) SetBudget(budget float64) *SetVirtualTimePolicyArgs {
	a.Budget = &budget
	return a
}
func (a *SetVirtualTimePolicyArgs) SetMaxVirtualTimeTaskStarvationCount(maxVirtualTimeTaskStarvationCount int) *SetVirtualTimePolicyArgs {
	a.MaxVirtualTimeTaskStarvationCount = &maxVirtualTimeTaskStarvationCount
	return a
}
func (a *SetVirtualTimePolicyArgs) SetWaitForNavigation(waitForNavigation bool) *SetVirtualTimePolicyArgs {
	a.WaitForNavigation = &waitForNavigation
	return a
}
func (a *SetVirtualTimePolicyArgs) SetInitialVirtualTime(initialVirtualTime network.TimeSinceEpoch) *SetVirtualTimePolicyArgs {
	a.InitialVirtualTime = initialVirtualTime
	return a
}
type SetVirtualTimePolicyReply struct {
	VirtualTimeTicksBase float64 `json:"virtualTimeTicksBase"`  
}
type SetTimezoneOverrideArgs struct {
	TimezoneID string `json:"timezoneId"`  
}
func NewSetTimezoneOverrideArgs(timezoneID string) *SetTimezoneOverrideArgs {
	args := new(SetTimezoneOverrideArgs)
	args.TimezoneID = timezoneID
	return args
}
type SetVisibleSizeArgs struct {
	Width  int `json:"width"`   
	Height int `json:"height"`  
}
func NewSetVisibleSizeArgs(width int, height int) *SetVisibleSizeArgs {
	args := new(SetVisibleSizeArgs)
	args.Width = width
	args.Height = height
	return args
}
type SetUserAgentOverrideArgs struct {
	UserAgent      string  `json:"userAgent"`                 
	AcceptLanguage *string `json:"acceptLanguage,omitempty"`  
	Platform       *string `json:"platform,omitempty"`        
}
func NewSetUserAgentOverrideArgs(userAgent string) *SetUserAgentOverrideArgs {
	args := new(SetUserAgentOverrideArgs)
	args.UserAgent = userAgent
	return args
}
func (a *SetUserAgentOverrideArgs) SetAcceptLanguage(acceptLanguage string) *SetUserAgentOverrideArgs {
	a.AcceptLanguage = &acceptLanguage
	return a
}