nl:: Weave:: Profiles:: DataManagement_Legacy
Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla profilu zarządzania danymi Weave Data Management (WDM), które zostaną wkrótce wycofane.
Podsumowanie
Definicje typów |
|
---|---|
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 z wycofanymi tagami i identyfikatorem instancji będącym liczbą całkowitą.
|
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 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 za pomocą identyfikatora instancji profilu składającego się z 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 za pomocą identyfikatora instancji w tablicy bajtów.
|
EncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, const char *aInstanceId, uint32_t aPathLen, ...)
|
Zakoduj ścieżkę WDM za pomocą identyfikatora instancji ciągu znaków.
|
EndDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ pisanie elementu listy danych.
|
EndEncodePath(TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError)
|
|
EndList(nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ tworzenie listy ścieżek lub danych.
|
EndList(ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter)
|
Zakończ tworzenie listy ścieżek lub 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)
|
Rozpocznij odczytywanie elementu listy danych.
|
OpenPathList(ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader)
|
Rozpocznij odczytywanie listy ścieżek.
|
PublisherSpecificTopicId(void)
|
Wygeneruj od podstaw identyfikator tematu 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 w obrębie danego obiektu ReferencedTLVData.
|
StartDataListElement(nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij pisać element listy danych.
|
StartEncodePath(TLVWriter & aWriter, const uint64_t & aTag, uint32_t aProfileId, TLVType & mOuterContainer, TLVType & mPath)
|
|
StartPathList(nl::Weave::TLV::TLVWriter & aWriter)
|
Zacznij pisać 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 zawiera oczekiwany tag WDM.
|
Zajęcia |
|
---|---|
nl:: |
Klasa Binding zarządza stanem komunikacji w imieniu jednostki aplikacji za pomocą Weave. |
nl:: |
Klasa abstrakcyjna zawierająca definicje metod potwierdzania i oznaczenia wymagane przez klienta WDM. |
nl:: |
Klasa pomocnicza stosowana, 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 dotyczących konkretnych aplikacji. |
nl:: |
Abstrakcyjna klasa pomocnicza ProfileDatabase. |
nl:: |
Klasa protokołu WDM. |
nl:: |
Klasa abstrakcyjna zawierająca definicje metod potwierdzania i powiadomień wymagane przez wydawcę WDM. |
Wyliczenia
@103
@103
Właściwości | |
---|---|
kStatus_CancelSuccess
|
Ten 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 konkretnego 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 w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydentnego węzła obiektu reagującego. Ten kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydenta elementu odpowiadającego. |
kStatus_InvalidVersion
|
Ten kod oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji. Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji. |
kStatus_UnknownTopic
|
Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej istniejącej subskrypcji w węźle odbierającym. Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej subskrypcji istniejącej 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 urządzenie odbierające nie obsługuje żądanego trybu subskrypcji. |
@166
@166
Rozmiary pul i tabel WDM.
WDM definiuje różne pule i tabele wymagane do jego działania w następujący sposób.
Pule transakcji klienta:
- kViewPoolSize
- kSubscribePoolSize
- kCancelSubscriptionPoolSize
- kUpdatePoolSize
Pule transakcji wydawcy:
- kNotifyPoolSize
Tabele protokołów:
- kTransactionTableSize
- kBindingTableSize
Tabele związane z subskrypcjami:
- kNotifierTableSize (tylko klient)
- kSubscriptionMgrTableSize (tylko wydawcy)
Pamiętaj, że są to ilości, które można skonfigurować, a wartości dla 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łu WDM. Tę wartość można skonfigurować w 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ć w WEAVE_CONFIG_WDM_CANCEL_SUBSCRIPTION_POOL_SIZE. |
kNotifierTableSize
|
Jest to domyślny rozmiar tabeli powiadomień dla klientów WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_NOTIFIER_TABLE_SIZE. |
kNotifyPoolSize
|
To jest domyślny rozmiar puli transakcji żądań powiadomień dla wydawcy WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_NOTIFY_POOL_SIZE. |
kSubscribePoolSize
|
To jest domyślny rozmiar puli transakcji żądań subskrypcji dla klienta WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_SUBSCRIBE_POOL_SIZE. |
kSubscriptionMgrTableSize
|
To jest domyślny rozmiar tabeli subskrypcji w przypadku wydawców korzystających z WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_SUBSCRIPTION_MGR_TABLE_SIZE. |
kTransactionTableSize
|
To jest domyślny rozmiar tabeli transakcji w mechanizmie protokołu WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_TRANSACTION_TABLE_SIZE. |
kUpdatePoolSize
|
To jest domyślny rozmiar puli transakcji żądań aktualizacji dla klienta WDM. Tę wartość można skonfigurować w WEAVE_CONFIG_WDM_UPDATE_POOL_SIZE. |
kViewPoolSize
|
Jest to domyślny rozmiar puli transakcji żądań wyświetlenia dla klienta WDM. Tę wartość można skonfigurować w 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! Począwszy od I kwartału 2015 roku typy wiadomości używane w poprzednich wersjach WDM zostały wycofane i zdefiniowano nowe typy wiadomości, co odzwierciedla wystarczającą zmianę w pakowaniu i analizie szczegółów w celu uzasadnienia przerwy w działaniu usługi.
Właściwości | |
---|---|
kMsgType_CancelSubscriptionRequest
|
Wiadomość z prośbą o anulowanie subskrypcji. |
kMsgType_CancelSubscriptionRequest_Deprecated
|
wycofane |
kMsgType_NotifyRequest
|
Powiadom wiadomość z prośbą. |
kMsgType_NotifyRequest_Deprecated
|
wycofane |
kMsgType_SubscribeRequest
|
Wiadomość z prośbą o subskrypcję. |
kMsgType_SubscribeRequest_Deprecated
|
wycofane |
kMsgType_SubscribeResponse
|
Subskrybuj wiadomość z odpowiedzią. |
kMsgType_SubscribeResponse_Deprecated
|
wycofane |
kMsgType_UpdateRequest
|
Zaktualizuj wiadomość z prośbą. |
kMsgType_UpdateRequest_Deprecated
|
wycofane |
kMsgType_ViewRequest
|
Wyświetl wiadomość z prośbą. |
kMsgType_ViewRequest_Deprecated
|
wycofane |
kMsgType_ViewResponse
|
Wyświetl odpowiedź. |
kMsgType_ViewResponse_Deprecated
|
wycofane |
@168
@168
Inne stałe specyficzne dla WDM.
Właściwości | |
---|---|
kDefaultBindingTableIndex
|
Indeks domyślnego wiązania w tabeli powiązań wyszukiwarki protokołów z więcej niż 1 wpisem. |
kInstanceIdNotSpecified
|
W wywołaniach wymagających specyfikacji instancji profilu wskazuje „brak”. Najczęściej oznacza to, że w danym elemencie występuje tylko jedno wystąpienie profilu. |
kResponseTimeoutNotSpecified
|
W metodach żądania transakcji wskazuje, że wywołujący odrzucił czas oczekiwania. Ogólnie oznacza to, że należy użyć wartości domyślnej. |
kTransactionIdNotSpecified
|
W metodach i strukturach danych, które przyjmują identyfikator transakcji, wskazuje wartość „brak” lub symbol wieloznaczny. |
kVersionNotSpecified
|
W wywołaniach wymagających specyfikacji wersji danych wskazuje „brak konkretnej wersji”. |
kWeaveTLVControlByteLen
|
Długość bajtu kontrolnego TLV używanego w metodach kodowania struktur WDM w TLV. |
kWeaveTLVTagLen
|
Standardowa długość w bajtach pełnego zakwalifikowanego tagu TLV używanego w metodach kodowania struktur WDM w TLV. |
@169
@169
Kody stanu specyficzne dla WDM.
Właściwości | |
---|---|
kStatus_CancelSuccess
|
Ten 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 konkretnego 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 w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydentnego węzła obiektu reagującego. Ten kod stanu oznacza, że ścieżka z listy ścieżek w ramce widoku lub żądania aktualizacji nie pasuje do schematu rezydenta elementu odpowiadającego. |
kStatus_InvalidVersion
|
Ten kod oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji. Ten kod stanu oznacza, że wersja danych uwzględnionych w żądaniu aktualizacji nie jest zgodna z najnowszą wersją udostępnioną przez wydawcę, więc nie można zastosować aktualizacji. |
kStatus_UnknownTopic
|
Ten starszy kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej istniejącej subskrypcji w węźle odbierającym. Ten kod stanu oznacza, że identyfikator tematu podany w żądaniu anulowania lub powiadomieniu nie pasuje do żadnej subskrypcji istniejącej 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 urządzenie odbierające nie obsługuje żądanego trybu subskrypcji. |
@170
@170
Tagi protokołu zarządzania danymi (Data Management Protocol).
Protokół zarządzania danymi określa szereg tagów, które mają być używane w reprezentacji danych profilu TLV.
Jak zwykle występują problemy ze zgodnością między nowym a starym WDM. W dawnych czasach wszystkie tagi były stosowane jako powiązane z profilem, co było stratą miejsca. Teraz w miarę możliwości korzystamy z tagów kontekstowych, ale musimy zachować stare tagi (i mieć mechanizm kodowania ścieżek z nimi) tam, gdzie było to konieczne.
Tag kTag_WDMDataListElementData nie był używany w poprzednich wersjach i został całkowicie zignorowany przez kod, więc nie trzeba udostępniać wersji wycofanej.
Właściwości | |
---|---|
kTag_WDMDataList
|
Element to lista struktur zawierających ścieżkę, wersję opcjonalną i 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 ma daną wersję. Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: wymagana |
kTag_WDMDataListElementData_Deprecated
|
Rola wycofana. Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: wymagana |
kTag_WDMDataListElementPath
|
Element jest komponentem ścieżki elementu listy danych. Typ tagu: typ elementu zależny od kontekstu: Dyspozycja ścieżki: wymagany |
kTag_WDMDataListElementPath_Deprecated
|
Rola wycofana. Typ tagu: typ elementu związany z profilem: Dyspozycja ścieżki: wymagany |
kTag_WDMDataListElementVersion
|
Element jest komponentem wersji elementu listy danych. Typ tagu: Typ elementu zależny od kontekstu: Dyspozycja liczby całkowitej: wymagany |
kTag_WDMDataListElementVersion_Deprecated
|
Rola wycofana. Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja liczby całkowitej: wymagany |
kTag_WDMPathArrayIndexSelector
|
Element ścieżki odpowiada tablicy w schemacie, a zawarty w niej element liczby całkowitej ma służyć jako indeks w tej tablicy. Typ tagu: typ elementu specyficzny dla profilu: Liczba całkowita: opcjonalny |
kTag_WDMPathArrayValueSelector
|
Element ścieżki odpowiada tablicy w schemacie, a zamknięty element służy 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 specyficzny dla profilu: Dyspozycja struktury: wymagany |
kTag_WDMPathProfileId
|
Element jest komponentem identyfikatora profilu w elemencie profilu ścieżki, który zaczyna się ścieżką TLV. Typ tagu: Typ elementu zależny od kontekstu: Dyspozycja liczby całkowitej: wymagany |
kTag_WDMPathProfileId_Deprecated
|
Rola wycofana. Typ tagu: typ elementu specyficzny dla profilu: Dyspozycja liczby całkowitej: 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. W przypadku, gdy jest tylko jedna, ten element może zostać pominięty. Typ tagu: typ elementu zależny od kontekstu: dowolna dyspozycja: opcjonalna |
kTag_WDMPathProfileInstance_Deprecated
|
Rola wycofana. Typ tagu: typ elementu związany z profilem: dowolna dyspozycja: opcjonalna |
@171
@171
Wyróżniające się identyfikatory tematów.
Istnieją 3 wyróżniające się identyfikatory interesujących tematów. Wszystkie 3 są sformatowane jako „odpowiednie dla wydawcy”.
Właściwości | |
---|---|
kAnyTopicId
|
Jest zarezerwowany jako identyfikator tematu z symbolami wieloznacznymi. |
kTopicIdNotSpecified
|
Jest to specjalna wartość zarezerwowana do określenia nieprawidłowego lub symbolu wieloznacznego identyfikatora tematu. |
kTopicIdPublisherSpecificMask
|
Służy jako maska do tworzenia lub rozpakowywania identyfikatora topci. |
WeaveTransportOption
WeaveTransportOption
Opcje transportu WDM.
Są to wzajemnie wykluczające się opcje transportu WDM.
Właściwości | |
---|---|
kTransport_TCP
|
Podstawowym transportem jest protokół TCP. Powiązanie można utworzyć za pomocą menedżera usługi lub bezpośrednio w warstwie wiadomości. |
kTransport_UDP
|
Podstawowym sposobem przesyłania danych jest wyłącznie UDP. |
kTransport_WRMP
|
Podstawowym sposobem przesyłania jest wyłącznie UDP, ale z ulepszeniami w zakresie niezawodności „warstwy pomocy aplikacji”. |
Definicje typów
TopicIdentifier
uint64_t TopicIdentifier
Identyfikator tematu.
Identyfikatory tematów to ilości 64-bitowe o 2 powiązanych zastosowaniach/semantykach. Przede wszystkim można ich używać jako standardowego skrótu dla dobrze znanego zestawu ścieżek, np. „wykrywacz dymu Nest”. Identyfikatory tematów używane w ten sposób, tak jak identyfikatory profili, powinny zawierać kod dostawcy zapobiegający konfliktowi identyfikatorów tematów wybieranych samodzielnie przez różnych dostawców:
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 na początku czytnika TLV.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
true [prawda] oznacza dopasowanie TLVType elementu i typu aType.
|
WeaveTLVTypes.h
CheckWDMTag
bool CheckWDMTag( uint32_t aTagNum, nl::Weave::TLV::TLVReader & aReader )
Sprawdź tag WDM.
Sprawdź liczbę tagów specyficznych dla WDM (.../data-management/DMConstants.h) z rzeczywistym tagiem na początku czytnika TLV.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
true iff aReader.GetTag() tworzy tag, który pasuje do jednego z oczekiwanych formatów tagu dla danego numeru tagu.
|
CloseDataListElement
WEAVE_ERROR CloseDataListElement( nl::Weave::TLV::TLVReader & aReader )
Przestań odczytywać element listy danych WDM.
W tej metodzie zakładamy, że dany element jest częścią listy danych WDM, więc przekazuje obiekt kTLVType_Slate do klasy ExitContainer().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność wyjścia z kontenera.
|
CloseList
WEAVE_ERROR CloseList( nl::Weave::TLV::TLVReader & aReader )
Zatrzymaj odczytywanie ścieżki lub listy danych WDM.
W tej metodzie zakładamy, że dana lista jest najwyższym elementem TLV, więc przekazuje funkcję kTLVType_Sructure do klasy ExitContainer().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność wyjścia z 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 z wycofanymi tagami i identyfikatorem instancji będącym liczbą całkowitą.
Uwaga: zakoduj ścieżkę przy użyciu wycofanego zestawu tagów akceptowanego przez usługę przed wersją Weave 2.0. Ta wersja metody przyjmuje numeryczny identyfikator instancji. Ta metoda uruchamia kontener z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Cofnij). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Cofnij). Jest to jedna z wycofanych wersji kodowania ścieżki. Nowe projekty nie powinny używać tego formatu.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd 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 ciągu znaków.
Uwaga: zakoduj ścieżkę, używając wycofanego zestawu tagów (patrz DMConstants.h). Ta wersja metody przyjmuje ciąg znaków identyfikatora instancji. Ta metoda uruchamia kontener z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfile), a następnie wstawia identyfikator profilu z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileId_Cofnij). Następnie wstawia identyfikator instancji z parametrem ProfileTag(kWeaveProfile_WDM, kTag_WDMPathProfileInstance_Cofnij). Jest to jedna z wycofanych wersji kodowania ścieżki. Nowe projekty nie powinny używać tego formatu.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd 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 za pomocą identyfikatora instancji profilu składającego się z liczby całkowitej.
Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu będący liczbą całkowitą.
Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd 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 za pomocą identyfikatora instancji w tablicy bajtów.
Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody wykorzystuje długość identyfikatora instancji profilu tablicy bajtów.
Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd 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 za pomocą identyfikatora instancji ciągu znaków.
Uwaga: wpisz ścieżkę TLV takiego rodzaju jak używany przy zarządzaniu danymi, w którym zwłaszcza na początku musi być umieszczone oznaczenie profilu, aby umożliwić interpretację kolejnych elementów ścieżki. Ta wersja metody przyjmuje identyfikator instancji profilu ciągu znaków.
Ta metoda wstawia identyfikator instancji za pomocą parametru ContextTag(kTag_WDMPathProfileInstance), który jest najnowszą wersją kodowania ścieżki.
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błąd sformatowania danej ścieżki).
|
EndDataListElement
WEAVE_ERROR EndDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Zakończ pisanie elementu listy danych.
Wpisz TLV na końcu elementu listy danych WDM. Pamiętaj, że to polecenie jest automatycznie przekazywane w typie kTLVType_Slate do wywołania EndContainer() przy założeniu, że zawsze zamykamy element listy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.
|
EndEncodePath
WEAVE_ERROR EndEncodePath( TLVWriter & aWriter, TLVType & mOuterContainer, WEAVE_ERROR mError )
EndList
WEAVE_ERROR EndList( nl::Weave::TLV::TLVWriter & aWriter )
Zakończ tworzenie listy ścieżek lub danych.
Wpisz TLV na końcu ścieżki WDM lub listy danych. Sfinalizuj też autora.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.
|
EndList
WEAVE_ERROR EndList( ReferencedTLVData & aList, nl::Weave::TLV::TLVWriter & aWriter )
Zakończ tworzenie listy ścieżek lub danych.
Wpisz TLV na końcu ścieżki WDM lub listy danych. Sfinalizuj też autora. W tym przypadku obiekt ReferencedTLVData, do którego jest zapisywany TLV, jest przekazywany i modyfikowany tak, aby odzwierciedlał ilość zapisanych danych.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR oznaczający niemożność zakończenia kontenera.
|
IsPublisherSpecific
bool IsPublisherSpecific( const TopicIdentifier & aTopicId )
Sprawdź, czy identyfikator tematu jest przypisany do wydawcy.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
true, jeśli identyfikator tematu jest specyficzny dla wydawcy. W przeciwnym razie ma wartość false.
|
OpenDataList
WEAVE_ERROR OpenDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVReader & aReader )
Zacznij odczytywać listę danych.
Mając nowy czytnik i listę danych, zacznij ją czytać i sprawdź tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po wprowadzeniu kontenera listy.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwracany jest błąd WEAVE_ERROR (błędy podczas otwierania listy danych) lub weryfikowanie odpowiednich tagów i typów.
|
OpenDataListElement
WEAVE_ERROR OpenDataListElement( nl::Weave::TLV::TLVReader & aReader, nl::Weave::TLV::TLVReader & aPathReader, uint64_t & aVersion )
Rozpocznij odczytywanie elementu listy danych.
Gdy czytnik znajduje się w pobliżu elementu listy danych, zacznij odczytywać element i sprawdzaj tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytnik znajdzie się na odpowiedniej ścieżce, a czytnik ścieżki wejścia/wyjścia znajdzie się na odpowiedniej ścieżce.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
Błąd WEAVE_NO_ERROR. W przeciwnym razie przy otwieraniu i odczytywaniu elementu listy danych pojawia się błąd WEAVE_ERROR.
|
OpenPathList
WEAVE_ERROR OpenPathList( ReferencedTLVData & aPathList, nl::Weave::TLV::TLVReader & aReader )
Rozpocznij odczytywanie listy ścieżek.
Mając nowego czytelnika i listę ścieżek, zacznij ją odczytywać i sprawdzaj tagi oraz typy napotkane podczas tego procesu. Jeśli wszystko pójdzie dobrze, czytelnik zatrzyma się po wprowadzeniu kontenera listy.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR w przypadku powodzenia. W przeciwnym razie błąd WEAVE_ERROR oznacza błąd podczas otwierania listy ścieżek lub weryfikacja odpowiednich tagów i typów.
|
PublisherSpecificTopicId
TopicIdentifier PublisherSpecificTopicId( void )
Wygeneruj od podstaw identyfikator tematu dla wydawcy.
Szczegóły | |
---|---|
Zwroty |
nowy identyfikator tematu.
|
SendStatusReport
WEAVE_ERROR SendStatusReport( ExchangeContext *aExchangeCtx, StatusReport & aStatus )
StartDataList
WEAVE_ERROR StartDataList( nl::Weave::TLV::TLVWriter & aWriter )
Zacznij tworzyć listę danych.
Wpisz TLV na początku listy danych WDM, np. jako główny argument funkcji UpdateRequest().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).
|
StartDataList
WEAVE_ERROR StartDataList( ReferencedTLVData & aDataList, nl::Weave::TLV::TLVWriter & aWriter )
Zacznij zapisywać listę danych w obrębie danego obiektu ReferencedTLVData.
Na początku listy danych WDM wpisz TLV. W tym przypadku zakładamy, że listę danych zapisujemy w formie wymienionej struktury danych TLV. Przyjmuje się, że zapisujący nie jest zainicjowany – lub w każdym przypadku zostanie zainicjowany w sposób wskazujący na dany obiekt.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia kontenera).
|
StartDataListElement
WEAVE_ERROR StartDataListElement( nl::Weave::TLV::TLVWriter & aWriter )
Zacznij pisać element listy danych.
Na początku elementu listy danych WDM wpisz TLV.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia 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 pisać listę ścieżek.
Wpisz TLV na początku listy ścieżek WDM, np. jako główny argument funkcji ViewRequest().
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. W przeciwnym razie zwraca błąd WEAVE_ERROR (błąd w zakresie możliwości uruchomienia 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.
Porównaj dany typ TLV z typem elementu w nagłówku czytnika TLV i zwróć błąd, jeśli nie ma dopasowania.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR, jeśli istnieje 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 zawiera oczekiwany tag WDM.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
WEAVE_NO_ERROR Po pomyślnym zakończeniu. Jeśli tag nie pasuje do podanego numeru (pod warunkiem, że został zinterpretowany jako tag WDM), jest też wartość WEAVE_ERROR_INVALID_TLV_TAG.
|