Documentation
¶
Overview ¶
Package contentcontrol is the generated definition of the Matter ContentControl cluster (0x050F, revision 1), from the matter.js model at 862ad75 (Matter 1.6.1).
It declares the cluster's ids, typed enums, bitmaps and structs with their TLV codecs, the command and event payloads, and Definition, the metadata the cluster/spec runtime derives lists, privileges and write checks from. Importing the package registers the definition with spec.Register, so the bridge decodes the cluster's request payloads.
Index ¶
- Constants
- Variables
- type AddBlockApplicationsRequest
- type AddBlockChannelsRequest
- type AddBonusTimeRequest
- type AppInfoStruct
- type BlockChannelStruct
- type BlockUnratedContentRequest
- type DayOfWeekBitmap
- type DisableRequest
- type EnableRequest
- type EnteringBlockContentTimeWindowEvent
- type Feature
- type RatingNameStruct
- type RemainingScreenTimeExpiredEvent
- type RemoveBlockApplicationsRequest
- type RemoveBlockChannelsRequest
- type RemoveBlockContentTimeWindowRequest
- type ResetPinRequest
- type ResetPinResponse
- type SetBlockContentTimeWindowRequest
- type SetOnDemandRatingThresholdRequest
- type SetScheduledContentRatingThresholdRequest
- type SetScreenDailyTimeRequest
- type StatusCodeEnum
- type TimePeriodStruct
- type TimeWindowStruct
- type UnblockUnratedContentRequest
- type UpdatePinRequest
Constants ¶
const ( ClusterID uint32 = 0x050F Name = "ContentControl" Revision uint16 = 1 )
Cluster identity.
const ( AttrEnabled uint32 = 0x0000 // bool, M, R V AttrOnDemandRatings uint32 = 0x0001 // list[RatingNameStruct], OCR, R V AttrOnDemandRatingThreshold uint32 = 0x0002 // string, OCR, R V AttrScheduledContentRatings uint32 = 0x0003 // list[RatingNameStruct], SCR, R V AttrScheduledContentRatingThreshold uint32 = 0x0004 // string, SCR, R V AttrScreenDailyTime uint32 = 0x0005 // elapsed-s, ST, R V AttrRemainingScreenTime uint32 = 0x0006 // elapsed-s, ST, R V AttrBlockUnrated uint32 = 0x0007 // bool, BU, R V AttrBlockChannelList uint32 = 0x0008 // list[BlockChannelStruct], BC, R V AttrBlockApplicationList uint32 = 0x0009 // list[AppInfoStruct], BA, R V AttrBlockContentTimeWindow uint32 = 0x000A // list[TimeWindowStruct], BTW, R V )
Attribute ids.
const ( CmdUpdatePin uint32 = 0x00 // request → status, PM CmdResetPin uint32 = 0x01 // request → ResetPinResponse, PM CmdResetPinResponse uint32 = 0x02 // response, PM CmdEnable uint32 = 0x03 // request → status, M CmdDisable uint32 = 0x04 // request → status, M CmdAddBonusTime uint32 = 0x05 // request → status, ST CmdSetScreenDailyTime uint32 = 0x06 // request → status, ST CmdBlockUnratedContent uint32 = 0x07 // request → status, BU CmdUnblockUnratedContent uint32 = 0x08 // request → status, BU CmdSetOnDemandRatingThreshold uint32 = 0x09 // request → status, OCR CmdSetScheduledContentRatingThreshold uint32 = 0x0A // request → status, SCR CmdAddBlockChannels uint32 = 0x0B // request → status, BC CmdRemoveBlockChannels uint32 = 0x0C // request → status, BC CmdAddBlockApplications uint32 = 0x0D // request → status, BA CmdRemoveBlockApplications uint32 = 0x0E // request → status, BA CmdSetBlockContentTimeWindow uint32 = 0x0F // request → status, BTW CmdRemoveBlockContentTimeWindow uint32 = 0x10 // request → status, BTW )
Command ids.
const ( EventRemainingScreenTimeExpired uint32 = 0x00 // info, ST EventEnteringBlockContentTimeWindow uint32 = 0x01 // info, BTW )
Event ids.
Variables ¶
var AppInfoStructDef = &spec.Struct{Name: "AppInfoStruct", Fields: []spec.Field{ {ID: 0, Name: "CatalogVendorId", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, {ID: 1, Name: "ApplicationId", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }}
AppInfoStructDef describes AppInfoStruct.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var BlockChannelStructDef = &spec.Struct{Name: "BlockChannelStruct", Fields: []spec.Field{ {ID: 0, Name: "BlockChannelIndex", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Quality: spec.Quality{Nullable: true}}, {ID: 1, Name: "MajorNumber", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, {ID: 2, Name: "MinorNumber", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, {ID: 3, Name: "Identifier", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, }}
BlockChannelStructDef describes BlockChannelStruct.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var DayOfWeekBitmapDef = &spec.Bitmap{Name: "DayOfWeekBitmap", Bits: 8, Members: []spec.BitmapMember{ {Name: "Sunday", Bit: 0, Width: 1}, {Name: "Monday", Bit: 1, Width: 1}, {Name: "Tuesday", Bit: 2, Width: 1}, {Name: "Wednesday", Bit: 3, Width: 1}, {Name: "Thursday", Bit: 4, Width: 1}, {Name: "Friday", Bit: 5, Width: 1}, {Name: "Saturday", Bit: 6, Width: 1}, }}
DayOfWeekBitmapDef describes DayOfWeekBitmap.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var Definition = &spec.Cluster{ ID: ClusterID, Name: Name, Revision: Revision, Features: []spec.Feature{ {Name: "ST", Title: "ScreenTime", Bit: 0, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "PM", Title: "PinManagement", Bit: 1, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "BU", Title: "BlockUnrated", Bit: 2, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "OCR", Title: "OnDemandContentRating", Bit: 3, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "SCR", Title: "ScheduledContentRating", Bit: 4, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "BC", Title: "BlockChannels", Bit: 5, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "BA", Title: "BlockApplications", Bit: 6, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, {Name: "BTW", Title: "BlockContentTimeWindow", Bit: 7, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}}, }, Attributes: []spec.Attribute{ { ID: AttrEnabled, Name: "Enabled", Type: spec.Type{Name: "bool", Kind: spec.KindBool}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, }, { ID: AttrOnDemandRatings, Name: "OnDemandRatings", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "RatingNameStruct", Kind: spec.KindStruct, Struct: RatingNameStructDef}}}, Conformance: spec.Conformance{Text: "OCR", Op: spec.ConfName, Name: "OCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeAttrOnDemandRatings, }, { ID: AttrOnDemandRatingThreshold, Name: "OnDemandRatingThreshold", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "OCR", Op: spec.ConfName, Name: "OCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Constraint: spec.Constraint{Text: "max 8", Max: &spec.Bound{Int: 8}}, }, { ID: AttrScheduledContentRatings, Name: "ScheduledContentRatings", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "RatingNameStruct", Kind: spec.KindStruct, Struct: RatingNameStructDef}}}, Conformance: spec.Conformance{Text: "SCR", Op: spec.ConfName, Name: "SCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeAttrScheduledContentRatings, }, { ID: AttrScheduledContentRatingThreshold, Name: "ScheduledContentRatingThreshold", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "SCR", Op: spec.ConfName, Name: "SCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Constraint: spec.Constraint{Text: "max 8", Max: &spec.Bound{Int: 8}}, }, { ID: AttrScreenDailyTime, Name: "ScreenDailyTime", Type: spec.Type{Name: "elapsed-s", Kind: spec.KindUint, Bits: 32}, Conformance: spec.Conformance{Text: "ST", Op: spec.ConfName, Name: "ST"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Constraint: spec.Constraint{Text: "max 86400", Max: &spec.Bound{Int: 86400}}, }, { ID: AttrRemainingScreenTime, Name: "RemainingScreenTime", Type: spec.Type{Name: "elapsed-s", Kind: spec.KindUint, Bits: 32}, Conformance: spec.Conformance{Text: "ST", Op: spec.ConfName, Name: "ST"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Constraint: spec.Constraint{Text: "max 86400", Max: &spec.Bound{Int: 86400}}, }, { ID: AttrBlockUnrated, Name: "BlockUnrated", Type: spec.Type{Name: "bool", Kind: spec.KindBool}, Conformance: spec.Conformance{Text: "BU", Op: spec.ConfName, Name: "BU"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, }, { ID: AttrBlockChannelList, Name: "BlockChannelList", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "BlockChannelStruct", Kind: spec.KindStruct, Struct: BlockChannelStructDef}}}, Conformance: spec.Conformance{Text: "BC", Op: spec.ConfName, Name: "BC"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeAttrBlockChannelList, }, { ID: AttrBlockApplicationList, Name: "BlockApplicationList", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "AppInfoStruct", Kind: spec.KindStruct, Struct: AppInfoStructDef}}}, Conformance: spec.Conformance{Text: "BA", Op: spec.ConfName, Name: "BA"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeAttrBlockApplicationList, }, { ID: AttrBlockContentTimeWindow, Name: "BlockContentTimeWindow", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "TimeWindowStruct", Kind: spec.KindStruct, Struct: TimeWindowStructDef}}}, Conformance: spec.Conformance{Text: "BTW", Op: spec.ConfName, Name: "BTW"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Constraint: spec.Constraint{Text: "max 7", Max: &spec.Bound{Int: 7}}, Decode: decodeAttrBlockContentTimeWindow, }, }, Commands: []spec.Command{ { ID: CmdUpdatePin, Name: "UpdatePin", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "PM", Op: spec.ConfName, Name: "PM"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage, Timed: true}, Fields: []spec.Field{ {ID: 0, Name: "OldPin", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 6", Max: &spec.Bound{Int: 6}}}, {ID: 1, Name: "NewPin", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 6", Max: &spec.Bound{Int: 6}}}, }, Decode: decodeUpdatePinRequest, }, { ID: CmdResetPin, Name: "ResetPin", Direction: spec.Request, Response: "ResetPinResponse", Conformance: spec.Conformance{Text: "PM", Op: spec.ConfName, Name: "PM"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeAdminister, Write: spec.PrivilegeAdminister, Timed: true}, Decode: decodeResetPinRequest, }, { ID: CmdResetPinResponse, Name: "ResetPinResponse", Direction: spec.Response, Conformance: spec.Conformance{Text: "PM", Op: spec.ConfName, Name: "PM"}, Access: spec.Access{RW: "RW", Read: spec.PrivilegeView, Write: spec.PrivilegeOperate}, Fields: []spec.Field{ {ID: 0, Name: "PinCode", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 6", Max: &spec.Bound{Int: 6}}}, }, Decode: decodeResetPinResponse, }, { ID: CmdEnable, Name: "Enable", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage, Timed: true}, Decode: decodeEnableRequest, }, { ID: CmdDisable, Name: "Disable", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage, Timed: true}, Decode: decodeDisableRequest, }, { ID: CmdAddBonusTime, Name: "AddBonusTime", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "ST", Op: spec.ConfName, Name: "ST"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeOperate, Write: spec.PrivilegeOperate}, Fields: []spec.Field{ {ID: 0, Name: "PinCode", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}, Constraint: spec.Constraint{Text: "max 6", Max: &spec.Bound{Int: 6}}}, {ID: 1, Name: "BonusTime", Type: spec.Type{Name: "elapsed-s", Kind: spec.KindUint, Bits: 32}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "desc", Desc: true}, Default: float64(300)}, }, Decode: decodeAddBonusTimeRequest, }, { ID: CmdSetScreenDailyTime, Name: "SetScreenDailyTime", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "ST", Op: spec.ConfName, Name: "ST"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "ScreenTime", Type: spec.Type{Name: "elapsed-s", Kind: spec.KindUint, Bits: 32}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 86400", Max: &spec.Bound{Int: 86400}}}, }, Decode: decodeSetScreenDailyTimeRequest, }, { ID: CmdBlockUnratedContent, Name: "BlockUnratedContent", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BU", Op: spec.ConfName, Name: "BU"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Decode: decodeBlockUnratedContentRequest, }, { ID: CmdUnblockUnratedContent, Name: "UnblockUnratedContent", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BU", Op: spec.ConfName, Name: "BU"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Decode: decodeUnblockUnratedContentRequest, }, { ID: CmdSetOnDemandRatingThreshold, Name: "SetOnDemandRatingThreshold", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "OCR", Op: spec.ConfName, Name: "OCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "Rating", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 8", Max: &spec.Bound{Int: 8}}}, }, Decode: decodeSetOnDemandRatingThresholdRequest, }, { ID: CmdSetScheduledContentRatingThreshold, Name: "SetScheduledContentRatingThreshold", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "SCR", Op: spec.ConfName, Name: "SCR"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "Rating", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 8", Max: &spec.Bound{Int: 8}}}, }, Decode: decodeSetScheduledContentRatingThresholdRequest, }, { ID: CmdAddBlockChannels, Name: "AddBlockChannels", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BC", Op: spec.ConfName, Name: "BC"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "Channels", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "BlockChannelStruct", Kind: spec.KindStruct, Struct: BlockChannelStructDef}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeAddBlockChannelsRequest, }, { ID: CmdRemoveBlockChannels, Name: "RemoveBlockChannels", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BC", Op: spec.ConfName, Name: "BC"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "ChannelIndexes", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeRemoveBlockChannelsRequest, }, { ID: CmdAddBlockApplications, Name: "AddBlockApplications", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BA", Op: spec.ConfName, Name: "BA"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "Applications", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "AppInfoStruct", Kind: spec.KindStruct, Struct: AppInfoStructDef}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeAddBlockApplicationsRequest, }, { ID: CmdRemoveBlockApplications, Name: "RemoveBlockApplications", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BA", Op: spec.ConfName, Name: "BA"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "Applications", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "AppInfoStruct", Kind: spec.KindStruct, Struct: AppInfoStructDef}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeRemoveBlockApplicationsRequest, }, { ID: CmdSetBlockContentTimeWindow, Name: "SetBlockContentTimeWindow", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BTW", Op: spec.ConfName, Name: "BTW"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "TimeWindow", Type: spec.Type{Name: "TimeWindowStruct", Kind: spec.KindStruct, Struct: TimeWindowStructDef}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeSetBlockContentTimeWindowRequest, }, { ID: CmdRemoveBlockContentTimeWindow, Name: "RemoveBlockContentTimeWindow", Direction: spec.Request, Response: "status", Conformance: spec.Conformance{Text: "BTW", Op: spec.ConfName, Name: "BTW"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeManage, Write: spec.PrivilegeManage}, Fields: []spec.Field{ {ID: 0, Name: "TimeWindowIndexes", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}}, }, Decode: decodeRemoveBlockContentTimeWindowRequest, }, }, Events: []spec.Event{ { ID: EventRemainingScreenTimeExpired, Name: "RemainingScreenTimeExpired", Priority: spec.PriorityInfo, Conformance: spec.Conformance{Text: "ST", Op: spec.ConfName, Name: "ST"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeRemainingScreenTimeExpiredEvent, }, { ID: EventEnteringBlockContentTimeWindow, Name: "EnteringBlockContentTimeWindow", Priority: spec.PriorityInfo, Conformance: spec.Conformance{Text: "BTW", Op: spec.ConfName, Name: "BTW"}, Access: spec.Access{RW: "R", Read: spec.PrivilegeView}, Decode: decodeEnteringBlockContentTimeWindowEvent, }, }, }
Definition is the ContentControl cluster definition.
var RatingNameStructDef = &spec.Struct{Name: "RatingNameStruct", Fields: []spec.Field{ {ID: 0, Name: "RatingName", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "max 8", Max: &spec.Bound{Int: 8}}}, {ID: 1, Name: "RatingNameDesc", Type: spec.Type{Name: "string", Kind: spec.KindString}, Conformance: spec.Conformance{Text: "O", Op: spec.ConfOptional}, Constraint: spec.Constraint{Text: "max 64", Max: &spec.Bound{Int: 64}}}, }}
RatingNameStructDef describes RatingNameStruct.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var StatusCodeEnumDef = &spec.Enum{Name: "StatusCodeEnum", Bits: 8, Values: []spec.EnumValue{ {Value: 2, Name: "InvalidPinCode"}, {Value: 3, Name: "InvalidRating"}, {Value: 4, Name: "InvalidChannel"}, {Value: 5, Name: "ChannelAlreadyExist"}, {Value: 6, Name: "ChannelNotExist"}, {Value: 7, Name: "UnidentifiableApplication"}, {Value: 8, Name: "ApplicationAlreadyExist"}, {Value: 9, Name: "ApplicationNotExist"}, {Value: 10, Name: "TimeWindowAlreadyExist"}, {Value: 11, Name: "TimeWindowNotExist"}, }}
StatusCodeEnumDef describes StatusCodeEnum.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var TimePeriodStructDef = &spec.Struct{Name: "TimePeriodStruct", Fields: []spec.Field{ {ID: 0, Name: "StartHour", Type: spec.Type{Name: "uint8", Kind: spec.KindUint, Bits: 8}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "0 to 23", Min: &spec.Bound{Int: 0}, Max: &spec.Bound{Int: 23}}}, {ID: 1, Name: "StartMinute", Type: spec.Type{Name: "uint8", Kind: spec.KindUint, Bits: 8}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "0 to 59", Min: &spec.Bound{Int: 0}, Max: &spec.Bound{Int: 59}}}, {ID: 2, Name: "EndHour", Type: spec.Type{Name: "uint8", Kind: spec.KindUint, Bits: 8}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "0 to 23", Min: &spec.Bound{Int: 0}, Max: &spec.Bound{Int: 23}}}, {ID: 3, Name: "EndMinute", Type: spec.Type{Name: "uint8", Kind: spec.KindUint, Bits: 8}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "0 to 59", Min: &spec.Bound{Int: 0}, Max: &spec.Bound{Int: 59}}}, }}
TimePeriodStructDef describes TimePeriodStruct.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
var TimeWindowStructDef = &spec.Struct{Name: "TimeWindowStruct", Fields: []spec.Field{ {ID: 0, Name: "TimeWindowIndex", Type: spec.Type{Name: "uint16", Kind: spec.KindUint, Bits: 16}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Quality: spec.Quality{Nullable: true}}, {ID: 1, Name: "DayOfWeek", Type: spec.Type{Name: "DayOfWeekBitmap", Kind: spec.KindBitmap, Bits: 8, Bitmap: DayOfWeekBitmapDef}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "desc", Desc: true}}, {ID: 2, Name: "TimePeriod", Type: spec.Type{Name: "list", Kind: spec.KindList, Entry: &spec.Field{Name: "entry", Type: spec.Type{Name: "TimePeriodStruct", Kind: spec.KindStruct, Struct: TimePeriodStructDef}}}, Conformance: spec.Conformance{Text: "M", Op: spec.ConfMandatory}, Constraint: spec.Constraint{Text: "desc", Desc: true}}, }}
TimeWindowStructDef describes TimeWindowStruct.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
Functions ¶
This section is empty.
Types ¶
type AddBlockApplicationsRequest ¶
type AddBlockApplicationsRequest struct {
Applications []AppInfoStruct // 0: list[AppInfoStruct], M
}
AddBlockApplicationsRequest is the AddBlockApplications command payload.
type AddBlockChannelsRequest ¶
type AddBlockChannelsRequest struct {
Channels []BlockChannelStruct // 0: list[BlockChannelStruct], M
}
AddBlockChannelsRequest is the AddBlockChannels command payload.
type AddBonusTimeRequest ¶
type AddBonusTimeRequest struct {
PinCode *string // 0: string, O, max 6
BonusTime uint32 // 1: elapsed-s, M, desc
}
AddBonusTimeRequest is the AddBonusTime command payload.
type AppInfoStruct ¶
type AppInfoStruct struct {
CatalogVendorId uint16 // 0: uint16, M
ApplicationId string // 1: string, M
}
AppInfoStruct is the AppInfoStruct struct.
type BlockChannelStruct ¶
type BlockChannelStruct struct {
BlockChannelIndex spec.Nullable[uint16] // 0: uint16, M, X
MajorNumber uint16 // 1: uint16, M
MinorNumber uint16 // 2: uint16, M
Identifier *string // 3: string, O
}
BlockChannelStruct is the BlockChannelStruct struct.
type BlockUnratedContentRequest ¶
type BlockUnratedContentRequest struct{}
BlockUnratedContentRequest is the BlockUnratedContent command payload.
type DayOfWeekBitmap ¶
type DayOfWeekBitmap uint8
DayOfWeekBitmap is the DayOfWeekBitmap map8.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
const ( DayOfWeekSunday DayOfWeekBitmap = 1 << 0 DayOfWeekMonday DayOfWeekBitmap = 1 << 1 DayOfWeekTuesday DayOfWeekBitmap = 1 << 2 DayOfWeekWednesday DayOfWeekBitmap = 1 << 3 DayOfWeekThursday DayOfWeekBitmap = 1 << 4 DayOfWeekFriday DayOfWeekBitmap = 1 << 5 DayOfWeekSaturday DayOfWeekBitmap = 1 << 6 )
DayOfWeekBitmap bits; a member wider than one bit is its mask.
type DisableRequest ¶
type DisableRequest struct{}
DisableRequest is the Disable command payload.
type EnableRequest ¶
type EnableRequest struct{}
EnableRequest is the Enable command payload.
type EnteringBlockContentTimeWindowEvent ¶
type EnteringBlockContentTimeWindowEvent struct{}
EnteringBlockContentTimeWindowEvent is the EnteringBlockContentTimeWindow event payload.
type Feature ¶
type Feature uint32
Feature is a ContentControl FeatureMap bit.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
const ( FeatureScreenTime Feature = 1 << 0 // ST, O FeaturePinManagement Feature = 1 << 1 // PM, O FeatureBlockUnrated Feature = 1 << 2 // BU, O FeatureOnDemandContentRating Feature = 1 << 3 // OCR, O FeatureScheduledContentRating Feature = 1 << 4 // SCR, O FeatureBlockChannels Feature = 1 << 5 // BC, O FeatureBlockApplications Feature = 1 << 6 // BA, O FeatureBlockContentTimeWindow Feature = 1 << 7 // BTW, O )
FeatureMap bits.
type RatingNameStruct ¶
type RatingNameStruct struct {
RatingName string // 0: string, M, max 8
RatingNameDesc *string // 1: string, O, max 64
}
RatingNameStruct is the RatingNameStruct struct.
type RemainingScreenTimeExpiredEvent ¶
type RemainingScreenTimeExpiredEvent struct{}
RemainingScreenTimeExpiredEvent is the RemainingScreenTimeExpired event payload.
type RemoveBlockApplicationsRequest ¶
type RemoveBlockApplicationsRequest struct {
Applications []AppInfoStruct // 0: list[AppInfoStruct], M
}
RemoveBlockApplicationsRequest is the RemoveBlockApplications command payload.
type RemoveBlockChannelsRequest ¶
type RemoveBlockChannelsRequest struct {
ChannelIndexes []uint16 // 0: list[uint16], M
}
RemoveBlockChannelsRequest is the RemoveBlockChannels command payload.
type RemoveBlockContentTimeWindowRequest ¶
type RemoveBlockContentTimeWindowRequest struct {
TimeWindowIndexes []uint16 // 0: list[uint16], M
}
RemoveBlockContentTimeWindowRequest is the RemoveBlockContentTimeWindow command payload.
type ResetPinRequest ¶
type ResetPinRequest struct{}
ResetPinRequest is the ResetPin command payload.
type ResetPinResponse ¶
type ResetPinResponse struct {
PinCode string // 0: string, M, max 6
}
ResetPinResponse is the ResetPinResponse command payload.
func (*ResetPinResponse) DecodeTLV ¶
func (v *ResetPinResponse) DecodeTLV(n spec.Node) error
DecodeTLV decodes the structure n into v.
func (ResetPinResponse) EncodeTLV ¶
func (v ResetPinResponse) EncodeTLV(enc *tlv.Encoder, tag tlv.Tag)
EncodeTLV implements spec.Encodable.
func (ResetPinResponse) ResponseCommand ¶
func (ResetPinResponse) ResponseCommand() (clusterID, commandID uint32)
ResponseCommand implements spec.ResponsePayload.
type SetBlockContentTimeWindowRequest ¶
type SetBlockContentTimeWindowRequest struct {
TimeWindow TimeWindowStruct // 0: TimeWindowStruct, M
}
SetBlockContentTimeWindowRequest is the SetBlockContentTimeWindow command payload.
type SetOnDemandRatingThresholdRequest ¶
type SetOnDemandRatingThresholdRequest struct {
Rating string // 0: string, M, max 8
}
SetOnDemandRatingThresholdRequest is the SetOnDemandRatingThreshold command payload.
type SetScheduledContentRatingThresholdRequest ¶
type SetScheduledContentRatingThresholdRequest struct {
Rating string // 0: string, M, max 8
}
SetScheduledContentRatingThresholdRequest is the SetScheduledContentRatingThreshold command payload.
type SetScreenDailyTimeRequest ¶
type SetScreenDailyTimeRequest struct {
ScreenTime uint32 // 0: elapsed-s, M, max 86400
}
SetScreenDailyTimeRequest is the SetScreenDailyTime command payload.
type StatusCodeEnum ¶
type StatusCodeEnum uint8
StatusCodeEnum is the StatusCodeEnum enum8.
fabric:reachable:reason="generated: referenced from Definition and the generated test; a package-level initializer, which RTA does not follow"
const ( StatusCodeInvalidPinCode StatusCodeEnum = 2 StatusCodeInvalidRating StatusCodeEnum = 3 StatusCodeInvalidChannel StatusCodeEnum = 4 StatusCodeChannelAlreadyExist StatusCodeEnum = 5 StatusCodeChannelNotExist StatusCodeEnum = 6 StatusCodeUnidentifiableApplication StatusCodeEnum = 7 StatusCodeApplicationAlreadyExist StatusCodeEnum = 8 StatusCodeApplicationNotExist StatusCodeEnum = 9 StatusCodeTimeWindowAlreadyExist StatusCodeEnum = 10 StatusCodeTimeWindowNotExist StatusCodeEnum = 11 )
StatusCodeEnum values.
type TimePeriodStruct ¶
type TimePeriodStruct struct {
StartHour uint8 // 0: uint8, M, 0 to 23
StartMinute uint8 // 1: uint8, M, 0 to 59
EndHour uint8 // 2: uint8, M, 0 to 23
EndMinute uint8 // 3: uint8, M, 0 to 59
}
TimePeriodStruct is the TimePeriodStruct struct.
type TimeWindowStruct ¶
type TimeWindowStruct struct {
TimeWindowIndex spec.Nullable[uint16] // 0: uint16, M, X
DayOfWeek DayOfWeekBitmap // 1: DayOfWeekBitmap, M, desc
TimePeriod []TimePeriodStruct // 2: list[TimePeriodStruct], M, desc
}
TimeWindowStruct is the TimeWindowStruct struct.
type UnblockUnratedContentRequest ¶
type UnblockUnratedContentRequest struct{}
UnblockUnratedContentRequest is the UnblockUnratedContent command payload.
type UpdatePinRequest ¶
type UpdatePinRequest struct {
OldPin string // 0: string, M, max 6
NewPin string // 1: string, M, max 6
}
UpdatePinRequest is the UpdatePin command payload.