mirror of
https://github.com/priyanshujain/sanderling.git
synced 2026-10-02 19:17:10 +00:00
* fix(hierarchy): bounds-containment fallback for scoped and path queries Compose on iOS surfaces a testTag node as an empty leaf sibling of the content it labels instead of as an ancestor, so descendant search under the tagged node finds nothing and every path or scoped query returns null. When structural search yields no match, fall back to nodes whose bounds lie inside the scope node's bounds. * feat(sidecar): derive iOS clickable and editable from element type The XCTest hierarchy mapping dropped the element type, leaving no clickable or editable flags on iOS, so the fuzzer's tap and typing verbs never found a candidate inside the app. Map the raw accessibility tree directly and derive clickable, editable, scrollable, and class from the XCUIElementType raw value. * feat(proto): add EraseText RPC for InputText replace semantics * feat(driver): add EraseText to the device driver surface * fix(runner): erase existing field text before InputText InputText appended on native platforms, so repeated draws grew fields without bound. The folio fuzz run wedged on the add-account screen: each draw concatenated another name until the 40-character validation error became permanent. Replace semantics also makes retried typing idempotent. The web driver already replaced via select-all; native now matches. * feat(sidecar): EraseText backend support on android and ios * fix(folio): saturation-gate account creation in the spec The 2-3 step add-account loop outcompeted the 5-step transaction chain at every weighted re-draw, so runs filled with account creation and rarely exercised the balance properties. Stop offering add-account once three accounts exist; the renormalized weights then favor the transaction flow at every step of its chain. * fix(folio): author spec weights to match testing intent Revert the account saturation gate: it starved newAccountBalanceIsZero once it tripped, and a magic account count is app-state tuning, not intent. Instead weight the generators by what the properties need: the transaction chain leads, account creation stays exercised, and doubleTaps gets explicit weight everywhere because double-submission idempotency is what the spec is testing for. * fix(folio): lower doubleTaps weight to 5 * fix(sidecar): surface visible text on iOS static elements Static text and button strings live in the accessibility label on iOS, so the text attribute came through empty and every balance extractor parsed to zero, silently disarming both folio properties. Non-editable elements now fall back title, value, then label; editable fields keep value-only so an empty field's caption does not read as content. * feat(driver): native DoubleTap RPC for a tight inter-tap gap Composing two Tap round trips from the Go client spread the taps by hundreds of milliseconds on iOS, wide enough for the app to navigate between them, so double-submission races could never reproduce. The sidecar now lands both taps back-to-back next to the device transport. * feat(sidecar): pipeline iOS double-tap requests Queue the second tap at the XCTest runner while the first executes. The runner serializes handlers, so this is the tightest gap the transport allows (~350ms per tap round trip); recorded here with measurements for the iOS double-tap limitation.
1135 lines
35 KiB
Go
1135 lines
35 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.11
|
|
// protoc (unknown)
|
|
// source: driverpb/driver.proto
|
|
|
|
package driverpb
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type Empty struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Empty) Reset() {
|
|
*x = Empty{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Empty) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Empty) ProtoMessage() {}
|
|
|
|
func (x *Empty) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Empty.ProtoReflect.Descriptor instead.
|
|
func (*Empty) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
type LaunchRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
BundleId string `protobuf:"bytes,1,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
|
|
ClearState bool `protobuf:"varint,2,opt,name=clear_state,json=clearState,proto3" json:"clear_state,omitempty"`
|
|
Env map[string]string `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LaunchRequest) Reset() {
|
|
*x = LaunchRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LaunchRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LaunchRequest) ProtoMessage() {}
|
|
|
|
func (x *LaunchRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LaunchRequest.ProtoReflect.Descriptor instead.
|
|
func (*LaunchRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *LaunchRequest) GetBundleId() string {
|
|
if x != nil {
|
|
return x.BundleId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LaunchRequest) GetClearState() bool {
|
|
if x != nil {
|
|
return x.ClearState
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *LaunchRequest) GetEnv() map[string]string {
|
|
if x != nil {
|
|
return x.Env
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Point struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
|
|
Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Point) Reset() {
|
|
*x = Point{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Point) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Point) ProtoMessage() {}
|
|
|
|
func (x *Point) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Point.ProtoReflect.Descriptor instead.
|
|
func (*Point) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *Point) GetX() int32 {
|
|
if x != nil {
|
|
return x.X
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Point) GetY() int32 {
|
|
if x != nil {
|
|
return x.Y
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Text struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Text) Reset() {
|
|
*x = Text{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Text) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Text) ProtoMessage() {}
|
|
|
|
func (x *Text) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Text.ProtoReflect.Descriptor instead.
|
|
func (*Text) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *Text) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type EraseTextRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
CharacterCount int32 `protobuf:"varint,1,opt,name=character_count,json=characterCount,proto3" json:"character_count,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *EraseTextRequest) Reset() {
|
|
*x = EraseTextRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *EraseTextRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*EraseTextRequest) ProtoMessage() {}
|
|
|
|
func (x *EraseTextRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use EraseTextRequest.ProtoReflect.Descriptor instead.
|
|
func (*EraseTextRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *EraseTextRequest) GetCharacterCount() int32 {
|
|
if x != nil {
|
|
return x.CharacterCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type Selector struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Selector) Reset() {
|
|
*x = Selector{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Selector) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Selector) ProtoMessage() {}
|
|
|
|
func (x *Selector) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Selector.ProtoReflect.Descriptor instead.
|
|
func (*Selector) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *Selector) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type Image struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Png []byte `protobuf:"bytes,1,opt,name=png,proto3" json:"png,omitempty"`
|
|
Width int32 `protobuf:"varint,2,opt,name=width,proto3" json:"width,omitempty"`
|
|
Height int32 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Image) Reset() {
|
|
*x = Image{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Image) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Image) ProtoMessage() {}
|
|
|
|
func (x *Image) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Image.ProtoReflect.Descriptor instead.
|
|
func (*Image) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *Image) GetPng() []byte {
|
|
if x != nil {
|
|
return x.Png
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Image) GetWidth() int32 {
|
|
if x != nil {
|
|
return x.Width
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Image) GetHeight() int32 {
|
|
if x != nil {
|
|
return x.Height
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type HierarchyJSON struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Json string `protobuf:"bytes,1,opt,name=json,proto3" json:"json,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *HierarchyJSON) Reset() {
|
|
*x = HierarchyJSON{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *HierarchyJSON) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HierarchyJSON) ProtoMessage() {}
|
|
|
|
func (x *HierarchyJSON) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HierarchyJSON.ProtoReflect.Descriptor instead.
|
|
func (*HierarchyJSON) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *HierarchyJSON) GetJson() string {
|
|
if x != nil {
|
|
return x.Json
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type SnapshotResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Hierarchy *HierarchyJSON `protobuf:"bytes,1,opt,name=hierarchy,proto3" json:"hierarchy,omitempty"`
|
|
Screenshot *Image `protobuf:"bytes,2,opt,name=screenshot,proto3" json:"screenshot,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SnapshotResponse) Reset() {
|
|
*x = SnapshotResponse{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SnapshotResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SnapshotResponse) ProtoMessage() {}
|
|
|
|
func (x *SnapshotResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SnapshotResponse.ProtoReflect.Descriptor instead.
|
|
func (*SnapshotResponse) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *SnapshotResponse) GetHierarchy() *HierarchyJSON {
|
|
if x != nil {
|
|
return x.Hierarchy
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SnapshotResponse) GetScreenshot() *Image {
|
|
if x != nil {
|
|
return x.Screenshot
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type Duration struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Millis int64 `protobuf:"varint,1,opt,name=millis,proto3" json:"millis,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Duration) Reset() {
|
|
*x = Duration{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Duration) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Duration) ProtoMessage() {}
|
|
|
|
func (x *Duration) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Duration.ProtoReflect.Descriptor instead.
|
|
func (*Duration) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *Duration) GetMillis() int64 {
|
|
if x != nil {
|
|
return x.Millis
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type HealthStatus struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Ready bool `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"`
|
|
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
|
|
Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *HealthStatus) Reset() {
|
|
*x = HealthStatus{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *HealthStatus) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HealthStatus) ProtoMessage() {}
|
|
|
|
func (x *HealthStatus) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HealthStatus.ProtoReflect.Descriptor instead.
|
|
func (*HealthStatus) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *HealthStatus) GetReady() bool {
|
|
if x != nil {
|
|
return x.Ready
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *HealthStatus) GetVersion() string {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HealthStatus) GetPlatform() string {
|
|
if x != nil {
|
|
return x.Platform
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type SwipeRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
From *Point `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
|
|
To *Point `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
|
|
DurationMillis int64 `protobuf:"varint,3,opt,name=duration_millis,json=durationMillis,proto3" json:"duration_millis,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SwipeRequest) Reset() {
|
|
*x = SwipeRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SwipeRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SwipeRequest) ProtoMessage() {}
|
|
|
|
func (x *SwipeRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SwipeRequest.ProtoReflect.Descriptor instead.
|
|
func (*SwipeRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *SwipeRequest) GetFrom() *Point {
|
|
if x != nil {
|
|
return x.From
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SwipeRequest) GetTo() *Point {
|
|
if x != nil {
|
|
return x.To
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SwipeRequest) GetDurationMillis() int64 {
|
|
if x != nil {
|
|
return x.DurationMillis
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type PressKeyRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// Logical key name. Supported: "back", "home", "enter", "tab", "up",
|
|
// "down", "left", "right".
|
|
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PressKeyRequest) Reset() {
|
|
*x = PressKeyRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PressKeyRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PressKeyRequest) ProtoMessage() {}
|
|
|
|
func (x *PressKeyRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PressKeyRequest.ProtoReflect.Descriptor instead.
|
|
func (*PressKeyRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *PressKeyRequest) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type RecentLogsRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// Lower bound as unix-epoch milliseconds; entries at or after this are
|
|
// returned.
|
|
SinceUnixMillis int64 `protobuf:"varint,1,opt,name=since_unix_millis,json=sinceUnixMillis,proto3" json:"since_unix_millis,omitempty"`
|
|
// Minimum level: "E", "W", or "I". Empty defaults to "E".
|
|
LevelAtLeast string `protobuf:"bytes,2,opt,name=level_at_least,json=levelAtLeast,proto3" json:"level_at_least,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RecentLogsRequest) Reset() {
|
|
*x = RecentLogsRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RecentLogsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RecentLogsRequest) ProtoMessage() {}
|
|
|
|
func (x *RecentLogsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[13]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RecentLogsRequest.ProtoReflect.Descriptor instead.
|
|
func (*RecentLogsRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *RecentLogsRequest) GetSinceUnixMillis() int64 {
|
|
if x != nil {
|
|
return x.SinceUnixMillis
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *RecentLogsRequest) GetLevelAtLeast() string {
|
|
if x != nil {
|
|
return x.LevelAtLeast
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type LogEntries struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Entries []*LogEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LogEntries) Reset() {
|
|
*x = LogEntries{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LogEntries) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LogEntries) ProtoMessage() {}
|
|
|
|
func (x *LogEntries) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[14]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LogEntries.ProtoReflect.Descriptor instead.
|
|
func (*LogEntries) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *LogEntries) GetEntries() []*LogEntry {
|
|
if x != nil {
|
|
return x.Entries
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type LogEntry struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
UnixMillis int64 `protobuf:"varint,1,opt,name=unix_millis,json=unixMillis,proto3" json:"unix_millis,omitempty"`
|
|
Level string `protobuf:"bytes,2,opt,name=level,proto3" json:"level,omitempty"`
|
|
Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
|
|
Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *LogEntry) Reset() {
|
|
*x = LogEntry{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *LogEntry) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LogEntry) ProtoMessage() {}
|
|
|
|
func (x *LogEntry) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[15]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
|
|
func (*LogEntry) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *LogEntry) GetUnixMillis() int64 {
|
|
if x != nil {
|
|
return x.UnixMillis
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *LogEntry) GetLevel() string {
|
|
if x != nil {
|
|
return x.Level
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LogEntry) GetTag() string {
|
|
if x != nil {
|
|
return x.Tag
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *LogEntry) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type MetricsRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
BundleId string `protobuf:"bytes,1,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MetricsRequest) Reset() {
|
|
*x = MetricsRequest{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MetricsRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MetricsRequest) ProtoMessage() {}
|
|
|
|
func (x *MetricsRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[16]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MetricsRequest.ProtoReflect.Descriptor instead.
|
|
func (*MetricsRequest) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *MetricsRequest) GetBundleId() string {
|
|
if x != nil {
|
|
return x.BundleId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type MetricsResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
CpuPercent float64 `protobuf:"fixed64,1,opt,name=cpu_percent,json=cpuPercent,proto3" json:"cpu_percent,omitempty"`
|
|
HeapBytes int64 `protobuf:"varint,2,opt,name=heap_bytes,json=heapBytes,proto3" json:"heap_bytes,omitempty"`
|
|
TotalMemoryBytes int64 `protobuf:"varint,3,opt,name=total_memory_bytes,json=totalMemoryBytes,proto3" json:"total_memory_bytes,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MetricsResponse) Reset() {
|
|
*x = MetricsResponse{}
|
|
mi := &file_driverpb_driver_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MetricsResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MetricsResponse) ProtoMessage() {}
|
|
|
|
func (x *MetricsResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_driverpb_driver_proto_msgTypes[17]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MetricsResponse.ProtoReflect.Descriptor instead.
|
|
func (*MetricsResponse) Descriptor() ([]byte, []int) {
|
|
return file_driverpb_driver_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *MetricsResponse) GetCpuPercent() float64 {
|
|
if x != nil {
|
|
return x.CpuPercent
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetricsResponse) GetHeapBytes() int64 {
|
|
if x != nil {
|
|
return x.HeapBytes
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *MetricsResponse) GetTotalMemoryBytes() int64 {
|
|
if x != nil {
|
|
return x.TotalMemoryBytes
|
|
}
|
|
return 0
|
|
}
|
|
|
|
var File_driverpb_driver_proto protoreflect.FileDescriptor
|
|
|
|
const file_driverpb_driver_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\x15driverpb/driver.proto\x12\x14sanderling.driver.v1\"\a\n" +
|
|
"\x05Empty\"\xc5\x01\n" +
|
|
"\rLaunchRequest\x12\x1b\n" +
|
|
"\tbundle_id\x18\x01 \x01(\tR\bbundleId\x12\x1f\n" +
|
|
"\vclear_state\x18\x02 \x01(\bR\n" +
|
|
"clearState\x12>\n" +
|
|
"\x03env\x18\x03 \x03(\v2,.sanderling.driver.v1.LaunchRequest.EnvEntryR\x03env\x1a6\n" +
|
|
"\bEnvEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"#\n" +
|
|
"\x05Point\x12\f\n" +
|
|
"\x01x\x18\x01 \x01(\x05R\x01x\x12\f\n" +
|
|
"\x01y\x18\x02 \x01(\x05R\x01y\"\x1c\n" +
|
|
"\x04Text\x12\x14\n" +
|
|
"\x05value\x18\x01 \x01(\tR\x05value\";\n" +
|
|
"\x10EraseTextRequest\x12'\n" +
|
|
"\x0fcharacter_count\x18\x01 \x01(\x05R\x0echaracterCount\" \n" +
|
|
"\bSelector\x12\x14\n" +
|
|
"\x05value\x18\x01 \x01(\tR\x05value\"G\n" +
|
|
"\x05Image\x12\x10\n" +
|
|
"\x03png\x18\x01 \x01(\fR\x03png\x12\x14\n" +
|
|
"\x05width\x18\x02 \x01(\x05R\x05width\x12\x16\n" +
|
|
"\x06height\x18\x03 \x01(\x05R\x06height\"#\n" +
|
|
"\rHierarchyJSON\x12\x12\n" +
|
|
"\x04json\x18\x01 \x01(\tR\x04json\"\x92\x01\n" +
|
|
"\x10SnapshotResponse\x12A\n" +
|
|
"\thierarchy\x18\x01 \x01(\v2#.sanderling.driver.v1.HierarchyJSONR\thierarchy\x12;\n" +
|
|
"\n" +
|
|
"screenshot\x18\x02 \x01(\v2\x1b.sanderling.driver.v1.ImageR\n" +
|
|
"screenshot\"\"\n" +
|
|
"\bDuration\x12\x16\n" +
|
|
"\x06millis\x18\x01 \x01(\x03R\x06millis\"Z\n" +
|
|
"\fHealthStatus\x12\x14\n" +
|
|
"\x05ready\x18\x01 \x01(\bR\x05ready\x12\x18\n" +
|
|
"\aversion\x18\x02 \x01(\tR\aversion\x12\x1a\n" +
|
|
"\bplatform\x18\x03 \x01(\tR\bplatform\"\x95\x01\n" +
|
|
"\fSwipeRequest\x12/\n" +
|
|
"\x04from\x18\x01 \x01(\v2\x1b.sanderling.driver.v1.PointR\x04from\x12+\n" +
|
|
"\x02to\x18\x02 \x01(\v2\x1b.sanderling.driver.v1.PointR\x02to\x12'\n" +
|
|
"\x0fduration_millis\x18\x03 \x01(\x03R\x0edurationMillis\"#\n" +
|
|
"\x0fPressKeyRequest\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\"e\n" +
|
|
"\x11RecentLogsRequest\x12*\n" +
|
|
"\x11since_unix_millis\x18\x01 \x01(\x03R\x0fsinceUnixMillis\x12$\n" +
|
|
"\x0elevel_at_least\x18\x02 \x01(\tR\flevelAtLeast\"F\n" +
|
|
"\n" +
|
|
"LogEntries\x128\n" +
|
|
"\aentries\x18\x01 \x03(\v2\x1e.sanderling.driver.v1.LogEntryR\aentries\"m\n" +
|
|
"\bLogEntry\x12\x1f\n" +
|
|
"\vunix_millis\x18\x01 \x01(\x03R\n" +
|
|
"unixMillis\x12\x14\n" +
|
|
"\x05level\x18\x02 \x01(\tR\x05level\x12\x10\n" +
|
|
"\x03tag\x18\x03 \x01(\tR\x03tag\x12\x18\n" +
|
|
"\amessage\x18\x04 \x01(\tR\amessage\"-\n" +
|
|
"\x0eMetricsRequest\x12\x1b\n" +
|
|
"\tbundle_id\x18\x01 \x01(\tR\bbundleId\"\x7f\n" +
|
|
"\x0fMetricsResponse\x12\x1f\n" +
|
|
"\vcpu_percent\x18\x01 \x01(\x01R\n" +
|
|
"cpuPercent\x12\x1d\n" +
|
|
"\n" +
|
|
"heap_bytes\x18\x02 \x01(\x03R\theapBytes\x12,\n" +
|
|
"\x12total_memory_bytes\x18\x03 \x01(\x03R\x10totalMemoryBytes2\x98\n" +
|
|
"\n" +
|
|
"\x06Driver\x12J\n" +
|
|
"\x06Launch\x12#.sanderling.driver.v1.LaunchRequest\x1a\x1b.sanderling.driver.v1.Empty\x12E\n" +
|
|
"\tTerminate\x12\x1b.sanderling.driver.v1.Empty\x1a\x1b.sanderling.driver.v1.Empty\x12?\n" +
|
|
"\x03Tap\x12\x1b.sanderling.driver.v1.Point\x1a\x1b.sanderling.driver.v1.Empty\x12E\n" +
|
|
"\tDoubleTap\x12\x1b.sanderling.driver.v1.Point\x1a\x1b.sanderling.driver.v1.Empty\x12J\n" +
|
|
"\vTapSelector\x12\x1e.sanderling.driver.v1.Selector\x1a\x1b.sanderling.driver.v1.Empty\x12D\n" +
|
|
"\tInputText\x12\x1a.sanderling.driver.v1.Text\x1a\x1b.sanderling.driver.v1.Empty\x12P\n" +
|
|
"\tEraseText\x12&.sanderling.driver.v1.EraseTextRequest\x1a\x1b.sanderling.driver.v1.Empty\x12H\n" +
|
|
"\x05Swipe\x12\".sanderling.driver.v1.SwipeRequest\x1a\x1b.sanderling.driver.v1.Empty\x12N\n" +
|
|
"\bPressKey\x12%.sanderling.driver.v1.PressKeyRequest\x1a\x1b.sanderling.driver.v1.Empty\x12E\n" +
|
|
"\tLongPress\x12\x1b.sanderling.driver.v1.Point\x1a\x1b.sanderling.driver.v1.Empty\x12F\n" +
|
|
"\n" +
|
|
"Screenshot\x12\x1b.sanderling.driver.v1.Empty\x1a\x1b.sanderling.driver.v1.Image\x12M\n" +
|
|
"\tHierarchy\x12\x1b.sanderling.driver.v1.Empty\x1a#.sanderling.driver.v1.HierarchyJSON\x12O\n" +
|
|
"\bSnapshot\x12\x1b.sanderling.driver.v1.Empty\x1a&.sanderling.driver.v1.SnapshotResponse\x12W\n" +
|
|
"\n" +
|
|
"RecentLogs\x12'.sanderling.driver.v1.RecentLogsRequest\x1a .sanderling.driver.v1.LogEntries\x12J\n" +
|
|
"\vWaitForIdle\x12\x1e.sanderling.driver.v1.Duration\x1a\x1b.sanderling.driver.v1.Empty\x12I\n" +
|
|
"\x06Health\x12\x1b.sanderling.driver.v1.Empty\x1a\".sanderling.driver.v1.HealthStatus\x12V\n" +
|
|
"\aMetrics\x12$.sanderling.driver.v1.MetricsRequest\x1a%.sanderling.driver.v1.MetricsResponseBY\n" +
|
|
"\x18dev.sanderling.driver.v1P\x01Z;github.com/priyanshujain/sanderling/proto/driverpb;driverpbb\x06proto3"
|
|
|
|
var (
|
|
file_driverpb_driver_proto_rawDescOnce sync.Once
|
|
file_driverpb_driver_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_driverpb_driver_proto_rawDescGZIP() []byte {
|
|
file_driverpb_driver_proto_rawDescOnce.Do(func() {
|
|
file_driverpb_driver_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_driverpb_driver_proto_rawDesc), len(file_driverpb_driver_proto_rawDesc)))
|
|
})
|
|
return file_driverpb_driver_proto_rawDescData
|
|
}
|
|
|
|
var file_driverpb_driver_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
|
|
var file_driverpb_driver_proto_goTypes = []any{
|
|
(*Empty)(nil), // 0: sanderling.driver.v1.Empty
|
|
(*LaunchRequest)(nil), // 1: sanderling.driver.v1.LaunchRequest
|
|
(*Point)(nil), // 2: sanderling.driver.v1.Point
|
|
(*Text)(nil), // 3: sanderling.driver.v1.Text
|
|
(*EraseTextRequest)(nil), // 4: sanderling.driver.v1.EraseTextRequest
|
|
(*Selector)(nil), // 5: sanderling.driver.v1.Selector
|
|
(*Image)(nil), // 6: sanderling.driver.v1.Image
|
|
(*HierarchyJSON)(nil), // 7: sanderling.driver.v1.HierarchyJSON
|
|
(*SnapshotResponse)(nil), // 8: sanderling.driver.v1.SnapshotResponse
|
|
(*Duration)(nil), // 9: sanderling.driver.v1.Duration
|
|
(*HealthStatus)(nil), // 10: sanderling.driver.v1.HealthStatus
|
|
(*SwipeRequest)(nil), // 11: sanderling.driver.v1.SwipeRequest
|
|
(*PressKeyRequest)(nil), // 12: sanderling.driver.v1.PressKeyRequest
|
|
(*RecentLogsRequest)(nil), // 13: sanderling.driver.v1.RecentLogsRequest
|
|
(*LogEntries)(nil), // 14: sanderling.driver.v1.LogEntries
|
|
(*LogEntry)(nil), // 15: sanderling.driver.v1.LogEntry
|
|
(*MetricsRequest)(nil), // 16: sanderling.driver.v1.MetricsRequest
|
|
(*MetricsResponse)(nil), // 17: sanderling.driver.v1.MetricsResponse
|
|
nil, // 18: sanderling.driver.v1.LaunchRequest.EnvEntry
|
|
}
|
|
var file_driverpb_driver_proto_depIdxs = []int32{
|
|
18, // 0: sanderling.driver.v1.LaunchRequest.env:type_name -> sanderling.driver.v1.LaunchRequest.EnvEntry
|
|
7, // 1: sanderling.driver.v1.SnapshotResponse.hierarchy:type_name -> sanderling.driver.v1.HierarchyJSON
|
|
6, // 2: sanderling.driver.v1.SnapshotResponse.screenshot:type_name -> sanderling.driver.v1.Image
|
|
2, // 3: sanderling.driver.v1.SwipeRequest.from:type_name -> sanderling.driver.v1.Point
|
|
2, // 4: sanderling.driver.v1.SwipeRequest.to:type_name -> sanderling.driver.v1.Point
|
|
15, // 5: sanderling.driver.v1.LogEntries.entries:type_name -> sanderling.driver.v1.LogEntry
|
|
1, // 6: sanderling.driver.v1.Driver.Launch:input_type -> sanderling.driver.v1.LaunchRequest
|
|
0, // 7: sanderling.driver.v1.Driver.Terminate:input_type -> sanderling.driver.v1.Empty
|
|
2, // 8: sanderling.driver.v1.Driver.Tap:input_type -> sanderling.driver.v1.Point
|
|
2, // 9: sanderling.driver.v1.Driver.DoubleTap:input_type -> sanderling.driver.v1.Point
|
|
5, // 10: sanderling.driver.v1.Driver.TapSelector:input_type -> sanderling.driver.v1.Selector
|
|
3, // 11: sanderling.driver.v1.Driver.InputText:input_type -> sanderling.driver.v1.Text
|
|
4, // 12: sanderling.driver.v1.Driver.EraseText:input_type -> sanderling.driver.v1.EraseTextRequest
|
|
11, // 13: sanderling.driver.v1.Driver.Swipe:input_type -> sanderling.driver.v1.SwipeRequest
|
|
12, // 14: sanderling.driver.v1.Driver.PressKey:input_type -> sanderling.driver.v1.PressKeyRequest
|
|
2, // 15: sanderling.driver.v1.Driver.LongPress:input_type -> sanderling.driver.v1.Point
|
|
0, // 16: sanderling.driver.v1.Driver.Screenshot:input_type -> sanderling.driver.v1.Empty
|
|
0, // 17: sanderling.driver.v1.Driver.Hierarchy:input_type -> sanderling.driver.v1.Empty
|
|
0, // 18: sanderling.driver.v1.Driver.Snapshot:input_type -> sanderling.driver.v1.Empty
|
|
13, // 19: sanderling.driver.v1.Driver.RecentLogs:input_type -> sanderling.driver.v1.RecentLogsRequest
|
|
9, // 20: sanderling.driver.v1.Driver.WaitForIdle:input_type -> sanderling.driver.v1.Duration
|
|
0, // 21: sanderling.driver.v1.Driver.Health:input_type -> sanderling.driver.v1.Empty
|
|
16, // 22: sanderling.driver.v1.Driver.Metrics:input_type -> sanderling.driver.v1.MetricsRequest
|
|
0, // 23: sanderling.driver.v1.Driver.Launch:output_type -> sanderling.driver.v1.Empty
|
|
0, // 24: sanderling.driver.v1.Driver.Terminate:output_type -> sanderling.driver.v1.Empty
|
|
0, // 25: sanderling.driver.v1.Driver.Tap:output_type -> sanderling.driver.v1.Empty
|
|
0, // 26: sanderling.driver.v1.Driver.DoubleTap:output_type -> sanderling.driver.v1.Empty
|
|
0, // 27: sanderling.driver.v1.Driver.TapSelector:output_type -> sanderling.driver.v1.Empty
|
|
0, // 28: sanderling.driver.v1.Driver.InputText:output_type -> sanderling.driver.v1.Empty
|
|
0, // 29: sanderling.driver.v1.Driver.EraseText:output_type -> sanderling.driver.v1.Empty
|
|
0, // 30: sanderling.driver.v1.Driver.Swipe:output_type -> sanderling.driver.v1.Empty
|
|
0, // 31: sanderling.driver.v1.Driver.PressKey:output_type -> sanderling.driver.v1.Empty
|
|
0, // 32: sanderling.driver.v1.Driver.LongPress:output_type -> sanderling.driver.v1.Empty
|
|
6, // 33: sanderling.driver.v1.Driver.Screenshot:output_type -> sanderling.driver.v1.Image
|
|
7, // 34: sanderling.driver.v1.Driver.Hierarchy:output_type -> sanderling.driver.v1.HierarchyJSON
|
|
8, // 35: sanderling.driver.v1.Driver.Snapshot:output_type -> sanderling.driver.v1.SnapshotResponse
|
|
14, // 36: sanderling.driver.v1.Driver.RecentLogs:output_type -> sanderling.driver.v1.LogEntries
|
|
0, // 37: sanderling.driver.v1.Driver.WaitForIdle:output_type -> sanderling.driver.v1.Empty
|
|
10, // 38: sanderling.driver.v1.Driver.Health:output_type -> sanderling.driver.v1.HealthStatus
|
|
17, // 39: sanderling.driver.v1.Driver.Metrics:output_type -> sanderling.driver.v1.MetricsResponse
|
|
23, // [23:40] is the sub-list for method output_type
|
|
6, // [6:23] is the sub-list for method input_type
|
|
6, // [6:6] is the sub-list for extension type_name
|
|
6, // [6:6] is the sub-list for extension extendee
|
|
0, // [0:6] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_driverpb_driver_proto_init() }
|
|
func file_driverpb_driver_proto_init() {
|
|
if File_driverpb_driver_proto != nil {
|
|
return
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_driverpb_driver_proto_rawDesc), len(file_driverpb_driver_proto_rawDesc)),
|
|
NumEnums: 0,
|
|
NumMessages: 19,
|
|
NumExtensions: 0,
|
|
NumServices: 1,
|
|
},
|
|
GoTypes: file_driverpb_driver_proto_goTypes,
|
|
DependencyIndexes: file_driverpb_driver_proto_depIdxs,
|
|
MessageInfos: file_driverpb_driver_proto_msgTypes,
|
|
}.Build()
|
|
File_driverpb_driver_proto = out.File
|
|
file_driverpb_driver_proto_goTypes = nil
|
|
file_driverpb_driver_proto_depIdxs = nil
|
|
}
|