Documentation
¶
Index ¶
- Constants
- Variables
- func AddCaseAcronym(s string)
- func CamelCase(s string) string
- func CanonicalSectionTypeName(st Section) string
- func Case(s string) string
- func CaseWithSeparator(s string, separator rune) string
- func ContainsNumber(s []*Number, n *Number) bool
- func EntityConformance(entity types.Entity) conformance.Set
- func EntityConstraint(entity types.Entity) constraint.Constraint
- func EntityFallback(entity types.Entity) constraint.Limit
- func EntityName(e types.Entity) string
- func GetColumnName(column TableColumn, overrides map[TableColumn]TableColumn) (name string, ok bool)
- func IsFabricScopingAllowed(e types.Entity) bool
- func IsFabricSensitivityAllowed(e types.Entity) bool
- func LogEntity(key string, en types.Entity) slog.Attr
- func NonGlobalIDInvalidForEntity(n *Number, entityType types.EntityType) bool
- func ParseFormattedIDRange(s string) (from *Number, fromFormat types.NumberFormat, to *Number, ...)
- func ParseIDRange(s string) (from *Number, to *Number)
- func SortNumbers(s []*Number)
- func StripDataTypeSuffixes(dataType string) string
- func StripReferenceSuffixes(newID string) string
- func StripTypeSuffixes(dataType string) string
- func Uncase(s string) string
- type Access
- type AnonymousBitmap
- type AnonymousEnum
- type AssociatedDataTypes
- func (adt *AssociatedDataTypes) AddBitmaps(bitmaps ...*Bitmap)
- func (adt *AssociatedDataTypes) AddConstants(constants ...*Constant)
- func (adt *AssociatedDataTypes) AddDataTypes(entities ...types.Entity)
- func (adt *AssociatedDataTypes) AddEnums(enums ...*Enum)
- func (adt *AssociatedDataTypes) AddStructs(structs ...*Struct)
- func (adt *AssociatedDataTypes) AddTypeDefs(typeDefs ...*TypeDef)
- func (adt *AssociatedDataTypes) MoveStruct(s *Struct)
- type Bit
- type BitSet
- type Bitmap
- func (bm *Bitmap) AddBit(b *BitmapBit)
- func (bm *Bitmap) BaseDataType() types.BaseDataType
- func (bm *Bitmap) Clone() *Bitmap
- func (bm *Bitmap) CloneTo(parent types.Entity) *Bitmap
- func (e Bitmap) Cluster() *Cluster
- func (bm *Bitmap) EntityType() types.EntityType
- func (bm *Bitmap) Equals(e types.Entity) bool
- func (bm *Bitmap) Identifier(id string) (types.Entity, bool)
- func (bm *Bitmap) Inherit(parent *Bitmap) error
- func (bm *Bitmap) NullValue() uint64
- func (e Bitmap) Origin() (path string, line int)
- func (e Bitmap) Parent() types.Entity
- func (bm *Bitmap) Size() int
- func (e Bitmap) Source() asciidoc.Element
- type BitmapBit
- func (bmb *BitmapBit) Bit() string
- func (bmb *BitmapBit) Bits() (from uint64, to uint64, err error)
- func (bmb *BitmapBit) Clone() Bit
- func (bmb *BitmapBit) CloneTo(parent types.Entity) Bit
- func (e BitmapBit) Cluster() *Cluster
- func (bmb *BitmapBit) Conformance() conformance.Set
- func (bmb *BitmapBit) EntityType() types.EntityType
- func (bmb *BitmapBit) Equals(e types.Entity) bool
- func (bmb *BitmapBit) GetConformance() conformance.Set
- func (bmb *BitmapBit) Inherit(parent Bit) error
- func (bmb *BitmapBit) MarshalJSON() ([]byte, error)
- func (bmb *BitmapBit) Mask() (uint64, error)
- func (bmb *BitmapBit) Name() string
- func (e BitmapBit) Origin() (path string, line int)
- func (e BitmapBit) Parent() types.Entity
- func (e BitmapBit) Source() asciidoc.Element
- func (bmb *BitmapBit) Summary() string
- type BitmapSet
- type Cluster
- func (c *Cluster) Cluster() *Cluster
- func (c *Cluster) EntityType() types.EntityType
- func (c *Cluster) Equals(e types.Entity) bool
- func (c *Cluster) Inherit(parent *Cluster) (linkedEntities []types.Entity, err error)
- func (e Cluster) Origin() (path string, line int)
- func (e Cluster) Parent() types.Entity
- func (e Cluster) Source() asciidoc.Element
- type ClusterClassification
- type ClusterComposition
- type ClusterGroup
- type ClusterRequirement
- func (cr *ClusterRequirement) Clone() *ClusterRequirement
- func (e ClusterRequirement) Cluster() *Cluster
- func (cr *ClusterRequirement) EntityType() types.EntityType
- func (e ClusterRequirement) Origin() (path string, line int)
- func (e ClusterRequirement) Parent() types.Entity
- func (e ClusterRequirement) Source() asciidoc.Element
- type Command
- func (c *Command) Clone() *Command
- func (e Command) Cluster() *Cluster
- func (c *Command) EntityType() types.EntityType
- func (c *Command) Equals(e types.Entity) bool
- func (c *Command) GetConformance() conformance.Set
- func (c *Command) Inherit(parent *Command)
- func (e Command) Origin() (path string, line int)
- func (e Command) Parent() types.Entity
- func (e Command) Source() asciidoc.Element
- type CommandDirection
- type CommandSet
- type Condition
- type ConditionRequirement
- type Constant
- func (s *Constant) Clone() *Constant
- func (e Constant) Cluster() *Cluster
- func (*Constant) EntityType() types.EntityType
- func (s *Constant) Inherit(parent *Constant)
- func (e Constant) Origin() (path string, line int)
- func (e Constant) Parent() types.Entity
- func (e Constant) Source() asciidoc.Element
- type ConstantSet
- type ConstraintContext
- func (cc *ConstraintContext) Child(field *Field, fields FieldSet) *ConstraintContext
- func (cc *ConstraintContext) DataType() *types.DataType
- func (cc *ConstraintContext) Fallback(entity types.Entity, field constraint.Limit) (def types.DataTypeExtreme)
- func (cc *ConstraintContext) MaxEntityValue(entity types.Entity, field constraint.Limit) (max types.DataTypeExtreme)
- func (cc *ConstraintContext) MinEntityValue(entity types.Entity, field constraint.Limit) (min types.DataTypeExtreme)
- func (cc *ConstraintContext) Nullable() bool
- type DataTypeCategory
- type DeviceType
- type DeviceTypeClusterRequirement
- func (dtcr *DeviceTypeClusterRequirement) Clone() *DeviceTypeClusterRequirement
- func (e DeviceTypeClusterRequirement) Cluster() *Cluster
- func (e DeviceTypeClusterRequirement) Origin() (path string, line int)
- func (e DeviceTypeClusterRequirement) Parent() types.Entity
- func (e DeviceTypeClusterRequirement) Source() asciidoc.Element
- type DeviceTypeComposition
- type DeviceTypeElementRequirement
- func (dter *DeviceTypeElementRequirement) Clone() *DeviceTypeElementRequirement
- func (e DeviceTypeElementRequirement) Cluster() *Cluster
- func (e DeviceTypeElementRequirement) Origin() (path string, line int)
- func (e DeviceTypeElementRequirement) Parent() types.Entity
- func (e DeviceTypeElementRequirement) Source() asciidoc.Element
- type DeviceTypeRequirement
- func (dtr *DeviceTypeRequirement) Clone() *DeviceTypeRequirement
- func (e DeviceTypeRequirement) Cluster() *Cluster
- func (dtr *DeviceTypeRequirement) EntityType() types.EntityType
- func (e DeviceTypeRequirement) Origin() (path string, line int)
- func (e DeviceTypeRequirement) Parent() types.Entity
- func (e DeviceTypeRequirement) Source() asciidoc.Element
- type DeviceTypeRequirementLocation
- type DeviceTypeTagRequirement
- func (dtcr *DeviceTypeTagRequirement) Clone() *DeviceTypeTagRequirement
- func (e DeviceTypeTagRequirement) Cluster() *Cluster
- func (e DeviceTypeTagRequirement) Origin() (path string, line int)
- func (e DeviceTypeTagRequirement) Parent() types.Entity
- func (e DeviceTypeTagRequirement) Source() asciidoc.Element
- type DocType
- type Domain
- type ElementComposition
- type ElementRequirement
- func (er *ElementRequirement) Clone() *ElementRequirement
- func (e ElementRequirement) Cluster() *Cluster
- func (er *ElementRequirement) EntityType() types.EntityType
- func (e ElementRequirement) Origin() (path string, line int)
- func (e ElementRequirement) Parent() types.Entity
- func (e ElementRequirement) Source() asciidoc.Element
- type Enum
- func (e *Enum) BaseDataType() types.BaseDataType
- func (e *Enum) Clone() *Enum
- func (e Enum) Cluster() *Cluster
- func (*Enum) EntityType() types.EntityType
- func (en *Enum) Equals(e types.Entity) bool
- func (e *Enum) Inherit(parent *Enum) error
- func (e *Enum) NullValue() uint64
- func (e Enum) Origin() (path string, line int)
- func (e Enum) Parent() types.Entity
- func (e Enum) Source() asciidoc.Element
- type EnumSet
- type EnumValue
- func (ev *EnumValue) Clone() *EnumValue
- func (e EnumValue) Cluster() *Cluster
- func (ev *EnumValue) EntityType() types.EntityType
- func (ev *EnumValue) Equals(e types.Entity) bool
- func (ev *EnumValue) GetConformance() conformance.Set
- func (e EnumValue) Origin() (path string, line int)
- func (e EnumValue) Parent() types.Entity
- func (e EnumValue) Source() asciidoc.Element
- type EnumValueSet
- type Event
- func (e *Event) Clone() *Event
- func (e Event) Cluster() *Cluster
- func (e *Event) EntityType() types.EntityType
- func (ev *Event) Equals(e types.Entity) bool
- func (e *Event) GetConformance() conformance.Set
- func (e *Event) Inherit(parent *Event)
- func (e Event) Origin() (path string, line int)
- func (e Event) Parent() types.Entity
- func (e Event) Source() asciidoc.Element
- type EventSet
- type FabricScoping
- type FabricSensitivity
- type Feature
- func (f *Feature) Clone() Bit
- func (f *Feature) CloneTo(parent types.Entity) Bit
- func (e Feature) Cluster() *Cluster
- func (f *Feature) Entity() types.EntityType
- func (f *Feature) Equals(e types.Entity) bool
- func (f *Feature) MarshalJSON() ([]byte, error)
- func (e Feature) Origin() (path string, line int)
- func (e Feature) Parent() types.Entity
- func (e Feature) Source() asciidoc.Element
- type Features
- func (fs *Features) AddFeatureBit(b *Feature)
- func (fs *Features) Clone() *Features
- func (fs *Features) CloneTo(cluster *Cluster) *Features
- func (e Features) Cluster() *Cluster
- func (fs *Features) FeatureBits() iter.Seq[*Feature]
- func (fs *Features) Identifier(id string) (types.Entity, bool)
- func (e Features) Origin() (path string, line int)
- func (e Features) Parent() types.Entity
- func (e Features) Source() asciidoc.Element
- type Field
- func (f *Field) Clone() *Field
- func (e Field) Cluster() *Cluster
- func (f *Field) EntityType() types.EntityType
- func (f *Field) Equals(e types.Entity) bool
- func (f *Field) GetConformance() conformance.Set
- func (f *Field) Inherit(parent *Field)
- func (e Field) Origin() (path string, line int)
- func (e Field) Parent() types.Entity
- func (e Field) Source() asciidoc.Element
- type FieldSet
- type Interface
- type Namespace
- type Number
- func (n *Number) Clone() *Number
- func (n *Number) Compare(oid *Number) int
- func (n *Number) Equals(oid *Number) bool
- func (n *Number) Format() types.NumberFormat
- func (n *Number) HexString() string
- func (n *Number) IntString() string
- func (n *Number) Is(oid uint64) bool
- func (n Number) MarshalJSON() ([]byte, error)
- func (n *Number) ShortHexString() string
- func (n *Number) Text() string
- func (n *Number) UnmarshalJSON(data []byte) error
- func (n *Number) Valid() bool
- func (n *Number) Value() uint64
- type Privilege
- type Quality
- type RequirementOrigin
- type Revision
- type Section
- type SemanticTag
- type Source
- type Struct
- func (s *Struct) Clone() *Struct
- func (e Struct) Cluster() *Cluster
- func (*Struct) EntityType() types.EntityType
- func (s *Struct) Equals(e types.Entity) bool
- func (s *Struct) Inherit(parent *Struct)
- func (e Struct) Origin() (path string, line int)
- func (e Struct) Parent() types.Entity
- func (e Struct) Source() asciidoc.Element
- type StructSet
- type Table
- type TableColumn
- type TableType
- type TagRequirement
- type Timing
- type TypeDef
- type TypeDefSet
Constants ¶
View Source
const ( QualityNone Quality = 0 QualityNullable = 1 << (iota - 1) QualityNonVolatile = 1 << (iota - 1) QualityFixed = 1 << (iota - 1) QualityScene = 1 << (iota - 1) QualityReportable = 1 << (iota - 1) QualityChangedOmitted = 1 << (iota - 1) QualityDiagnostics = 1 << (iota - 1) QualitySingleton = 1 << (iota - 1) QualityLargeMessage = 1 << (iota - 1) QualitySourceAttribution = 1 << (iota - 1) QualityAtomicWrite = 1 << (iota - 1) QualityQuieterReporting = 1 << (iota - 1) QualityAll = QualityNullable | QualityNonVolatile | QualityFixed | QualityScene | QualityReportable | QualityChangedOmitted | QualityDiagnostics | QualitySingleton | QualityLargeMessage | QualitySourceAttribution | QualityAtomicWrite | QualityQuieterReporting )
Variables ¶
View Source
var AllowedQualities = map[types.EntityType]Quality{ types.EntityTypeAttribute: QualitySourceAttribution | QualityChangedOmitted | QualityFixed | QualityNonVolatile | QualityQuieterReporting | QualityScene | QualityAtomicWrite | QualityNullable, types.EntityTypeCommand: QualityLargeMessage, types.EntityTypeCommandField: QualitySourceAttribution | QualityChangedOmitted | QualityFixed | QualityNonVolatile | QualityQuieterReporting | QualityScene | QualityAtomicWrite | QualityNullable, types.EntityTypeStructField: QualitySourceAttribution | QualityChangedOmitted | QualityFixed | QualityNonVolatile | QualityQuieterReporting | QualityScene | QualityAtomicWrite | QualityNullable, types.EntityTypeEvent: QualitySourceAttribution, types.EntityTypeEventField: QualitySourceAttribution | QualityChangedOmitted | QualityFixed | QualityNonVolatile | QualityQuieterReporting | QualityScene | QualityAtomicWrite | QualityNullable, types.EntityTypeCluster: QualitySingleton | QualityDiagnostics, }
View Source
var AllowedTableAttributes = map[asciidoc.AttributeName]asciidoc.Elements{ "id": nil, "title": nil, "valign": {asciidoc.NewString("middle")}, "options": {asciidoc.NewString("header")}, }
View Source
var AtomicRequestCommandID = NewNumber(0xFE)
View Source
var AtomicResponseCommandID = NewNumber(0xFD)
View Source
var BannedTableAttributes = [...]string{"cols", "frame", "width"}
View Source
var ClusterIDSectionName = "Cluster ID"
View Source
var ClusterIDsSectionName = "Cluster IDs"
View Source
var CommandsSectionName = "Commands"
View Source
var DataTypeIdentityColumn = map[DataTypeCategory]TableColumn{ DataTypeCategoryBitmap: TableColumnBit, DataTypeCategoryEnum: TableColumnValue, DataTypeCategoryStruct: TableColumnID, }
View Source
var DataTypeOrder = [...]DataTypeCategory{ DataTypeCategoryBitmap, DataTypeCategoryEnum, DataTypeCategoryStruct, }
View Source
var DataTypeSectionOrder = []Section{SectionPrefix, SectionDataTypeConstant, SectionDataTypeDef, SectionDataTypeBitmap, SectionDataTypeEnum, SectionDataTypeStruct, SectionDataTypeDef}
View Source
var DataTypeSuffixes = map[DataTypeCategory]string{ DataTypeCategoryBitmap: "Bitmap", DataTypeCategoryEnum: "Enum", DataTypeCategoryStruct: "Struct", }
View Source
var DeviceRequirementsSectionOrder = []Section{SectionClusterRestrictions, SectionElementRequirements, SectionEndpointComposition, SectionComposedDeviceTypeConditionRequirements, SectionComposedDeviceTypeClusterRequirements, SectionComposedDeviceTypeElementRequirements, SectionSemanticTagRequirements}
View Source
var DisallowedReferenceSuffixes = []string{"Command", "Feature", "Attribute", "Field", "Event"}
View Source
var DocTypeNames = map[DocType]string{ DocTypeUnknown: "Unknown", DocTypeAppClusterIndex: "AppClusterIndex", DocTypeAppClusters: "AppClusters", DocTypeDeviceType: "DeviceType", DocTypeDeviceTypes: "DeviceTypes", DocTypeDeviceTypeIndex: "DeviceTypeIndex", DocTypeCluster: "Cluster", DocTypeCommonProtocol: "CommonProtocol", DocTypeDataModel: "DataModel", DocTypeDeviceAttestation: "DeviceAttestation", DocTypeMultiAdmin: "MultiAdmin", DocTypeNamespace: "Namespace", DocTypeNamespaces: "Namespaces", DocTypeQRCode: "QRCode", DocTypeRendezvous: "Rendezvous", DocTypeSecureChannel: "SecureChannel", DocTypeServiceDeviceManagement: "ServiceDeviceManagement", DocTypeSoftAP: "SoftAP", DocTypeBaseDeviceType: "BaseDeviceType", }
View Source
var DomainNames = map[Domain]string{ DomainUnknown: "Unknown", DomainGeneral: "General", DomainCHIP: "CHIP", DomainMedia: "Media", DomainLighting: "Lighting", DomainAppliances: "Appliances", DomainClosures: "Closures", DomainHVAC: "HVAC", DomainMeasurementAndSensing: "Measurement & Sensing", DomainRobots: "Robots", DomainHomeAutomation: "Home Automation", DomainEnergyManagement: "Energy Management", DomainNetworkInfrastructure: "Network Infrastructure", DomainCameras: "Cameras", }
View Source
var InvalidID = &Number{value: -1}
View Source
var PrivilegeNames = map[Privilege]string{ PrivilegeUnknown: "Unknown", PrivilegeView: "View", PrivilegeOperate: "Operate", PrivilegeManage: "Manage", PrivilegeAdminister: "Administer", }
View Source
var PrivilegeNamesShort = map[Privilege]string{ PrivilegeUnknown: "Unknown", PrivilegeView: "View", PrivilegeOperate: "Operate", PrivilegeManage: "Manage", PrivilegeAdminister: "Admin", }
View Source
var TableColumnNames = map[TableColumn]string{ TableColumnUnknown: "Unknown", TableColumnID: "ID", TableColumnName: "Name", TableColumnType: "Type", TableColumnConstraint: "Constraint", TableColumnQuality: "Quality", TableColumnFallback: "Fallback", TableColumnAccess: "Access", TableColumnConformance: "Conformance", TableColumnPriority: "Priority", TableColumnHierarchy: "Hierarchy", TableColumnRole: "Role", TableColumnContext: "Context", TableColumnScope: "Scope", TableColumnPICS: "PICS", TableColumnPICSCode: "PICS Code", TableColumnValue: "Value", TableColumnBit: "Bit", TableColumnCode: "Code", TableColumnStatusCode: "Status Code", TableColumnFeature: "Feature", TableColumnClusterID: "Cluster ID", TableColumnEventID: "Event ID", TableColumnCommandID: "Command ID", TableColumnDevice: "Device", TableColumnDeviceID: "Device Type ID", TableColumnDeviceName: "Device Type Name", TableColumnSupersetOf: "Superset Of", TableColumnClass: "Class", TableColumnDirection: "Direction", TableColumnDescription: "Description", TableColumnRevision: "Revision", TableColumnResponse: "Response", TableColumnSummary: "Summary", TableColumnCluster: "Cluster", TableColumnClusterName: "Cluster Name", TableColumnElement: "Element", TableColumnClientServer: "Client/Server", TableColumnCondition: "Condition", TableColumnConditionID: "Condition ID", TableColumnModeTagValue: "Mode Tag Value", TableColumnNamespace: "Namespace", TableColumnNamespaceID: "Namespace ID", TableColumnTag: "Tag", TableColumnTagID: "Tag ID", TableColumnLocation: "Location", TableColumnField: "Field", TableColumnFieldID: "Field ID", }
View Source
var Tables = map[TableType]Table{ TableTypeAttributes: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnType, TableColumnConstraint, TableColumnQuality, TableColumnFallback, TableColumnAccess, TableColumnConformance, }, }, TableTypeAppClusterClassification: { ColumnOrder: []TableColumn{ TableColumnHierarchy, TableColumnRole, TableColumnScope, TableColumnContext, TableColumnPICS, }, }, TableTypeDeviceTypeClassification: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnSupersetOf, TableColumnClass, TableColumnScope, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnDeviceID, }, }, TableTypeClassification: { ColumnRenames: map[TableColumn]TableColumn{ TableColumnContext: TableColumnScope, TableColumnPICS: TableColumnPICSCode, }, }, TableTypeClusterID: { ColumnOrder: []TableColumn{ TableColumnClusterID, TableColumnClusterName, TableColumnConformance, }, RequiredColumns: []TableColumn{ TableColumnID, TableColumnName, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnClusterID, TableColumnName: TableColumnClusterName, }, }, TableTypeCommands: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnDirection, TableColumnResponse, TableColumnAccess, TableColumnQuality, TableColumnConformance, }, }, TableTypeCommandFields: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnDirection, TableColumnResponse, TableColumnAccess, TableColumnQuality, TableColumnConformance, }, }, TableTypeStruct: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnType, TableColumnConstraint, TableColumnQuality, TableColumnFallback, TableColumnAccess, TableColumnConformance, }, }, TableTypeEnum: { ColumnOrder: []TableColumn{ TableColumnValue, TableColumnName, TableColumnSummary, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnDescription: TableColumnSummary, TableColumnStatusCode: TableColumnValue, TableColumnID: TableColumnValue, }, }, TableTypeBitmap: { ColumnOrder: []TableColumn{ TableColumnBit, TableColumnName, TableColumnSummary, TableColumnConformance, }, }, TableTypeEvents: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnPriority, TableColumnQuality, TableColumnAccess, TableColumnConformance, }, }, TableTypeEventFields: { ColumnOrder: []TableColumn{ TableColumnID, TableColumnName, TableColumnType, TableColumnConstraint, TableColumnQuality, TableColumnFallback, TableColumnConformance, }, }, TableTypeFeatures: { ColumnOrder: []TableColumn{ TableColumnBit, TableColumnCode, TableColumnFeature, TableColumnConformance, TableColumnSummary, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnBit, }, }, TableTypeDeviceTypeRequirements: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnConstraint, TableColumnConformance, TableColumnLocation, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnDeviceID, TableColumnName: TableColumnDeviceName, }, }, TableTypeDeviceID: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnSupersetOf, TableColumnClass, TableColumnScope, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnDeviceID, TableColumnName: TableColumnDeviceName, }, }, TableTypeClusterRequirements: { ColumnOrder: []TableColumn{ TableColumnClusterID, TableColumnClusterName, TableColumnClientServer, TableColumnQuality, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnClusterID, TableColumnName: TableColumnCluster, TableColumnCluster: TableColumnClusterName, }, }, TableTypeElementRequirements: { ColumnOrder: []TableColumn{ TableColumnClusterID, TableColumnClusterName, TableColumnElement, TableColumnName, TableColumnClientServer, TableColumnConformance, TableColumnField, TableColumnQuality, TableColumnConstraint, TableColumnAccess, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnID: TableColumnClusterID, TableColumnCluster: TableColumnClusterName, }, }, TableTypeComposedDeviceTypeClusterRequirements: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnDevice, TableColumnClusterID, TableColumnClusterName, TableColumnCluster, TableColumnClientServer, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnCluster: TableColumnClusterName, TableColumnDevice: TableColumnDeviceName, }, }, TableTypeComposedDeviceTypeElementRequirements: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnClusterID, TableColumnClusterName, TableColumnElement, TableColumnName, TableColumnClientServer, TableColumnConformance, TableColumnField, TableColumnQuality, TableColumnConstraint, TableColumnAccess, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnCluster: TableColumnClusterName, TableColumnDevice: TableColumnDeviceName, }, }, TableTypeConditionRequirements: { ColumnOrder: []TableColumn{ TableColumnLocation, TableColumnDeviceID, TableColumnDeviceName, TableColumnCondition, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnDevice: TableColumnDeviceName, }, }, TableTypeTagRequirements: { ColumnOrder: []TableColumn{ TableColumnDeviceID, TableColumnDeviceName, TableColumnNamespaceID, TableColumnNamespace, TableColumnTagID, TableColumnTag, TableColumnConstraint, TableColumnConformance, }, ColumnRenames: map[TableColumn]TableColumn{ TableColumnDevice: TableColumnDeviceName, }, }, }
View Source
var TopLevelSectionOrders = map[DocType][]Section{ DocTypeCluster: { SectionPrefix, SectionRevisionHistory, SectionClassification, SectionClusterID, SectionFeatures, SectionDependencies, SectionDataTypes, SectionStatusCodes, SectionAttributes, SectionCommands, SectionEvents, }, DocTypeDeviceType: { SectionPrefix, SectionRevisionHistory, SectionClassification, SectionConditions, SectionDeviceTypeRequirements, SectionClusterRequirements, SectionElementRequirements, }, }
Functions ¶
func AddCaseAcronym ¶
func AddCaseAcronym(s string)
func CanonicalSectionTypeName ¶ added in v1.5.48
func Case ¶
Case turns a string with spaces into a valid Matter identifier in Pascal Case It is Unicode-aware, and preserves acronyms e.g. "Level control" becomes "LevelControl", "TV set" becomes "TVSet"
func CaseWithSeparator ¶
Case turns a string with spaces into a valid Matter identifier, with a custom separator rune e.g. "Level control" becomes "Level-Control", "TV set" becomes "TV-Set"
func ContainsNumber ¶
func EntityConformance ¶
func EntityConformance(entity types.Entity) conformance.Set
func EntityConstraint ¶
func EntityConstraint(entity types.Entity) constraint.Constraint
func EntityFallback ¶
func EntityFallback(entity types.Entity) constraint.Limit
func EntityName ¶
func GetColumnName ¶
func GetColumnName(column TableColumn, overrides map[TableColumn]TableColumn) (name string, ok bool)
func IsFabricScopingAllowed ¶
func NonGlobalIDInvalidForEntity ¶
func NonGlobalIDInvalidForEntity(n *Number, entityType types.EntityType) bool
func ParseFormattedIDRange ¶
func ParseFormattedIDRange(s string) (from *Number, fromFormat types.NumberFormat, to *Number, toFormat types.NumberFormat)
func ParseIDRange ¶
func SortNumbers ¶
func SortNumbers(s []*Number)
func StripDataTypeSuffixes ¶
func StripReferenceSuffixes ¶
func StripTypeSuffixes ¶
Types ¶
type Access ¶
type Access struct {
Read Privilege `json:"read,omitempty" yaml:"read,omitempty"`
Write Privilege `json:"write,omitempty" yaml:"write,omitempty"`
Invoke Privilege `json:"invoke,omitempty" yaml:"invoke,omitempty"`
OptionalWrite bool `json:"optionalWrite,omitempty" yaml:"optionalWrite,omitempty"`
FabricScoping FabricScoping `json:"fabricScoped,omitempty" yaml:"fabricScoping,omitempty"`
FabricSensitivity FabricSensitivity `json:"fabricSensitive,omitempty" yaml:"fabricSensitivity,omitempty"`
Timing Timing `json:"timed,omitempty"`
}
func DefaultAccess ¶
func DefaultAccess(entityType types.EntityType) Access
func (Access) IsFabricScoped ¶
func (Access) IsFabricSensitive ¶
type AnonymousBitmap ¶
type AnonymousBitmap struct {
Type *types.DataType `json:"type,omitempty"`
Bits BitSet `json:"bits,omitempty"`
// contains filtered or unexported fields
}
func NewAnonymousBitmap ¶
func NewAnonymousBitmap(source asciidoc.Element, parent types.Entity) *AnonymousBitmap
func (AnonymousBitmap) EntityType ¶
func (AnonymousBitmap) EntityType() types.EntityType
func (*AnonymousBitmap) Size ¶
func (bm *AnonymousBitmap) Size() int
type AnonymousEnum ¶
type AnonymousEnum struct {
Type *types.DataType `json:"type,omitempty"`
Values EnumValueSet `json:"values,omitempty"`
// contains filtered or unexported fields
}
func NewAnonymousEnum ¶
func NewAnonymousEnum(source asciidoc.Element, parent types.Entity) *AnonymousEnum
func (AnonymousEnum) EntityType ¶
func (AnonymousEnum) EntityType() types.EntityType
type AssociatedDataTypes ¶
type AssociatedDataTypes struct {
Bitmaps BitmapSet `json:"bitmaps,omitempty"`
Enums EnumSet `json:"enums,omitempty"`
Structs StructSet `json:"structs,omitempty"`
TypeDefs TypeDefSet `json:"typedefs,omitempty"`
Constants ConstantSet `json:"constants,omitempty"`
// contains filtered or unexported fields
}
func (*AssociatedDataTypes) AddBitmaps ¶
func (adt *AssociatedDataTypes) AddBitmaps(bitmaps ...*Bitmap)
func (*AssociatedDataTypes) AddConstants ¶
func (adt *AssociatedDataTypes) AddConstants(constants ...*Constant)
func (*AssociatedDataTypes) AddDataTypes ¶
func (adt *AssociatedDataTypes) AddDataTypes(entities ...types.Entity)
func (*AssociatedDataTypes) AddEnums ¶
func (adt *AssociatedDataTypes) AddEnums(enums ...*Enum)
func (*AssociatedDataTypes) AddStructs ¶
func (adt *AssociatedDataTypes) AddStructs(structs ...*Struct)
func (*AssociatedDataTypes) AddTypeDefs ¶
func (adt *AssociatedDataTypes) AddTypeDefs(typeDefs ...*TypeDef)
func (*AssociatedDataTypes) MoveStruct ¶
func (adt *AssociatedDataTypes) MoveStruct(s *Struct)
This really exists to allow patching ZAP
type Bitmap ¶
type Bitmap struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Type *types.DataType `json:"type,omitempty"`
Bits BitSet `json:"bits,omitempty"`
// contains filtered or unexported fields
}
func (*Bitmap) BaseDataType ¶
func (bm *Bitmap) BaseDataType() types.BaseDataType
func (*Bitmap) EntityType ¶
func (bm *Bitmap) EntityType() types.EntityType
type BitmapBit ¶
type BitmapBit struct {
// contains filtered or unexported fields
}
func NewBitmapBit ¶
func (*BitmapBit) Conformance ¶
func (bmb *BitmapBit) Conformance() conformance.Set
func (*BitmapBit) EntityType ¶
func (bmb *BitmapBit) EntityType() types.EntityType
func (*BitmapBit) GetConformance ¶
func (bmb *BitmapBit) GetConformance() conformance.Set
func (*BitmapBit) MarshalJSON ¶
type Cluster ¶
type Cluster struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Revisions []*Revision `json:"revisions,omitempty"`
ParentCluster *Cluster `json:"-"`
Conformance conformance.Set `json:"conformance,omitempty"`
ClusterClassification
Features *Features `json:"features,omitempty"`
AssociatedDataTypes
Attributes FieldSet `json:"attributes,omitempty"`
Events EventSet `json:"events,omitempty"`
Commands CommandSet `json:"commands,omitempty"`
// contains filtered or unexported fields
}
func NewCluster ¶
func (*Cluster) EntityType ¶
func (c *Cluster) EntityType() types.EntityType
type ClusterClassification ¶
type ClusterComposition ¶
type ClusterComposition struct {
Cluster *Cluster
Server conformance.ConformanceState
Client conformance.ConformanceState
Elements []*ElementComposition
}
type ClusterGroup ¶
type ClusterGroup struct {
Name string `json:"name,omitempty"`
ClusterClassification
Clusters []*Cluster `json:"clusters"`
AssociatedDataTypes
// contains filtered or unexported fields
}
func NewClusterGroup ¶
func NewClusterGroup(name string, source asciidoc.Element, clusters []*Cluster) *ClusterGroup
func (ClusterGroup) EntityType ¶
func (c ClusterGroup) EntityType() types.EntityType
func (ClusterGroup) Explode ¶
func (c ClusterGroup) Explode() []*Cluster
type ClusterRequirement ¶
type ClusterRequirement struct {
ClusterID *Number `json:"clusterId,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
Quality Quality `json:"quality,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
Interface Interface `json:"interface,omitempty"`
Cluster *Cluster `json:"cluster,omitempty"`
// contains filtered or unexported fields
}
func NewClusterRequirement ¶
func NewClusterRequirement(parent *DeviceType, source asciidoc.Element) *ClusterRequirement
func (*ClusterRequirement) Clone ¶
func (cr *ClusterRequirement) Clone() *ClusterRequirement
func (*ClusterRequirement) EntityType ¶
func (cr *ClusterRequirement) EntityType() types.EntityType
type Command ¶
type Command struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Direction Interface `json:"direction,omitempty"`
Response *types.DataType `json:"response,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
Quality Quality `json:"quality,omitempty"`
Access Access `json:"access,omitempty"`
Fields FieldSet `json:"fields,omitempty"`
// contains filtered or unexported fields
}
func (*Command) EntityType ¶
func (c *Command) EntityType() types.EntityType
func (*Command) GetConformance ¶
func (c *Command) GetConformance() conformance.Set
type CommandDirection ¶
type CommandDirection uint8
type CommandSet ¶
type CommandSet []*Command
func (CommandSet) Identifier ¶
func (cs CommandSet) Identifier(name string) (types.Entity, bool)
func (CommandSet) ToEntities ¶
func (cs CommandSet) ToEntities() []types.Entity
type Condition ¶
type Condition struct {
ID *Number
Feature string
Description string
// contains filtered or unexported fields
}
func NewCondition ¶
func NewCondition(source asciidoc.Element, dt *DeviceType) *Condition
func (*Condition) EntityType ¶
func (c *Condition) EntityType() types.EntityType
func (*Condition) GetConformance ¶
func (c *Condition) GetConformance() conformance.Set
type ConditionRequirement ¶ added in v1.5.39
type ConditionRequirement struct {
DeviceTypeID *Number `json:"deviceTypeId,omitempty"`
DeviceTypeName string `json:"deviceTypeName,omitempty"`
ConditionName string `json:"conditionName,omitempty"`
DeviceType *DeviceType `json:"deviceType,omitempty"`
Location DeviceTypeRequirementLocation `json:"location,omitempty"`
Condition *Condition `json:"condition,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
// contains filtered or unexported fields
}
func NewConditionRequirement ¶ added in v1.5.39
func NewConditionRequirement(parent types.Entity, source asciidoc.Element) *ConditionRequirement
func (ConditionRequirement) Cluster ¶ added in v1.5.39
func (e ConditionRequirement) Cluster() *Cluster
func (*ConditionRequirement) EntityType ¶ added in v1.5.39
func (c *ConditionRequirement) EntityType() types.EntityType
type Constant ¶
type Constant struct {
Name string `json:"name,omitempty"`
Value any `json:"value,omitempty"`
// contains filtered or unexported fields
}
func NewConstant ¶
func (*Constant) EntityType ¶
func (*Constant) EntityType() types.EntityType
type ConstantSet ¶
type ConstantSet []*Constant
func (ConstantSet) Identifier ¶
func (ss ConstantSet) Identifier(name string) (types.Entity, bool)
type ConstraintContext ¶
type ConstraintContext struct {
Field *Field
Fields FieldSet
// contains filtered or unexported fields
}
func NewConstraintContext ¶
func NewConstraintContext(field *Field, fields FieldSet) *ConstraintContext
func (*ConstraintContext) Child ¶
func (cc *ConstraintContext) Child(field *Field, fields FieldSet) *ConstraintContext
func (*ConstraintContext) DataType ¶
func (cc *ConstraintContext) DataType() *types.DataType
func (*ConstraintContext) Fallback ¶
func (cc *ConstraintContext) Fallback(entity types.Entity, field constraint.Limit) (def types.DataTypeExtreme)
func (*ConstraintContext) MaxEntityValue ¶
func (cc *ConstraintContext) MaxEntityValue(entity types.Entity, field constraint.Limit) (max types.DataTypeExtreme)
func (*ConstraintContext) MinEntityValue ¶
func (cc *ConstraintContext) MinEntityValue(entity types.Entity, field constraint.Limit) (min types.DataTypeExtreme)
func (*ConstraintContext) Nullable ¶
func (cc *ConstraintContext) Nullable() bool
type DataTypeCategory ¶
type DataTypeCategory uint8
const ( DataTypeCategoryUnknown DataTypeCategory = iota DataTypeCategoryBitmap DataTypeCategoryEnum DataTypeCategoryStruct )
type DeviceType ¶
type DeviceType struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Revisions []*Revision `json:"revisions,omitempty"`
SupersetOf string `json:"supersetOf,omitempty"`
Class string `json:"class,omitempty"`
Scope string `json:"scope,omitempty"`
SubsetDeviceType *DeviceType `json:"-"`
Conditions []*Condition `json:"conditions,omitempty"`
ClusterRequirements []*ClusterRequirement `json:"clusterRequirements,omitempty"`
ElementRequirements []*ElementRequirement `json:"elementRequirements,omitempty"`
ConditionRequirements []*ConditionRequirement `json:"conditionRequirements,omitempty"`
TagRequirements []*TagRequirement `json:"tagRequirements,omitempty"`
DeviceTypeRequirements []*DeviceTypeRequirement `json:"deviceTypeRequirements,omitempty"`
ComposedDeviceTypeClusterRequirements []*DeviceTypeClusterRequirement `json:"composedDeviceTypeClusterRequirements,omitempty"`
ComposedDeviceTypeElementRequirements []*DeviceTypeElementRequirement `json:"composedDeviceTypeElementRequirements,omitempty"`
ComposedDeviceTagRequirements []*DeviceTypeTagRequirement `json:"composedDeviceSemanticTagRequirements,omitempty"`
// contains filtered or unexported fields
}
func NewDeviceType ¶
func NewDeviceType(source asciidoc.Element) *DeviceType
func (*DeviceType) EntityType ¶
func (dt *DeviceType) EntityType() types.EntityType
func (*DeviceType) Identifier ¶
func (dt *DeviceType) Identifier(name string) (types.Entity, bool)
type DeviceTypeClusterRequirement ¶
type DeviceTypeClusterRequirement struct {
DeviceTypeID *Number `json:"deviceTypeId,omitempty"`
DeviceTypeName string `json:"deviceTypeName,omitempty"`
ClusterRequirement *ClusterRequirement
Origin RequirementOrigin
DeviceType *DeviceType
DeviceTypeRequirement *DeviceTypeRequirement
// contains filtered or unexported fields
}
func NewDeviceTypeClusterRequirement ¶ added in v1.5.39
func NewDeviceTypeClusterRequirement(parent types.Entity, clusterRequirement *ClusterRequirement, source asciidoc.Element) *DeviceTypeClusterRequirement
func (*DeviceTypeClusterRequirement) Clone ¶
func (dtcr *DeviceTypeClusterRequirement) Clone() *DeviceTypeClusterRequirement
func (DeviceTypeClusterRequirement) Cluster ¶ added in v1.5.39
func (e DeviceTypeClusterRequirement) Cluster() *Cluster
type DeviceTypeComposition ¶
type DeviceTypeComposition struct {
DeviceType *DeviceType
DeviceTypeRequirements []*DeviceTypeRequirement
ClusterRequirements []*DeviceTypeClusterRequirement
ElementRequirements []*DeviceTypeElementRequirement
TagRequirements []*DeviceTypeTagRequirement
ComposedDeviceTypes map[DeviceTypeRequirementLocation][]*DeviceTypeComposition
}
func (*DeviceTypeComposition) Clone ¶
func (dc *DeviceTypeComposition) Clone() *DeviceTypeComposition
type DeviceTypeElementRequirement ¶
type DeviceTypeElementRequirement struct {
DeviceTypeID *Number `json:"deviceTypeId,omitempty"`
DeviceTypeName string `json:"deviceTypeName,omitempty"`
ElementRequirement *ElementRequirement
Origin RequirementOrigin
DeviceType *DeviceType
DeviceTypeRequirement *DeviceTypeRequirement
// contains filtered or unexported fields
}
func NewDeviceTypeElementRequirement ¶ added in v1.5.39
func NewDeviceTypeElementRequirement(parent types.Entity, elementRequirement *ElementRequirement, source asciidoc.Element) *DeviceTypeElementRequirement
func (*DeviceTypeElementRequirement) Clone ¶
func (dter *DeviceTypeElementRequirement) Clone() *DeviceTypeElementRequirement
func (DeviceTypeElementRequirement) Cluster ¶ added in v1.5.39
func (e DeviceTypeElementRequirement) Cluster() *Cluster
type DeviceTypeRequirement ¶
type DeviceTypeRequirement struct {
DeviceTypeID *Number `json:"deviceTypeId,omitempty"`
DeviceTypeName string `json:"deviceTypeName,omitempty"`
Constraint constraint.Constraint `json:"constraint,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
AllowsSuperset bool `json:"allowsSuperset,omitempty"`
Location DeviceTypeRequirementLocation `json:"location,omitempty"`
DeviceType *DeviceType `json:"deviceType,omitempty"`
// contains filtered or unexported fields
}
func NewDeviceTypeRequirement ¶
func NewDeviceTypeRequirement(parent *DeviceType, source asciidoc.Element) *DeviceTypeRequirement
func (*DeviceTypeRequirement) Clone ¶
func (dtr *DeviceTypeRequirement) Clone() *DeviceTypeRequirement
func (*DeviceTypeRequirement) EntityType ¶
func (dtr *DeviceTypeRequirement) EntityType() types.EntityType
type DeviceTypeRequirementLocation ¶
type DeviceTypeRequirementLocation uint8
const ( DeviceTypeRequirementLocationUnknown DeviceTypeRequirementLocation = iota DeviceTypeRequirementLocationDeviceEndpoint DeviceTypeRequirementLocationChildEndpoint DeviceTypeRequirementLocationRootEndpoint DeviceTypeRequirementLocationDescendantEndpoint )
func (DeviceTypeRequirementLocation) String ¶
func (s DeviceTypeRequirementLocation) String() string
type DeviceTypeTagRequirement ¶ added in v1.5.45
type DeviceTypeTagRequirement struct {
TagRequirement *TagRequirement
DeviceTypeID *Number `json:"deviceTypeId,omitempty"`
DeviceTypeName string `json:"deviceTypeName,omitempty"`
DeviceType *DeviceType `json:"deviceType,omitempty"`
DeviceTypeRequirement *DeviceTypeRequirement
// contains filtered or unexported fields
}
func NewDeviceTypeTagRequirement ¶ added in v1.5.45
func NewDeviceTypeTagRequirement(parent *DeviceType, source asciidoc.Element) *DeviceTypeTagRequirement
func (*DeviceTypeTagRequirement) Clone ¶ added in v1.5.45
func (dtcr *DeviceTypeTagRequirement) Clone() *DeviceTypeTagRequirement
func (DeviceTypeTagRequirement) Cluster ¶ added in v1.5.45
func (e DeviceTypeTagRequirement) Cluster() *Cluster
type DocType ¶
type DocType uint8
const ( DocTypeUnknown DocType = iota DocTypeCluster DocTypeAppClusterIndex DocTypeAppClusters DocTypeDeviceType DocTypeDeviceTypes DocTypeDeviceTypeIndex DocTypeCommonProtocol DocTypeDataModel DocTypeDeviceAttestation DocTypeMultiAdmin DocTypeNamespace DocTypeNamespaces DocTypeQRCode DocTypeRendezvous DocTypeSecureChannel DocTypeServiceDeviceManagement DocTypeSoftAP DocTypeBaseDeviceType )
type Domain ¶
type Domain uint8
func DomainFromDocType ¶
func (Domain) MarshalYAML ¶
func (*Domain) UnmarshalYAML ¶
type ElementComposition ¶
type ElementComposition struct {
ElementRequirement *ElementRequirement
State conformance.ConformanceState
}
type ElementRequirement ¶
type ElementRequirement struct {
ClusterID *Number `json:"clusterId,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
Element types.EntityType `json:"element,omitempty"`
Name string `json:"name,omitempty"`
Field string `json:"field,omitempty"`
Entity types.Entity `json:"entity,omitempty"`
Constraint constraint.Constraint `json:"constraint,omitempty"`
Quality Quality `json:"quality,omitempty"`
Access Access `json:"access,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
Cluster *Cluster `json:"cluster,omitempty"`
// contains filtered or unexported fields
}
func NewElementRequirement ¶
func NewElementRequirement(parent types.Entity, source asciidoc.Element) ElementRequirement
func (*ElementRequirement) Clone ¶
func (er *ElementRequirement) Clone() *ElementRequirement
func (*ElementRequirement) EntityType ¶
func (er *ElementRequirement) EntityType() types.EntityType
type Enum ¶
type Enum struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Type *types.DataType `json:"type,omitempty"`
Values EnumValueSet `json:"values,omitempty"`
// contains filtered or unexported fields
}
func (*Enum) BaseDataType ¶
func (e *Enum) BaseDataType() types.BaseDataType
func (*Enum) EntityType ¶
func (*Enum) EntityType() types.EntityType
type EnumValue ¶
type EnumValue struct {
Value *Number `json:"value,omitempty"`
Name string `json:"name,omitempty"`
Summary string `json:"summary,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
// contains filtered or unexported fields
}
func (*EnumValue) EntityType ¶
func (ev *EnumValue) EntityType() types.EntityType
func (*EnumValue) GetConformance ¶
func (ev *EnumValue) GetConformance() conformance.Set
type EnumValueSet ¶
type EnumValueSet []*EnumValue
func (EnumValueSet) Identifier ¶
func (es EnumValueSet) Identifier(name string) (types.Entity, bool)
type Event ¶
type Event struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Priority string `json:"priority,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
Access Access `json:"access,omitempty"`
Fields FieldSet `json:"fields,omitempty"`
// contains filtered or unexported fields
}
func (*Event) EntityType ¶
func (e *Event) EntityType() types.EntityType
func (*Event) GetConformance ¶
func (e *Event) GetConformance() conformance.Set
type FabricScoping ¶
type FabricScoping uint8
const ( FabricScopingUnknown FabricScoping = iota FabricScopingScoped FabricScopingUnscoped )
func (FabricScoping) MarshalJSON ¶
func (fs FabricScoping) MarshalJSON() ([]byte, error)
func (FabricScoping) String ¶
func (fs FabricScoping) String() string
func (*FabricScoping) UnmarshalJSON ¶
func (fs *FabricScoping) UnmarshalJSON(data []byte) error
type FabricSensitivity ¶
type FabricSensitivity uint8
const ( FabricSensitivityUnknown FabricSensitivity = iota FabricSensitivitySensitive FabricSensitivityInsensitive )
func (FabricSensitivity) MarshalJSON ¶
func (fs FabricSensitivity) MarshalJSON() ([]byte, error)
func (FabricSensitivity) MarshalYAML ¶
func (fs FabricSensitivity) MarshalYAML() ([]byte, error)
func (FabricSensitivity) String ¶
func (fs FabricSensitivity) String() string
func (*FabricSensitivity) UnmarshalJSON ¶
func (fs *FabricSensitivity) UnmarshalJSON(data []byte) error
func (*FabricSensitivity) UnmarshalYAML ¶
func (fs *FabricSensitivity) UnmarshalYAML(b []byte) error
type Feature ¶
func NewFeature ¶
func (*Feature) Entity ¶
func (f *Feature) Entity() types.EntityType
func (*Feature) MarshalJSON ¶
type Field ¶
type Field struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Type *types.DataType `json:"type,omitempty"`
Constraint constraint.Constraint `json:"constraint,omitempty"`
Quality Quality `json:"quality,omitempty"`
Access Access `json:"access,omitempty"`
Fallback constraint.Limit `json:"fallback,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
// Hopefully this will go away as we continue disco-balling the spec
AnonymousType types.Entity `json:"anonymousType,omitempty"`
// contains filtered or unexported fields
}
func (*Field) EntityType ¶
func (f *Field) EntityType() types.EntityType
func (*Field) GetConformance ¶
func (f *Field) GetConformance() conformance.Set
type Interface ¶
type Interface uint8
func (Interface) MarshalJSON ¶
func (*Interface) UnmarshalJSON ¶
type Namespace ¶
type Namespace struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
SemanticTags []*SemanticTag `json:"semanticTags,omitempty"`
// contains filtered or unexported fields
}
func NewNamespace ¶
func (*Namespace) EntityType ¶
func (*Namespace) EntityType() types.EntityType
type Number ¶
type Number struct {
// contains filtered or unexported fields
}
func NumberFromExtreme ¶
func NumberFromExtreme(de types.DataTypeExtreme) *Number
func ParseFormattedNumber ¶
func ParseFormattedNumber(s string) (*Number, types.NumberFormat)
func ParseNumber ¶
func (*Number) Format ¶
func (n *Number) Format() types.NumberFormat
func (Number) MarshalJSON ¶
func (*Number) ShortHexString ¶
func (*Number) UnmarshalJSON ¶
type Privilege ¶
type Privilege uint8
func DefaultInvokePrivilege ¶
func DefaultInvokePrivilege(entityType types.EntityType) Privilege
func DefaultReadPrivilege ¶
func DefaultReadPrivilege(entityType types.EntityType) Privilege
func DefaultWritePrivilege ¶
func DefaultWritePrivilege(entityType types.EntityType) Privilege
func (Privilege) MarshalJSON ¶
func (Privilege) MarshalXMLAttr ¶
func (*Privilege) UnmarshalJSON ¶
type RequirementOrigin ¶
type RequirementOrigin uint8
const ( RequirementOriginUnknown RequirementOrigin = iota RequirementOriginBaseDeviceType RequirementOriginSubsetDeviceType RequirementOriginComposedDeviceType RequirementOriginDeviceType )
func (RequirementOrigin) Compare ¶
func (s RequirementOrigin) Compare(oro RequirementOrigin) int
func (RequirementOrigin) String ¶
func (s RequirementOrigin) String() string
type Section ¶
type Section uint8
const ( SectionUnknown Section = iota SectionPrefix // Special section type for everything that comes before any known sections SectionTop SectionIntroduction SectionRevisionHistory SectionClassification SectionCluster SectionClusterID SectionFeatures SectionFeature SectionDependencies SectionDataTypes SectionDataTypeBitmap SectionDataTypeEnum SectionDataTypeStruct SectionDeviceType SectionStatusCodes SectionAttributes SectionAttribute SectionCommands SectionCommand SectionEvents SectionEvent SectionNamespace SectionConditions SectionDeviceTypeRequirements SectionClusterRequirements SectionClusterRestrictions SectionElementRequirements SectionSemanticTagRequirements SectionComposedDeviceTypeClusterRequirements SectionComposedDeviceTypeConditionRequirements SectionComposedDeviceTypeElementRequirements SectionComposedDeviceTypeSemanticTagRequirements SectionEndpointComposition SectionField SectionValue SectionBit SectionDerivedClusterNamespace SectionModeTags SectionGlobalElements SectionDataTypeDef SectionDataTypeConstant )
type SemanticTag ¶
type SemanticTag struct {
ID *Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
// contains filtered or unexported fields
}
func NewSemanticTag ¶
func NewSemanticTag(namespace *Namespace, source asciidoc.Element) *SemanticTag
func (*SemanticTag) EntityType ¶
func (*SemanticTag) EntityType() types.EntityType
type Struct ¶
type Struct struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Fields FieldSet `json:"fields,omitempty"`
FabricScoping FabricScoping `json:"fabricScoped,omitempty"`
// contains filtered or unexported fields
}
func (*Struct) EntityType ¶
func (*Struct) EntityType() types.EntityType
type Table ¶
type Table struct {
AllowedColumns []TableColumn
RequiredColumns []TableColumn
BannedColumns []TableColumn
ColumnOrder []TableColumn
ColumnRenames map[TableColumn]TableColumn
}
type TableColumn ¶
type TableColumn uint8
const ( TableColumnUnknown TableColumn = iota TableColumnID // Special section type for everything that comes before any known sections TableColumnName TableColumnType TableColumnConstraint TableColumnQuality TableColumnFallback TableColumnAccess TableColumnConformance TableColumnPriority TableColumnHierarchy TableColumnRole TableColumnContext TableColumnScope TableColumnPICS TableColumnPICSCode TableColumnValue TableColumnBit TableColumnCode TableColumnStatusCode TableColumnFeature TableColumnAttributeID TableColumnClusterID TableColumnEventID TableColumnCommandID TableColumnFieldID TableColumnDevice TableColumnDeviceID TableColumnDeviceName TableColumnSupersetOf TableColumnClass TableColumnDirection TableColumnDescription TableColumnRevision TableColumnResponse TableColumnSummary TableColumnCluster TableColumnClusterName TableColumnElement TableColumnClientServer TableColumnCondition TableColumnConditionID TableColumnModeTagValue TableColumnNamespace TableColumnNamespaceID TableColumnTag TableColumnTagID TableColumnLocation TableColumnField )
func (TableColumn) String ¶
func (tc TableColumn) String() string
type TableType ¶
type TableType uint8
const ( TableTypeUnknown TableType = iota TableTypeAttributes TableTypeAppClusterClassification TableTypeDeviceTypeClassification TableTypeClassification TableTypeClusterID TableTypeCommands TableTypeCommandFields TableTypeStruct TableTypeEnum TableTypeBitmap TableTypeEvents TableTypeEventFields TableTypeFeatures TableTypeDeviceID TableTypeDeviceTypeRequirements TableTypeClusterRequirements TableTypeElementRequirements TableTypeComposedDeviceTypeClusterRequirements TableTypeComposedDeviceTypeElementRequirements TableTypeConditionRequirements TableTypeTagRequirements )
type TagRequirement ¶ added in v1.5.46
type TagRequirement struct {
Constraint constraint.Constraint `json:"constraint,omitempty"`
Conformance conformance.Set `json:"conformance,omitempty"`
NamespaceID *Number `json:"namespaceId,omitempty"`
NamespaceName string `json:"namespaceName,omitempty"`
SemanticTagID *Number `json:"semanticTagId,omitempty"`
SemanticTagName string `json:"semanticTagName,omitempty"`
Namespace *Namespace `json:"namespace,omitempty"`
SemanticTag *SemanticTag `json:"semanticTag,omitempty"`
// contains filtered or unexported fields
}
func NewTagRequirement ¶ added in v1.5.46
func NewTagRequirement(parent *DeviceType, source asciidoc.Element) *TagRequirement
func (*TagRequirement) Clone ¶ added in v1.5.46
func (dtcr *TagRequirement) Clone() *TagRequirement
type TypeDef ¶
type TypeDef struct {
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Type *types.DataType `json:"type,omitempty"`
// contains filtered or unexported fields
}
func (*TypeDef) EntityType ¶
func (*TypeDef) EntityType() types.EntityType
type TypeDefSet ¶
type TypeDefSet []*TypeDef
func (TypeDefSet) Identifier ¶
func (ss TypeDefSet) Identifier(name string) (types.Entity, bool)
Source Files
¶
- access.go
- bitmap.go
- case.go
- cluster.go
- command.go
- composition.go
- condition.go
- conformance.go
- constant.go
- constraint.go
- datatypes.go
- devicetype.go
- doc.go
- domain.go
- entity.go
- enum.go
- event.go
- feature.go
- field.go
- global.go
- interface.go
- log.go
- namespace.go
- number.go
- quality.go
- references.go
- revision.go
- sections.go
- source.go
- struct.go
- tables.go
- typedef.go
Click to show internal directories.
Click to hide internal directories.