@@ -99,13 +99,15 @@ struct AttributeEntry
99
99
BitFlags<AttributeQualityFlags> flags;
100
100
101
101
102
+ // Constructor
103
+ AttributeEntry () : readPrivilege(0 ), writePrivilege(0 ) {}
102
104
103
105
void SetReadPrivilege (Access::Privilege r)
104
106
{
105
107
readPrivilege = chip::to_underlying (r);
106
108
}
107
109
108
- Access::Privilege GetReadPrivilege ()
110
+ Access::Privilege GetReadPrivilege () const
109
111
{
110
112
return static_cast < Access::Privilege >(readPrivilege);
111
113
}
@@ -115,7 +117,7 @@ struct AttributeEntry
115
117
writePrivilege = chip::to_underlying (w);
116
118
}
117
119
118
- Access::Privilege GetWritePrivilege ()
120
+ Access::Privilege GetWritePrivilege () const
119
121
{
120
122
return static_cast < Access::Privilege >(writePrivilege);
121
123
}
@@ -148,7 +150,26 @@ struct AcceptedCommandEntry
148
150
// TODO: this can be more compact (use some flags for privilege)
149
151
// to make this compact, add a compact enum and make flags/invokePrivilege getters (to still be type safe)
150
152
BitFlags<CommandQualityFlags> flags;
151
- Access::Privilege invokePrivilege = Access::Privilege::kOperate ;
153
+
154
+
155
+ // Constructor
156
+ AcceptedCommandEntry () :
157
+ invokePrivilege (chip::to_underlying(Access::Privilege::kOperate )) {}
158
+
159
+
160
+ Access::Privilege GetInvokePrivilege () const
161
+ {
162
+ return static_cast < Access::Privilege >(invokePrivilege);
163
+ }
164
+
165
+ void SetInvokePrivilege (Access::Privilege i)
166
+ {
167
+ invokePrivilege = chip::to_underlying (i);
168
+ }
169
+
170
+
171
+ private:
172
+ std::underlying_type_t <Access::Privilege> invokePrivilege : 5 ;
152
173
};
153
174
154
175
// / Represents a device type that resides on an endpoint
0 commit comments