nl:: Weave:: Profiles:: DataManagement_Legacy
Ta przestrzeń nazw zawiera wszystkie interfejsy Weave w profilu Weave Data Management (WDM), który wkrótce zostanie wycofany.
Podsumowanie
Definiuje typ |
|
---|---|
TopicIdentifier
|
typedefuint64_t
Identyfikator tematu. |
Funkcje |
|
---|---|
CheckTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
bool
|
CheckWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
bool
Sprawdź tag WDM.
|
CloseDataListElement(nl::Weave::TLV::TLVReader & aReader)
|
Przestań odczytywać element listy danych WDM.
|
CloseList(nl::Weave::TLV::TLVReader & aReader)
|
Zatrzymaj odczytywanie ścieżki lub listy danych WDM.
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM przy użyciu wycofanych tagów i identyfikatora instancji w postaci liczby całkowitej.
|
EncodeDeprecatedPath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji w postaci ciągu znaków.
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM identyfikatorem instancji profilu w postaci liczby całkowitej.
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM, używając identyfikatora instancji tablicy bajtów.
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM, używając identyfikatora instancji ciągu znaków.
|
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ zapisywanie elementu listy danych.
|
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
|
|
EndList(nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ zapisywanie listy ścieżek lub listy danych.
|
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ zapisywanie listy ścieżek lub listy danych.
|
IsPublisherSpecific(const TopicIdentifier & aTopicId)
|
bool
Sprawdź, czy identyfikator tematu jest przypisany do wydawcy.
|
OpenDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader)
|
Zacznij odczytywać listę danych.
|
OpenDataListElement(nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion)
|
Zacznij odczytywać element listy danych.
|
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
|
Zacznij odczytywać listę ścieżek.
|
PublisherSpecificTopicId(void)
|
Wygeneruj od zera identyfikator tematu specyficzny dla wydawcy.
|
SendStatusReport(ExchangeContext *aExchangeCtx, StatusReport & aStatus)
|
|
StartDataList(nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij tworzyć listę danych.
|
StartDataList(ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij zapisywać listę danych do danego obiektu ReferencedTLVData.
|
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij zapisywać element listy danych.
|
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
|
|
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij tworzyć listę ścieżek.
|
TxnResponseHandler(ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg)
|
void
|
TxnTimeoutHandler(ExchangeContext *anExchangeCtx)
|
void
|
ValidateTLVType(nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader)
|
|
ValidateWDMTag(uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader)
|
Sprawdź, czy odczytywany element TLV ma oczekiwany tag WDM.
|
Zajęcia |
|
---|---|
nl:: |
Klasa Binding służy do zarządzania stanem komunikacji w imieniu podmiotu aplikacji za pomocą Weave. |
nl:: |
Klasa abstrakcyjna zawierająca definicje metody potwierdzania i wskazania wymagane przez klienta WDM. |
nl:: |
Klasa pomocnicza wykorzystywana, gdy w kliencie WDM wymagana jest obsługa subskrypcji i powiadomień. |
nl:: |
Abstrakcyjna klasa bazowa dla klientów WDM specyficznych dla aplikacji. |
nl:: |
Abstrakcyjna klasa bazowa dla wydawców WDM specyficznych dla aplikacji. |
nl:: |
Abstrakcyjna klasa pomocnicza ProfileDatabase. |
nl:: |
Klasa silnika protokołu WDM. |
nl:: |
Klasa abstrakcyjna zawierająca definicje metody potwierdzenia i powiadomienia wymagane przez wydawcę WDM. |
Wyliczenia
@103
@103
Właściwości | |
---|---|
kStatus_CancelSuccess
|
Ten starszy kod stanu oznacza, że subskrypcja została anulowana. Ten kod stanu oznacza, że subskrypcja została anulowana. |
kStatus_IllegalReadRequest
|
Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień. Ten kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień. |
kStatus_IllegalWriteRequest
|
Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie zapisu określonego elementu danych nie ma do tego uprawnień. Ten kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień. |
kStatus_InvalidPath
|
Ten starszy kod stanu oznacza, że ścieżka z listy ścieżek ramki widoku lub aktualizacji nie pasuje do schematu rezydentnego węzła odpowiadającego. Ten kod stanu oznacza, że ścieżka z listy ścieżek ramki widoku lub aktualizacji nie pasuje do schematu rezydentnego węzła odpowiadającego. |
kStatus_InvalidVersion
|
Ten starszy kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją u wydawcy, więc aktualizacja nie może zostać zastosowana. Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją u wydawcy i w związku z tym aktualizacja nie może zostać zastosowana. |
kStatus_UnknownTopic
|
Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub w powiadomieniu nie pasuje do żadnej subskrypcji w węźle odbierającym. Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub w powiadomieniu nie pasuje do żadnej subskrypcji w węźle odbierającym. |
kStatus_UnsupportedSubscriptionMode
|
Ten starszy kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające. Ten kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające. |
@166
@166
Rozmiary puli i tabel WDM.
WDM definiuje różne pule i tabele wymagane do jego działania w następujący sposób.
Pule transakcji klientów:
- kViewPoolSize
- kSubscribePoolSize
- kCancelSubscriptionPoolSize
- kUpdatePoolSize
Pule transakcji wydawcy:
- kNotifyPoolSize
Tabele mechanizmu protokołów:
- kTransactionTableSize
- kBindingTableSize
Tabele dotyczące subskrypcji:
- kNotifierTableSize (tylko klient)
- kSubscriptionMgrTableSize (tylko wydawca)
Pamiętaj, że są to liczby, które można skonfigurować, a wartości z poszczególnych platform pojawiają się w powiązanym pliku WeaveConfig.h.
Właściwości | |
---|---|
kBindingTableSize
|
To jest domyślny rozmiar tabeli powiązań w mechanizmie protokołów WDM. Tę wartość można skonfigurować w ustawieniu WEAVE_CONFIG_WDM_BINDING_TABLE_SIZE. |
kCancelSubscriptionPoolSize
|
To jest domyślny rozmiar puli transakcji żądań anulowania subskrypcji dla klienta WDM. Tę wartość można skonfigurować za pomocą metody WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE. |
kNotifierTableSize
|
To jest domyślny rozmiar tabeli powiadomień dla klientów WDM. Tę wartość można skonfigurować w ustawieniu WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE. |
kNotifyPoolSize
|
To jest domyślny rozmiar puli transakcji żądania powiadomienia dla wydawcy WDM. Tę wartość można skonfigurować w polu WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE. |
kSubscribePoolSize
|
To jest domyślny rozmiar puli transakcji żądań subskrypcji dla klienta WDM. Ta wartość może być skonfigurowana jako WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE. |
kSubscriptionMgrTableSize
|
To jest domyślny rozmiar tabeli subskrypcji dla wydawców WDM. Ta wartość może być skonfigurowana jako WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE. |
kTransactionTableSize
|
To jest domyślny rozmiar tabeli transakcji w mechanizmie protokołów WDM. Tę wartość można skonfigurować za pomocą metody WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE. |
kUpdatePoolSize
|
To jest domyślny rozmiar puli transakcji żądań aktualizacji dla klienta WDM. Ta wartość może być skonfigurowana jako WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE. |
kViewPoolSize
|
To jest domyślny rozmiar puli transakcji żądania wyświetlenia dla klienta WDM. Ta wartość może być skonfigurowana jako WEAVE_CONFIG_WDM_VIEW_POOL_SIZE. |
@167
@167
Typy komunikatów profilu WDM.
Wartości te są wywoływane w specyfikacji zarządzania danymi.
UWAGA!! Od pierwszego kwartału 2015 r. typy wiadomości używane w poprzednich wersjach WDM zostały wycofane i zdefiniowano nowe typy wiadomości. Wynika to z odpowiedniej zmiany w zakresie wcześniejszego pakowania i analizowania danych, która uzasadnia potrzebną przerwę.
Właściwości | |
---|---|
kMsgType_CancelSubscriptionRequest
|
Wiadomość o anulowaniu prośby o subskrypcję. |
kMsgType_CancelSubscriptionRequest_Deprecated
|
wycofano |
kMsgType_NotifyRequest
|
Powiadom wiadomość z prośbą. |
kMsgType_NotifyRequest_Deprecated
|
wycofano |
kMsgType_SubscribeRequest
|
Wiadomość z prośbą o subskrypcję. |
kMsgType_SubscribeRequest_Deprecated
|
wycofano |
kMsgType_SubscribeResponse
|
Subskrybuj wiadomość z odpowiedzią. |
kMsgType_SubscribeResponse_Deprecated
|
wycofano |
kMsgType_UpdateRequest
|
Zaktualizuj wiadomość z prośbą o aktualizację. |
kMsgType_UpdateRequest_Deprecated
|
wycofano |
kMsgType_ViewRequest
|
Wyświetl wiadomość z prośbą. |
kMsgType_ViewRequest_Deprecated
|
wycofano |
kMsgType_ViewResponse
|
Wyświetl wiadomość z odpowiedzią. |
kMsgType_ViewResponse_Deprecated
|
wycofano |
@168
@168
Różne stałe specyficzne dla WDM.
Właściwości | |
---|---|
kDefaultBindingTableIndex
|
Indeks domyślnego powiązania w tabeli powiązań mechanizmu protokołów z więcej niż 1 wpisem. |
kInstanceIdNotSpecified
|
W wywołaniach wymagających specyfikacji instancji profilu wskazuje „none” (brak). Najczęściej oznacza to, że dany podmiot zawiera tylko jedno wystąpienie profilu. |
kResponseTimeoutNotSpecified
|
W metodach wysyłania żądań transakcji wskazuje, że osoba wywołująca odmówiła określenia limitu czasu. Oznacza to, że należy użyć wartości domyślnej. |
kTransactionIdNotSpecified
|
W metodach i strukturach danych, które przyjmują identyfikator transakcji, wskazuje wartość „none” (brak) lub wartość wieloznaczną. |
kVersionNotSpecified
|
W wywołaniach wymagających specyfikacji wersji danych wskazuje „brak konkretnej wersji”. |
kWeaveTLVControlByteLen
|
Długość bajtu kontrolnego TLV używanego w metodach pomocy do kodowania struktur WDM w TLV. |
kWeaveTLVTagLen
|
Standardowa długość w bajtach w pełni kwalifikowanego tagu TLV używanego w metodach pomocy do kodowania struktur WDM w TLV. |
@169
@169
Kody stanu specyficzne dla WDM.
Właściwości | |
---|---|
kStatus_CancelSuccess
|
Ten starszy kod stanu oznacza, że subskrypcja została anulowana. Ten kod stanu oznacza, że subskrypcja została anulowana. |
kStatus_IllegalReadRequest
|
Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień. Ten kod stanu oznacza, że węzeł wysyłający żądanie odczytu określonego elementu danych nie ma do tego uprawnień. |
kStatus_IllegalWriteRequest
|
Ten starszy kod stanu oznacza, że węzeł wysyłający żądanie zapisu określonego elementu danych nie ma do tego uprawnień. Ten kod stanu oznacza, że węzeł wysyłający żądanie zapisu konkretnego elementu danych nie ma do tego uprawnień. |
kStatus_InvalidPath
|
Ten starszy kod stanu oznacza, że ścieżka z listy ścieżek ramki widoku lub aktualizacji nie pasuje do schematu rezydentnego węzła odpowiadającego. Ten kod stanu oznacza, że ścieżka z listy ścieżek ramki widoku lub aktualizacji nie pasuje do schematu rezydentnego węzła odpowiadającego. |
kStatus_InvalidVersion
|
Ten starszy kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją u wydawcy, więc aktualizacja nie może zostać zastosowana. Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją u wydawcy i w związku z tym aktualizacja nie może zostać zastosowana. |
kStatus_UnknownTopic
|
Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub w powiadomieniu nie pasuje do żadnej subskrypcji w węźle odbierającym. Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub w powiadomieniu nie pasuje do żadnej subskrypcji w węźle odbierającym. |
kStatus_UnsupportedSubscriptionMode
|
Ten starszy kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające. Ten kod stanu oznacza, że żądany tryb subskrypcji nie jest obsługiwany przez urządzenie odbierające. |
@170
@170
Tagi protokołu zarządzania danymi.
Protokół zarządzania danymi określa liczbę tagów, które będą używane do reprezentowania danych profilu przez TLV.
Jak zwykle występują problemy ze zgodnością między nową i starą wersją WDM. We dawnych czasach wszystkie te tagi były stosowane tylko do profilu profilu, co powodowało marnowanie miejsca. Teraz używamy tagów kontekstu tam, gdzie to możliwe, ale musimy zachować stare (i mieć mechanizm kodowania ścieżek z nimi) tam, gdzie jest to potrzebne.
Tag kTag_WDMDataListElementData nie był używany w poprzednich wersjach i został całkowicie zignorowany przez kod, dlatego nie musimy udostępniać wycofanej wersji.
Właściwości | |
---|---|
kTag_WDMDataList
|
Element to lista struktur zawierających ścieżkę, wersję opcjonalną oraz elementy danych. Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja tablicy: Najwyższy poziom |
kTag_WDMDataListElementData
|
Element reprezentuje dane wskazywane przez daną ścieżkę i mające określoną wersję. Typ tagu: Typ elementu zależny od kontekstu: Dowolny dyspozycja: wymagany |
kTag_WDMDataListElementData_Deprecated
|
Rola wycofana. Typ tagu: Typ elementu zależny od kontekstu: Dowolny dyspozycja: wymagany |
kTag_WDMDataListElementPath
|
Element to komponent ścieżki elementu listy danych. Typ tagu: Typ elementu zależnego od kontekstu: Dyspozycja ścieżki: wymagany |
kTag_WDMDataListElementPath_Deprecated
|
Rola wycofana. Typ tagu: Typ elementu właściwy dla profilu: Dyspozycja ścieżki: wymagany |
kTag_WDMDataListElementVersion
|
Element to komponent wersji elementu listy danych. Typ tagu: Typ elementu zależnego od kontekstu: Dyspozycja całkowita: wymagany |
kTag_WDMDataListElementVersion_Deprecated
|
Rola wycofana. Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja całkowita: wymagany |
kTag_WDMPathArrayIndexSelector
|
Element ścieżki odpowiada tablicy w schemacie, a zawarty w niej element liczby całkowitej ma być używany jako indeks tej tablicy. Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja całkowita: opcjonalny |
kTag_WDMPathArrayValueSelector
|
Element ścieżki odpowiada tablicy w schemacie, a umieszczony element ma być używany jako selektor rekordów. Typ tagu: Typ elementu właściwy dla profilu: Dyspozycja struktury: opcjonalny |
kTag_WDMPathList
|
Element to lista ścieżek TLV. Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja tablicy: Najwyższy poziom |
kTag_WDMPathProfile
|
Element jest strukturą służącą do rozpoczęcia ścieżki i zawiera informacje o profilu, w świetle których mają być interpretowane tagi na ścieżce. Typ tagu: Typ elementu właściwy dla profilu: Dyspozycja struktury: wymagany |
kTag_WDMPathProfileId
|
Ten element jest komponentem identyfikatora profilu elementu profilu ścieżki, który zaczyna ścieżkę TLV. Typ tagu: Typ elementu zależnego od kontekstu: Dyspozycja całkowita: wymagany |
kTag_WDMPathProfileId_Deprecated
|
Rola wycofana. Typ tagu: Typ elementu specyficzny dla profilu: Dyspozycja całkowita: wymagany |
kTag_WDMPathProfileInstance
|
Elementem jest wystąpienie profilu, które może podążać za identyfikatorem profilu w ścieżce TLV. Pamiętaj, że węzeł może, ale nie musi, mieć wiele wystąpień określonego profilu i, jeśli jest tylko jedno, element może zostać pominięty. Typ tagu: zależny od kontekstu typ elementu: dowolna dyspozycja: opcjonalny |
kTag_WDMPathProfileInstance_Deprecated
|
Rola wycofana. Typ tagu: Typ elementu specyficzny dla profilu: Dowolny dyspozycja: opcjonalny |
@171
@171
Wyróżniające się identyfikatory tematów.
Istnieją 3 wyróżniające się identyfikatory interesujących tematów, z których wszystkie są sformatowane jako „specyficzne dla wydawcy”.
Właściwości | |
---|---|
kAnyTopicId
|
Jest on zarezerwowany jako identyfikator tematu z symbolem wieloznacznym. |
kTopicIdNotSpecified
|
Jest to wartość specjalna zarezerwowana do wyrażania nieprawidłowego lub oznaczonego symbolem identyfikatora tematu. |
kTopicIdPublisherSpecificMask
|
Służy ona jako maska do tworzenia lub rozkładania identyfikatora topci. |
WeaveTransportOption
WeaveTransportOption
Opcje transportu WDM.
Są to wzajemnie wykluczające się opcje transportu w WDM.
Właściwości | |
---|---|
kTransport_TCP
|
Bazowy system transportowy to TCP. Powiązanie można ukończyć za pomocą menedżera usługi lub bezpośrednio za pomocą warstwy wiadomości. |
kTransport_UDP
|
Podstawowym elementem transportu jest wyłącznie UDP. |
kTransport_WRMP
|
bazowy system transportowy to wyłącznie UDP, ale z „warstwą obsługi aplikacji”. poprawa niezawodności. |
Definiuje typ
TopicIdentifier
uint64_t TopicIdentifier
Identyfikator tematu.
Identyfikatory tematów to 64-bitowe ilości z 2 powiązanymi zastosowaniami lub semantyką. Po pierwsze mogą być stosowane jako konwencjonalny skrót dla dobrze znanego zestawu ścieżek, np. Czujnik dymu Nest”. Używane w ten sposób identyfikatory tematów, podobnie jak identyfikatory profili, powinny zawierać kod dostawcy, który zapobiega konfliktom identyfikatorów tematów wybieranym samodzielnie przez różnych dostawców w następujący sposób:
bit 48–63 | bit 0–47 |
Identyfikator dostawcy | Numer tematu |
WeaveVendorIdentifiers.hpp
Funkcje
CheckTLVType
bool CheckTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.
Sprawdź typ TLV z typem elementu w nagłówku czytnika TLV.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
true (prawda) w przypadku wartości TLVType elementu i dopasowania aType.
|
WeaveTLVTypes.h
CheckWDMTag
bool CheckWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
Sprawdź tag WDM.
Sprawdź numer tagu specyficznego dla WDM (z .../data-management/DMConstants.h) względem rzeczywistego tagu na początku czytnika TLV.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Parametr true iff aReader.GetTag() generuje tag, który pasuje do jednego z oczekiwanych formatów tagu dla danego numeru.
|
CloseDataListElement
WEAVE_ERROR CloseDataListElement( nl::Weave::TLV::TLVReader & aReader )
Przestań odczytywać element listy danych WDM.
W tej metodzie przyjęto, że element, którego dotyczy problem, jest częścią listy danych WDM i przekazuje kTLVType_Array do ExitContainer().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości zamknięcia kontenera.
|
CloseList
WEAVE_ERROR CloseList( nl::Weave::TLV::TLVReader & aReader )
Zatrzymaj odczytywanie ścieżki lub listy danych WDM.
Ta metoda zakłada, że dana lista jest najwyższym elementem TLV, więc przekazuje kTLVType_Sructure do ExitContainer().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości zamknięcia kontenera.
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
Zakoduj ścieżkę WDM przy użyciu wycofanych tagów i identyfikatora instancji w postaci liczby całkowitej.
Uwaga: zakoduj ścieżkę, używając wycofanego zestawu tagów akceptowanego przez usługę przed wersją 2.0 Weave. Ta wersja metody przyjmuje numeryczny identyfikator instancji. Ta metoda uruchamia kontener za pomocą elementu ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu za pomocą parametru ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_legacy). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Notify). Jest to jedna z wycofanych wersji kodowania ścieżki, a w nowych projektach nie należy używać tego formatu.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości sformatowania danej ścieżki.
|
EncodeDeprecatedPath
WEAVE_ERROR EncodeDeprecatedPath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
Zakoduj ścieżkę WDM z wycofanymi tagami i identyfikatorem instancji w postaci ciągu znaków.
Uwaga: zakoduj ścieżkę, korzystając z wycofanego zestawu tagów (patrz DMConstants.h). Ta wersja metody przyjmuje ciąg znaków identyfikatora instancji. Ta metoda uruchamia kontener za pomocą elementu ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu za pomocą parametru ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_legacy). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Notify). Jest to jedna z wycofanych wersji kodowania ścieżki, a w nowych projektach nie należy używać tego formatu.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości sformatowania danej ścieżki.
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint64_t & aInstanceId, uint32_t aPathLen, ... )
Zakoduj ścieżkę WDM identyfikatorem instancji profilu w postaci liczby całkowitej.
Uwaga: zapisz ścieżkę TLV taką jak używany w zarządzaniu danymi. W szczególności na początku powinno znajdować się oznaczenie profilu, które pozwala na interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu w postaci liczby całkowitej.
Ta metoda wstawia identyfikator instancji przy użyciu ContextTag(kTag_WDMPathProfileInstance), czyli najnowszej wersji kodowania ścieżki.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości sformatowania danej ścieżki.
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const uint32_t aInstanceIdLen, const uint8_t *aInstanceId, uint32_t aPathLen, ... )
Zakoduj ścieżkę WDM, używając identyfikatora instancji tablicy bajtów.
Uwaga: zapisz ścieżkę TLV taką jak używany w zarządzaniu danymi. W szczególności na początku powinno znajdować się oznaczenie profilu, które pozwala na interpretację kolejnych elementów ścieżki. Ta wersja metody wymaga identyfikatora instancji profilu tablicy bajtów i długości.
Ta metoda wstawia identyfikator instancji przy użyciu ContextTag(kTag_WDMPathProfileInstance), czyli najnowszej wersji kodowania ścieżki.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości sformatowania danej ścieżki.
|
EncodePath
WEAVE_ERROR EncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ... )
Zakoduj ścieżkę WDM, używając identyfikatora instancji ciągu znaków.
Uwaga: zapisz ścieżkę TLV taką jak używany w zarządzaniu danymi. W szczególności na początku powinno znajdować się oznaczenie profilu, które pozwala na interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu w postaci ciągu znaków.
Ta metoda wstawia identyfikator instancji przy użyciu ContextTag(kTag_WDMPathProfileInstance), czyli najnowszej wersji kodowania ścieżki.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości sformatowania danej ścieżki.
|
EndDataListElement
WEAVE_ERROR EndDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Zakończ zapisywanie elementu listy danych.
Wpisz TLV na końcu elementu listy danych WDM. Należy pamiętać, że to rozwiązanie jest automatycznie przekazywane jako typ kTLVType_Array do wywołania EndContainer() przy założeniu, że zawsze zamykamy element listy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości zamknięcia kontenera.
|
EndEncodePath
WEAVE_ERROR EndEncodePath( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError )
EndList
WEAVE_ERROR EndList( nl::Weave::TLV::TLVWriter & aWriter )
Zakończ zapisywanie listy ścieżek lub listy danych.
Wpisz TLV na końcu ścieżki WDM lub listy danych. Na koniec określ też scenarzystę.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości zamknięcia kontenera.
|
EndList
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
Zakończ zapisywanie listy ścieżek lub listy danych.
Wpisz TLV na końcu ścieżki WDM lub listy danych. Na koniec określ też scenarzystę. W tym przypadku obiekt ReferencedTLVData, w którym zapisywany jest obiekt TLV, jest przekazywany i modyfikowany tak, aby odzwierciedlał ilość zapisanych danych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na brak możliwości zamknięcia kontenera.
|
IsPublisherSpecific
bool IsPublisherSpecific( const TopicIdentifier & aTopicId )
Sprawdź, czy identyfikator tematu jest przypisany do wydawcy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
true (prawda), jeśli identyfikator tematu jest powiązany z wydawcą. W przeciwnym razie ma wartość false (fałsz).
|
OpenDataList
WEAVE_ERROR OpenDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader )
Zacznij odczytywać listę danych.
Mając na uwadze świeżego czytelnika i listę danych, zacznij czytać listę i sprawdź tagi i typy napotkane początkowo w ramach procesu. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po otwarciu kontenera listy.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR wskazujący na błąd otwarcia listy danych i sprawdzenie odpowiednich tagów i typów.
|
OpenDataListElement
WEAVE_ERROR OpenDataListElement( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion )
Zacznij odczytywać element listy danych.
Mając na uwadze, że czytelnik znajduje się w elemencie listy danych, zacznij odczytywać ten element i sprawdzać tagi oraz typy napotkanych w procesie tagów i typów. Jeśli wszystko pójdzie dobrze, czytelnik zostanie umieszczony w danych elementów danych, a czytnik ścieżki wejścia/wyjścia jest umieszczony na odpowiedniej ścieżce.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia lub WEAVE_ERROR powiązanego z otwarciem i odczytem elementu listy danych.
|
OpenPathList
WEAVE_ERROR OpenPathList( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader )
Zacznij odczytywać listę ścieżek.
Mając na uwadze aktualne dane czytelników i listę ścieżek, zacznij czytać listę i sprawdź tagi i typy napotkane początkowo w procesie. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po otwarciu kontenera listy.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR po powodzeniu. w przeciwnym razie WEAVE_ERROR wskazuje na niepowodzenie otwarcia listy ścieżek oraz sprawdzenie poprawności odpowiednich tagów i typów.
|
PublisherSpecificTopicId
TopicIdentifier PublisherSpecificTopicId( void )
Wygeneruj od zera identyfikator tematu specyficzny dla wydawcy.
Szczegóły | |
---|---|
Zwroty |
nowego identyfikatora tematu.
|
SendStatusReport
WEAVE_ERROR SendStatusReport( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
StartDataList
WEAVE_ERROR StartDataList( nl::Weave::TLV::TLVWriter & aWriter )
Zacznij tworzyć listę danych.
Zapisz TLV na początku listy danych WDM, np. jako podstawowy argument w funkcji UpdateRequest().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR, który wskazuje, że nie można uruchomić kontenera.
|
StartDataList
WEAVE_ERROR StartDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter )
Zacznij zapisywać listę danych do danego obiektu ReferencedTLVData.
Zapisz TLV na początku listy danych WDM. W tym przypadku zakładamy, że zapisujemy listę danych we wskazanej strukturze danych TLV. Zakładamy, że zapisujący nie zainicjował, a w każdym przypadku zostanie zainicjowany tak, aby wskazywał dany obiekt.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR, który wskazuje, że nie można uruchomić kontenera.
|
StartDataListElement
WEAVE_ERROR StartDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Zacznij zapisywać element listy danych.
Zapisz TLV na początku elementu listy danych WDM.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR, który wskazuje, że nie można uruchomić kontenera.
|
StartEncodePath
WEAVE_ERROR StartEncodePath( TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath )
StartPathList
WEAVE_ERROR StartPathList( nl::Weave::TLV::TLVWriter & aWriter )
Zacznij tworzyć listę ścieżek.
Wpisz TLV na początku listy ścieżek WDM, np. jako podstawowy argument w funkcji ViewRequest().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR, który wskazuje, że nie można uruchomić kontenera.
|
TxnResponseHandler
void TxnResponseHandler( ExchangeContext *anExchangeCtx, const IPPacketInfo *anAddrInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aMsg )
TxnTimeoutHandler
void TxnTimeoutHandler( ExchangeContext *anExchangeCtx )
ValidateTLVType
WEAVE_ERROR ValidateTLVType( nl::Weave::TLV::TLVType aType, nl::Weave::TLV::TLVReader & aReader )
Sprawdź, czy odczytywany element TLV ma oczekiwany typ TLV.
Sprawdź podany typ TLV z typem elementu w nagłówku czytnika TLV i w razie braku dopasowania zwracaj błąd.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR, jeśli występuje dopasowanie, lub WEAVE_ERROR_WRONG_TLV_TYPE, jeśli nie.
|
WeaveTLVTypes.h
ValidateWDMTag
WEAVE_ERROR ValidateWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
Sprawdź, czy odczytywany element TLV ma oczekiwany tag WDM.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po powodzeniu. W przeciwnym razie WEAVE_ERROR_INVALID_TLV_TAG, jeśli podczas interpretacji jako tag WDM nie pasuje do podanego numeru tagu.
|