@@ -81,7 +81,7 @@ class DLL_EXPORT IdentificationDeclaration
81
81
bool HasDiscoveryInfo ()
82
82
{
83
83
return mVendorId != 0 || mProductId != 0 || mCdPort != 0 || strlen (mDeviceName ) > 0 || GetRotatingIdLength () > 0 ||
84
- mNumAppVendorIds > 0 || mNoPasscode || mCdUponPasscodeDialog || mCommissionerPasscode || mCommissionerPasscodeReady ;
84
+ mNumTargetAppInfos > 0 || mNoPasscode || mCdUponPasscodeDialog || mCommissionerPasscode || mCommissionerPasscodeReady ;
85
85
}
86
86
87
87
const char * GetDeviceName () const { return mDeviceName ; }
@@ -105,25 +105,29 @@ class DLL_EXPORT IdentificationDeclaration
105
105
memcpy (mRotatingId , rotatingId, mRotatingIdLen );
106
106
}
107
107
108
- bool GetAppVendorId (uint8_t index, uint16_t & vid ) const
108
+ bool GetTargetAppInfo (uint8_t index, TargetAppInfo & info ) const
109
109
{
110
- if (index < mNumAppVendorIds )
110
+ if (index < mNumTargetAppInfos )
111
111
{
112
- vid = mAppVendorIds [index ];
112
+ info.vendorId = mTargetAppInfos [index ].vendorId ;
113
+ info.productId = mTargetAppInfos [index ].productId ;
113
114
return true ;
114
115
}
115
116
return false ;
116
117
}
117
- size_t GetNumAppVendorIds () const { return mNumAppVendorIds ; }
118
+ size_t GetNumTargetAppInfos () const { return mNumTargetAppInfos ; }
118
119
119
- void AddAppVendorId ( uint16_t vid)
120
+ bool AddTargetAppInfo (TargetAppInfo vid)
120
121
{
121
- if (mNumAppVendorIds >= sizeof (mAppVendorIds ))
122
+ if (mNumTargetAppInfos >= sizeof (mTargetAppInfos ))
122
123
{
123
124
// already at max
124
- return ;
125
+ return false ;
125
126
}
126
- mAppVendorIds [mNumAppVendorIds ++] = vid;
127
+ mTargetAppInfos [mNumTargetAppInfos ].vendorId = vid.vendorId ;
128
+ mTargetAppInfos [mNumTargetAppInfos ].productId = vid.productId ;
129
+ mNumTargetAppInfos ++;
130
+ return true ;
127
131
}
128
132
129
133
const char * GetPairingInst () const { return mPairingInst ; }
@@ -170,12 +174,12 @@ class DLL_EXPORT IdentificationDeclaration
170
174
client->SetRotatingId (GetRotatingId (), GetRotatingIdLength ());
171
175
client->SetPairingInst (GetPairingInst ());
172
176
client->SetPairingHint (GetPairingHint ());
173
- for (uint8_t i = 0 ; i < GetNumAppVendorIds (); i++)
177
+ for (uint8_t i = 0 ; i < GetNumTargetAppInfos (); i++)
174
178
{
175
- uint16_t vid ;
176
- if (GetAppVendorId (i, vid ))
179
+ TargetAppInfo info ;
180
+ if (GetTargetAppInfo (i, info ))
177
181
{
178
- client->AddAppVendorId (vid );
182
+ client->AddTargetAppInfo (info );
179
183
}
180
184
}
181
185
@@ -214,9 +218,10 @@ class DLL_EXPORT IdentificationDeclaration
214
218
Encoding::BytesToUppercaseHexString (mRotatingId , mRotatingIdLen , rotatingIdString, sizeof (rotatingIdString));
215
219
ChipLogDetail (AppServer, " \t rotating id: %s" , rotatingIdString);
216
220
}
217
- for (uint8_t i = 0 ; i < mNumAppVendorIds ; i++)
221
+ for (uint8_t i = 0 ; i < mNumTargetAppInfos ; i++)
218
222
{
219
- ChipLogDetail (AppServer, " \t app vendor id [%d]: %u" , i, mAppVendorIds [i]);
223
+ ChipLogDetail (AppServer, " \t app vendor id / product id [%d]: %u/%u" , i, mTargetAppInfos [i].vendorId ,
224
+ mTargetAppInfos [i].productId );
220
225
}
221
226
if (strlen (mPairingInst ) != 0 )
222
227
{
@@ -256,13 +261,16 @@ class DLL_EXPORT IdentificationDeclaration
256
261
{
257
262
kVendorIdTag = 1 ,
258
263
kProductIdTag ,
259
- kNameTag ,
260
- kRotatingIdTag ,
261
- kCdPortTag ,
264
+ kDeviceNameTag ,
265
+ kDeviceTypeTag ,
262
266
kPairingInstTag ,
263
267
kPairingHintTag ,
264
- kAppVendorIdListTag ,
268
+ kRotatingIdTag ,
269
+ kCdPortTag ,
270
+ kTargetAppListTag ,
271
+ kTargetAppTag ,
265
272
kAppVendorIdTag ,
273
+ kAppProductIdTag ,
266
274
kNoPasscodeTag ,
267
275
kCdUponPasscodeDialogTag ,
268
276
kCommissionerPasscodeTag ,
@@ -281,9 +289,9 @@ class DLL_EXPORT IdentificationDeclaration
281
289
uint8_t mRotatingId [chip::Dnssd::kMaxRotatingIdLen ];
282
290
size_t mRotatingIdLen = 0 ;
283
291
284
- constexpr static size_t kMaxAppVendorIds = 10 ;
285
- uint8_t mNumAppVendorIds = 0 ; // number of vendor Ids
286
- uint16_t mAppVendorIds [ kMaxAppVendorIds ];
292
+ constexpr static size_t kMaxTargetAppInfos = 10 ;
293
+ uint8_t mNumTargetAppInfos = 0 ; // number of vendor Ids
294
+ TargetAppInfo mTargetAppInfos [ kMaxTargetAppInfos ];
287
295
288
296
char mPairingInst [chip::Dnssd::kMaxPairingInstructionLen + 1 ] = {};
289
297
uint16_t mPairingHint = 0 ;
0 commit comments