Help us shape the future of Go! Take the 2026 Go Developer Survey

idl

package
v1.7.13 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: Apache-2.0 Imports: 26 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
	PerTrait            bool
	KeepLongStrings     bool
	// 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
}

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