package target

// AUTOGENERATED. DO NOT EDIT.

import (
	cdp "github.com/knq/chromedp/cdp"
)

// EventTargetCreated issued when a possible inspection target is created.
type EventTargetCreated struct {
	TargetInfo *Info `json:"targetInfo,omitempty"`
}

// EventTargetDestroyed issued when a target is destroyed.
type EventTargetDestroyed struct {
	TargetID ID `json:"targetId,omitempty"`
}

// EventAttachedToTarget issued when attached to target because of
// auto-attach or attachToTarget command.
type EventAttachedToTarget struct {
	TargetInfo         *Info `json:"targetInfo,omitempty"`
	WaitingForDebugger bool  `json:"waitingForDebugger,omitempty"`
}

// EventDetachedFromTarget issued when detached from target for any reason
// (including detachFromTarget command).
type EventDetachedFromTarget struct {
	TargetID ID `json:"targetId,omitempty"`
}

// EventReceivedMessageFromTarget notifies about new protocol message from
// attached target.
type EventReceivedMessageFromTarget struct {
	TargetID ID     `json:"targetId,omitempty"`
	Message  string `json:"message,omitempty"`
}

// EventTypes all event types in the domain.
var EventTypes = []cdp.MethodType{
	cdp.EventTargetTargetCreated,
	cdp.EventTargetTargetDestroyed,
	cdp.EventTargetAttachedToTarget,
	cdp.EventTargetDetachedFromTarget,
	cdp.EventTargetReceivedMessageFromTarget,
}