nl:: PairingCode
ملخّص
عمليات التعداد |
|
---|---|
@353
|
تعداد |
@354
|
تعداد |
@355
|
تعداد |
@356{
|
تعداد |
الدوال |
|
---|---|
GeneratePairingCode(uint8_t pairingCodeLen, char *outBuf)
|
إنشاء رمز إقران عشوائي
|
IntToPairingCode(uint64_t val, uint8_t pairingCodeLen, char *outBuf)
|
ترميز قيمة عدد صحيح كرمز إقران Weave.
|
IntToPairingCodeChar(int val)
|
char
تحويل قيمة عدد صحيح في النطاق 0..31 إلى حرف رمز إقران Weave المقابل له.
|
IsValidPairingCodeChar(char ch)
|
bool
لعرض true إذا كان الحرف المقدم هو حرف رمز إقران صالح لنظام Weave.
|
KryptoniteDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
إنشاء سلسلة رمز إقران Kryptonite يتم منحها لمعرّف جهاز Kryptonite.
|
KryptonitePairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
تعرض هذه الدالة رقم تعريف الجهاز المشفر برمز إقران Kryptonite.
|
NevisDeviceIdToPairingCode(uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize)
|
تنشئ هذه الدالة سلسلة رمز إقران Nevis حسب رقم تعريف جهاز Nevis.
|
NevisPairingCodeToDeviceId(const char *pairingCode, uint64_t & deviceId)
|
لعرض رقم تعريف الجهاز المشفر في رمز إقران Nevis.
|
NormalizePairingCode(char *pairingCode, size_t & pairingCodeLen)
|
void
عليك تسوية الأحرف في سلسلة رمز إقران.
|
PairingCodeCharToInt(char ch)
|
int
تحويل حرف رمز إقران Weave إلى قيمة عددية في النطاق 0..31.
|
PairingCodeToInt(const char *pairingCode, size_t pairingCodeLen, uint64_t & val)
|
فك ترميز رمز إقران Weave كقيمة عدد صحيح.
|
VerifyPairingCode(const char *pairingCode, size_t pairingCodeLen)
|
تحقق من رمز إقران Weave مقابل حرف الاختيار.
|
عمليات التعداد
353@
@353
354@
@354
355@
@355
356@
@356
أماكن إقامة | |
---|---|
kBitsPerCharacter
|
عدد وحدات البت المشفرة في حرف رمز إقران واحد. |
kKryptonitePairingCodeLength
|
طول رمز الاقتران لـ Kryptonite. |
kPairingCodeLenMin
|
الحد الأدنى لطول رمز الإقران |
kStandardPairingCodeLength
|
طول رمز الإقران لمعظم منتجات Nest |
الدوال
GeneratePairingCode
WEAVE_ERROR GeneratePairingCode( uint8_t pairingCodeLen, char *outBuf )
إنشاء رمز إقران عشوائي
تنشئ الدالة سلسلة رمز إقران Weave عشوائية بطول محدد. مُرمّزة على شكل حرف كبير ذو 32 رقمًا، بالإضافة إلى حرف اختيار Verhoeff في النهاية. السلسلة التي تم إنشاؤها لها طول ثابت محدد بواسطة المعلمة إقرانCodeLen. ويتم ملء السلسلة على اليسار بالأصفار حسب الضرورة لتحقيق هذا الطول.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
قيم الإرجاع |
|
IntToPairingCode
WEAVE_ERROR IntToPairingCode( uint64_t val, uint8_t pairingCodeLen, char *outBuf )
ترميز قيمة عدد صحيح كرمز إقران Weave.
تنشئ الدالة سلسلة رمز إقران Weave تتألف من قيمة عدد صحيح غير موقَّع، ومشفّرة كرقم ذي نهاية كبيرة، رقم Base-32، بالإضافة إلى حرف فحص Verhoeff لاحق. السلسلة التي تم إنشاؤها لها طول ثابت محدد بالمَعلمة pivotCodeLen. ويتم ملء السلسلة على اليسار بالأصفار حسب الضرورة لتحقيق هذا الطول.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
IntToPairingCodeChar
char IntToPairingCodeChar( int val )
تحويل قيمة عدد صحيح في النطاق 0..31 إلى حرف رمز إقران Weave المقابل له.
تجدر الإشارة إلى أنّ هذه الدالة تنتج دائمًا أحرفًا كبيرة.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
رمز رمز الإقران الذي يتوافق مع قيمة العدد الصحيح المحددة، أو 0 إذا كانت قيمة العدد الصحيح خارج النطاق.
|
IsValidPairingCodeChar
bool IsValidPairingCodeChar( char ch )
لعرض true إذا كان الحرف المقدم هو حرف رمز إقران صالح لنظام Weave.
لاحظ أن هذه الدالة غير حساسة لحالة الأحرف.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
صحيح إذا كان الحرف المقدم هو حرف رمز إقران Weave صالح.
|
KryptoniteDeviceIdToPairingCode
WEAVE_ERROR KryptoniteDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
إنشاء سلسلة رمز إقران Kryptonite يتم منحها لمعرّف جهاز Kryptonite.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
KryptonitePairingCodeToDeviceId
WEAVE_ERROR KryptonitePairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
تعرض هذه الدالة رقم تعريف الجهاز المشفر برمز إقران Kryptonite.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
قيم الإرجاع |
|
NevisDeviceIdToPairingCode
WEAVE_ERROR NevisDeviceIdToPairingCode( uint64_t deviceId, char *pairingCodeBuf, size_t pairingCodeBufSize )
تنشئ هذه الدالة سلسلة رمز إقران Nevis حسب رقم تعريف جهاز Nevis.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
NevisPairingCodeToDeviceId
WEAVE_ERROR NevisPairingCodeToDeviceId( const char *pairingCode, uint64_t & deviceId )
لعرض رقم تعريف الجهاز المشفر في رمز إقران Nevis.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
قيم الإرجاع |
|
NormalizePairingCode
void NormalizePairingCode( char *pairingCode, size_t & pairingCodeLen )
عليك تسوية الأحرف في سلسلة رمز إقران.
تحوّل هذه الدالة جميع الأحرف الأبجدية إلى الأحرف الكبيرة، وتعيّن الأحرف غير القانونية "I" و"O" و"Q". و"Z" إلى 1، 0، 0 و "2" على التوالي، وتزيل جميع أحرف الرمز البرمجي غير المقترنة من السلسلة المحدّدة.
ليس من الضروري إنهاء سلسلة الإدخال "NULL"، ولكن إذا كانت المخرجات، سيتم أيضًا إنهاء "NULL" (فارغ).
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
PairingCodeCharToInt
int PairingCodeCharToInt( char ch )
تحويل حرف رمز إقران Weave إلى قيمة عددية في النطاق 0..31.
لاحظ أن هذه الدالة غير حساسة لحالة الأحرف.
التفاصيل | |||
---|---|---|---|
المعلمات |
|
||
المرتجعات |
قيمة عددية تتجاوب مع حرف رمز الإقران المحدّد، أو -1 إذا لم يكن ch حرفًا صالحًا.
|
PairingCodeToInt
WEAVE_ERROR PairingCodeToInt( const char *pairingCode, size_t pairingCodeLen, uint64_t & val )
فك ترميز رمز إقران Weave كقيمة عدد صحيح.
تقوم الدالة بتحليل الأحرف الأولى من سلسلة التعليمات البرمجية لإقران Weave كرقم كبير ذو نهاية رقم 32 وترجع القيمة الناتجة كعدد صحيح غير موقع. يمكن أن تكون سلسلة الإدخال أي طول >= 2 ما دام العدد الصحيح الذي تم فك ترميزه يتناسب مع uint64_t.
ولم يتم إجراء أي محاولة للتحقق من حرف فحص Verhoeff (يُرجى الاطّلاع على VerifypairingCode()).
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
قيم الإرجاع |
|
VerifyPairingCode
WEAVE_ERROR VerifyPairingCode( const char *pairingCode, size_t pairingCodeLen )
تحقق من رمز إقران Weave مقابل حرف الاختيار.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
قيم الإرجاع |
|