nl::Weave::Warm

이 네임스페이스에는 Weave IP 주소 및 경로를 구성하기 위한 이동식 모듈인 Weave Address and Routing 모듈용 인터페이스가 포함되어 있습니다.

요약

열거

ActionType{
  kActionTypeWiFiHostAddress = (1 << 0),
  kActionTypeThreadHostAddress = (1 << 1),
  kActionTypeThreadThreadAddress = (1 << 2),
  kActionTypeLegacy6LoWPANHostAddress = (1 << 3),
  kActionTypeLegacy6LoWPANThreadAddress = (1 << 4),
  kActionTypeHostRouteThread = (1 << 5),
  kActionTypeThreadAdvertisement = (1 << 6),
  kActionTypeThreadRoute = (1 << 7),
  kActionTypeTunnelHostAddress = (1 << 8),
  kActionTypeTunnelHostRoute = (1 << 9),
  kActionTypeThreadRoutePriority = (1 << 10),
  kActionTypeTunnelServiceRoute = (1 << 11),
  kActionTypeMax = (1 << 16)
}
enum
InitState{
  kInitStateNotInitialized = 0
}
enum
InterfaceState enum
가능한 인터페이스 상태 값의 열거형입니다.
InterfaceType{
  kInterfaceTypeLegacy6LoWPAN = 0,
  kInterfaceTypeThread,
  kInterfaceTypeWiFi,
  kInterfaceTypeTunnel,
  kInterfaceTypeCellular
}
enum
가능한 인터페이스 유형의 열거형입니다.
PlatformActionExecution{
  kPlatformActionExecutionContinue = false,
  kPlatformActionExecutionSuspendForAsynchOpCompletion = true
}
enum
PlatformResult{
  kPlatformResultSuccess = 0,
  kPlatformResultFailure,
  kPlatformResultInProgress
}
enum
가능한 플랫폼 API 반환 값의 열거형입니다.
RoutePriority enum
한 경로가 다른 경로보다 우선할 수 있도록 가능한 경로 우선순위의 열거형입니다.
SystemFeatureType{
  kSystemFeatureTypeIsFabricMember = (1 << 0),
  kSystemFeatureTypeWiFiConnected = (1 << 1),
  kSystemFeatureTypeThreadConnected = (1 << 2),
  kSystemFeatureTypeThreadRoutingEnabled = (1 << 3),
  kSystemFeatureTypeBorderRoutingEnabled = (1 << 4),
  kSystemFeatureTypeTunnelInterfaceEnabled = (1 << 5),
  kSystemFeatureTypeTunnelState = (1 << 6),
  kSystemFeatureTypeCellularConnected = (1 << 7),
  kSystemFeatureTypeMax = (1 << 16)
}
enum

Typedef

ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId) typedef
FlagsType typedef
uint16_t

변수

kGlobalULAPrefixLength = 48
const uint8_t
kLegacy6LoWPANULAAddressPrefixLength = 64
const uint8_t
kThreadULAAddressPrefixLength = 64
const uint8_t
kTunnelAddressPrefixLength = 128
const uint8_t
kWiFiULAAddressPrefixLength = 64
const uint8_t
sFabricStateDelegate
sState

함수

BorderRouterStateChange(InterfaceState inState)
void
보더 라우터 기능의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
CellularInterfaceStateChange(InterfaceState inState)
void
모바일 인터페이스의 상태 변경사항을 알리기 위해 호출되는 WARM API입니다.
FabricStateChange(InterfaceState inState)
void
Weave Fabric 기능의 상태 변경을 알리기 위해 호출되는 함수입니다.
GetCurrentActionState(ActionType inAction)
bool
지정된 작업의 현재 상태를 반환하는 정적 함수입니다.
GetFabricState(const WeaveFabricState *& outFabricState)
Init 중에 Warm에 제공된 FabricState 객체를 가져오는 WARM API입니다.
GetSystemFeatureState(SystemFeatureType inSystemFeature)
bool
시스템 기능의 현재 상태를 가져오는 정적 함수입니다.
GetULA(InterfaceType inInterfaceType, Inet::IPAddress & outAddress)
지정된 인터페이스 유형의 ULA를 가져오는 WARM API입니다.
Init(WeaveFabricState & inFabricState)
일회성 모듈 초기화를 수행하는 WARM API
InvokeActions(void)
void
다양한 플랫폼 API 작업을 수행하기 위해 전용 작업에서 호출하는 WARM API입니다.
LegacyHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
MakePrefix(const uint64_t & inGlobalID, const uint16_t subnetId, const uint8_t inPrefixLen, Inet::IPPrefix & outPrefix)
void
전역 ID에서 48비트 접두사를 생성하는 유틸리티입니다.
MapAvailabilityToPriority(Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
TunnelAvailability에서 RoutePriority로의 매핑을 반환하는 정적 함수입니다.
RecordPlatformResult(PlatformResult inResult, ActionType inAction, bool inActionState)
플랫폼 API 작업 호출의 결과를 기록하는 정적 함수입니다.
ReportActionComplete(PlatformResult inResult)
void
이전의 비동기 플랫폼 API 호출의 완료를 알리기 위해 호출된 WARM API입니다.
SetCurrentActionState(ActionType inAction, bool inValue)
void
지정된 작업의 현재 상태를 설정하는 정적 함수입니다.
SetSystemFeatureState(SystemFeatureType inSystemFeature, bool inValue)
bool
시스템 기능의 현재 상태를 설정하는 정적 함수입니다.
ShouldPerformAction(ActionType inAction, FlagsType inNecessarySystemFeatureState, bool & outActivate)
bool
지정된 작업을 실행해야 하는지 여부를 결정하는 정적 함수입니다.
SystemFeatureStateChangeHandler(SystemFeatureType inSystemFeatureType, bool inState)
void
시스템 기능 상태를 설정하고 이벤트 상태가 변경되었음을 플랫폼에 알리는 정적 함수입니다.
TakeActions(void)
void
각 작업의 상태를 테스트하고 필요한 경우 작업 상태를 변경하기 위해 플랫폼 API를 호출하는 정적 함수입니다.
ThreadAdvertisementAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
ThreadInterfaceStateChange(InterfaceState inState)
void
스레드 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
ThreadRoutingStateChange(InterfaceState inState)
void
스레드 라우팅 기능의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
TunnelInterfaceStateChange(InterfaceState inState)
void
Weave Tunnel 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
TunnelPriorityStateChange(nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
터널 서비스의 우선순위를 업데이트하기 위해 호출되는 WARM API입니다.
TunnelServiceStateChange(InterfaceState inState, nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability)
void
Weave Tunnel 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
WiFiHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
Action 메서드 중 하나입니다.
WiFiInterfaceStateChange(InterfaceState inState)
void
Wi-Fi 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

클래스

nl::Weave::Warm::WarmFabricStateDelegate

이 클래스는 HeatCore의 내부 클래스입니다.

구조체

nl::Weave::Warm::ActionEntry
nl::Weave::Warm::ModuleState

네임스페이스

nl::Weave::Warm::Platform

열거

ActionType

 ActionType
속성
kActionTypeHostRouteThread

추가 | 호스트 IP 스택의 스레드 인터페이스에 대한 IP 경로를 삭제합니다.

kActionTypeLegacy6LoWPANHostAddress

추가 | 호스트의 IP 스택에서 레거시 6LowPAN 인터페이스에 대한 IP 주소를 삭제합니다.

kActionTypeLegacy6LoWPANThreadAddress

추가 | 스레드 모듈의 IP 스택에서 레거시 6LowPAN 인터페이스의 IP 주소를 삭제합니다.

kActionTypeMax

초과하지 마세요. 사용할 수 있는 최대 비트를 표시하기 위해 예약됩니다.

kActionTypeThreadAdvertisement

시작 | 스레드 모듈에서 경로 공지를 중지합니다.

kActionTypeThreadHostAddress

추가 | 호스트 IP 스택에서 스레드 인터페이스의 IP 주소를 삭제합니다.

kActionTypeThreadRoute

추가 | 경계 경로 지원을 위한 스레드 모듈에서 IP 경로를 삭제합니다.

kActionTypeThreadRoutePriority

스레드 모듈에서 스레드 경로의 경로 우선순위를 변경합니다.

kActionTypeThreadThreadAddress

추가 | 스레드 모듈의 IP 스택에 있는 스레드 인터페이스의 IP 주소를 삭제합니다.

kActionTypeTunnelHostAddress

추가 | 호스트의 IP 스택에서 터널 인터페이스의 IP 주소를 삭제합니다.

kActionTypeTunnelHostRoute

추가 | 호스트의 IP 스택에서 터널 인터페이스의 IP 경로를 삭제합니다.

kActionTypeTunnelServiceRoute

추가 | 호스트의 IP 스택에서 서비스 서브넷의 64비트 IP 경로를 삭제하세요.

kActionTypeWiFiHostAddress

추가 | 호스트의 IP 스택에서 Wi-Fi 인터페이스의 IP 주소를 삭제합니다.

InitState

 InitState
속성
kInitStateNotInitialized

mInitState의 초깃값이 kInitStateNotInitialized가 되도록 0이어야 합니다.

InterfaceState

 InterfaceState

가능한 인터페이스 상태 값의 열거형입니다.

InterfaceType

 InterfaceType

가능한 인터페이스 유형의 열거형입니다.

를 통해 개인정보처리방침을 정의할 수 있습니다.

속성
kInterfaceTypeCellular

셀룰러 인터페이스

kInterfaceTypeLegacy6LoWPAN

스레드 알람 인터페이스

kInterfaceTypeThread

Thread 인터페이스입니다.

kInterfaceTypeTunnel

Tunnel 인터페이스

kInterfaceTypeWiFi

Wi-Fi 인터페이스입니다.

PlatformActionExecution

 PlatformActionExecution
속성
kPlatformActionExecutionContinue

작업 실행을 계속합니다

kPlatformActionExecutionSuspendForAsynchOpCompletion

비동기 작업을 완료하기 위한 정지 작업 실행

PlatformResult

 PlatformResult

가능한 플랫폼 API 반환 값의 열거형입니다.

속성
kPlatformResultFailure

API를 실행할 수 없습니다.

kPlatformResultInProgress

작업이 진행 중이며 비동기식으로 완료됩니다.

kPlatformResultSuccess

API가 완료되었습니다.

RoutePriority

 RoutePriority

한 경로가 다른 경로보다 우선할 수 있도록 가능한 경로 우선순위의 열거형입니다.

SystemFeatureType

 SystemFeatureType
속성
kSystemFeatureTypeBorderRoutingEnabled

시스템의 경계 경로 지정 기능 IS | 사용 설정되지 않았습니다.

kSystemFeatureTypeCellularConnected

시스템의 셀룰러 인터페이스 IS | 연결되지 않았습니다.

kSystemFeatureTypeIsFabricMember

시스템의 Weave 모듈은 IS | 원단이 아니어야 합니다.

kSystemFeatureTypeMax

초과하지 마세요. 사용할 수 있는 최대 비트를 표시하기 위해 예약됩니다.

kSystemFeatureTypeThreadConnected

시스템의 스레드 인터페이스 IS | 연결되지 않았습니다.

kSystemFeatureTypeThreadRoutingEnabled

시스템의 스레드 라우팅 기능은 | 사용 설정되지 않았습니다.

kSystemFeatureTypeTunnelInterfaceEnabled

시스템의 터널 인터페이스 IS | 사용 설정되지 않았습니다.

kSystemFeatureTypeTunnelState

시스템의 터널 서비스 IS | 설정되지 않았습니다.

kSystemFeatureTypeWiFiConnected

시스템의 WiFi 인터페이스 IS | 연결되지 않았습니다.

Typedef

ActionFunction

PlatformResult(* ActionFunction)(ActionType inAction, bool inActivate, const uint64_t &inGlobalId, const uint64_t &inInterfaceId)

FlagsType

uint16_t FlagsType

변수

kGlobalULAPrefixLength

const uint8_t kGlobalULAPrefixLength = 48

kLegacy6LoWPANULAAddressPrefixLength

const uint8_t kLegacy6LoWPANULAAddressPrefixLength = 64

kThreadULAAddressPrefixLength

const uint8_t kThreadULAAddressPrefixLength = 64

kTunnelAddressPrefixLength

const uint8_t kTunnelAddressPrefixLength = 128

kWiFiULAAddressPrefixLength

const uint8_t kWiFiULAAddressPrefixLength = 64

sFabricStateDelegate

WarmFabricStateDelegate sFabricStateDelegate

sState

ModuleState sState

함수

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

보더 라우터 기능의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
보더 라우터 기능이 작동 중인 경우 kInterfaceStateUp, 그렇지 않은 경우 kInterfaceStateDown.

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

모바일 인터페이스의 상태 변경사항을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
Cellular 인터페이스가 켜져 있으면 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.

FabricStateChange

void FabricStateChange(
  InterfaceState inState
)

Weave Fabric 기능의 상태 변경을 알리기 위해 호출되는 함수입니다.

세부정보
매개변수
[in] inState
시스템이 Weave 패브릭의 멤버인 경우 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.

GetCurrentActionState

bool GetCurrentActionState(
  ActionType inAction
)

지정된 작업의 현재 상태를 반환하는 정적 함수입니다.

세부정보
매개변수
[in] inAction
쿼리할 작업 유형입니다.
반환
작업이 설정되어 있으면 true, 그렇지 않으면 false입니다.

GetFabricState

WEAVE_ERROR GetFabricState(
  const WeaveFabricState *& outFabricState
)

Init 중에 Warm에 제공된 FabricState 객체를 가져오는 WARM API입니다.

세부정보
매개변수
[out] outFabricState
fabricState 객체에 대한 포인터 참조입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
WARM이 초기화되기 전에 이 API가 호출되는 경우.

GetSystemFeatureState

bool GetSystemFeatureState(
  SystemFeatureType inSystemFeature
)

시스템 기능의 현재 상태를 가져오는 정적 함수입니다.

세부정보
매개변수
[in] inSystemFeature
쿼리할 시스템 기능입니다.
반환
시스템 기능이 사용 설정된 경우 true, 그렇지 않은 경우 false입니다.

GetULA

WEAVE_ERROR GetULA(
  InterfaceType inInterfaceType,
  Inet::IPAddress & outAddress
)

지정된 인터페이스 유형의 ULA를 가져오는 WARM API입니다.

세부정보
매개변수
[in] inInterfaceType
ULA가 바람직한 인터페이스 유형입니다.
[out] outAddress
결과 ULA를 보유하는 데 사용되는 주소 객체입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INCORRECT_STATE
WARM이 Fabric의 구성원이 아닌 동안 이 API가 호출되는 경우.
WEAVE_ERROR_INVALID_ARGUMENT
이 API가 잘못된 인터페이스 유형으로 호출된 경우.

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

일회성 모듈 초기화를 수행하는 WARM API

세부정보
매개변수
[in] inFabricState
유효한 WeaveFabricState에 대한 참조입니다.
반환 값
WEAVE_NO_ERROR
초기화 성공 시.
WEAVE_ERROR_INCORRECT_STATE
Init가 두 번 이상 호출되는 경우
other
그렇지 않은 경우 오류 코드입니다.
반환
성공 시 WEAVE_NO_ERROR, 성공 시 오류 코드.

InvokeActions

void InvokeActions(
  void
)

다양한 플랫폼 API 작업을 수행하기 위해 전용 작업에서 호출하는 WARM API입니다.

현재 시스템 상태를 충족하는 데 필요한 작업을 실행하기 위한 진입점을 나타냅니다. 예를 들어 스레드 스택이 사용 중지된 상태에서 사용 설정된 상태로 전환된 경우 이 함수는 스레드 호스트 주소 등을 할당하는 데 필요한 플랫폼 호출을 수행합니다. 이 함수는 RequestInvokeActions에 대한 Warm 호출에 대한 응답으로 플랫폼 코드에서 호출해야 합니다. InvokeActions를 호출하면 nl::Warm::Platform API가 하나 이상 호출됩니다. 따라서 개발자는 RequestInvokeActions 및 InvokeActions()의 호출자를 적절히 구현해야 합니다. 예를 들어 RequestInvokeActions가 InvokeActions()를 호출하는 작업에 이벤트를 게시하는 것이 적절할 수 있습니다. 반대로 시스템이 단일 스레드인 경우에는 InvokeActions()를 직접 호출하도록 RequestInvokeActions를 구현할 수 있습니다.

LegacyHostAddressAction

PlatformResult LegacyHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

기존 인터페이스의 호스트 주소를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostAddress()에서 결과를 전달합니다.

LegacyThreadAddressAction

PlatformResult LegacyThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

기존 6LoWPAN 인터페이스의 스레드 주소를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::ThreadAddress()에서 결과를 전달합니다.

MakePrefix

void MakePrefix(
  const uint64_t & inGlobalID,
  const uint16_t subnetId,
  const uint8_t inPrefixLen,
  Inet::IPPrefix & outPrefix
)

전역 ID에서 48비트 접두사를 생성하는 유틸리티입니다.

세부정보
매개변수
[in] inGlobalID
Weave 전역 ID에 대한 참조입니다.
[out] outPrefix
초기화할 프리픽스입니다.

MapAvailabilityToPriority

RoutePriority MapAvailabilityToPriority(
  Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

TunnelAvailability에서 RoutePriority로의 매핑을 반환하는 정적 함수입니다.

세부정보
매개변수
[in] inAvailability
Weave 터널 가용성 모드입니다.
반환
우선순위 매핑 값입니다.

RecordPlatformResult

PlatformActionExecution RecordPlatformResult(
  PlatformResult inResult,
  ActionType inAction,
  bool inActionState
)

플랫폼 API 작업 호출의 결과를 기록하는 정적 함수입니다.

이 모듈은 플랫폼별 API를 통해 작업을 실행하도록 요청합니다. 해당 작업 요청의 kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress 결과를 보고하려면 API가 필요합니다. 이 함수는 그 결과를 기록하고 결과가 진행 중이고 추가 작업이 지연되어야 하는 경우 true를 반환합니다.

세부정보
매개변수
[in] inResult
플랫폼 API 결과입니다.
[in] inAction
플랫폼 API가 시도한 작업입니다.
[in] inActionState
결과가 성공한 경우 작업의 새로운 상태입니다.
반환
true인 경우 플랫폼 API가 요청을 비동기식으로 처리하고 그렇지 않으면 false입니다.

ReportActionComplete

void ReportActionComplete(
  PlatformResult inResult
)

이전의 비동기 플랫폼 API 호출의 완료를 알리기 위해 호출된 WARM API입니다.

플랫폼 작업 API가 비동기 작업을 수행해야 할 수도 있다고 가정합니다. true인 경우 플랫폼 API는 kPlatformResultInProgress를 반환합니다. 이 경우 시스템에서 ReportActionComplete를 호출하여 작업 완료를 알릴 때까지 새 주소 및 라우팅 작업이 정지됩니다.

세부정보
매개변수
[in] inResult
대기 중인 작업의 결과입니다. 다음 중 하나여야 합니다. {kPlatformResultSuccess | kPlatformResultFailure}

SetCurrentActionState

void SetCurrentActionState(
  ActionType inAction,
  bool inValue
)

지정된 작업의 현재 상태를 설정하는 정적 함수입니다.

세부정보
매개변수
[in] inAction
변경할 작업 유형입니다.
[in] inValue
채택할 새 상태 값입니다.

SetSystemFeatureState

bool SetSystemFeatureState(
  SystemFeatureType inSystemFeature,
  bool inValue
)

시스템 기능의 현재 상태를 설정하는 정적 함수입니다.

세부정보
매개변수
[in] inSystemFeature
설정할 SystemFeature입니다.
[in] inValue
채택할 새 상태 값입니다.
반환
시스템 기능이 변경된 경우 true, 그렇지 않은 경우 false입니다.

ShouldPerformAction

bool ShouldPerformAction(
  ActionType inAction,
  FlagsType inNecessarySystemFeatureState,
  bool & outActivate
)

지정된 작업을 실행해야 하는지 여부를 결정하는 정적 함수입니다.

이 함수는 시스템 기능 상태 플래그의 조건을 검토하고 지정된 작업의 사용 설정 또는 중지 여부를 결정합니다. 그런 다음 함수가 작업의 현재 상태를 검토하고 작업이 시스템 기능의 상태에 필요한 값으로 설정되지 않은 경우 outActivate에서 원하는 작업 상태와 함께 true를 반환합니다.

세부정보
매개변수
[in] inAction
쿼리할 작업입니다.
[in] inNecessarySystemFeatureState
작업이 활성화되는 데 필요한 상태 플래그.
[out] outActivate
원하는 작업 상태입니다.
반환
작업이 현재 원하는 상태가 아니면 true, 그렇지 않으면 false입니다.

SystemFeatureStateChangeHandler

void SystemFeatureStateChangeHandler(
  SystemFeatureType inSystemFeatureType,
  bool inState
)

시스템 기능 상태를 설정하고 이벤트 상태가 변경되었음을 플랫폼에 알리는 정적 함수입니다.

필요한 반응 작업을 실행하기 위해 EventStateChange API에서 호출합니다.

세부정보
매개변수
[in] inSystemFeatureType
호출된 API에 따라 변경된 상태입니다.
[in] inState
상태의 새 값입니다.

TakeActions

void TakeActions(
  void
)

각 작업의 상태를 테스트하고 필요한 경우 작업 상태를 변경하기 위해 플랫폼 API를 호출하는 정적 함수입니다.

이 함수는 ShouldPerformAction()을 사용하여 작업 상태를 변경/실행해야 하는지 여부를 결정합니다. ShouldPerformAction()이 true를 반환하면 함수는 적절한 작업 API를 호출하여 원하는 상태로 작업을 수행합니다. 작업 API 호출의 결과가 RecordPlatformResult()로 전달되고 이 함수가 true를 반환하면 함수의 실행이 종료됩니다.

ThreadAdvertisementAction

PlatformResult ThreadAdvertisementAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

스레드 공지 상태를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::ThreadAdvertisement()에서 결과를 전달합니다.

ThreadHostAddressAction

PlatformResult ThreadHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

스레드 인터페이스의 호스트 주소를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostAddress()에서 결과를 전달합니다.

ThreadHostRouteAction

PlatformResult ThreadHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

스레드 인터페이스의 호스트 경로를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostRoute()에서 결과를 전달합니다.

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

스레드 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
스레드 인터페이스가 실행 중인 경우 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.

ThreadRoutePriorityAction

PlatformResult ThreadRoutePriorityAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

터널 가용성에 따라 스레드 경로 우선순위를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::ThreadRoutePriority()에서 결과를 전달합니다.

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

스레드 라우팅 기능의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
스레드 라우팅 기능이 작동 중인 경우 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.

ThreadThreadAddressAction

PlatformResult ThreadThreadAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

스레드 인터페이스의 스레드 주소를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::ThreadAddress()에서 결과를 전달합니다.

ThreadThreadRouteAction

PlatformResult ThreadThreadRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

스레드 스택의 스레드 경로를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::ThreadRoute()에서 결과를 전달합니다.

TunnelHostAddressAction

PlatformResult TunnelHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

터널 인터페이스의 HostAddress를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostAddress()에서 결과를 전달합니다.

TunnelHostRouteAction

PlatformResult TunnelHostRouteAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

터널 인터페이스의 HostRoute를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostRoute()에서 결과를 전달합니다.

TunnelInterfaceStateChange

void TunnelInterfaceStateChange(
  InterfaceState inState
)

Weave Tunnel 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
Weave Tunnel 인터페이스가 작동 중인 경우 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.

TunnelPriorityStateChange

void TunnelPriorityStateChange(
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

터널 서비스의 우선순위를 업데이트하기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inAvailability
터널 가용성 상태의 새 값입니다.

TunnelServiceStateChange

void TunnelServiceStateChange(
  InterfaceState inState,
  nl::Weave::Profiles::WeaveTunnel::Platform::TunnelAvailabilityMode inAvailability
)

Weave Tunnel 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
Weave 터널 서비스가 설정된 경우 kInterfaceStateUp, 그렇지 않은 경우 kInterfaceStateDown.
[in] inAvailability
나중에 터널을 구성할 때 사용할 가용성 상태입니다.

WiFiHostAddressAction

PlatformResult WiFiHostAddressAction(
  ActionType inAction,
  bool inActivate,
  const uint64_t & inGlobalId,
  const uint64_t & inInterfaceId
)

Action 메서드 중 하나입니다.

Wi-Fi 인터페이스의 호스트 주소를 설정합니다.

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, false == 비활성화입니다.
[in] inGlobalId
주소를 계산하는 데 필요한 경우 Weave Global ID에 대한 참조입니다.
[in] inInterfaceId
주소를 계산하는 데 필요한 경우 기기의 인터페이스 ID에 대한 참조입니다.
반환
Platform::HostAddress()에서 결과를 전달합니다.

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

Wi-Fi 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.

세부정보
매개변수
[in] inState
Wi-Fi 인터페이스가 켜져 있으면 kInterfaceStateUp, 그렇지 않으면 kInterfaceStateDown입니다.