nl::Weave::WeaveServerBase

#include <src/lib/core/WeaveServerBase.h>

आम तौर पर, यह Weave प्रोफ़ाइल के लिए अनचाहे जवाब देने वाले लोगों (सर्वर) को लागू करने के लिए बेस ऑब्जेक्ट होता है. ये ऐसे सर्वर हैं जो पुष्टि किए गए अनुरोधों की पुष्टि करने और स्टेटस रिपोर्ट भेजने के लिए इन-कैप्सुलेट करते हैं. साथ ही, यह फ़ैब्रिक स्टेट और एक्सचेंज मैनेजर के लिए डेटा मेंबर का एक जैसा स्टोरेज उपलब्ध कराता है.

खास जानकारी

इनहेरिटेंस

डायरेक्ट ऐक्सेस









nl::Weave::Profiles::DeviceControl::DeviceControlServernl::Weave::Profiles::DeviceDescription::DeviceDescriptionServernl::Weave::Profiles::Echo_Next::WeaveEchoServernl::Weave::Profiles::FabricProvisioning::FabricProvisioningServernl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceivernl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServernl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServernl::Weave::Profiles::TokenPairing::TokenPairingServernl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServernl::Weave::Profiles::WeaveEchoServer

सार्वजनिक एट्रिब्यूट

ExchangeMgr
[रीड ओनली] Exchange मैनेजर ऑब्जेक्ट
FabricState
[रीड ओनली] फ़ैब्रिक स्टेट ऑब्जेक्ट

सार्वजनिक स्टैटिक फ़ंक्शन

SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError)
तय किए गए एक्सचेंज पर, शुरू करने वाले को डिफ़ॉल्ट मैसेज फ़्लैग के साथ Weave स्टेटस रिपोर्ट भेजें, जिसमें खास प्रोफ़ाइल में स्टेटस कोड और सिस्टम की गड़बड़ी हो.
SendStatusReport(ExchangeContext *ec, uint32_t statusProfileId, uint16_t statusCode, WEAVE_ERROR sysError, uint16_t sendFlags)
दिए गए मैसेज फ़्लैग के साथ, शुरू करने वाले को खास एक्सचेंज पर Weave स्टेटस रिपोर्ट भेजें. इसमें, बताई गई प्रोफ़ाइल में स्टेटस कोड होना चाहिए. साथ ही, सिस्टम की गड़बड़ी की जानकारी भी होनी चाहिए.

सुरक्षित किए गए फ़ंक्शन

EnforceAccessControl(ExchangeContext *ec, uint32_t msgProfileId, uint8_t msgType, const WeaveMessageInfo *msgInfo, WeaveServerDelegateBase *delegate)
bool
तय करें कि किसी Weave सर्वर पर आने वाले अनुरोध के मैसेज को स्वीकार किया जाए या खारिज किया जाए.
WeaveServerBase(void)

सार्वजनिक एट्रिब्यूट

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[रीड ओनली] Exchange मैनेजर ऑब्जेक्ट

FabricState

WeaveFabricState * FabricState

[रीड ओनली] फ़ैब्रिक स्टेट ऑब्जेक्ट

सार्वजनिक स्टैटिक फ़ंक्शन

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError
)

तय किए गए एक्सचेंज पर, शुरू करने वाले को डिफ़ॉल्ट मैसेज फ़्लैग के साथ Weave स्टेटस रिपोर्ट भेजें, जिसमें खास प्रोफ़ाइल में स्टेटस कोड और सिस्टम की गड़बड़ी हो.

जानकारी
पैरामीटर
[in] ec
स्टेटस रिपोर्ट भेजने के लिए, एक्सचेंज कॉन्टेक्स्ट का पॉइंटर.
[in] statusProfileId
तय किए गए स्टेटस कोड के लिए प्रोफ़ाइल.
[in] statusCode
भेजने के लिए स्टेटस कोड.
[in] sysError
सिस्टम में होने वाली गड़बड़ी या स्टेटस कोड से जुड़ी गड़बड़ी.

SendStatusReport

WEAVE_ERROR SendStatusReport(
  ExchangeContext *ec,
  uint32_t statusProfileId,
  uint16_t statusCode,
  WEAVE_ERROR sysError,
  uint16_t sendFlags
)

दिए गए मैसेज फ़्लैग के साथ, शुरू करने वाले को खास एक्सचेंज पर Weave स्टेटस रिपोर्ट भेजें. इसमें, बताई गई प्रोफ़ाइल में स्टेटस कोड होना चाहिए. साथ ही, सिस्टम की गड़बड़ी की जानकारी भी होनी चाहिए.

जानकारी
पैरामीटर
[in] ec
स्टेटस रिपोर्ट भेजने के लिए, एक्सचेंज कॉन्टेक्स्ट का पॉइंटर.
[in] statusProfileId
तय किए गए स्टेटस कोड के लिए प्रोफ़ाइल.
[in] statusCode
भेजने के लिए स्टेटस कोड.
[in] sysError
सिस्टम में होने वाली गड़बड़ी या स्टेटस कोड से जुड़ी गड़बड़ी.
[in] sendFlags
Weave की स्टेटस रिपोर्ट भेजने के लिए, ऐप्लिकेशन के सेट किए गए फ़्लैग.

सुरक्षित किए गए फ़ंक्शन

EnforceAccessControl

bool EnforceAccessControl(
  ExchangeContext *ec,
  uint32_t msgProfileId,
  uint8_t msgType,
  const WeaveMessageInfo *msgInfo,
  WeaveServerDelegateBase *delegate
)

तय करें कि किसी Weave सर्वर पर आने वाले अनुरोध के मैसेज को स्वीकार किया जाए या खारिज किया जाए.

इस तरीके का इस्तेमाल, Weave सर्वर को लागू करने के लिए है. इसकी मदद से इनकमिंग अनुरोध के मैसेज के लिए, एक्स्टेंसिबल ऐक्सेस कंट्रोल नीति लागू की जा सकती है. जिन सर्वर को लागू करने का ऐक्सेस डेलिगेट ऑब्जेक्ट पर निर्भर करता है उन्हें मैसेज प्रोसेसिंग की शुरुआत में ही इस तरीके को कॉल करना चाहिए. इससे यह तय किया जा सकता है कि मैसेज की प्रोसेसिंग जारी रखनी है या नहीं.

यह तरीका, मैसेज के लिए ऐक्सेस कंट्रोल की नीति का आकलन करने के लिए, दिए गए डेलिगेट पर वर्चुअल WeaveServerReleaseBase::EnforceAccessControl() तरीके को कॉल करता है. ऐक्सेस कंट्रोल से जुड़ी खास नीतियों को लागू करने के लिए, वीव सर्वर डेलिगेट क्लास और स्टैंडर्ड सर्वर क्लास से मिलने वाले ऐप्लिकेशन के लिए तय किए गए डेलिगेट को वर्चुअल तरीके को बदलना चाहिए.

जानकारी
पैरामीटर
[in] ec
वह ExchangeContext जिस पर मैसेज मिला.
[in] msgProfileId
मिले मैसेज का प्रोफ़ाइल आईडी.
[in] msgType
मिलने वाले मैसेज का टाइप.
[in] msgInfo
WeaveMessageInfo स्ट्रक्चर में, मिले मैसेज की जानकारी होती है.
[in] delegate
ऐप्लिकेशन से मिला डेलीगेट ऑब्जेक्ट, जिसका इस्तेमाल मैसेज के ऐक्सेस पर कंट्रोल से जुड़ी डिफ़ॉल्ट नीति को बदलने के लिए किया जा सकता है.
रिटर्न वैल्यू
true
क्या मैसेज को सामान्य तरीके से स्वीकार और प्रोसेस किया जाना चाहिए.
false
अगर मैसेज की प्रोसेसिंग रुक जाती है और मैसेज को खारिज कर देना चाहिए.

WeaveServerBase

 WeaveServerBase(
  void
)