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 जांच वर्ण के साथ होती है. जनरेट की गई स्ट्रिंग की लंबाई, engagementCodeLen पैरामीटर से तय होती है. इस लंबाई को पूरा करने के लिए, स्ट्रिंग को बाईं ओर शून्य से पैड किया जाता है.

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

IntToPairingCode

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

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

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

जानकारी
पैरामीटर
[in] val
कोड में बदलने के लिए वैल्यू.
[in] pairingCodeLen
कोड में बदले गए पेयरिंग कोड स्ट्रिंग की मनचाही लंबाई, जिसमें बाद में जांच करने वाला वर्ण भी शामिल हो. >= 2 होना चाहिए.
[out] outBuf
कैरेक्टर बफ़र का पॉइंटर जिसे कोड में बदला गया पेयरिंग कोड और शून्य टर्मिनेटर वर्ण मिलेगा. दिया गया बफ़र कम से कम, transactionCodeLen + 1 जितना बड़ा होना चाहिए.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका काम कर गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर transactionCodeLen < 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
Kryptonite डिवाइस का आईडी.
[out] pairingCodeBuf
बफ़र का पॉइंटर, जिसे Kryptonite जोड़ने का कोड मिलेगा. यह NULL बंद करने वाला वर्ण होता है. दिए गए बफ़र का साइज़, सात या उससे ज़्यादा वर्णों का होना चाहिए.
[in] pairingCodeBufSize
CodeBuf से जोड़कर दिखाया गया बफ़र का साइज़.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका काम कर गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी रेंज से बाहर है या दिया गया बफ़र बहुत छोटा है.

KryptonitePairingCodeToDeviceId

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

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

जानकारी
पैरामीटर
[in] pairingCode
ऐसी NULL-खत्म होने वाली स्ट्रिंग जिसमें 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
CodeBuf से जोड़कर दिखाया गया बफ़र का साइज़.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका काम कर गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर दिया गया डिवाइस आईडी रेंज से बाहर है या दिया गया बफ़र बहुत छोटा है.

NevisPairingCodeToDeviceId

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

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

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

NormalizePairingCode

void NormalizePairingCode(
  char *pairingCode,
  size_t & pairingCodeLen
)

पेयरिंग कोड स्ट्रिंग में वर्णों को सामान्य बनाएं.

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

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

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

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
जोड़ने के लिए कोड स्ट्रिंग, जिसे डिकोड करना है. इस स्ट्रिंग को NULL हटाना ज़रूरी नहीं है.
[in] pairingCodeLen
पेयरिंग कोड स्ट्रिंग की लंबाई, जिसमें कोई भी NULL टर्मिनेटर वर्ण शामिल नहीं है. >= 2 होना चाहिए.
[out] val
डिकोड की गई पूर्णांक वैल्यू.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर तरीका काम कर गया है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर partnerCodeLen < 2 है या उसके साथ दिए गए पेयरिंग कोड स्ट्रिंग में कोई अमान्य वर्ण है या पेयरिंग कोड में एन्कोड किया गया पूर्णांक वैल्यू, uint64_t में स्टोर की जा सकने वाली सबसे बड़ी वैल्यू से ज़्यादा है.

VerifyPairingCode

WEAVE_ERROR VerifyPairingCode(
  const char *pairingCode,
  size_t pairingCodeLen
)

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

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