idl

package
v1.6.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Targeter

func Targeter(sdkRoot string) func(cxt context.Context) ([]string, error)

Types

type AttributeRef

type AttributeRef struct {
	Name             string `json:"name"`
	Code             int    `json:"code"`
	MfgCode          *int   `json:"mfgCode"`
	Side             string `json:"side"`
	Type             string `json:"type"`
	Included         int    `json:"included"`
	StorageOption    string `json:"storageOption"`
	Singleton        int    `json:"singleton"`
	Bounded          int    `json:"bounded"`
	DefaultValue     string `json:"defaultValue"`
	Reportable       int    `json:"reportable"`
	MinInterval      int    `json:"minInterval"`
	MaxInterval      int    `json:"maxInterval"`
	ReportableChange int    `json:"reportableChange"`
}

type ClusterInfo

type ClusterInfo struct {
	Cluster *matter.Cluster

	ReferencedBitmaps matter.BitmapSet
	ReferencedEnums   matter.EnumSet
	ReferencedStructs matter.StructSet
}

type ClusterRef

type ClusterRef struct {
	Name        string `json:"name"`
	Code        int    `json:"code"`
	MfgCode     *int   `json:"mfgCode"`
	Define      string `json:"define"`
	Side        string `json:"side"`
	ApiMaturity string `json:"apiMaturity"`
	Enabled     int    `json:"enabled"`

	Cluster *matter.Cluster `json:"-"`

	Attributes []AttributeRef `json:"attributes"`
	Commands   []CommandRef   `json:"commands"`
	Events     []EventRef     `json:"events"`
}

type CommandRef

type CommandRef struct {
	Name       string `json:"name"`
	Code       int    `json:"code"`
	MfgCode    *int   `json:"mfgCode"`
	Source     string `json:"source"`
	IsIncoming int    `json:"isIncoming"`
	IsEnabled  int    `json:"isEnabled"`

	Command *matter.Command `json:"-"`
}

type DeviceTypeRef

type DeviceTypeRef struct {
	Code            int    `json:"code"`
	ProfileId       int    `json:"profileId"`
	Label           string `json:"label"`
	Name            string `json:"name"`
	DeviceTypeOrder int    `json:"deviceTypeOrder"`
}

type Endpoint

type Endpoint struct {
	ID int
	EndpointType

	Servers []*ClusterInfo
	Clients []*ClusterInfo
}

type EndpointType

type EndpointType struct {
	ID                int             `json:"id"`
	Name              string          `json:"name"`
	DeviceTypeRef     DeviceTypeRef   `json:"deviceTypeRef"`
	DeviceTypes       []DeviceTypeRef `json:"deviceTypes"`
	DeviceVersions    []int           `json:"deviceVersions"`
	DeviceIdentifiers []int           `json:"deviceIdentifiers"`

	DeviceTypeCode      int    `json:"deviceTypeCode"`
	DeviceTypeProfileId int    `json:"deviceTypeProfileId"`
	DeviceTypeName      string `json:"deviceTypeName"`

	Clusters []ClusterRef `json:"clusters"`

	DeviceType *matter.DeviceType `json:"-"`
}

type EventRef

type EventRef struct {
	Name     string `json:"name"`
	Code     int    `json:"code"`
	MfgCode  *int   `json:"mfgCode"`
	Side     string `json:"side"`
	Included int    `json:"included"`
}

type File

type File struct {
	FileFormat    int            `json:"fileFormat"`
	FeatureLevel  int            `json:"featureLevel"`
	Creator       string         `json:"creator"`
	KeyValuePairs []KeyValuePair `json:"keyValuePairs"`
	Package       []Package      `json:"package"`
	EndpointTypes []EndpointType `json:"endpointTypes"`
	Endpoints     []JSONEndpoint `json:"endpoints"`
}

type IdlRenderer

type IdlRenderer struct {
	SuppressEndpoints   bool
	SuppressProvisional string
	// contains filtered or unexported fields
}

func NewIdlRenderer

func NewIdlRenderer(spec *spec.Specification) (IdlRenderer, error)

func (IdlRenderer) Name

func (p IdlRenderer) Name() string

func (IdlRenderer) Process

func (p IdlRenderer) Process(cxt context.Context, input *pipeline.Data[*File], index int32, total int32) (outputs []*pipeline.Data[string], extras []*pipeline.Data[*File], err error)

type JSONEndpoint

type JSONEndpoint struct {
	EndpointTypeName         string `json:"endpointTypeName"`
	EndpointTypeIndex        int    `json:"endpointTypeIndex"`
	ParentEndpointIdentifier *int   `json:"parentEndpointIdentifier"`
	ProfileId                int    `json:"profileId"`
	EndpointId               int    `json:"endpointId"`
	NetworkId                int    `json:"networkId"`
}

type KeyValuePair

type KeyValuePair struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type NumberString

type NumberString struct {
	Number *int
	String *string
}

func (*NumberString) UnmarshalJSON

func (f *NumberString) UnmarshalJSON(b []byte) error

type Package

type Package struct {
	PathRelativity string       `json:"pathRelativity"`
	Path           string       `json:"path"`
	Type           string       `json:"type"`
	Category       string       `json:"category"`
	Version        NumberString `json:"version"`
	Description    string       `json:"description"`
}

type ProvisionalFilter

type ProvisionalFilter struct {
	Mode             string
	ExistingElements map[string]bool
}

type Reader

type Reader struct {
}

func NewReader

func NewReader() (Reader, error)

func (Reader) Name

func (p Reader) Name() string

func (Reader) Process

func (p Reader) Process(cxt context.Context, input *pipeline.Data[struct{}], index int32, total int32) (outputs []*pipeline.Data[*File], extras []*pipeline.Data[struct{}], err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL