nl::Weave::WeaveServerBase

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

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

खास जानकारी

इनहेरिटेंस

पहले से मालूम सब-क्लास:
  nl::Weave::Profiles::DeviceControl::DeviceControlServer
  nl::Weave::Profiles::DeviceDescription::DeviceDescriptionServer
  nl::Weave::Profiles::Echo_Next::WeaveEchoServer
  nl::Weave::Profiles::FabricProvisioning::FabricProvisioningServer
  nl::Weave::Profiles::Heartbeat::WeaveHeartbeatReceiver
  nl::Weave::Profiles::NetworkProvisioning::NetworkProvisioningServer
  nl::Weave::Profiles::ServiceProvisioning::ServiceProvisioningServer
  nl::Weave::Profiles::TokenPairing::TokenPairingServer
  nl::Weave::Profiles::Vendor::Nestlabs::DropcamLegacyPairing::DropcamLegacyPairingServer
  nl::Weave::Profiles::WeaveEchoServer

सार्वजनिक विशेषताएं

ExchangeMgr
[READ ONLY] Exchange मैनेजर ऑब्जेक्ट
FabricState
[READ ONLY] फ़ैब्रिक स्टेट ऑब्जेक्ट

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

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

[READ ONLY] Exchange मैनेजर ऑब्जेक्ट

FabricState

WeaveFabricState * FabricState

[READ ONLY] फ़ैब्रिक स्टेट ऑब्जेक्ट

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

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 सर्वर के ज़रिए आने वाले अनुरोध मैसेज के लिए एक्सटेंसिबल ऐक्सेस कंट्रोल नीति को लागू करने के मकसद से इस्तेमाल किया जाता है. डेलिगेट ऑब्जेक्ट पर निर्भर करने वाले सर्वर को लागू करने के तरीके को, मैसेज प्रोसेसिंग के शुरुआती चरण में कॉल करना चाहिए. इससे यह तय किया जा सकता है कि मैसेज प्रोसेसिंग जारी रहे या नहीं.

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

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

WeaveServerBase

 WeaveServerBase(
  void
)