github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/device_hardware_register_session/device_hardware_register_session.pb.fieldpath.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/devices/proto/v1/device_hardware_register_session.proto
     3  // DO NOT EDIT!!!
     4  
     5  package device_hardware_register_session
     6  
     7  import (
     8  	"encoding/json"
     9  	"fmt"
    10  	"reflect"
    11  	"strings"
    12  	"time"
    13  
    14  	"google.golang.org/grpc/codes"
    15  	"google.golang.org/grpc/status"
    16  	"google.golang.org/protobuf/encoding/protojson"
    17  	"google.golang.org/protobuf/proto"
    18  	"google.golang.org/protobuf/reflect/protoregistry"
    19  
    20  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    21  	"github.com/cloudwan/goten-sdk/runtime/strcase"
    22  )
    23  
    24  // proto imports
    25  import (
    26  	device "github.com/cloudwan/edgelq-sdk/devices/resources/v1/device"
    27  	device_hardware "github.com/cloudwan/edgelq-sdk/devices/resources/v1/device_hardware"
    28  	project "github.com/cloudwan/edgelq-sdk/devices/resources/v1/project"
    29  	provisioning_policy "github.com/cloudwan/edgelq-sdk/devices/resources/v1/provisioning_policy"
    30  	meta "github.com/cloudwan/goten-sdk/types/meta"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  )
    33  
    34  // ensure the imports are used
    35  var (
    36  	_ = new(json.Marshaler)
    37  	_ = new(fmt.Stringer)
    38  	_ = reflect.DeepEqual
    39  	_ = strings.Builder{}
    40  	_ = time.Second
    41  
    42  	_ = strcase.ToLowerCamel
    43  	_ = codes.NotFound
    44  	_ = status.Status{}
    45  	_ = protojson.UnmarshalOptions{}
    46  	_ = new(proto.Message)
    47  	_ = protoregistry.GlobalTypes
    48  
    49  	_ = new(gotenobject.FieldPath)
    50  )
    51  
    52  // make sure we're using proto imports
    53  var (
    54  	_ = &device.Device{}
    55  	_ = &device_hardware.DeviceHardware{}
    56  	_ = &project.Project{}
    57  	_ = &provisioning_policy.ProvisioningPolicy{}
    58  	_ = &timestamppb.Timestamp{}
    59  	_ = &meta.Meta{}
    60  )
    61  
    62  // FieldPath provides implementation to handle
    63  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    64  type DeviceHardwareRegisterSession_FieldPath interface {
    65  	gotenobject.FieldPath
    66  	Selector() DeviceHardwareRegisterSession_FieldPathSelector
    67  	Get(source *DeviceHardwareRegisterSession) []interface{}
    68  	GetSingle(source *DeviceHardwareRegisterSession) (interface{}, bool)
    69  	ClearValue(item *DeviceHardwareRegisterSession)
    70  
    71  	// Those methods build corresponding DeviceHardwareRegisterSession_FieldPathValue
    72  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    73  	WithIValue(value interface{}) DeviceHardwareRegisterSession_FieldPathValue
    74  	WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSession_FieldPathArrayOfValues
    75  	WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSession_FieldPathArrayItemValue
    76  }
    77  
    78  type DeviceHardwareRegisterSession_FieldPathSelector int32
    79  
    80  const (
    81  	DeviceHardwareRegisterSession_FieldPathSelectorName                   DeviceHardwareRegisterSession_FieldPathSelector = 0
    82  	DeviceHardwareRegisterSession_FieldPathSelectorDisplayName            DeviceHardwareRegisterSession_FieldPathSelector = 1
    83  	DeviceHardwareRegisterSession_FieldPathSelectorMetadata               DeviceHardwareRegisterSession_FieldPathSelector = 2
    84  	DeviceHardwareRegisterSession_FieldPathSelectorStartTime              DeviceHardwareRegisterSession_FieldPathSelector = 3
    85  	DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime         DeviceHardwareRegisterSession_FieldPathSelector = 4
    86  	DeviceHardwareRegisterSession_FieldPathSelectorUserEmail              DeviceHardwareRegisterSession_FieldPathSelector = 5
    87  	DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail           DeviceHardwareRegisterSession_FieldPathSelector = 6
    88  	DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode           DeviceHardwareRegisterSession_FieldPathSelector = 7
    89  	DeviceHardwareRegisterSession_FieldPathSelectorExtras                 DeviceHardwareRegisterSession_FieldPathSelector = 8
    90  	DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName DeviceHardwareRegisterSession_FieldPathSelector = 9
    91  	DeviceHardwareRegisterSession_FieldPathSelectorDeviceName             DeviceHardwareRegisterSession_FieldPathSelector = 10
    92  	DeviceHardwareRegisterSession_FieldPathSelectorSingleUse              DeviceHardwareRegisterSession_FieldPathSelector = 11
    93  	DeviceHardwareRegisterSession_FieldPathSelectorToken                  DeviceHardwareRegisterSession_FieldPathSelector = 12
    94  	DeviceHardwareRegisterSession_FieldPathSelectorStatus                 DeviceHardwareRegisterSession_FieldPathSelector = 13
    95  )
    96  
    97  func (s DeviceHardwareRegisterSession_FieldPathSelector) String() string {
    98  	switch s {
    99  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   100  		return "name"
   101  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   102  		return "display_name"
   103  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   104  		return "metadata"
   105  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   106  		return "start_time"
   107  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   108  		return "expiration_time"
   109  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   110  		return "user_email"
   111  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   112  		return "inviter_email"
   113  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   114  		return "language_code"
   115  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   116  		return "extras"
   117  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   118  		return "provisioning_policy_name"
   119  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   120  		return "device_name"
   121  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   122  		return "single_use"
   123  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   124  		return "token"
   125  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   126  		return "status"
   127  	default:
   128  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", s))
   129  	}
   130  }
   131  
   132  func BuildDeviceHardwareRegisterSession_FieldPath(fp gotenobject.RawFieldPath) (DeviceHardwareRegisterSession_FieldPath, error) {
   133  	if len(fp) == 0 {
   134  		return nil, status.Error(codes.InvalidArgument, "empty field path for object DeviceHardwareRegisterSession")
   135  	}
   136  	if len(fp) == 1 {
   137  		switch fp[0] {
   138  		case "name":
   139  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorName}, nil
   140  		case "display_name", "displayName", "display-name":
   141  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorDisplayName}, nil
   142  		case "metadata":
   143  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorMetadata}, nil
   144  		case "start_time", "startTime", "start-time":
   145  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorStartTime}, nil
   146  		case "expiration_time", "expirationTime", "expiration-time":
   147  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime}, nil
   148  		case "user_email", "userEmail", "user-email":
   149  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorUserEmail}, nil
   150  		case "inviter_email", "inviterEmail", "inviter-email":
   151  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail}, nil
   152  		case "language_code", "languageCode", "language-code":
   153  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode}, nil
   154  		case "extras":
   155  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorExtras}, nil
   156  		case "provisioning_policy_name", "provisioningPolicyName", "provisioning-policy-name":
   157  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName}, nil
   158  		case "device_name", "deviceName", "device-name":
   159  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorDeviceName}, nil
   160  		case "single_use", "singleUse", "single-use":
   161  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorSingleUse}, nil
   162  		case "token":
   163  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorToken}, nil
   164  		case "status":
   165  			return &DeviceHardwareRegisterSession_FieldTerminalPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorStatus}, nil
   166  		}
   167  	} else {
   168  		switch fp[0] {
   169  		case "metadata":
   170  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   171  				return nil, err
   172  			} else {
   173  				return &DeviceHardwareRegisterSession_FieldSubPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorMetadata, subPath: subpath}, nil
   174  			}
   175  		case "status":
   176  			if subpath, err := BuildDeviceHardwareRegisterSessionStatus_FieldPath(fp[1:]); err != nil {
   177  				return nil, err
   178  			} else {
   179  				return &DeviceHardwareRegisterSession_FieldSubPath{selector: DeviceHardwareRegisterSession_FieldPathSelectorStatus, subPath: subpath}, nil
   180  			}
   181  		case "extras":
   182  			if len(fp) > 2 {
   183  				return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object DeviceHardwareRegisterSession)", fp)
   184  			}
   185  			return &DeviceHardwareRegisterSession_FieldPathMap{selector: DeviceHardwareRegisterSession_FieldPathSelectorExtras, key: fp[1]}, nil
   186  		}
   187  	}
   188  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object DeviceHardwareRegisterSession", fp)
   189  }
   190  
   191  func ParseDeviceHardwareRegisterSession_FieldPath(rawField string) (DeviceHardwareRegisterSession_FieldPath, error) {
   192  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   193  	if err != nil {
   194  		return nil, err
   195  	}
   196  	return BuildDeviceHardwareRegisterSession_FieldPath(fp)
   197  }
   198  
   199  func MustParseDeviceHardwareRegisterSession_FieldPath(rawField string) DeviceHardwareRegisterSession_FieldPath {
   200  	fp, err := ParseDeviceHardwareRegisterSession_FieldPath(rawField)
   201  	if err != nil {
   202  		panic(err)
   203  	}
   204  	return fp
   205  }
   206  
   207  type DeviceHardwareRegisterSession_FieldTerminalPath struct {
   208  	selector DeviceHardwareRegisterSession_FieldPathSelector
   209  }
   210  
   211  var _ DeviceHardwareRegisterSession_FieldPath = (*DeviceHardwareRegisterSession_FieldTerminalPath)(nil)
   212  
   213  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) Selector() DeviceHardwareRegisterSession_FieldPathSelector {
   214  	return fp.selector
   215  }
   216  
   217  // String returns path representation in proto convention
   218  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) String() string {
   219  	return fp.selector.String()
   220  }
   221  
   222  // JSONString returns path representation is JSON convention
   223  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) JSONString() string {
   224  	return strcase.ToLowerCamel(fp.String())
   225  }
   226  
   227  // Get returns all values pointed by specific field from source DeviceHardwareRegisterSession
   228  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) Get(source *DeviceHardwareRegisterSession) (values []interface{}) {
   229  	if source != nil {
   230  		switch fp.selector {
   231  		case DeviceHardwareRegisterSession_FieldPathSelectorName:
   232  			if source.Name != nil {
   233  				values = append(values, source.Name)
   234  			}
   235  		case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   236  			values = append(values, source.DisplayName)
   237  		case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   238  			if source.Metadata != nil {
   239  				values = append(values, source.Metadata)
   240  			}
   241  		case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   242  			if source.StartTime != nil {
   243  				values = append(values, source.StartTime)
   244  			}
   245  		case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   246  			if source.ExpirationTime != nil {
   247  				values = append(values, source.ExpirationTime)
   248  			}
   249  		case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   250  			values = append(values, source.UserEmail)
   251  		case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   252  			values = append(values, source.InviterEmail)
   253  		case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   254  			values = append(values, source.LanguageCode)
   255  		case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   256  			values = append(values, source.Extras)
   257  		case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   258  			if source.ProvisioningPolicyName != nil {
   259  				values = append(values, source.ProvisioningPolicyName)
   260  			}
   261  		case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   262  			if source.DeviceName != nil {
   263  				values = append(values, source.DeviceName)
   264  			}
   265  		case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   266  			values = append(values, source.SingleUse)
   267  		case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   268  			values = append(values, source.Token)
   269  		case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   270  			if source.Status != nil {
   271  				values = append(values, source.Status)
   272  			}
   273  		default:
   274  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   275  		}
   276  	}
   277  	return
   278  }
   279  
   280  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   281  	return fp.Get(source.(*DeviceHardwareRegisterSession))
   282  }
   283  
   284  // GetSingle returns value pointed by specific field of from source DeviceHardwareRegisterSession
   285  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) GetSingle(source *DeviceHardwareRegisterSession) (interface{}, bool) {
   286  	switch fp.selector {
   287  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   288  		res := source.GetName()
   289  		return res, res != nil
   290  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   291  		return source.GetDisplayName(), source != nil
   292  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   293  		res := source.GetMetadata()
   294  		return res, res != nil
   295  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   296  		res := source.GetStartTime()
   297  		return res, res != nil
   298  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   299  		res := source.GetExpirationTime()
   300  		return res, res != nil
   301  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   302  		return source.GetUserEmail(), source != nil
   303  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   304  		return source.GetInviterEmail(), source != nil
   305  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   306  		return source.GetLanguageCode(), source != nil
   307  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   308  		res := source.GetExtras()
   309  		return res, res != nil
   310  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   311  		res := source.GetProvisioningPolicyName()
   312  		return res, res != nil
   313  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   314  		res := source.GetDeviceName()
   315  		return res, res != nil
   316  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   317  		return source.GetSingleUse(), source != nil
   318  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   319  		return source.GetToken(), source != nil
   320  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   321  		res := source.GetStatus()
   322  		return res, res != nil
   323  	default:
   324  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   325  	}
   326  }
   327  
   328  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   329  	return fp.GetSingle(source.(*DeviceHardwareRegisterSession))
   330  }
   331  
   332  // GetDefault returns a default value of the field type
   333  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) GetDefault() interface{} {
   334  	switch fp.selector {
   335  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   336  		return (*Name)(nil)
   337  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   338  		return ""
   339  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   340  		return (*meta.Meta)(nil)
   341  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   342  		return (*timestamppb.Timestamp)(nil)
   343  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   344  		return (*timestamppb.Timestamp)(nil)
   345  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   346  		return ""
   347  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   348  		return ""
   349  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   350  		return ""
   351  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   352  		return (map[string]string)(nil)
   353  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   354  		return (*provisioning_policy.Reference)(nil)
   355  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   356  		return (*device.Reference)(nil)
   357  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   358  		return false
   359  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   360  		return ""
   361  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   362  		return (*DeviceHardwareRegisterSession_Status)(nil)
   363  	default:
   364  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   365  	}
   366  }
   367  
   368  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) ClearValue(item *DeviceHardwareRegisterSession) {
   369  	if item != nil {
   370  		switch fp.selector {
   371  		case DeviceHardwareRegisterSession_FieldPathSelectorName:
   372  			item.Name = nil
   373  		case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   374  			item.DisplayName = ""
   375  		case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   376  			item.Metadata = nil
   377  		case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   378  			item.StartTime = nil
   379  		case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   380  			item.ExpirationTime = nil
   381  		case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   382  			item.UserEmail = ""
   383  		case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   384  			item.InviterEmail = ""
   385  		case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   386  			item.LanguageCode = ""
   387  		case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   388  			item.Extras = nil
   389  		case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   390  			item.ProvisioningPolicyName = nil
   391  		case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   392  			item.DeviceName = nil
   393  		case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   394  			item.SingleUse = false
   395  		case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   396  			item.Token = ""
   397  		case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   398  			item.Status = nil
   399  		default:
   400  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   401  		}
   402  	}
   403  }
   404  
   405  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   406  	fp.ClearValue(item.(*DeviceHardwareRegisterSession))
   407  }
   408  
   409  // IsLeaf - whether field path is holds simple value
   410  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) IsLeaf() bool {
   411  	return fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorName ||
   412  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorDisplayName ||
   413  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorStartTime ||
   414  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime ||
   415  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorUserEmail ||
   416  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail ||
   417  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode ||
   418  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorExtras ||
   419  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName ||
   420  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorDeviceName ||
   421  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorSingleUse ||
   422  		fp.selector == DeviceHardwareRegisterSession_FieldPathSelectorToken
   423  }
   424  
   425  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   426  	return []gotenobject.FieldPath{fp}
   427  }
   428  
   429  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithIValue(value interface{}) DeviceHardwareRegisterSession_FieldPathValue {
   430  	switch fp.selector {
   431  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   432  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*Name)}
   433  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   434  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(string)}
   435  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   436  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   437  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   438  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   439  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   440  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   441  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   442  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(string)}
   443  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   444  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(string)}
   445  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   446  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(string)}
   447  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   448  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(map[string]string)}
   449  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   450  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*provisioning_policy.Reference)}
   451  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   452  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*device.Reference)}
   453  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   454  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(bool)}
   455  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   456  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(string)}
   457  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   458  		return &DeviceHardwareRegisterSession_FieldTerminalPathValue{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, value: value.(*DeviceHardwareRegisterSession_Status)}
   459  	default:
   460  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   461  	}
   462  }
   463  
   464  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   465  	return fp.WithIValue(value)
   466  }
   467  
   468  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSession_FieldPathArrayOfValues {
   469  	fpaov := &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp}
   470  	switch fp.selector {
   471  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   472  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*Name)}
   473  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   474  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]string)}
   475  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   476  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   477  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   478  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   479  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   480  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   481  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   482  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]string)}
   483  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   484  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]string)}
   485  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   486  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]string)}
   487  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   488  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]map[string]string)}
   489  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   490  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*provisioning_policy.Reference)}
   491  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   492  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*device.Reference)}
   493  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   494  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]bool)}
   495  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   496  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]string)}
   497  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   498  		return &DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSession_FieldTerminalPath: *fp, values: values.([]*DeviceHardwareRegisterSession_Status)}
   499  	default:
   500  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   501  	}
   502  	return fpaov
   503  }
   504  
   505  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   506  	return fp.WithIArrayOfValues(values)
   507  }
   508  
   509  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSession_FieldPathArrayItemValue {
   510  	switch fp.selector {
   511  	default:
   512  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fp.selector))
   513  	}
   514  }
   515  
   516  func (fp *DeviceHardwareRegisterSession_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   517  	return fp.WithIArrayItemValue(value)
   518  }
   519  
   520  // FieldPath for map type with additional Key information
   521  type DeviceHardwareRegisterSession_FieldPathMap struct {
   522  	key      string
   523  	selector DeviceHardwareRegisterSession_FieldPathSelector
   524  }
   525  
   526  var _ DeviceHardwareRegisterSession_FieldPath = (*DeviceHardwareRegisterSession_FieldPathMap)(nil)
   527  
   528  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) Selector() DeviceHardwareRegisterSession_FieldPathSelector {
   529  	return fpm.selector
   530  }
   531  
   532  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) Key() string {
   533  	return fpm.key
   534  }
   535  
   536  // String returns path representation in proto convention
   537  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) String() string {
   538  	return fpm.selector.String() + "." + fpm.key
   539  }
   540  
   541  // JSONString returns path representation is JSON convention. Note that map keys are not transformed
   542  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) JSONString() string {
   543  	return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key
   544  }
   545  
   546  // Get returns all values pointed by selected field map key from source DeviceHardwareRegisterSession
   547  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) Get(source *DeviceHardwareRegisterSession) (values []interface{}) {
   548  	switch fpm.selector {
   549  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   550  		if value, ok := source.GetExtras()[fpm.key]; ok {
   551  			values = append(values, value)
   552  		}
   553  	default:
   554  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   555  	}
   556  	return
   557  }
   558  
   559  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) GetRaw(source proto.Message) []interface{} {
   560  	return fpm.Get(source.(*DeviceHardwareRegisterSession))
   561  }
   562  
   563  // GetSingle returns value by selected field map key from source DeviceHardwareRegisterSession
   564  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) GetSingle(source *DeviceHardwareRegisterSession) (interface{}, bool) {
   565  	switch fpm.selector {
   566  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   567  		res, ok := source.GetExtras()[fpm.key]
   568  		return res, ok
   569  	default:
   570  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   571  	}
   572  }
   573  
   574  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) {
   575  	return fpm.GetSingle(source.(*DeviceHardwareRegisterSession))
   576  }
   577  
   578  // GetDefault returns a default value of the field type
   579  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) GetDefault() interface{} {
   580  	switch fpm.selector {
   581  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   582  		var v string
   583  		return v
   584  	default:
   585  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   586  	}
   587  }
   588  
   589  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) ClearValue(item *DeviceHardwareRegisterSession) {
   590  	if item != nil {
   591  		switch fpm.selector {
   592  		case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   593  			delete(item.Extras, fpm.key)
   594  		default:
   595  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   596  		}
   597  	}
   598  }
   599  
   600  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) ClearValueRaw(item proto.Message) {
   601  	fpm.ClearValue(item.(*DeviceHardwareRegisterSession))
   602  }
   603  
   604  // IsLeaf - whether field path is holds simple value
   605  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) IsLeaf() bool {
   606  	switch fpm.selector {
   607  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   608  		return true
   609  	default:
   610  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   611  	}
   612  }
   613  
   614  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   615  	return []gotenobject.FieldPath{fpm}
   616  }
   617  
   618  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithIValue(value interface{}) DeviceHardwareRegisterSession_FieldPathValue {
   619  	switch fpm.selector {
   620  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   621  		return &DeviceHardwareRegisterSession_FieldPathMapValue{DeviceHardwareRegisterSession_FieldPathMap: *fpm, value: value.(string)}
   622  	default:
   623  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   624  	}
   625  }
   626  
   627  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   628  	return fpm.WithIValue(value)
   629  }
   630  
   631  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSession_FieldPathArrayOfValues {
   632  	switch fpm.selector {
   633  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   634  		return &DeviceHardwareRegisterSession_FieldPathMapArrayOfValues{DeviceHardwareRegisterSession_FieldPathMap: *fpm, values: values.([]string)}
   635  	default:
   636  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpm.selector))
   637  	}
   638  }
   639  
   640  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   641  	return fpm.WithIArrayOfValues(values)
   642  }
   643  
   644  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSession_FieldPathArrayItemValue {
   645  	panic("Cannot create array item value from map fieldpath")
   646  }
   647  
   648  func (fpm *DeviceHardwareRegisterSession_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   649  	return fpm.WithIArrayItemValue(value)
   650  }
   651  
   652  type DeviceHardwareRegisterSession_FieldSubPath struct {
   653  	selector DeviceHardwareRegisterSession_FieldPathSelector
   654  	subPath  gotenobject.FieldPath
   655  }
   656  
   657  var _ DeviceHardwareRegisterSession_FieldPath = (*DeviceHardwareRegisterSession_FieldSubPath)(nil)
   658  
   659  func (fps *DeviceHardwareRegisterSession_FieldSubPath) Selector() DeviceHardwareRegisterSession_FieldPathSelector {
   660  	return fps.selector
   661  }
   662  func (fps *DeviceHardwareRegisterSession_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   663  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   664  	return res, ok
   665  }
   666  func (fps *DeviceHardwareRegisterSession_FieldSubPath) AsStatusSubPath() (DeviceHardwareRegisterSessionStatus_FieldPath, bool) {
   667  	res, ok := fps.subPath.(DeviceHardwareRegisterSessionStatus_FieldPath)
   668  	return res, ok
   669  }
   670  
   671  // String returns path representation in proto convention
   672  func (fps *DeviceHardwareRegisterSession_FieldSubPath) String() string {
   673  	return fps.selector.String() + "." + fps.subPath.String()
   674  }
   675  
   676  // JSONString returns path representation is JSON convention
   677  func (fps *DeviceHardwareRegisterSession_FieldSubPath) JSONString() string {
   678  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   679  }
   680  
   681  // Get returns all values pointed by selected field from source DeviceHardwareRegisterSession
   682  func (fps *DeviceHardwareRegisterSession_FieldSubPath) Get(source *DeviceHardwareRegisterSession) (values []interface{}) {
   683  	switch fps.selector {
   684  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   685  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   686  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   687  		values = append(values, fps.subPath.GetRaw(source.GetStatus())...)
   688  	default:
   689  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fps.selector))
   690  	}
   691  	return
   692  }
   693  
   694  func (fps *DeviceHardwareRegisterSession_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   695  	return fps.Get(source.(*DeviceHardwareRegisterSession))
   696  }
   697  
   698  // GetSingle returns value of selected field from source DeviceHardwareRegisterSession
   699  func (fps *DeviceHardwareRegisterSession_FieldSubPath) GetSingle(source *DeviceHardwareRegisterSession) (interface{}, bool) {
   700  	switch fps.selector {
   701  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   702  		if source.GetMetadata() == nil {
   703  			return nil, false
   704  		}
   705  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   706  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   707  		if source.GetStatus() == nil {
   708  			return nil, false
   709  		}
   710  		return fps.subPath.GetSingleRaw(source.GetStatus())
   711  	default:
   712  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fps.selector))
   713  	}
   714  }
   715  
   716  func (fps *DeviceHardwareRegisterSession_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   717  	return fps.GetSingle(source.(*DeviceHardwareRegisterSession))
   718  }
   719  
   720  // GetDefault returns a default value of the field type
   721  func (fps *DeviceHardwareRegisterSession_FieldSubPath) GetDefault() interface{} {
   722  	return fps.subPath.GetDefault()
   723  }
   724  
   725  func (fps *DeviceHardwareRegisterSession_FieldSubPath) ClearValue(item *DeviceHardwareRegisterSession) {
   726  	if item != nil {
   727  		switch fps.selector {
   728  		case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   729  			fps.subPath.ClearValueRaw(item.Metadata)
   730  		case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   731  			fps.subPath.ClearValueRaw(item.Status)
   732  		default:
   733  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fps.selector))
   734  		}
   735  	}
   736  }
   737  
   738  func (fps *DeviceHardwareRegisterSession_FieldSubPath) ClearValueRaw(item proto.Message) {
   739  	fps.ClearValue(item.(*DeviceHardwareRegisterSession))
   740  }
   741  
   742  // IsLeaf - whether field path is holds simple value
   743  func (fps *DeviceHardwareRegisterSession_FieldSubPath) IsLeaf() bool {
   744  	return fps.subPath.IsLeaf()
   745  }
   746  
   747  func (fps *DeviceHardwareRegisterSession_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   748  	iPaths := []gotenobject.FieldPath{&DeviceHardwareRegisterSession_FieldTerminalPath{selector: fps.selector}}
   749  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   750  	return iPaths
   751  }
   752  
   753  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithIValue(value interface{}) DeviceHardwareRegisterSession_FieldPathValue {
   754  	return &DeviceHardwareRegisterSession_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   755  }
   756  
   757  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   758  	return fps.WithIValue(value)
   759  }
   760  
   761  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSession_FieldPathArrayOfValues {
   762  	return &DeviceHardwareRegisterSession_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   763  }
   764  
   765  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   766  	return fps.WithIArrayOfValues(values)
   767  }
   768  
   769  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSession_FieldPathArrayItemValue {
   770  	return &DeviceHardwareRegisterSession_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   771  }
   772  
   773  func (fps *DeviceHardwareRegisterSession_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   774  	return fps.WithIArrayItemValue(value)
   775  }
   776  
   777  // DeviceHardwareRegisterSession_FieldPathValue allows storing values for DeviceHardwareRegisterSession fields according to their type
   778  type DeviceHardwareRegisterSession_FieldPathValue interface {
   779  	DeviceHardwareRegisterSession_FieldPath
   780  	gotenobject.FieldPathValue
   781  	SetTo(target **DeviceHardwareRegisterSession)
   782  	CompareWith(*DeviceHardwareRegisterSession) (cmp int, comparable bool)
   783  }
   784  
   785  func ParseDeviceHardwareRegisterSession_FieldPathValue(pathStr, valueStr string) (DeviceHardwareRegisterSession_FieldPathValue, error) {
   786  	fp, err := ParseDeviceHardwareRegisterSession_FieldPath(pathStr)
   787  	if err != nil {
   788  		return nil, err
   789  	}
   790  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   791  	if err != nil {
   792  		return nil, status.Errorf(codes.InvalidArgument, "error parsing DeviceHardwareRegisterSession field path value from %s: %v", valueStr, err)
   793  	}
   794  	return fpv.(DeviceHardwareRegisterSession_FieldPathValue), nil
   795  }
   796  
   797  func MustParseDeviceHardwareRegisterSession_FieldPathValue(pathStr, valueStr string) DeviceHardwareRegisterSession_FieldPathValue {
   798  	fpv, err := ParseDeviceHardwareRegisterSession_FieldPathValue(pathStr, valueStr)
   799  	if err != nil {
   800  		panic(err)
   801  	}
   802  	return fpv
   803  }
   804  
   805  type DeviceHardwareRegisterSession_FieldTerminalPathValue struct {
   806  	DeviceHardwareRegisterSession_FieldTerminalPath
   807  	value interface{}
   808  }
   809  
   810  var _ DeviceHardwareRegisterSession_FieldPathValue = (*DeviceHardwareRegisterSession_FieldTerminalPathValue)(nil)
   811  
   812  // GetRawValue returns raw value stored under selected path for 'DeviceHardwareRegisterSession' as interface{}
   813  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) GetRawValue() interface{} {
   814  	return fpv.value
   815  }
   816  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   817  	res, ok := fpv.value.(*Name)
   818  	return res, ok
   819  }
   820  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) {
   821  	res, ok := fpv.value.(string)
   822  	return res, ok
   823  }
   824  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   825  	res, ok := fpv.value.(*meta.Meta)
   826  	return res, ok
   827  }
   828  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsStartTimeValue() (*timestamppb.Timestamp, bool) {
   829  	res, ok := fpv.value.(*timestamppb.Timestamp)
   830  	return res, ok
   831  }
   832  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsExpirationTimeValue() (*timestamppb.Timestamp, bool) {
   833  	res, ok := fpv.value.(*timestamppb.Timestamp)
   834  	return res, ok
   835  }
   836  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsUserEmailValue() (string, bool) {
   837  	res, ok := fpv.value.(string)
   838  	return res, ok
   839  }
   840  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsInviterEmailValue() (string, bool) {
   841  	res, ok := fpv.value.(string)
   842  	return res, ok
   843  }
   844  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsLanguageCodeValue() (string, bool) {
   845  	res, ok := fpv.value.(string)
   846  	return res, ok
   847  }
   848  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsExtrasValue() (map[string]string, bool) {
   849  	res, ok := fpv.value.(map[string]string)
   850  	return res, ok
   851  }
   852  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsProvisioningPolicyNameValue() (*provisioning_policy.Reference, bool) {
   853  	res, ok := fpv.value.(*provisioning_policy.Reference)
   854  	return res, ok
   855  }
   856  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsDeviceNameValue() (*device.Reference, bool) {
   857  	res, ok := fpv.value.(*device.Reference)
   858  	return res, ok
   859  }
   860  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsSingleUseValue() (bool, bool) {
   861  	res, ok := fpv.value.(bool)
   862  	return res, ok
   863  }
   864  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsTokenValue() (string, bool) {
   865  	res, ok := fpv.value.(string)
   866  	return res, ok
   867  }
   868  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) AsStatusValue() (*DeviceHardwareRegisterSession_Status, bool) {
   869  	res, ok := fpv.value.(*DeviceHardwareRegisterSession_Status)
   870  	return res, ok
   871  }
   872  
   873  // SetTo stores value for selected field for object DeviceHardwareRegisterSession
   874  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) SetTo(target **DeviceHardwareRegisterSession) {
   875  	if *target == nil {
   876  		*target = new(DeviceHardwareRegisterSession)
   877  	}
   878  	switch fpv.selector {
   879  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   880  		(*target).Name = fpv.value.(*Name)
   881  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   882  		(*target).DisplayName = fpv.value.(string)
   883  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   884  		(*target).Metadata = fpv.value.(*meta.Meta)
   885  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   886  		(*target).StartTime = fpv.value.(*timestamppb.Timestamp)
   887  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   888  		(*target).ExpirationTime = fpv.value.(*timestamppb.Timestamp)
   889  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   890  		(*target).UserEmail = fpv.value.(string)
   891  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
   892  		(*target).InviterEmail = fpv.value.(string)
   893  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
   894  		(*target).LanguageCode = fpv.value.(string)
   895  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
   896  		(*target).Extras = fpv.value.(map[string]string)
   897  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
   898  		(*target).ProvisioningPolicyName = fpv.value.(*provisioning_policy.Reference)
   899  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
   900  		(*target).DeviceName = fpv.value.(*device.Reference)
   901  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
   902  		(*target).SingleUse = fpv.value.(bool)
   903  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
   904  		(*target).Token = fpv.value.(string)
   905  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
   906  		(*target).Status = fpv.value.(*DeviceHardwareRegisterSession_Status)
   907  	default:
   908  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpv.selector))
   909  	}
   910  }
   911  
   912  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   913  	typedObject := target.(*DeviceHardwareRegisterSession)
   914  	fpv.SetTo(&typedObject)
   915  }
   916  
   917  // CompareWith compares value in the 'DeviceHardwareRegisterSession_FieldTerminalPathValue' with the value under path in 'DeviceHardwareRegisterSession'.
   918  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) CompareWith(source *DeviceHardwareRegisterSession) (int, bool) {
   919  	switch fpv.selector {
   920  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
   921  		leftValue := fpv.value.(*Name)
   922  		rightValue := source.GetName()
   923  		if leftValue == nil {
   924  			if rightValue != nil {
   925  				return -1, true
   926  			}
   927  			return 0, true
   928  		}
   929  		if rightValue == nil {
   930  			return 1, true
   931  		}
   932  		if leftValue.String() == rightValue.String() {
   933  			return 0, true
   934  		} else if leftValue.String() < rightValue.String() {
   935  			return -1, true
   936  		} else {
   937  			return 1, true
   938  		}
   939  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
   940  		leftValue := fpv.value.(string)
   941  		rightValue := source.GetDisplayName()
   942  		if (leftValue) == (rightValue) {
   943  			return 0, true
   944  		} else if (leftValue) < (rightValue) {
   945  			return -1, true
   946  		} else {
   947  			return 1, true
   948  		}
   949  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
   950  		return 0, false
   951  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
   952  		leftValue := fpv.value.(*timestamppb.Timestamp)
   953  		rightValue := source.GetStartTime()
   954  		if leftValue == nil {
   955  			if rightValue != nil {
   956  				return -1, true
   957  			}
   958  			return 0, true
   959  		}
   960  		if rightValue == nil {
   961  			return 1, true
   962  		}
   963  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
   964  			return 0, true
   965  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
   966  			return -1, true
   967  		} else {
   968  			return 1, true
   969  		}
   970  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
   971  		leftValue := fpv.value.(*timestamppb.Timestamp)
   972  		rightValue := source.GetExpirationTime()
   973  		if leftValue == nil {
   974  			if rightValue != nil {
   975  				return -1, true
   976  			}
   977  			return 0, true
   978  		}
   979  		if rightValue == nil {
   980  			return 1, true
   981  		}
   982  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
   983  			return 0, true
   984  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
   985  			return -1, true
   986  		} else {
   987  			return 1, true
   988  		}
   989  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
   990  		leftValue := fpv.value.(string)
   991  		rightValue := source.GetUserEmail()
   992  		if (leftValue) == (rightValue) {
   993  			return 0, true
   994  		} else if (leftValue) < (rightValue) {
   995  			return -1, true
   996  		} else {
   997  			return 1, true
   998  		}
   999  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
  1000  		leftValue := fpv.value.(string)
  1001  		rightValue := source.GetInviterEmail()
  1002  		if (leftValue) == (rightValue) {
  1003  			return 0, true
  1004  		} else if (leftValue) < (rightValue) {
  1005  			return -1, true
  1006  		} else {
  1007  			return 1, true
  1008  		}
  1009  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
  1010  		leftValue := fpv.value.(string)
  1011  		rightValue := source.GetLanguageCode()
  1012  		if (leftValue) == (rightValue) {
  1013  			return 0, true
  1014  		} else if (leftValue) < (rightValue) {
  1015  			return -1, true
  1016  		} else {
  1017  			return 1, true
  1018  		}
  1019  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
  1020  		return 0, false
  1021  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
  1022  		leftValue := fpv.value.(*provisioning_policy.Reference)
  1023  		rightValue := source.GetProvisioningPolicyName()
  1024  		if leftValue == nil {
  1025  			if rightValue != nil {
  1026  				return -1, true
  1027  			}
  1028  			return 0, true
  1029  		}
  1030  		if rightValue == nil {
  1031  			return 1, true
  1032  		}
  1033  		if leftValue.String() == rightValue.String() {
  1034  			return 0, true
  1035  		} else if leftValue.String() < rightValue.String() {
  1036  			return -1, true
  1037  		} else {
  1038  			return 1, true
  1039  		}
  1040  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
  1041  		leftValue := fpv.value.(*device.Reference)
  1042  		rightValue := source.GetDeviceName()
  1043  		if leftValue == nil {
  1044  			if rightValue != nil {
  1045  				return -1, true
  1046  			}
  1047  			return 0, true
  1048  		}
  1049  		if rightValue == nil {
  1050  			return 1, true
  1051  		}
  1052  		if leftValue.String() == rightValue.String() {
  1053  			return 0, true
  1054  		} else if leftValue.String() < rightValue.String() {
  1055  			return -1, true
  1056  		} else {
  1057  			return 1, true
  1058  		}
  1059  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
  1060  		leftValue := fpv.value.(bool)
  1061  		rightValue := source.GetSingleUse()
  1062  		if (leftValue) == (rightValue) {
  1063  			return 0, true
  1064  		} else if !(leftValue) && (rightValue) {
  1065  			return -1, true
  1066  		} else {
  1067  			return 1, true
  1068  		}
  1069  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
  1070  		leftValue := fpv.value.(string)
  1071  		rightValue := source.GetToken()
  1072  		if (leftValue) == (rightValue) {
  1073  			return 0, true
  1074  		} else if (leftValue) < (rightValue) {
  1075  			return -1, true
  1076  		} else {
  1077  			return 1, true
  1078  		}
  1079  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
  1080  		return 0, false
  1081  	default:
  1082  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpv.selector))
  1083  	}
  1084  }
  1085  
  1086  func (fpv *DeviceHardwareRegisterSession_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1087  	return fpv.CompareWith(source.(*DeviceHardwareRegisterSession))
  1088  }
  1089  
  1090  type DeviceHardwareRegisterSession_FieldPathMapValue struct {
  1091  	DeviceHardwareRegisterSession_FieldPathMap
  1092  	value interface{}
  1093  }
  1094  
  1095  var _ DeviceHardwareRegisterSession_FieldPathValue = (*DeviceHardwareRegisterSession_FieldPathMapValue)(nil)
  1096  
  1097  // GetValue returns value stored under selected field in DeviceHardwareRegisterSession as interface{}
  1098  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) GetRawValue() interface{} {
  1099  	return fpmv.value
  1100  }
  1101  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) AsExtrasElementValue() (string, bool) {
  1102  	res, ok := fpmv.value.(string)
  1103  	return res, ok
  1104  }
  1105  
  1106  // SetTo stores value for selected field in DeviceHardwareRegisterSession
  1107  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) SetTo(target **DeviceHardwareRegisterSession) {
  1108  	if *target == nil {
  1109  		*target = new(DeviceHardwareRegisterSession)
  1110  	}
  1111  	switch fpmv.selector {
  1112  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
  1113  		if (*target).Extras == nil {
  1114  			(*target).Extras = make(map[string]string)
  1115  		}
  1116  		(*target).Extras[fpmv.key] = fpmv.value.(string)
  1117  	default:
  1118  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpmv.selector))
  1119  	}
  1120  }
  1121  
  1122  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) SetToRaw(target proto.Message) {
  1123  	typedObject := target.(*DeviceHardwareRegisterSession)
  1124  	fpmv.SetTo(&typedObject)
  1125  }
  1126  
  1127  // CompareWith compares value in the 'DeviceHardwareRegisterSession_FieldPathMapValue' with the value under path in 'DeviceHardwareRegisterSession'.
  1128  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) CompareWith(source *DeviceHardwareRegisterSession) (int, bool) {
  1129  	switch fpmv.selector {
  1130  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
  1131  		leftValue := fpmv.value.(string)
  1132  		rightValue := source.GetExtras()[fpmv.key]
  1133  		if (leftValue) == (rightValue) {
  1134  			return 0, true
  1135  		} else if (leftValue) < (rightValue) {
  1136  			return -1, true
  1137  		} else {
  1138  			return 1, true
  1139  		}
  1140  	default:
  1141  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpmv.selector))
  1142  	}
  1143  }
  1144  
  1145  func (fpmv *DeviceHardwareRegisterSession_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) {
  1146  	return fpmv.CompareWith(source.(*DeviceHardwareRegisterSession))
  1147  }
  1148  
  1149  type DeviceHardwareRegisterSession_FieldSubPathValue struct {
  1150  	DeviceHardwareRegisterSession_FieldPath
  1151  	subPathValue gotenobject.FieldPathValue
  1152  }
  1153  
  1154  var _ DeviceHardwareRegisterSession_FieldPathValue = (*DeviceHardwareRegisterSession_FieldSubPathValue)(nil)
  1155  
  1156  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
  1157  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
  1158  	return res, ok
  1159  }
  1160  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) AsStatusPathValue() (DeviceHardwareRegisterSessionStatus_FieldPathValue, bool) {
  1161  	res, ok := fpvs.subPathValue.(DeviceHardwareRegisterSessionStatus_FieldPathValue)
  1162  	return res, ok
  1163  }
  1164  
  1165  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) SetTo(target **DeviceHardwareRegisterSession) {
  1166  	if *target == nil {
  1167  		*target = new(DeviceHardwareRegisterSession)
  1168  	}
  1169  	switch fpvs.Selector() {
  1170  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
  1171  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
  1172  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
  1173  		fpvs.subPathValue.(DeviceHardwareRegisterSessionStatus_FieldPathValue).SetTo(&(*target).Status)
  1174  	default:
  1175  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpvs.Selector()))
  1176  	}
  1177  }
  1178  
  1179  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) SetToRaw(target proto.Message) {
  1180  	typedObject := target.(*DeviceHardwareRegisterSession)
  1181  	fpvs.SetTo(&typedObject)
  1182  }
  1183  
  1184  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) GetRawValue() interface{} {
  1185  	return fpvs.subPathValue.GetRawValue()
  1186  }
  1187  
  1188  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) CompareWith(source *DeviceHardwareRegisterSession) (int, bool) {
  1189  	switch fpvs.Selector() {
  1190  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
  1191  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
  1192  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
  1193  		return fpvs.subPathValue.(DeviceHardwareRegisterSessionStatus_FieldPathValue).CompareWith(source.GetStatus())
  1194  	default:
  1195  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpvs.Selector()))
  1196  	}
  1197  }
  1198  
  1199  func (fpvs *DeviceHardwareRegisterSession_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1200  	return fpvs.CompareWith(source.(*DeviceHardwareRegisterSession))
  1201  }
  1202  
  1203  // DeviceHardwareRegisterSession_FieldPathArrayItemValue allows storing single item in Path-specific values for DeviceHardwareRegisterSession according to their type
  1204  // Present only for array (repeated) types.
  1205  type DeviceHardwareRegisterSession_FieldPathArrayItemValue interface {
  1206  	gotenobject.FieldPathArrayItemValue
  1207  	DeviceHardwareRegisterSession_FieldPath
  1208  	ContainsValue(*DeviceHardwareRegisterSession) bool
  1209  }
  1210  
  1211  // ParseDeviceHardwareRegisterSession_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1212  func ParseDeviceHardwareRegisterSession_FieldPathArrayItemValue(pathStr, valueStr string) (DeviceHardwareRegisterSession_FieldPathArrayItemValue, error) {
  1213  	fp, err := ParseDeviceHardwareRegisterSession_FieldPath(pathStr)
  1214  	if err != nil {
  1215  		return nil, err
  1216  	}
  1217  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1218  	if err != nil {
  1219  		return nil, status.Errorf(codes.InvalidArgument, "error parsing DeviceHardwareRegisterSession field path array item value from %s: %v", valueStr, err)
  1220  	}
  1221  	return fpaiv.(DeviceHardwareRegisterSession_FieldPathArrayItemValue), nil
  1222  }
  1223  
  1224  func MustParseDeviceHardwareRegisterSession_FieldPathArrayItemValue(pathStr, valueStr string) DeviceHardwareRegisterSession_FieldPathArrayItemValue {
  1225  	fpaiv, err := ParseDeviceHardwareRegisterSession_FieldPathArrayItemValue(pathStr, valueStr)
  1226  	if err != nil {
  1227  		panic(err)
  1228  	}
  1229  	return fpaiv
  1230  }
  1231  
  1232  type DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue struct {
  1233  	DeviceHardwareRegisterSession_FieldTerminalPath
  1234  	value interface{}
  1235  }
  1236  
  1237  var _ DeviceHardwareRegisterSession_FieldPathArrayItemValue = (*DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue)(nil)
  1238  
  1239  // GetRawValue returns stored element value for array in object DeviceHardwareRegisterSession as interface{}
  1240  func (fpaiv *DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1241  	return fpaiv.value
  1242  }
  1243  
  1244  func (fpaiv *DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue) GetSingle(source *DeviceHardwareRegisterSession) (interface{}, bool) {
  1245  	return nil, false
  1246  }
  1247  
  1248  func (fpaiv *DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1249  	return fpaiv.GetSingle(source.(*DeviceHardwareRegisterSession))
  1250  }
  1251  
  1252  // Contains returns a boolean indicating if value that is being held is present in given 'DeviceHardwareRegisterSession'
  1253  func (fpaiv *DeviceHardwareRegisterSession_FieldTerminalPathArrayItemValue) ContainsValue(source *DeviceHardwareRegisterSession) bool {
  1254  	slice := fpaiv.DeviceHardwareRegisterSession_FieldTerminalPath.Get(source)
  1255  	for _, v := range slice {
  1256  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1257  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1258  				return true
  1259  			}
  1260  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1261  			return true
  1262  		}
  1263  	}
  1264  	return false
  1265  }
  1266  
  1267  type DeviceHardwareRegisterSession_FieldSubPathArrayItemValue struct {
  1268  	DeviceHardwareRegisterSession_FieldPath
  1269  	subPathItemValue gotenobject.FieldPathArrayItemValue
  1270  }
  1271  
  1272  // GetRawValue returns stored array item value
  1273  func (fpaivs *DeviceHardwareRegisterSession_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  1274  	return fpaivs.subPathItemValue.GetRawItemValue()
  1275  }
  1276  func (fpaivs *DeviceHardwareRegisterSession_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
  1277  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
  1278  	return res, ok
  1279  }
  1280  func (fpaivs *DeviceHardwareRegisterSession_FieldSubPathArrayItemValue) AsStatusPathItemValue() (DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue, bool) {
  1281  	res, ok := fpaivs.subPathItemValue.(DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue)
  1282  	return res, ok
  1283  }
  1284  
  1285  // Contains returns a boolean indicating if value that is being held is present in given 'DeviceHardwareRegisterSession'
  1286  func (fpaivs *DeviceHardwareRegisterSession_FieldSubPathArrayItemValue) ContainsValue(source *DeviceHardwareRegisterSession) bool {
  1287  	switch fpaivs.Selector() {
  1288  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
  1289  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
  1290  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
  1291  		return fpaivs.subPathItemValue.(DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue).ContainsValue(source.GetStatus())
  1292  	default:
  1293  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession: %d", fpaivs.Selector()))
  1294  	}
  1295  }
  1296  
  1297  // DeviceHardwareRegisterSession_FieldPathArrayOfValues allows storing slice of values for DeviceHardwareRegisterSession fields according to their type
  1298  type DeviceHardwareRegisterSession_FieldPathArrayOfValues interface {
  1299  	gotenobject.FieldPathArrayOfValues
  1300  	DeviceHardwareRegisterSession_FieldPath
  1301  }
  1302  
  1303  func ParseDeviceHardwareRegisterSession_FieldPathArrayOfValues(pathStr, valuesStr string) (DeviceHardwareRegisterSession_FieldPathArrayOfValues, error) {
  1304  	fp, err := ParseDeviceHardwareRegisterSession_FieldPath(pathStr)
  1305  	if err != nil {
  1306  		return nil, err
  1307  	}
  1308  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1309  	if err != nil {
  1310  		return nil, status.Errorf(codes.InvalidArgument, "error parsing DeviceHardwareRegisterSession field path array of values from %s: %v", valuesStr, err)
  1311  	}
  1312  	return fpaov.(DeviceHardwareRegisterSession_FieldPathArrayOfValues), nil
  1313  }
  1314  
  1315  func MustParseDeviceHardwareRegisterSession_FieldPathArrayOfValues(pathStr, valuesStr string) DeviceHardwareRegisterSession_FieldPathArrayOfValues {
  1316  	fpaov, err := ParseDeviceHardwareRegisterSession_FieldPathArrayOfValues(pathStr, valuesStr)
  1317  	if err != nil {
  1318  		panic(err)
  1319  	}
  1320  	return fpaov
  1321  }
  1322  
  1323  type DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues struct {
  1324  	DeviceHardwareRegisterSession_FieldTerminalPath
  1325  	values interface{}
  1326  }
  1327  
  1328  var _ DeviceHardwareRegisterSession_FieldPathArrayOfValues = (*DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues)(nil)
  1329  
  1330  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1331  	switch fpaov.selector {
  1332  	case DeviceHardwareRegisterSession_FieldPathSelectorName:
  1333  		for _, v := range fpaov.values.([]*Name) {
  1334  			values = append(values, v)
  1335  		}
  1336  	case DeviceHardwareRegisterSession_FieldPathSelectorDisplayName:
  1337  		for _, v := range fpaov.values.([]string) {
  1338  			values = append(values, v)
  1339  		}
  1340  	case DeviceHardwareRegisterSession_FieldPathSelectorMetadata:
  1341  		for _, v := range fpaov.values.([]*meta.Meta) {
  1342  			values = append(values, v)
  1343  		}
  1344  	case DeviceHardwareRegisterSession_FieldPathSelectorStartTime:
  1345  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  1346  			values = append(values, v)
  1347  		}
  1348  	case DeviceHardwareRegisterSession_FieldPathSelectorExpirationTime:
  1349  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  1350  			values = append(values, v)
  1351  		}
  1352  	case DeviceHardwareRegisterSession_FieldPathSelectorUserEmail:
  1353  		for _, v := range fpaov.values.([]string) {
  1354  			values = append(values, v)
  1355  		}
  1356  	case DeviceHardwareRegisterSession_FieldPathSelectorInviterEmail:
  1357  		for _, v := range fpaov.values.([]string) {
  1358  			values = append(values, v)
  1359  		}
  1360  	case DeviceHardwareRegisterSession_FieldPathSelectorLanguageCode:
  1361  		for _, v := range fpaov.values.([]string) {
  1362  			values = append(values, v)
  1363  		}
  1364  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
  1365  		for _, v := range fpaov.values.([]map[string]string) {
  1366  			values = append(values, v)
  1367  		}
  1368  	case DeviceHardwareRegisterSession_FieldPathSelectorProvisioningPolicyName:
  1369  		for _, v := range fpaov.values.([]*provisioning_policy.Reference) {
  1370  			values = append(values, v)
  1371  		}
  1372  	case DeviceHardwareRegisterSession_FieldPathSelectorDeviceName:
  1373  		for _, v := range fpaov.values.([]*device.Reference) {
  1374  			values = append(values, v)
  1375  		}
  1376  	case DeviceHardwareRegisterSession_FieldPathSelectorSingleUse:
  1377  		for _, v := range fpaov.values.([]bool) {
  1378  			values = append(values, v)
  1379  		}
  1380  	case DeviceHardwareRegisterSession_FieldPathSelectorToken:
  1381  		for _, v := range fpaov.values.([]string) {
  1382  			values = append(values, v)
  1383  		}
  1384  	case DeviceHardwareRegisterSession_FieldPathSelectorStatus:
  1385  		for _, v := range fpaov.values.([]*DeviceHardwareRegisterSession_Status) {
  1386  			values = append(values, v)
  1387  		}
  1388  	}
  1389  	return
  1390  }
  1391  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
  1392  	res, ok := fpaov.values.([]*Name)
  1393  	return res, ok
  1394  }
  1395  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) {
  1396  	res, ok := fpaov.values.([]string)
  1397  	return res, ok
  1398  }
  1399  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
  1400  	res, ok := fpaov.values.([]*meta.Meta)
  1401  	return res, ok
  1402  }
  1403  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsStartTimeArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  1404  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  1405  	return res, ok
  1406  }
  1407  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsExpirationTimeArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  1408  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  1409  	return res, ok
  1410  }
  1411  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsUserEmailArrayOfValues() ([]string, bool) {
  1412  	res, ok := fpaov.values.([]string)
  1413  	return res, ok
  1414  }
  1415  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsInviterEmailArrayOfValues() ([]string, bool) {
  1416  	res, ok := fpaov.values.([]string)
  1417  	return res, ok
  1418  }
  1419  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsLanguageCodeArrayOfValues() ([]string, bool) {
  1420  	res, ok := fpaov.values.([]string)
  1421  	return res, ok
  1422  }
  1423  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsExtrasArrayOfValues() ([]map[string]string, bool) {
  1424  	res, ok := fpaov.values.([]map[string]string)
  1425  	return res, ok
  1426  }
  1427  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsProvisioningPolicyNameArrayOfValues() ([]*provisioning_policy.Reference, bool) {
  1428  	res, ok := fpaov.values.([]*provisioning_policy.Reference)
  1429  	return res, ok
  1430  }
  1431  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsDeviceNameArrayOfValues() ([]*device.Reference, bool) {
  1432  	res, ok := fpaov.values.([]*device.Reference)
  1433  	return res, ok
  1434  }
  1435  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsSingleUseArrayOfValues() ([]bool, bool) {
  1436  	res, ok := fpaov.values.([]bool)
  1437  	return res, ok
  1438  }
  1439  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsTokenArrayOfValues() ([]string, bool) {
  1440  	res, ok := fpaov.values.([]string)
  1441  	return res, ok
  1442  }
  1443  func (fpaov *DeviceHardwareRegisterSession_FieldTerminalPathArrayOfValues) AsStatusArrayOfValues() ([]*DeviceHardwareRegisterSession_Status, bool) {
  1444  	res, ok := fpaov.values.([]*DeviceHardwareRegisterSession_Status)
  1445  	return res, ok
  1446  }
  1447  
  1448  type DeviceHardwareRegisterSession_FieldPathMapArrayOfValues struct {
  1449  	DeviceHardwareRegisterSession_FieldPathMap
  1450  	values interface{}
  1451  }
  1452  
  1453  var _ DeviceHardwareRegisterSession_FieldPathArrayOfValues = (*DeviceHardwareRegisterSession_FieldPathMapArrayOfValues)(nil)
  1454  
  1455  func (fpmaov *DeviceHardwareRegisterSession_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) {
  1456  	switch fpmaov.selector {
  1457  	case DeviceHardwareRegisterSession_FieldPathSelectorExtras:
  1458  		for _, v := range fpmaov.values.([]string) {
  1459  			values = append(values, v)
  1460  		}
  1461  	}
  1462  	return
  1463  }
  1464  func (fpmaov *DeviceHardwareRegisterSession_FieldPathMapArrayOfValues) AsExtrasArrayOfElementValues() ([]string, bool) {
  1465  	res, ok := fpmaov.values.([]string)
  1466  	return res, ok
  1467  }
  1468  
  1469  type DeviceHardwareRegisterSession_FieldSubPathArrayOfValues struct {
  1470  	DeviceHardwareRegisterSession_FieldPath
  1471  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  1472  }
  1473  
  1474  var _ DeviceHardwareRegisterSession_FieldPathArrayOfValues = (*DeviceHardwareRegisterSession_FieldSubPathArrayOfValues)(nil)
  1475  
  1476  func (fpsaov *DeviceHardwareRegisterSession_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1477  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1478  }
  1479  func (fpsaov *DeviceHardwareRegisterSession_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
  1480  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
  1481  	return res, ok
  1482  }
  1483  func (fpsaov *DeviceHardwareRegisterSession_FieldSubPathArrayOfValues) AsStatusPathArrayOfValues() (DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues, bool) {
  1484  	res, ok := fpsaov.subPathArrayOfValues.(DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues)
  1485  	return res, ok
  1486  }
  1487  
  1488  // FieldPath provides implementation to handle
  1489  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  1490  type DeviceHardwareRegisterSessionStatus_FieldPath interface {
  1491  	gotenobject.FieldPath
  1492  	Selector() DeviceHardwareRegisterSessionStatus_FieldPathSelector
  1493  	Get(source *DeviceHardwareRegisterSession_Status) []interface{}
  1494  	GetSingle(source *DeviceHardwareRegisterSession_Status) (interface{}, bool)
  1495  	ClearValue(item *DeviceHardwareRegisterSession_Status)
  1496  
  1497  	// Those methods build corresponding DeviceHardwareRegisterSessionStatus_FieldPathValue
  1498  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  1499  	WithIValue(value interface{}) DeviceHardwareRegisterSessionStatus_FieldPathValue
  1500  	WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues
  1501  	WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue
  1502  }
  1503  
  1504  type DeviceHardwareRegisterSessionStatus_FieldPathSelector int32
  1505  
  1506  const (
  1507  	DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares DeviceHardwareRegisterSessionStatus_FieldPathSelector = 0
  1508  )
  1509  
  1510  func (s DeviceHardwareRegisterSessionStatus_FieldPathSelector) String() string {
  1511  	switch s {
  1512  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1513  		return "device_hardwares"
  1514  	default:
  1515  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", s))
  1516  	}
  1517  }
  1518  
  1519  func BuildDeviceHardwareRegisterSessionStatus_FieldPath(fp gotenobject.RawFieldPath) (DeviceHardwareRegisterSessionStatus_FieldPath, error) {
  1520  	if len(fp) == 0 {
  1521  		return nil, status.Error(codes.InvalidArgument, "empty field path for object DeviceHardwareRegisterSession_Status")
  1522  	}
  1523  	if len(fp) == 1 {
  1524  		switch fp[0] {
  1525  		case "device_hardwares", "deviceHardwares", "device-hardwares":
  1526  			return &DeviceHardwareRegisterSessionStatus_FieldTerminalPath{selector: DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares}, nil
  1527  		}
  1528  	}
  1529  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object DeviceHardwareRegisterSession_Status", fp)
  1530  }
  1531  
  1532  func ParseDeviceHardwareRegisterSessionStatus_FieldPath(rawField string) (DeviceHardwareRegisterSessionStatus_FieldPath, error) {
  1533  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  1534  	if err != nil {
  1535  		return nil, err
  1536  	}
  1537  	return BuildDeviceHardwareRegisterSessionStatus_FieldPath(fp)
  1538  }
  1539  
  1540  func MustParseDeviceHardwareRegisterSessionStatus_FieldPath(rawField string) DeviceHardwareRegisterSessionStatus_FieldPath {
  1541  	fp, err := ParseDeviceHardwareRegisterSessionStatus_FieldPath(rawField)
  1542  	if err != nil {
  1543  		panic(err)
  1544  	}
  1545  	return fp
  1546  }
  1547  
  1548  type DeviceHardwareRegisterSessionStatus_FieldTerminalPath struct {
  1549  	selector DeviceHardwareRegisterSessionStatus_FieldPathSelector
  1550  }
  1551  
  1552  var _ DeviceHardwareRegisterSessionStatus_FieldPath = (*DeviceHardwareRegisterSessionStatus_FieldTerminalPath)(nil)
  1553  
  1554  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) Selector() DeviceHardwareRegisterSessionStatus_FieldPathSelector {
  1555  	return fp.selector
  1556  }
  1557  
  1558  // String returns path representation in proto convention
  1559  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) String() string {
  1560  	return fp.selector.String()
  1561  }
  1562  
  1563  // JSONString returns path representation is JSON convention
  1564  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) JSONString() string {
  1565  	return strcase.ToLowerCamel(fp.String())
  1566  }
  1567  
  1568  // Get returns all values pointed by specific field from source DeviceHardwareRegisterSession_Status
  1569  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) Get(source *DeviceHardwareRegisterSession_Status) (values []interface{}) {
  1570  	if source != nil {
  1571  		switch fp.selector {
  1572  		case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1573  			for _, value := range source.GetDeviceHardwares() {
  1574  				values = append(values, value)
  1575  			}
  1576  		default:
  1577  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1578  		}
  1579  	}
  1580  	return
  1581  }
  1582  
  1583  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1584  	return fp.Get(source.(*DeviceHardwareRegisterSession_Status))
  1585  }
  1586  
  1587  // GetSingle returns value pointed by specific field of from source DeviceHardwareRegisterSession_Status
  1588  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) GetSingle(source *DeviceHardwareRegisterSession_Status) (interface{}, bool) {
  1589  	switch fp.selector {
  1590  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1591  		res := source.GetDeviceHardwares()
  1592  		return res, res != nil
  1593  	default:
  1594  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1595  	}
  1596  }
  1597  
  1598  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1599  	return fp.GetSingle(source.(*DeviceHardwareRegisterSession_Status))
  1600  }
  1601  
  1602  // GetDefault returns a default value of the field type
  1603  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) GetDefault() interface{} {
  1604  	switch fp.selector {
  1605  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1606  		return ([]*device_hardware.Name)(nil)
  1607  	default:
  1608  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1609  	}
  1610  }
  1611  
  1612  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) ClearValue(item *DeviceHardwareRegisterSession_Status) {
  1613  	if item != nil {
  1614  		switch fp.selector {
  1615  		case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1616  			item.DeviceHardwares = nil
  1617  		default:
  1618  			panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1619  		}
  1620  	}
  1621  }
  1622  
  1623  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  1624  	fp.ClearValue(item.(*DeviceHardwareRegisterSession_Status))
  1625  }
  1626  
  1627  // IsLeaf - whether field path is holds simple value
  1628  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) IsLeaf() bool {
  1629  	return fp.selector == DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares
  1630  }
  1631  
  1632  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1633  	return []gotenobject.FieldPath{fp}
  1634  }
  1635  
  1636  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithIValue(value interface{}) DeviceHardwareRegisterSessionStatus_FieldPathValue {
  1637  	switch fp.selector {
  1638  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1639  		return &DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue{DeviceHardwareRegisterSessionStatus_FieldTerminalPath: *fp, value: value.([]*device_hardware.Name)}
  1640  	default:
  1641  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1642  	}
  1643  }
  1644  
  1645  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1646  	return fp.WithIValue(value)
  1647  }
  1648  
  1649  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithIArrayOfValues(values interface{}) DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues {
  1650  	fpaov := &DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSessionStatus_FieldTerminalPath: *fp}
  1651  	switch fp.selector {
  1652  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1653  		return &DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues{DeviceHardwareRegisterSessionStatus_FieldTerminalPath: *fp, values: values.([][]*device_hardware.Name)}
  1654  	default:
  1655  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1656  	}
  1657  	return fpaov
  1658  }
  1659  
  1660  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1661  	return fp.WithIArrayOfValues(values)
  1662  }
  1663  
  1664  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithIArrayItemValue(value interface{}) DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue {
  1665  	switch fp.selector {
  1666  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1667  		return &DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue{DeviceHardwareRegisterSessionStatus_FieldTerminalPath: *fp, value: value.(*device_hardware.Name)}
  1668  	default:
  1669  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fp.selector))
  1670  	}
  1671  }
  1672  
  1673  func (fp *DeviceHardwareRegisterSessionStatus_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1674  	return fp.WithIArrayItemValue(value)
  1675  }
  1676  
  1677  // DeviceHardwareRegisterSessionStatus_FieldPathValue allows storing values for Status fields according to their type
  1678  type DeviceHardwareRegisterSessionStatus_FieldPathValue interface {
  1679  	DeviceHardwareRegisterSessionStatus_FieldPath
  1680  	gotenobject.FieldPathValue
  1681  	SetTo(target **DeviceHardwareRegisterSession_Status)
  1682  	CompareWith(*DeviceHardwareRegisterSession_Status) (cmp int, comparable bool)
  1683  }
  1684  
  1685  func ParseDeviceHardwareRegisterSessionStatus_FieldPathValue(pathStr, valueStr string) (DeviceHardwareRegisterSessionStatus_FieldPathValue, error) {
  1686  	fp, err := ParseDeviceHardwareRegisterSessionStatus_FieldPath(pathStr)
  1687  	if err != nil {
  1688  		return nil, err
  1689  	}
  1690  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  1691  	if err != nil {
  1692  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path value from %s: %v", valueStr, err)
  1693  	}
  1694  	return fpv.(DeviceHardwareRegisterSessionStatus_FieldPathValue), nil
  1695  }
  1696  
  1697  func MustParseDeviceHardwareRegisterSessionStatus_FieldPathValue(pathStr, valueStr string) DeviceHardwareRegisterSessionStatus_FieldPathValue {
  1698  	fpv, err := ParseDeviceHardwareRegisterSessionStatus_FieldPathValue(pathStr, valueStr)
  1699  	if err != nil {
  1700  		panic(err)
  1701  	}
  1702  	return fpv
  1703  }
  1704  
  1705  type DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue struct {
  1706  	DeviceHardwareRegisterSessionStatus_FieldTerminalPath
  1707  	value interface{}
  1708  }
  1709  
  1710  var _ DeviceHardwareRegisterSessionStatus_FieldPathValue = (*DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue)(nil)
  1711  
  1712  // GetRawValue returns raw value stored under selected path for 'Status' as interface{}
  1713  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) GetRawValue() interface{} {
  1714  	return fpv.value
  1715  }
  1716  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) AsDeviceHardwaresValue() ([]*device_hardware.Name, bool) {
  1717  	res, ok := fpv.value.([]*device_hardware.Name)
  1718  	return res, ok
  1719  }
  1720  
  1721  // SetTo stores value for selected field for object Status
  1722  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) SetTo(target **DeviceHardwareRegisterSession_Status) {
  1723  	if *target == nil {
  1724  		*target = new(DeviceHardwareRegisterSession_Status)
  1725  	}
  1726  	switch fpv.selector {
  1727  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1728  		(*target).DeviceHardwares = fpv.value.([]*device_hardware.Name)
  1729  	default:
  1730  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fpv.selector))
  1731  	}
  1732  }
  1733  
  1734  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  1735  	typedObject := target.(*DeviceHardwareRegisterSession_Status)
  1736  	fpv.SetTo(&typedObject)
  1737  }
  1738  
  1739  // CompareWith compares value in the 'DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue' with the value under path in 'DeviceHardwareRegisterSession_Status'.
  1740  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) CompareWith(source *DeviceHardwareRegisterSession_Status) (int, bool) {
  1741  	switch fpv.selector {
  1742  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1743  		return 0, false
  1744  	default:
  1745  		panic(fmt.Sprintf("Invalid selector for DeviceHardwareRegisterSession_Status: %d", fpv.selector))
  1746  	}
  1747  }
  1748  
  1749  func (fpv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1750  	return fpv.CompareWith(source.(*DeviceHardwareRegisterSession_Status))
  1751  }
  1752  
  1753  // DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue allows storing single item in Path-specific values for Status according to their type
  1754  // Present only for array (repeated) types.
  1755  type DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue interface {
  1756  	gotenobject.FieldPathArrayItemValue
  1757  	DeviceHardwareRegisterSessionStatus_FieldPath
  1758  	ContainsValue(*DeviceHardwareRegisterSession_Status) bool
  1759  }
  1760  
  1761  // ParseDeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1762  func ParseDeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue(pathStr, valueStr string) (DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue, error) {
  1763  	fp, err := ParseDeviceHardwareRegisterSessionStatus_FieldPath(pathStr)
  1764  	if err != nil {
  1765  		return nil, err
  1766  	}
  1767  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1768  	if err != nil {
  1769  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array item value from %s: %v", valueStr, err)
  1770  	}
  1771  	return fpaiv.(DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue), nil
  1772  }
  1773  
  1774  func MustParseDeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue(pathStr, valueStr string) DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue {
  1775  	fpaiv, err := ParseDeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue(pathStr, valueStr)
  1776  	if err != nil {
  1777  		panic(err)
  1778  	}
  1779  	return fpaiv
  1780  }
  1781  
  1782  type DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue struct {
  1783  	DeviceHardwareRegisterSessionStatus_FieldTerminalPath
  1784  	value interface{}
  1785  }
  1786  
  1787  var _ DeviceHardwareRegisterSessionStatus_FieldPathArrayItemValue = (*DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue)(nil)
  1788  
  1789  // GetRawValue returns stored element value for array in object DeviceHardwareRegisterSession_Status as interface{}
  1790  func (fpaiv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1791  	return fpaiv.value
  1792  }
  1793  func (fpaiv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue) AsDeviceHardwaresItemValue() (*device_hardware.Name, bool) {
  1794  	res, ok := fpaiv.value.(*device_hardware.Name)
  1795  	return res, ok
  1796  }
  1797  
  1798  func (fpaiv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue) GetSingle(source *DeviceHardwareRegisterSession_Status) (interface{}, bool) {
  1799  	return nil, false
  1800  }
  1801  
  1802  func (fpaiv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1803  	return fpaiv.GetSingle(source.(*DeviceHardwareRegisterSession_Status))
  1804  }
  1805  
  1806  // Contains returns a boolean indicating if value that is being held is present in given 'Status'
  1807  func (fpaiv *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayItemValue) ContainsValue(source *DeviceHardwareRegisterSession_Status) bool {
  1808  	slice := fpaiv.DeviceHardwareRegisterSessionStatus_FieldTerminalPath.Get(source)
  1809  	for _, v := range slice {
  1810  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1811  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1812  				return true
  1813  			}
  1814  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1815  			return true
  1816  		}
  1817  	}
  1818  	return false
  1819  }
  1820  
  1821  // DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues allows storing slice of values for Status fields according to their type
  1822  type DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues interface {
  1823  	gotenobject.FieldPathArrayOfValues
  1824  	DeviceHardwareRegisterSessionStatus_FieldPath
  1825  }
  1826  
  1827  func ParseDeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues(pathStr, valuesStr string) (DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues, error) {
  1828  	fp, err := ParseDeviceHardwareRegisterSessionStatus_FieldPath(pathStr)
  1829  	if err != nil {
  1830  		return nil, err
  1831  	}
  1832  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1833  	if err != nil {
  1834  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array of values from %s: %v", valuesStr, err)
  1835  	}
  1836  	return fpaov.(DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues), nil
  1837  }
  1838  
  1839  func MustParseDeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues(pathStr, valuesStr string) DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues {
  1840  	fpaov, err := ParseDeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues(pathStr, valuesStr)
  1841  	if err != nil {
  1842  		panic(err)
  1843  	}
  1844  	return fpaov
  1845  }
  1846  
  1847  type DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues struct {
  1848  	DeviceHardwareRegisterSessionStatus_FieldTerminalPath
  1849  	values interface{}
  1850  }
  1851  
  1852  var _ DeviceHardwareRegisterSessionStatus_FieldPathArrayOfValues = (*DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues)(nil)
  1853  
  1854  func (fpaov *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1855  	switch fpaov.selector {
  1856  	case DeviceHardwareRegisterSessionStatus_FieldPathSelectorDeviceHardwares:
  1857  		for _, v := range fpaov.values.([][]*device_hardware.Name) {
  1858  			values = append(values, v)
  1859  		}
  1860  	}
  1861  	return
  1862  }
  1863  func (fpaov *DeviceHardwareRegisterSessionStatus_FieldTerminalPathArrayOfValues) AsDeviceHardwaresArrayOfValues() ([][]*device_hardware.Name, bool) {
  1864  	res, ok := fpaov.values.([][]*device_hardware.Name)
  1865  	return res, ok
  1866  }