| /* |
| * |
| * Copyright (c) 2016-2017 Nest Labs, Inc. |
| * All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * @file |
| * |
| * @brief |
| * Implementations of enums, types, and tags used in Weave Event Logging. |
| * |
| */ |
| |
| #include <Weave/Profiles/data-management/Current/WdmManagedNamespace.h> |
| #include <Weave/Profiles/data-management/DataManagement.h> |
| |
| namespace nl { |
| namespace Weave { |
| namespace Profiles { |
| namespace WeaveMakeManagedNamespaceIdentifier(DataManagement, kWeaveManagedNamespaceDesignation_Current) { |
| |
| EventOptions::EventOptions(void) : |
| timestamp(), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_Invalid), |
| urgent(false) |
| { |
| } |
| |
| EventOptions::EventOptions(bool aUrgent) : |
| timestamp(), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_Invalid), |
| urgent(aUrgent) |
| { |
| } |
| |
| EventOptions::EventOptions(timestamp_t aSystemTimestamp) : |
| timestamp(aSystemTimestamp), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_System), |
| urgent(false) |
| { |
| } |
| |
| EventOptions::EventOptions(utc_timestamp_t aUtcTimestamp) : |
| timestamp(aUtcTimestamp), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_UTC), |
| urgent(false) |
| { |
| } |
| |
| EventOptions::EventOptions(timestamp_t aSystemTimestamp, bool aUrgent) : |
| timestamp(aSystemTimestamp), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_System), |
| urgent(aUrgent) |
| { |
| } |
| |
| EventOptions::EventOptions(utc_timestamp_t aUtcTimestamp, bool aUrgent) : |
| timestamp(aUtcTimestamp), |
| eventSource(NULL), |
| relatedEventID(0), |
| relatedImportance(kImportanceType_Invalid), |
| timestampType(kTimestampType_UTC), |
| urgent(aUrgent) |
| { |
| } |
| |
| EventOptions::EventOptions(timestamp_t aSystemTimestamp, |
| DetailedRootSection *aEventSource, |
| event_id_t aRelatedEventID, |
| ImportanceType aRelatedImportance, |
| bool aUrgent) : |
| timestamp(aSystemTimestamp), |
| eventSource(aEventSource), |
| relatedEventID(aRelatedEventID), |
| relatedImportance(aRelatedImportance), |
| timestampType(kTimestampType_System), |
| urgent(aUrgent) |
| { |
| } |
| |
| EventOptions::EventOptions(utc_timestamp_t aUtcTimestamp, |
| DetailedRootSection *aEventSource, |
| event_id_t aRelatedEventID, |
| ImportanceType aRelatedImportance, |
| bool aUrgent) : |
| timestamp(aUtcTimestamp), |
| eventSource(aEventSource), |
| relatedEventID(aRelatedEventID), |
| relatedImportance(aRelatedImportance), |
| timestampType(kTimestampType_UTC), |
| urgent(aUrgent) |
| { |
| } |
| |
| EventLoadOutContext::EventLoadOutContext(nl::Weave::TLV::TLVWriter &inWriter, |
| ImportanceType inImportance, |
| uint32_t inStartingEventID) : |
| mWriter(inWriter), |
| mImportance(inImportance), |
| mStartingEventID(inStartingEventID), |
| mCurrentTime(0), |
| mCurrentEventID(0), |
| #if WEAVE_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS |
| mCurrentUTCTime(0), |
| mFirstUtc(true), |
| #endif // WEAVE_CONFIG_EVENT_LOGGING_UTC_TIMESTAMPS |
| mFirst(true) |
| { |
| } |
| |
| } // ns WeaveMakeManagedNamespaceIdentifier(DataManagement, kWeaveManagedNamespaceDesignation_Current) |
| } // ns Profiles |
| } // ns Weave |
| } // ns nl |