nl:: Wea:: Profile:: DataManagement_Current
Ta przestrzeń nazw obejmuje wszystkie interfejsy profilu Weave do zarządzania danymi Weave, które są obecnie obsługiwane w środowisku produkcyjnym.
Podsumowanie
Typy |
|
---|---|
CommandFlags
|
typedef, |
DataVersion
|
typedef,uint64_t
|
EventProcessor
|
typedef,void *
|
EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
|
typedef, Funkcja, która dostarcza element eventData do podsystemu logowania zdarzeń. |
FetchExternalEventsFunct)(EventLoadOutContext *aContext)
|
typedef, Prototyp funkcji do obsługi wywołań zwrotnych platformy. |
GenericTraitSinkCatalog
|
typedef, |
GenericTraitSourceCatalog
|
typedef, |
ImportanceType
|
typedef, Znaczenie wpisu w dzienniku. |
IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
|
typedef,void(*
Iteracyjne elementy pomocnicze. |
LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
|
typedef, |
NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
|
typedef,void(*
Prototyp funkcji wywołania zwrotnego wywoływanego podczas przekazywania zdarzeń zewnętrznych do subskrybenta zdalnego. |
NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
|
typedef,void(*
Prototyp funkcji wywołań zwrotnych wywoływanych po usunięciu zdarzeń z bufora. |
PropertyDictionaryKey
|
typedef,uint16_t
|
PropertyPathHandle
|
typedef,uint32_t
Element PropertyPathHandle to unikalny 32-bitowy numer liczbowy ścieżki WDM w odniesieniu do katalogu głównego instancji funkcji. |
PropertySchemaHandle
|
typedef,uint16_t
|
SchemaVersion
|
typedef,uint16_t
|
SingleResourceSinkTraitCatalog
|
typedef, |
SingleResourceSourceTraitCatalog
|
typedef, |
TimestampType
|
typedef, Prawidłowość i typ sygnatury czasowej zawartej w polu EventOptions. |
TraitDataHandle
|
typedef,uint16_t
|
duration_t
|
nl::Weave::Profiles::DataManagement_Current::duration_tuint32_t
Typ określa czas trwania w milisekundach. |
event_id_t
|
nl::Weave::Profiles::DataManagement_Current::event_id_tuint32_t
Typ identyfikatora zdarzenia. |
timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::timestamp_tuint32_t
Typ używany do opisu sygnatury czasowej w milisekundach. |
utc_timestamp_t
|
nl::Weave::Profiles::DataManagement_Current::utc_timestamp_tuint64_t
Typ używany do opisywania sygnatury czasowej UTC w milisekundach. |
Zmienne |
|
---|---|
sInstance
|
|
sLogFileName = "topazlog"[]
|
char
|
Funkcje |
|
---|---|
BdxErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode)
|
void
|
BdxGetBlockHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock)
|
void
|
BdxRejectHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport)
|
void
|
BdxSendAcceptHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg)
|
|
BdxXferDoneHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer)
|
void
|
BdxXferErrorHandler(nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError)
|
void
|
CreatePropertyPathHandle(PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey)
|
|
EventWriterTLVCopy(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Funkcja pomocnicza, która tłumaczy już zserializowany element danych zdarzenia na bufor zdarzenia.
|
GetPropertyDictionaryKey(PropertyPathHandle aHandle)
|
PropertyDictionaryKey
|
GetPropertySchemaHandle(PropertyPathHandle aHandle)
|
PropertySchemaHandle
|
IsNullPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsRootPropertyPathHandle(PropertyPathHandle aHandle)
|
bool
|
IsVersionNewer(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
Jest to zoptymalizowana implementacja algorytmu, która umożliwia porównywanie wersji.
|
IsVersionNewerOrEqual(const DataVersion & aVersion, const DataVersion & aReference)
|
bool
|
Locate(TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog)
|
Funkcja służąca do znajdowania TraitUpdatableDataSink w katalogu TraitDataSink.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData)
|
Rejestrowanie zdarzenia ze wstępnie zserializowanego formularza.
|
LogEvent(const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions)
|
Rejestruj zdarzenie ze wstępnie zserializowanego formularza z dodatkowymi opcjami.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData)
|
Rejestrowanie zdarzenia przez wywołanie zwrotne.
|
LogEvent(const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions)
|
Rejestrowanie zdarzenia przez wywołanie zwrotne z opcjami.
|
LogFreeform(ImportanceType inImportance, const char *inFormat, ...)
|
LogFreeform emituje dowolny ciąg znaków do domyślnego strumienia zdarzeń.
|
LookForElementWithTag(const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader)
|
|
PlainTextWriter(TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Funkcja pomocnicza do wyświetlania dowolnego tekstu jako zdarzenia debugowania.
|
PlainTextWriter(::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData)
|
Funkcja pomocnicza do wyświetlania dowolnego tekstu jako zdarzenia debugowania.
|
operator!=(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
operator==(const ResourceIdentifier & lhs, const ResourceIdentifier & rhs)
|
bool
|
Związki |
|
---|---|
nl:: |
Związek zapewniający system zestawu aplikacji lub sygnaturę czasową UTC. |
Wyliczenia
@100
@100
Tagi dla zdarzenia kNestDebug_StringLogEntryEvent.
Właściwości | |
---|---|
kTag_Message
|
Ciąg tekstowy zawierający rzeczywisty komunikat debugowania. |
kTag_Region
|
32-bitowy bez podpisu, wskazujący region dziennika, czyli moduł, którego dotyczy komunikat dziennika. |
@101
@101
Tagi dla kNestDebug_TokenizedLogEntryEvent.
Właściwości | |
---|---|
kTag_Args
|
Tablica argumentów do wysłania wraz z wiadomością o tokenie. |
kTag_Token
|
32-bitowa niepodpisana wartość odpowiadająca tokenowi. |
@102
@102
Tagi trwałych zdarzeń.
@104
@104
Typy komunikatów w profilu WDM.
Wartości te są wywoływane w specyfikacji zarządzania danymi.
@105
@105
Kody stanu WDM.
@147
@147
@95
@95
Tagi ustawień logowania.
Właściwości | |
---|---|
kTag_CurrentImportance
|
Bieżące znaczenie logowania – wartość jest typu ImportanceType. |
kTag_ImportanceExpiration
|
Czas w UTC (w sekundach), gdy obecne ustawienia rejestrowania z podwyższonym poziomem dostępu zostaną przywrócone do wartości domyślnych. |
kTag_LoggingDestination
|
URL wskazujący miejsce docelowe przesłania dziennika. |
kTag_MaximumLogUploadInterval
|
Maksymalny czas trwania (w sekundach) między automatycznymi próbami przesłania dziennika. |
kTag_MinimumLogUploadInterval
|
Minimalny czas (w sekundach) między automatycznymi próbami przesłania dziennika. |
kTag_TraitLoggingImportance
|
Opcjonalna tablica wybiórczo mapuje wybrane profile na wyższe poziomy logowania. Każdy element w tablicy ma formę (profil,ścieżka,import dzienników) i umożliwia wybiórcze poszerzenie rejestrowania z podzbioru systemu. Priorytet rejestrowania profilu o podwyższonym standardzie jest istotny tylko wtedy, gdy priorytet jest wyższy od bieżącego atrybutu i znajduje się w nim ten sam czas do wygaśnięcia. |
@96
@96
Tagi umożliwiające funkcje logowania.
Właściwości | |
---|---|
kTag_LogBufferingCapacity
|
32-bitowa liczba całkowita bez znaku, opisująca rozmiar buforowania logu w kB. |
kTag_LoggingVolume
|
32-bitowa liczba całkowita bez znaku, która opisuje oczekiwaną ilość logów w kB/dzień. |
kTag_SupportedLogTransports
|
Tablica obsługiwanych mechanizmów transportu logów. |
kTag_SupportsNonVolatileStorage
|
Wartość logiczna wskazująca, czy urządzenie obsługuje pamięć ulotną. |
kTag_SupportsPerTraitVerbosity
|
Wartość logiczna wskazująca, czy urządzenie obsługuje ustawienia szczegółowości według wskaźnika. |
kTag_SupportsStreaming
|
Wartość logiczna wskazująca, czy urządzenie obsługuje strumieniowanie danych. |
@97
@97
Tagi metadanych zdarzeń.
Pełną semantykę wartości tagów znajdziesz w specyfikacji Projektowania zdarzeń.
Właściwości | |
---|---|
kTag_EventData
|
Opcjonalne. Dane zdarzenia. Jeśli jest pusta, przyjmuje domyślnie pustą strukturę. |
kTag_EventDeltaSystemTime
|
Tag wewnętrzny WDM, różnica w czasie między poprzednim zdarzeniem a kodowaniem. |
kTag_EventDeltaUTCTime
|
Tag wewnętrzny WDM, różnica w czasie między poprzednim zdarzeniem a kodowaniem. |
kTag_EventID
|
Numer sekwencji zdarzenia wyrażony w 64-bitowej niepodpisanej liczbie. Musi być sekwencyjna, skoki w sekwencji wskazują luki w zdarzeniach. |
kTag_EventImportance
|
Znaczenie wydarzenia. |
kTag_EventResourceID
|
Opcjonalne. Wartość to identyfikator zasobu, którego dotyczy zdarzenie. Jeśli zostanie pominięty, wartość będzie taka sama jak wartość kTag_EventSource. |
kTag_EventSource
|
Identyfikator węzła urządzenia, które wygenerowało zdarzenie. |
kTag_EventSystemTimestamp
|
Opcjonalne. Sygnatura czasowa zdarzenia w milisekundach. |
kTag_EventTraitInstanceID
|
Opcjonalne: wystąpienie cechy, która wygenerowała zdarzenie. |
kTag_EventTraitProfileID
|
Obowiązkowe. 32-bitowa liczba całkowita bez znaku, która jest równa identyfikatorowi profilu w atrybucie. |
kTag_EventType
|
Obowiązkowe. 16-bitowa liczba całkowita bez znaku, która jest równa wartości wdl.event.id dla tego typu zdarzenia. |
kTag_EventUTCTimestamp
|
Opcjonalne. Sygnatura czasowa UTC zdarzenia w milisekundach. |
kTag_ExternalEventStructure
|
Tag wewnętrzny dla zdarzeń zewnętrznych. Nigdy nie należy przesyłać ich przewodowo – nie należy go używać poza biblioteką Weave. |
kTag_RelatedEventID
|
Opcjonalne. Identyfikator zdarzenia, z którym jest powiązane to zdarzenie. Jeśli zostanie pominięta, wartość będzie równa wartości kTag_EventID. |
kTag_RelatedEventImportance
|
Opcjonalne. Znaczenie powiązanego zdarzenia. Jeśli zostanie pominięta, wartość będzie równa wartości kTag_EventImportance. |
@98
@98
Definicje profili.
@99
@99
Typy zdarzeń w przypadku cechy Nest Debug.
Właściwości | |
---|---|
kNestDebug_StringLogEntryEvent
|
Zdarzenie dotyczące komunikatu debugowania o ciągu znaków. |
kNestDebug_TokenizedHeaderEntryEvent
|
Zdarzenie do przekazywania informacji o tokenizowanym nagłówku. |
kNestDebug_TokenizedLogEntryEvent
|
Zdarzenie dotyczące wiadomości debugowanej w formie tokenizacji. |
Flagi poleceń
CommandFlags
Właściwości | |
---|---|
kCommandFlag_ActionTimeValid
|
Określ, kiedy czas działania jest prawidłowy. |
kCommandFlag_ExpiryTimeValid
|
Ustaw, kiedy czas ważności jest prawidłowy. |
kCommandFlag_InitiationTimeValid
|
Ustaw, kiedy czas inicjowania jest prawidłowy. |
kCommandFlag_IsOneWay
|
Ustaw, gdy polecenie jest jednokierunkowe. |
kCommandFlag_MustBeVersionValid
|
Ustaw, kiedy pole wersji jest prawidłowe. |
Typ ważności
ImportanceType
Znaczenie wpisu w dzienniku.
Znaczenie jest używane do filtrowania zdarzeń, zanim zostaną one uruchomione w dzienniku. Po wystąpieniu zdarzenia nie będziemy już usuwać żadnych wpisów z dziennika. Poziom ważności odpowiada priorytetowi przechowywania zdarzeń. Jeśli do pełnego bufora zostanie dodane zdarzenie o dużym znaczeniu, wydarzenia będą pomijane według ich znaczenia (i wieku). Z tego względu poziomy ważności mają tylko wartość względną. Jeśli system korzysta tylko z jednego poziomu ważności, zdarzenia są pomijane tylko według daty urodzenia, np. bufor pierścieniowy.
Właściwości | |
---|---|
Debug
|
Znaczenie debugowania wskazuje wpisy w dzienniku, które są istotne dla deweloperów systemu. Jest używane głównie na etapie programowania. Logi istotności debugowania nie są uwzględniane w budżetach przepustowości ani energii zasilania ograniczonych urządzeń. Z tego powodu w systemach produkcyjnych muszą być używane tylko przez ograniczony czas. |
Info
|
Znaczenie informacji wskazuje wpisy logu, które zapewniają dodatkowe statystyki i diagnostykę systemu operacyjnego. Poziom logowania może być używany przez dłuższy czas w systemie produkcyjnym lub może być używany jako domyślny poziom rejestrowania podczas testowania funkcjonalnego. Na urządzeniach z ograniczeniami dostęp do wpisów rejestrowanych na poziomie Informacje musi być uwzględniony w budżecie przepustowości i pamięci, ale nie w budżecie energii. |
Production
|
Znaczenie produkcji to wpisy logu, które są używane do ciągłego monitorowania i konserwacji ekosystemu Nest. Na urządzeniach z ograniczonym dostępem uwzględniane są wpisy o znaczeniu produkcyjnym, które powinny być uwzględnione w budżecie zasilania i pamięci, ponieważ tego typu funkcje są zawsze rejestrowane i odciążane na urządzeniu. |
ProductionCritical
|
Krytyczne znaczenie produkcji to zdarzenia, których straty mogłyby bezpośrednio wpłynąć na funkcje dostępne dla klientów. W przypadku aplikacji może wystąpić utrata zdarzeń krytycznych o produkcji. Na urządzeniach z ograniczonym dostępem wpisy o znaczeniu krytycznym dla środowiska produkcyjnego muszą być uwzględnione w budżecie zasilania i pamięci, ponieważ należy zawsze rejestrować je i odrzucać z urządzenia. |
Stany zarządzania
LoggingManagementStates
Właściwości | |
---|---|
kLoggingManagementState_Holdoff
|
Przeciążenie logów zostało zakończone. Ponowne uruchamianie rozpoczniemy dopiero po wygaśnięciu wstrzymania. |
kLoggingManagementState_Idle
|
Nie trwa żadne przeciążenie logów. Można je rozpocząć bez ograniczeń. |
kLoggingManagementState_InProgress
|
Trwa przeciążenie logu. |
kLoggingManagementState_Shutdown
|
Nie może wykonywać żadnych operacji logowania. |
Typ sygnatury czasowej
TimestampType
Prawidłowość i typ sygnatury czasowej zawartej w polu EventOptions.
Typy
Flagi poleceń
enum nl::Weave::Profiles::DataManagement_Current::CommandFlags CommandFlags
Wersja danych
uint64_t DataVersion
Procesor zdarzeń
void * EventProcessor
Zapis zdarzeń
WEAVE_ERROR(* EventWriterFunct)(nl::Weave::TLV::TLVWriter &ioWriter, uint8_t inDataTag, void *appData)
Funkcja, która dostarcza element eventData do podsystemu logowania zdarzeń.
Funkcje tego typu powinny dostarczać element eventData do podsystemu logowania zdarzeń. Funkcje tego typu są wywoływane po wygenerowaniu wszystkich wymaganych metadanych zdarzeń przez podsystem zdarzeń. Funkcja ta jest wywoływana z obiektem nl::Weave::TLV::TLVWriter, do której wysyła pojedynczy element TLV otagowany wartością kTag_EventData. Wartość tego elementu MUSI być strukturą zawierającą dane zdarzenia. Dane zdarzeń muszą być uporządkowane za pomocą tagów kontekstowych.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Wartości zwracane |
|
PlainTextWriter
EventWriterTLVCopy
OdzyskanieZdarzenia zewnętrznego
WEAVE_ERROR(* FetchExternalEventsFunct)(EventLoadOutContext *aContext)
Prototyp funkcji do obsługi wywołań zwrotnych platformy.
Podobnie jak FetchEventsFrom ta funkcja pobierania zwraca wszystkie zdarzenia z EventLoadOutContext.mStartingEventID do ExternalEvents.mLastEventID.
Wskaźnik kontekstowy jest typu FetchExternalEventsContext. Obejmuje to element EventLoadOutContext oraz kilka zmiennych pomocniczych na potrzeby formatu TLV. Zawiera też wskaźnik do struktury ExternalEvents utworzonej podczas rejestracji wywołania zwrotnego. Określa zakres identyfikatorów zdarzeń wywołania zwrotnego.
W przypadku powrotu z funkcji funkcja EventLoadOutContext.mCurrentEventID powinna odzwierciedlać pierwszy identyfikator zdarzenia, który nie został zapisany w buforze TLV. Platforma musi zapisywać nagłówki i dane zdarzeń w zapisie w pliku TLV w prawidłowym formacie określonym przez protokół EventLogging. Platforma musi też zachowywać niepowtarzalność zdarzeń i sygnatur czasowych.
Wszystkie błędy TLV należy zgłaszać na wyższych poziomach. Na przykład brak miejsca w buforze spowoduje wysłanie wysłanej wiadomości, po której następuje kolejne wywołanie zwrotne z informacją o tym, jaki identyfikator pozostanie.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Wartości zwracane |
|
KatalogTuszyI
GenericTraitCatalogImpl< TraitDataSink > GenericTraitSinkCatalog
Katalog_ogólny_TraitSource
GenericTraitCatalogImpl< TraitDataSource > GenericTraitSourceCatalog
Typ ważności
enum nl::Weave::Profiles::DataManagement_Current::ImportanceType ImportanceType
Znaczenie wpisu w dzienniku.
Znaczenie jest używane do filtrowania zdarzeń, zanim zostaną one uruchomione w dzienniku. Po wystąpieniu zdarzenia nie będziemy już usuwać żadnych wpisów z dziennika. Poziom ważności odpowiada priorytetowi przechowywania zdarzeń. Jeśli do pełnego bufora zostanie dodane zdarzenie o dużym znaczeniu, wydarzenia będą pomijane według ich znaczenia (i wieku). Z tego względu poziomy ważności mają tylko wartość względną. Jeśli system korzysta tylko z jednego poziomu ważności, zdarzenia są pomijane tylko według daty urodzenia, np. bufor pierścieniowy.
Wywołanie zwrotne iteratora
void(* IteratorCallback)(void *aTraitInstance, TraitDataHandle aHandle, void *aContext)
Iteracyjne elementy pomocnicze.
Narzędzie do obsługi bufora logowania
WEAVE_ERROR(* LoggingBufferHandler)(void *inAppState, PacketBuffer *inBuffer)
NotifyExternalEventsDeliveredFunct,
void(* NotifyExternalEventsDeliveredFunct)(ExternalEvents *inEv, event_id_t inLastDeliveredEventID, uint64_t inRecipientNodeID)
Prototyp funkcji wywołania zwrotnego wywoływanego podczas przekazywania zdarzeń zewnętrznych do subskrybenta zdalnego.
Gdy zdarzenia zewnętrzne są dostarczane do subskrybenta zdalnego, wyszukiwarka wysyła powiadomienie do tego dostawcy. Wywołanie zwrotne zawiera zdarzenie ostatniego dostarczonego identyfikatora oraz identyfikator subskrybenta, który otrzymał zdarzenie.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Powiadamianie o wydarzeniach zewnętrznych
void(* NotifyExternalEventsEvictedFunct)(ExternalEvents *inEv)
Prototyp funkcji wywołań zwrotnych wywoływanych po usunięciu zdarzeń z bufora.
Jeśli obiekt zdarzeń zewnętrznych zostanie usunięty z bufora wiadomości wychodzących, wyszukiwarka wyśle powiadomienie do zewnętrznego dostawcy zdarzeń. Wywołanie zwrotne zawiera zdarzenie zewnętrzne, które ma zostać wykluczone.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Klucz słownika
uint16_t PropertyDictionaryKey
Uchwyt PathPath
uint32_t PropertyPathHandle
Element PropertyPathHandle to unikalny 32-bitowy numer liczbowy ścieżki WDM w odniesieniu do katalogu głównego instancji funkcji.
Składa się z dwóch części:
- Dolna 16-bitowa liczba, która jest zmapowana na statyczną część schematu.
- Jeśli dolne 16-bitowe fragmenty odnoszą się do ścieżki w elemencie słownika, górna 16-bitowa liczba odpowiada kluczowi słownikowemu powiązanemu z tym elementem. Jeśli dolne 16-bity odnoszą się do elementu spoza słownika, górne 16-bity powinno mieć wartość 0.
Niektóre cechy:
- Każdy atrybut ma własną przestrzeń obsługi ścieżki właściwości.
- Każda unikalna ścieżka podrzędna WDM będzie miała podobną niepowtarzalną właściwość PropertyPathHandles.
- Metoda PropertyPathHandles jest generowana automatycznie (na razie wykonywana ręcznie) przez kompilator cech z IDL i reprezentowana jako lista numeryczna w odpowiednim pliku nagłówka i atrybutów.
- Dzięki temu logika aplikacji nie musi bezpośrednio zajmować się ścieżkami WDM. Interakcje z WDM są wykonywane wyłącznie przez te uchwyty.
- W przypadku uchwytów ścieżki istnieją zarezerwowane wartości o konkretnym znaczeniu:
- 0 oznacza 'NULL' uchwyt
- 1 oznacza uchwyt wskazujący rdzeń instancji trait.
Uchwyt schema.org
uint16_t PropertySchemaHandle
Wersja schematu
uint16_t SchemaVersion
KatalogPojedynczychZasobów
SingleResourceTraitCatalog< TraitDataSink > SingleResourceSinkTraitCatalog
KatalogPojedynczychZasobów
SingleResourceTraitCatalog< TraitDataSource > SingleResourceSourceTraitCatalog
Typ sygnatury czasowej
enum nl::Weave::Profiles::DataManagement_Current::TimestampType TimestampType
Prawidłowość i typ sygnatury czasowej zawartej w polu EventOptions.
Uchwyt danych danych TraitData
uint16_t TraitDataHandle
trwanie_t
uint32_t duration_t
Typ określa czas trwania w milisekundach.
event_id_t
uint32_t event_id_t
Typ identyfikatora zdarzenia.
sygnatura_czasowa
uint32_t timestamp_t
Typ używany do opisu sygnatury czasowej w milisekundach.
utc_timestamp_t,
uint64_t utc_timestamp_t
Typ używany do opisywania sygnatury czasowej UTC w milisekundach.
Zmienne
instancja
LoggingManagement sInstance
Nazwa pliku sLog
char sLogFileName[] = "topazlog"
Funkcje
Narzędzie do obsługi błędów xx
void BdxErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, WEAVE_ERROR aErrorCode )
BdxGetBlockHandler
void BdxGetBlockHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aIsLastBlock )
Odrzuć URL
void BdxRejectHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aReport )
BdxSendAcceptHandler
WEAVE_ERROR BdxSendAcceptHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::BulkDataTransfer::SendAccept *aSendAcceptMsg )
Narzędzie BdxXferDoneHandler
void BdxXferDoneHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer )
Narzędzie do obsługi błędów XdxXfer
void BdxXferErrorHandler( nl::Weave::Profiles::BulkDataTransfer::BDXTransfer *aXfer, nl::Weave::Profiles::StatusReporting::StatusReport *aXferError )
Utworzenie elementu PathPath
PropertyPathHandle CreatePropertyPathHandle( PropertySchemaHandle aPropertyPathSchemaId, PropertyDictionaryKey aPropertyPathDictionaryKey )
EventWriterTLVCopy
WEAVE_ERROR EventWriterTLVCopy( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Funkcja pomocnicza, która tłumaczy już zserializowany element danych zdarzenia na bufor zdarzenia.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Wartości zwracane |
|
Klucz obiektu właściwości
PropertyDictionaryKey GetPropertyDictionaryKey( PropertyPathHandle aHandle )
GetPropertySchemaHandle
PropertySchemaHandle GetPropertySchemaHandle( PropertyPathHandle aHandle )
IsNullPropertiesPathHandle
bool IsNullPropertyPathHandle( PropertyPathHandle aHandle )
Element IsRootPropertyPath
bool IsRootPropertyPathHandle( PropertyPathHandle aHandle )
JestWersja nowsza
bool IsVersionNewer( const DataVersion & aVersion, const DataVersion & aReference )
Jest to zoptymalizowana implementacja algorytmu, która umożliwia porównywanie wersji.
Po stronie klienta wersja otrzymana z usługi jest zawsze najnowszą wersją.
JestWersjaaktualna lub równa
bool IsVersionNewerOrEqual( const DataVersion & aVersion, const DataVersion & aReference )
Zlokalizuj
TraitUpdatableDataSink * Locate( TraitDataHandle aTraitDataHandle, const TraitCatalogBase< TraitDataSink > *aDataSinkCatalog )
Funkcja służąca do znajdowania TraitUpdatableDataSink w katalogu TraitDataSink.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
Wskaźnik do parametru TraitUpdatableDataSink; wartość NULL, jeśli uchwyt nie istnieje lub wskazuje nieaktualizowalny TraitDataSink.
|
Zdarzenie logu
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData )
Rejestrowanie zdarzenia ze wstępnie zserializowanego formularza.
Funkcja rejestruje zdarzenie reprezentowane przez nl::Weave::TLV::TLVReader. Oznacza to, że dane o zdarzeniach są już zserializowane w pamięci pod postacią elementu nl::Weave::TLV::TLVReader. Element nl::Weave::TLV::TLVReader powinien zawierać co najmniej jeden element danych. Element musi być strukturą. Pierwszy element odczytywany w czytniku jest traktowany jako dane zdarzenia i przechowywany w dzienniku zdarzeń. Dane zdarzenia MUSZĄ zawierać tagi kontekstowe, które należy interpretować w schemacie określonym w inIDID i inEventType. Tag pierwszego elementu będzie ignorowany, a system dziennika zdarzeń zastąpi go zdarzeniem Data.
Zdarzenie jest rejestrowane, jeśli jego wartość inImportance przekracza próg logowania określony w zasadzie LoggingConfiguration. Jeśli znaczenie zdarzenia nie osiągnie bieżącego progu, zostanie ono usunięte, a funkcja zwróci 0
jako identyfikator zdarzenia.
Wariant tego wywołania domyślnie określa wszystkie domyślne opcje zdarzeń:
- zdarzenie ma sygnaturę czasową bieżącego momentu połączenia;
- zdarzenie jest oznaczone jako dotyczące urządzenia, które nawiązuje połączenie;
- wydarzenie jest samodzielnie i nie odnosi się do innych wydarzeń,
- zdarzenie jest oznaczone jako pilne,
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
event_id_t Identyfikator zdarzenia, jeśli zdarzenie zostało zapisane w dzienniku. W przeciwnym razie ma wartość 0.
|
Zdarzenie logu
event_id_t LogEvent( const EventSchema & inSchema, nl::Weave::TLV::TLVReader & inData, const EventOptions *inOptions )
Rejestruj zdarzenie ze wstępnie zserializowanego formularza z dodatkowymi opcjami.
Funkcja rejestruje zdarzenie reprezentowane przez nl::Weave::TLV::TLVReader. Oznacza to, że dane o zdarzeniach są już zserializowane w pamięci pod postacią elementu nl::Weave::TLV::TLVReader. Element nl::Weave::TLV::TLVReader powinien zawierać co najmniej jeden element danych. Element musi być strukturą. Pierwszy element odczytywany w czytniku jest traktowany jako dane zdarzenia i przechowywany w dzienniku zdarzeń. Dane zdarzenia MUSZĄ zawierać tagi kontekstowe, które należy interpretować w schemacie określonym w inIDID i inEventType. Tag pierwszego elementu będzie ignorowany, a system dziennika zdarzeń zastąpi go zdarzeniem Data.
Zdarzenie jest rejestrowane, jeśli jego wartość inImportance przekracza próg logowania określony w zasadzie LoggingConfiguration. Jeśli znaczenie zdarzenia nie osiągnie bieżącego progu, zostanie ono usunięte, a funkcja zwróci 0
jako identyfikator zdarzenia.
Ten wariant wywołania zezwala rozmówcy na ustawienie dowolnej kombinacji właściwości EventOptions
:
- sygnatura czasowa, która w momencie połączenia wskazuje domyślną godzinę równą 0;
- "root" źródło zdarzenia (źródło zdarzenia i identyfikator cechy). Jeśli wartość jest ustawiona na NULL, zdarzenie zostanie oznaczone jako domyślne na podstawie bieżącego urządzenia.
- identyfikator powiązanego zdarzenia (jeśli ma on identyfikator 0), oznacza to, że zdarzenie nie jest powiązane z żadnym innym zdarzeniem;
- pilne; domyślnie niepilny.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
event_id_t Identyfikator zdarzenia, jeśli zdarzenie zostało zapisane w dzienniku. W przeciwnym razie ma wartość 0.
|
Zdarzenie logu
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData )
Rejestrowanie zdarzenia przez wywołanie zwrotne.
Funkcja rejestruje zdarzenie reprezentowane przez EventWriterFunct i kontekst aplikacji appData
. Funkcja zapisuje metadane zdarzenia i wywołuje metodę inEventWriter
za pomocą pliku nl::Weave::TLV::TLVWriter i kontekstu inAppData
, aby kod użytkownika mógł emitować dane zdarzenia bezpośrednio do dziennika zdarzeń. Ta forma logowania zdarzeń pozwala zminimalizować wykorzystanie pamięci, ponieważ dane zdarzeń są serializowane bezpośrednio do docelowego bufora. Dane zdarzenia MUSZĄ zawierać tagi kontekstowe, które należy interpretować w schemacie wskazanym przez inProfileID
i inEventType
. Tag pierwszego elementu będzie ignorowany, a system dziennika zdarzeń zastąpi go zdarzeniem Data.
Zdarzenie jest rejestrowane, jeśli jego wartość inImportance przekracza próg logowania określony w zasadzie LoggingConfiguration. Jeśli znaczenie zdarzenia nie osiągnie bieżącego progu, zostanie ono usunięte, a funkcja zwróci 0
jako identyfikator zdarzenia.
Wariant tego wywołania domyślnie określa wszystkie domyślne opcje zdarzeń:
- zdarzenie ma sygnaturę czasową bieżącego momentu połączenia;
- zdarzenie jest oznaczone jako dotyczące urządzenia, które nawiązuje połączenie;
- wydarzenie jest samodzielnie i nie odnosi się do innych wydarzeń,
- zdarzenie jest oznaczone jako pilne,
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
event_id_t Identyfikator zdarzenia, jeśli zdarzenie zostało zapisane w dzienniku. W przeciwnym razie ma wartość 0.
|
Zdarzenie logu
event_id_t LogEvent( const EventSchema & inSchema, EventWriterFunct inEventWriter, void *inAppData, const EventOptions *inOptions )
Rejestrowanie zdarzenia przez wywołanie zwrotne z opcjami.
Funkcja rejestruje zdarzenie reprezentowane przez EventWriterFunct i kontekst aplikacji appData
. Funkcja zapisuje metadane zdarzenia i wywołuje metodę inEventWriter
za pomocą pliku nl::Weave::TLV::TLVWriter i kontekstu inAppData
, aby kod użytkownika mógł emitować dane zdarzenia bezpośrednio do dziennika zdarzeń. Ta forma logowania zdarzeń pozwala zminimalizować wykorzystanie pamięci, ponieważ dane zdarzeń są serializowane bezpośrednio do docelowego bufora. Dane zdarzenia MUSZĄ zawierać tagi kontekstowe, które należy interpretować w schemacie wskazanym przez inProfileID
i inEventType
. Tag pierwszego elementu będzie ignorowany, a system dziennika zdarzeń zastąpi go zdarzeniem Data.
Zdarzenie jest rejestrowane, jeśli jego wartość inImportance przekracza próg logowania określony w zasadzie LoggingConfiguration. Jeśli znaczenie zdarzenia nie osiągnie bieżącego progu, zostanie ono usunięte, a funkcja zwróci 0
jako identyfikator zdarzenia.
Ten wariant wywołania zezwala rozmówcy na ustawienie dowolnej kombinacji właściwości EventOptions
:
- sygnatura czasowa, która w momencie połączenia wskazuje domyślną godzinę równą 0;
- "root" źródło zdarzenia (źródło zdarzenia i identyfikator cechy). Jeśli wartość jest ustawiona na NULL, zdarzenie zostanie oznaczone jako domyślne na podstawie bieżącego urządzenia.
- identyfikator powiązanego zdarzenia (jeśli ma on identyfikator 0), oznacza to, że zdarzenie nie jest powiązane z żadnym innym zdarzeniem;
- pilne; domyślnie niepilny.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwroty |
event_id_t Identyfikator zdarzenia, jeśli zdarzenie zostało zapisane w dzienniku. W przeciwnym razie ma wartość 0.
|
LogFreeform,
event_id_t LogFreeform( ImportanceType inImportance, const char *inFormat, ... )
LogFreeform emituje dowolny ciąg znaków do domyślnego strumienia zdarzeń.
Ciąg znaków zostanie ujęty w strukturę zdarzenia debugowania, która ma taką samą strukturę jak inne zarejestrowane ciągi znaków. Identyfikatorem zdarzenia będzie identyfikator zdarzenia Nest Debug, a typ zdarzenia to kNestDebug_StringLogEntryEvent
.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
event_id_t Identyfikator zdarzenia, jeśli zdarzenie zostało zapisane w dzienniku. W przeciwnym razie ma wartość 0.
|
Poszukaj elementuZ tagiem
WEAVE_ERROR LookForElementWithTag( const nl::Weave::TLV::TLVReader & aSrcReader, const uint64_t aTagInApiForm, nl::Weave::TLV::TLVReader *apDstReader )
Zapis tekstowy
WEAVE_ERROR PlainTextWriter( TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Funkcja pomocnicza do wyświetlania dowolnego tekstu jako zdarzenia debugowania.
Zdarzenie debugowania to struktura z regionem logu i dowolnym tekstem.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Wartości zwracane |
|
Zapis tekstowy
WEAVE_ERROR PlainTextWriter( ::nl::Weave::TLV::TLVWriter & ioWriter, uint8_t inDataTag, void *appData )
Funkcja pomocnicza do wyświetlania dowolnego tekstu jako zdarzenia debugowania.
Zdarzenie debugowania to struktura z regionem logu i dowolnym tekstem.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Wartości zwracane |
|