nl::PairingCode

खास जानकारी

इन्यूमरेशन

@353 enum
@354 enum
@355 enum
@356{
  kStandardPairingCodeLength = 6,
  kKryptonitePairingCodeLength = 9,
  kPairingCodeLenMin = 2,
  kBitsPerCharacter = 5
}
enum

फ़ंक्शन

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
अगर दिया गया वर्ण, 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)
यह फ़ंक्शन, नेविस को जोड़ने वाले कोड में कोड में बदला गया डिवाइस आईडी दिखाता है.
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 चेक वर्ण के तौर पर एन्कोड किया गया हो. जनरेट की गई स्ट्रिंग में जोड़ने के लिए कोडLen पैरामीटर की मदद से तय की गई लंबाई तय होती है. स्ट्रिंग की बाईं ओर, इस लंबाई को पूरा करने के लिए ज़रूरत के हिसाब से शून्य लगाए जाते हैं.

ब्यौरा
पैरामीटर
[in] pairingCodeLen
दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग की मनचाही लंबाई, जिसमें आखिरी चेक वाला वर्ण भी शामिल है. वैल्यू >= 2 होनी चाहिए.
[out] outBuf
कैरेक्टर बफ़र का पॉइंटर, जिसे कोड में बदले गए पेयरिंग कोड के साथ-साथ, शून्य टर्मिनेटर वर्ण के साथ भेजा जाएगा. दिया गया बफ़र कम से कम उतना बड़ा होना चाहिए जितना किजोड़ेंCodeLen + 1.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ने वालाCodeLen < है 2 या दिए गए पूर्णांक वैल्यू को,जोड़ेंCodeLen में तय किए गए वर्णों की संख्या में कोड में नहीं बदला जा सकता. इसमें जांच वाले वर्ण के लिए, वैल्यू को 1 घटाएं.

IntToPairingCode

WEAVE_ERROR IntToPairingCode(
  uint64_t val,
  uint8_t pairingCodeLen,
  char *outBuf
)

किसी पूर्णांक वैल्यू को Weave के पेयरिंग कोड के तौर पर एन्कोड करें.

यह फ़ंक्शन, Weave जोड़ने के लिए एक कोड स्ट्रिंग जनरेट करता है. इस स्ट्रिंग में, बिना साइन वाली इंटिजर वैल्यू होती है. इस वैल्यू को बिग-एंडियन, बेस-32 नंबर और आखिर में Verhoeff चेक वर्ण के तौर पर कोड में बदला जाता है. जनरेट की गई स्ट्रिंग में जोड़ने के लिए कोडLen पैरामीटर की मदद से तय की गई लंबाई तय होती है. स्ट्रिंग की बाईं ओर, इस लंबाई को पूरा करने के लिए ज़रूरत के हिसाब से शून्य लगाए जाते हैं.

ब्यौरा
पैरामीटर
[in] val
एन्कोड किया जाने वाला मान.
[in] pairingCodeLen
कोड में बदले गए दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग की मनचाही लंबाई, जिसमें आखिरी चेक वर्ण भी शामिल है. वैल्यू >= 2 होनी चाहिए.
[out] outBuf
कैरेक्टर बफ़र का पॉइंटर, जिसे कोड में बदले गए पेयरिंग कोड के साथ-साथ, शून्य टर्मिनेटर वर्ण के साथ भेजा जाएगा. दिया गया बफ़र कम से कम उतना बड़ा होना चाहिए जितना किजोड़ेंCodeLen + 1.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ने वालाCodeLen < है 2 या दिए गए पूर्णांक वैल्यू को,जोड़ेंCodeLen में तय किए गए वर्णों की संख्या में कोड में नहीं बदला जा सकता. इसमें जांच वाले वर्ण के लिए, वैल्यू को 1 घटाएं.

IntToPairingCodeChar

char IntToPairingCodeChar(
  int val
)

0..31 की सीमा के पूर्णांक मान को उसके संबंधित Weave जोड़ने वाले कोड वर्ण में बदलें.

ध्यान दें कि यह फ़ंक्शन हमेशा अपर-केस वर्ण जनरेट करता है.

ब्यौरा
पैरामीटर
[in] val
बदला जाने वाला पूर्णांक मान.
लौटाए जाने वाले प्रॉडक्ट
जोड़े गए कोड का वह वर्ण जो तय किए गए पूर्णांक के मान के मुताबिक होता है या पूर्णांक की वैल्यू सीमा से बाहर होने पर 0.

IsValidPairingCodeChar

bool IsValidPairingCodeChar(
  char ch
)

अगर दिया गया वर्ण, Weave जोड़ने के लिए एक मान्य कोड वर्ण है, तो 'सही' दिखाता है.

ध्यान रखें कि यह फ़ंक्शन केस-इनसेंसिटिव होता है.

ब्यौरा
पैरामीटर
[in] ch
जांचा जाने वाला वर्ण.
लौटाए जाने वाले प्रॉडक्ट
अगर दिया गया वर्ण एक मान्य Weave जोड़ी जोड़ने वाला कोड वर्ण है, तो सही.

KryptoniteDeviceIdToPairingCode

WEAVE_ERROR KryptoniteDeviceIdToPairingCode(
  uint64_t deviceId,
  char *pairingCodeBuf,
  size_t pairingCodeBufSize
)

इस नीति से, Kryptonite डिवाइस आईडी वाली Kryptonite पर जोड़ी जाने वाली कोड स्ट्रिंग जनरेट होती है.

ब्यौरा
पैरामीटर
[in] deviceId
क्रिप्टोनाइट डिवाइस आईडी.
[out] pairingCodeBuf
बफ़र का पॉइंटर, जिसे Kryptonite से जोड़ने का कोड मिलेगा. इसे खत्म करने के लिए शून्य वर्ण का इस्तेमाल किया जाता है. दिए गए बफ़र का साइज़, सात या उससे ज़्यादा वर्ण का होना चाहिए.
[in] pairingCodeBufSize
बफ़र का साइज़, जोड़ने के लिए कोडBuf की मदद से दिखाया गया है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी सीमा से बाहर है या अगर दिया गया बफ़र बहुत छोटा है.

KryptonitePairingCodeToDeviceId

WEAVE_ERROR KryptonitePairingCodeToDeviceId(
  const char *pairingCode,
  uint64_t & deviceId
)

यह विकल्प Kryptonite के पेयरिंग कोड में कोड में बदला गया डिवाइस आईडी दिखाता है.

ब्यौरा
पैरामीटर
[in] pairingCode
ऐसी स्ट्रिंग जिसमें Kryptonite पेयरिंग कोड मौजूद है और जिसे खत्म किया जा चुका है.
[out] deviceId
डिकोड किया गया Kryptonite डिवाइस आईडी पाने वाले पूर्णांक का रेफ़रंस.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए दूसरे डिवाइस से जोड़ने के कोड की लंबाई गलत है या जोड़े गए कोड में अमान्य वर्ण शामिल हैं या दूसरे डिवाइस से जोड़ने के कोड के शुरुआती वर्ण, चेक वर्ण से मेल नहीं खाते हैं.

NevisDeviceIdToPairingCode

WEAVE_ERROR NevisDeviceIdToPairingCode(
  uint64_t deviceId,
  char *pairingCodeBuf,
  size_t pairingCodeBufSize
)

Nevis डिवाइस आईडी के आधार पर Nevis के दूसरे डिवाइस से जोड़ने का कोड स्ट्रिंग जनरेट करता है.

ब्यौरा
पैरामीटर
[in] deviceId
Nevis डिवाइस आईडी
[out] pairingCodeBuf
बफ़र का पॉइंटर, जिसे Nevis पेयरिंग कोड मिलेगा, एक शून्य समाप्ति वर्ण. दिए गए बफ़र का साइज़, सात या उससे ज़्यादा वर्ण का होना चाहिए.
[in] pairingCodeBufSize
बफ़र का साइज़, जोड़ने के लिए कोडBuf की मदद से दिखाया गया है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी सीमा से बाहर है या अगर दिया गया बफ़र बहुत छोटा है.

NevisPairingCodeToDeviceId

WEAVE_ERROR NevisPairingCodeToDeviceId(
  const char *pairingCode,
  uint64_t & deviceId
)

यह फ़ंक्शन, नेविस को जोड़ने वाले कोड में कोड में बदला गया डिवाइस आईडी दिखाता है.

ब्यौरा
पैरामीटर
[in] pairingCode
खत्म की गई ऐसी स्ट्रिंग जिसमें Nevis पर जोड़ा गया कोड मौजूद है.
[out] deviceId
डिकोड किया गया Nevis डिवाइस आईडी पाने वाले पूर्णांक का रेफ़रंस.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिए गए दूसरे डिवाइस से जोड़ने के कोड की लंबाई गलत है या जोड़े गए कोड में अमान्य वर्ण शामिल हैं या दूसरे डिवाइस से जोड़ने के कोड के शुरुआती वर्ण, चेक वर्ण से मेल नहीं खाते हैं.

NormalizePairingCode

void NormalizePairingCode(
  char *pairingCode,
  size_t & pairingCodeLen
)

दूसरे डिवाइस से जोड़ने के कोड वाली स्ट्रिंग में मौजूद वर्णों को सामान्य बनाएं.

यह फ़ंक्शन सभी वर्णानुक्रम को अपर-केस में बदल देता है, 'I', 'O', 'Q' अमान्य वर्णों को मैप करता है और 'Z' '1', '0', '0' से और '2' का इस्तेमाल करता है. साथ ही, दी गई स्ट्रिंग में से जुड़े हुए दूसरे सभी कोड वर्ण हटा देता है.

इनपुट स्ट्रिंग को शून्य खत्म करना ज़रूरी नहीं है. हालांकि, अगर आउटपुट मिलता है, तो उसे भी खत्म कर दिया जाएगा.

ब्यौरा
पैरामीटर
[in,out] pairingCode
इनपुट पर, दूसरे डिवाइस से जोड़ने वाले कोड की स्ट्रिंग को नॉर्मलाइज़ किया जाएगा. आउटपुट में, नॉर्मलाइज़ की गई स्ट्रिंग. स्ट्रिंग को शून्य करना ज़रूरी नहीं है.
[in,out] pairingCodeLen
इनपुट में, दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग की लंबाई. इसमें कोई शून्य टर्मिनेटर वर्ण शामिल नहीं है. आउटपुट पर, सामान्य स्ट्रिंग की लंबाई.

PairingCodeCharToInt

int PairingCodeCharToInt(
  char ch
)

Weave के जोड़े जोड़ने वाले कोड के वर्ण को 0..31 की रेंज वाली पूर्णांक वैल्यू में बदलें.

ध्यान रखें कि यह फ़ंक्शन केस-इनसेंसिटिव होता है.

ब्यौरा
पैरामीटर
[in] ch
कन्वर्ट किया जाने वाला वर्ण.
लौटाए जाने वाले प्रॉडक्ट
जोड़े गए कोड के वर्ण के हिसाब से पूर्णांक वैल्यू या अगर ch कोई मान्य वर्ण नहीं है, तो -1.

PairingCodeToInt

WEAVE_ERROR PairingCodeToInt(
  const char *pairingCode,
  size_t pairingCodeLen,
  uint64_t & val
)

Weave जोड़ने के कोड को पूर्णांक वैल्यू के तौर पर डिकोड करें.

फ़ंक्शन, Weave जोड़ने के कोड स्ट्रिंग के शुरुआती वर्णों को बिग-एंडियन, बेस-32 अंकों के तौर पर पार्स करता है और नतीजे के तौर पर मिलने वाली वैल्यू को बिना साइन वाले पूर्णांक के तौर पर दिखाता है. इनपुट स्ट्रिंग की लंबाई >= 2 हो सकती है. हालांकि, यह ज़रूरी है कि डिकोड किया गया पूर्णांक uint64_t के अंदर फ़िट हो.

Verhoeff जांच वर्ण की पुष्टि करने की कोई कोशिश नहीं की गई (VerifyPairingCode() देखें).

ब्यौरा
पैरामीटर
[in] pairingCode
जोड़ने के लिए दी गई कोड स्ट्रिंग को डिकोड किया जाना है. इस स्ट्रिंग को खत्म करना ज़रूरी नहीं है.
[in] pairingCodeLen
दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग की लंबाई. इसमें कोई भी शून्य टर्मिनेटर वर्ण शामिल नहीं है. वैल्यू >= 2 होनी चाहिए.
[out] val
डिकोड किया गया पूर्णांक मान.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ने वालाCodeLen < है 2 या दी गई दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग में कोई अमान्य वर्ण है या दूसरे डिवाइस से जोड़ने के कोड में एन्कोड किया गया पूर्णांक मान, uint64_t में सेव की जा सकने वाली सबसे ज़्यादा वैल्यू से ज़्यादा है.

VerifyPairingCode

WEAVE_ERROR VerifyPairingCode(
  const char *pairingCode,
  size_t pairingCodeLen
)

Weave जोड़ने के कोड की पुष्टि, उसके चेक वर्ण के साथ करें.

ब्यौरा
पैरामीटर
[in] pairingCode
वह दूसरे डिवाइस से जोड़ने वाले कोड की स्ट्रिंग जिसकी जांच करनी है. इस स्ट्रिंग को खत्म करना ज़रूरी नहीं है.
[in] pairingCodeLen
दूसरे डिवाइस से जोड़ने वाले कोड स्ट्रिंग की लंबाई. इसमें कोई भी शून्य टर्मिनेटर वर्ण शामिल नहीं है. वैल्यू >= 2 होनी चाहिए.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका कामयाब हो गया हो.
WEAVE_ERROR_INVALID_ARGUMENT
अगर जोड़ने वालाCodeLen < है 2 या जोड़ने के कोड के शुरुआती वर्ण, चेक वर्ण की वैल्यू से मेल नहीं खाते.