blob: e71a17b71214433bf90ed9a17840bbb2803ae3a1 [file]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package model
import (
"context"
"fmt"
"github.com/rs/zerolog"
"github.com/apache/plc4x/plc4go/spi/errors"
"github.com/apache/plc4x/plc4go/spi/utils"
)
// Code generated by code-generation. DO NOT EDIT.
// CIPStatus is an enum
type CIPStatus uint32
type ICIPStatus interface {
fmt.Stringer
utils.LengthAware
utils.Serializable
}
const (
CIPStatus_Success CIPStatus = 0x00000000
CIPStatus_ConnectionFailure CIPStatus = 0x00000001
CIPStatus_ResourceUnAvailable CIPStatus = 0x00000002
CIPStatus_InvalidParameterValue CIPStatus = 0x00000003
CIPStatus_PathSegmentError CIPStatus = 0x00000004
CIPStatus_PathDestinationUnknown CIPStatus = 0x00000005
CIPStatus_PartialTransfer CIPStatus = 0x00000006
CIPStatus_ConnectionIDNotValid CIPStatus = 0x00000007
CIPStatus_ServiceNotSupported CIPStatus = 0x00000008
CIPStatus_InvalidAttributeValue CIPStatus = 0x00000009
CIPStatus_AttributeListError CIPStatus = 0x0000000A
CIPStatus_AlreadyInRequestedState CIPStatus = 0x0000000B
CIPStatus_ObjectStateConflict CIPStatus = 0x0000000C
CIPStatus_ObjectAlreadyExists CIPStatus = 0x0000000D
CIPStatus_AttributeNotSettable CIPStatus = 0x0000000E
CIPStatus_PrivilegeViolation CIPStatus = 0x0000000F
CIPStatus_DeviceStateConflict CIPStatus = 0x00000010
CIPStatus_ReplyDataTooLarge CIPStatus = 0x00000011
CIPStatus_FragmentationOfPrimitiveValue CIPStatus = 0x00000012
CIPStatus_NotEnoughData CIPStatus = 0x00000013
CIPStatus_AttributeNotSupported CIPStatus = 0x00000014
CIPStatus_TooMuchData CIPStatus = 0x00000015
CIPStatus_ObjectDoesNotExist CIPStatus = 0x00000016
CIPStatus_ServiceFragmentation CIPStatus = 0x00000017
CIPStatus_NoStoredAttributeData CIPStatus = 0x00000018
CIPStatus_StoreOperationFailure CIPStatus = 0x00000019
CIPStatus_RequestPacketTooLarge CIPStatus = 0x0000001A
CIPStatus_ResponsePacketTooLarge CIPStatus = 0x0000001B
CIPStatus_MissingAttributeListEntryData CIPStatus = 0x0000001C
CIPStatus_InvalidAttributeValueList CIPStatus = 0x0000001D
CIPStatus_EmbeddedServiceError CIPStatus = 0x0000001E
CIPStatus_VendorSpecificError CIPStatus = 0x0000001F
CIPStatus_InvalidCommandWithWrongEndianess CIPStatus = 0x01000000
)
var CIPStatusValues []CIPStatus
func init() {
_ = errors.New
CIPStatusValues = []CIPStatus{
CIPStatus_Success,
CIPStatus_ConnectionFailure,
CIPStatus_ResourceUnAvailable,
CIPStatus_InvalidParameterValue,
CIPStatus_PathSegmentError,
CIPStatus_PathDestinationUnknown,
CIPStatus_PartialTransfer,
CIPStatus_ConnectionIDNotValid,
CIPStatus_ServiceNotSupported,
CIPStatus_InvalidAttributeValue,
CIPStatus_AttributeListError,
CIPStatus_AlreadyInRequestedState,
CIPStatus_ObjectStateConflict,
CIPStatus_ObjectAlreadyExists,
CIPStatus_AttributeNotSettable,
CIPStatus_PrivilegeViolation,
CIPStatus_DeviceStateConflict,
CIPStatus_ReplyDataTooLarge,
CIPStatus_FragmentationOfPrimitiveValue,
CIPStatus_NotEnoughData,
CIPStatus_AttributeNotSupported,
CIPStatus_TooMuchData,
CIPStatus_ObjectDoesNotExist,
CIPStatus_ServiceFragmentation,
CIPStatus_NoStoredAttributeData,
CIPStatus_StoreOperationFailure,
CIPStatus_RequestPacketTooLarge,
CIPStatus_ResponsePacketTooLarge,
CIPStatus_MissingAttributeListEntryData,
CIPStatus_InvalidAttributeValueList,
CIPStatus_EmbeddedServiceError,
CIPStatus_VendorSpecificError,
CIPStatus_InvalidCommandWithWrongEndianess,
}
}
func CIPStatusByValue(value uint32) (enum CIPStatus, ok bool) {
switch value {
case 0x00000000:
return CIPStatus_Success, true
case 0x00000001:
return CIPStatus_ConnectionFailure, true
case 0x00000002:
return CIPStatus_ResourceUnAvailable, true
case 0x00000003:
return CIPStatus_InvalidParameterValue, true
case 0x00000004:
return CIPStatus_PathSegmentError, true
case 0x00000005:
return CIPStatus_PathDestinationUnknown, true
case 0x00000006:
return CIPStatus_PartialTransfer, true
case 0x00000007:
return CIPStatus_ConnectionIDNotValid, true
case 0x00000008:
return CIPStatus_ServiceNotSupported, true
case 0x00000009:
return CIPStatus_InvalidAttributeValue, true
case 0x0000000A:
return CIPStatus_AttributeListError, true
case 0x0000000B:
return CIPStatus_AlreadyInRequestedState, true
case 0x0000000C:
return CIPStatus_ObjectStateConflict, true
case 0x0000000D:
return CIPStatus_ObjectAlreadyExists, true
case 0x0000000E:
return CIPStatus_AttributeNotSettable, true
case 0x0000000F:
return CIPStatus_PrivilegeViolation, true
case 0x00000010:
return CIPStatus_DeviceStateConflict, true
case 0x00000011:
return CIPStatus_ReplyDataTooLarge, true
case 0x00000012:
return CIPStatus_FragmentationOfPrimitiveValue, true
case 0x00000013:
return CIPStatus_NotEnoughData, true
case 0x00000014:
return CIPStatus_AttributeNotSupported, true
case 0x00000015:
return CIPStatus_TooMuchData, true
case 0x00000016:
return CIPStatus_ObjectDoesNotExist, true
case 0x00000017:
return CIPStatus_ServiceFragmentation, true
case 0x00000018:
return CIPStatus_NoStoredAttributeData, true
case 0x00000019:
return CIPStatus_StoreOperationFailure, true
case 0x0000001A:
return CIPStatus_RequestPacketTooLarge, true
case 0x0000001B:
return CIPStatus_ResponsePacketTooLarge, true
case 0x0000001C:
return CIPStatus_MissingAttributeListEntryData, true
case 0x0000001D:
return CIPStatus_InvalidAttributeValueList, true
case 0x0000001E:
return CIPStatus_EmbeddedServiceError, true
case 0x0000001F:
return CIPStatus_VendorSpecificError, true
case 0x01000000:
return CIPStatus_InvalidCommandWithWrongEndianess, true
}
return 0, false
}
func CIPStatusByName(value string) (enum CIPStatus, ok bool) {
switch value {
case "Success":
return CIPStatus_Success, true
case "ConnectionFailure":
return CIPStatus_ConnectionFailure, true
case "ResourceUnAvailable":
return CIPStatus_ResourceUnAvailable, true
case "InvalidParameterValue":
return CIPStatus_InvalidParameterValue, true
case "PathSegmentError":
return CIPStatus_PathSegmentError, true
case "PathDestinationUnknown":
return CIPStatus_PathDestinationUnknown, true
case "PartialTransfer":
return CIPStatus_PartialTransfer, true
case "ConnectionIDNotValid":
return CIPStatus_ConnectionIDNotValid, true
case "ServiceNotSupported":
return CIPStatus_ServiceNotSupported, true
case "InvalidAttributeValue":
return CIPStatus_InvalidAttributeValue, true
case "AttributeListError":
return CIPStatus_AttributeListError, true
case "AlreadyInRequestedState":
return CIPStatus_AlreadyInRequestedState, true
case "ObjectStateConflict":
return CIPStatus_ObjectStateConflict, true
case "ObjectAlreadyExists":
return CIPStatus_ObjectAlreadyExists, true
case "AttributeNotSettable":
return CIPStatus_AttributeNotSettable, true
case "PrivilegeViolation":
return CIPStatus_PrivilegeViolation, true
case "DeviceStateConflict":
return CIPStatus_DeviceStateConflict, true
case "ReplyDataTooLarge":
return CIPStatus_ReplyDataTooLarge, true
case "FragmentationOfPrimitiveValue":
return CIPStatus_FragmentationOfPrimitiveValue, true
case "NotEnoughData":
return CIPStatus_NotEnoughData, true
case "AttributeNotSupported":
return CIPStatus_AttributeNotSupported, true
case "TooMuchData":
return CIPStatus_TooMuchData, true
case "ObjectDoesNotExist":
return CIPStatus_ObjectDoesNotExist, true
case "ServiceFragmentation":
return CIPStatus_ServiceFragmentation, true
case "NoStoredAttributeData":
return CIPStatus_NoStoredAttributeData, true
case "StoreOperationFailure":
return CIPStatus_StoreOperationFailure, true
case "RequestPacketTooLarge":
return CIPStatus_RequestPacketTooLarge, true
case "ResponsePacketTooLarge":
return CIPStatus_ResponsePacketTooLarge, true
case "MissingAttributeListEntryData":
return CIPStatus_MissingAttributeListEntryData, true
case "InvalidAttributeValueList":
return CIPStatus_InvalidAttributeValueList, true
case "EmbeddedServiceError":
return CIPStatus_EmbeddedServiceError, true
case "VendorSpecificError":
return CIPStatus_VendorSpecificError, true
case "InvalidCommandWithWrongEndianess":
return CIPStatus_InvalidCommandWithWrongEndianess, true
}
return 0, false
}
func CIPStatusKnows(value uint32) bool {
for _, typeValue := range CIPStatusValues {
if uint32(typeValue) == value {
return true
}
}
return false
}
func CastCIPStatus(structType any) CIPStatus {
castFunc := func(typ any) CIPStatus {
if sCIPStatus, ok := typ.(CIPStatus); ok {
return sCIPStatus
}
return 0
}
return castFunc(structType)
}
func (m CIPStatus) GetLengthInBits(ctx context.Context) uint16 {
return 32
}
func (m CIPStatus) GetLengthInBytes(ctx context.Context) uint16 {
return m.GetLengthInBits(ctx) / 8
}
func CIPStatusParse(ctx context.Context, theBytes []byte) (CIPStatus, error) {
return CIPStatusParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes))
}
func CIPStatusParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (CIPStatus, error) {
log := zerolog.Ctx(ctx)
_ = log
val, err := /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.ReadUint32("CIPStatus", 32)
if err != nil {
return 0, errors.Wrap(err, "error reading CIPStatus")
}
if enum, ok := CIPStatusByValue(val); !ok {
log.Debug().Interface("val", val).Msg("no value val found for CIPStatus")
return CIPStatus(val), nil
} else {
return enum, nil
}
}
func (e CIPStatus) Serialize() ([]byte, error) {
wb := utils.NewWriteBufferByteBased()
if err := e.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
return nil, err
}
return wb.GetBytes(), nil
}
func (e CIPStatus) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
log := zerolog.Ctx(ctx)
_ = log
return /*TODO: migrate me*/ writeBuffer.WriteUint32("CIPStatus", 32, uint32(uint32(e)), utils.WithAdditionalStringRepresentation(e.PLC4XEnumName()))
}
func (e CIPStatus) GetValue() uint32 {
return uint32(e)
}
// PLC4XEnumName returns the name that is used in code to identify this enum
func (e CIPStatus) PLC4XEnumName() string {
switch e {
case CIPStatus_Success:
return "Success"
case CIPStatus_ConnectionFailure:
return "ConnectionFailure"
case CIPStatus_ResourceUnAvailable:
return "ResourceUnAvailable"
case CIPStatus_InvalidParameterValue:
return "InvalidParameterValue"
case CIPStatus_PathSegmentError:
return "PathSegmentError"
case CIPStatus_PathDestinationUnknown:
return "PathDestinationUnknown"
case CIPStatus_PartialTransfer:
return "PartialTransfer"
case CIPStatus_ConnectionIDNotValid:
return "ConnectionIDNotValid"
case CIPStatus_ServiceNotSupported:
return "ServiceNotSupported"
case CIPStatus_InvalidAttributeValue:
return "InvalidAttributeValue"
case CIPStatus_AttributeListError:
return "AttributeListError"
case CIPStatus_AlreadyInRequestedState:
return "AlreadyInRequestedState"
case CIPStatus_ObjectStateConflict:
return "ObjectStateConflict"
case CIPStatus_ObjectAlreadyExists:
return "ObjectAlreadyExists"
case CIPStatus_AttributeNotSettable:
return "AttributeNotSettable"
case CIPStatus_PrivilegeViolation:
return "PrivilegeViolation"
case CIPStatus_DeviceStateConflict:
return "DeviceStateConflict"
case CIPStatus_ReplyDataTooLarge:
return "ReplyDataTooLarge"
case CIPStatus_FragmentationOfPrimitiveValue:
return "FragmentationOfPrimitiveValue"
case CIPStatus_NotEnoughData:
return "NotEnoughData"
case CIPStatus_AttributeNotSupported:
return "AttributeNotSupported"
case CIPStatus_TooMuchData:
return "TooMuchData"
case CIPStatus_ObjectDoesNotExist:
return "ObjectDoesNotExist"
case CIPStatus_ServiceFragmentation:
return "ServiceFragmentation"
case CIPStatus_NoStoredAttributeData:
return "NoStoredAttributeData"
case CIPStatus_StoreOperationFailure:
return "StoreOperationFailure"
case CIPStatus_RequestPacketTooLarge:
return "RequestPacketTooLarge"
case CIPStatus_ResponsePacketTooLarge:
return "ResponsePacketTooLarge"
case CIPStatus_MissingAttributeListEntryData:
return "MissingAttributeListEntryData"
case CIPStatus_InvalidAttributeValueList:
return "InvalidAttributeValueList"
case CIPStatus_EmbeddedServiceError:
return "EmbeddedServiceError"
case CIPStatus_VendorSpecificError:
return "VendorSpecificError"
case CIPStatus_InvalidCommandWithWrongEndianess:
return "InvalidCommandWithWrongEndianess"
}
return fmt.Sprintf("Unknown(%v)", uint32(e))
}
func (e CIPStatus) String() string {
return e.PLC4XEnumName()
}