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
globalID에서 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

WarCore의 내부 클래스입니다.

구조체

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

DO NOT EXCEED, 최대 사용 가능한 비트를 표시하기 위해 예약됩니다.

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

이 값은 0이어야 mInitState의 초깃값이 kInitStateNotInitialized가 됩니다.

InterfaceState

 InterfaceState

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

InterfaceType

 InterfaceType

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

속성
kInterfaceTypeCellular

셀룰러 인터페이스입니다.

kInterfaceTypeLegacy6LoWPAN

스레드 알람 인터페이스

kInterfaceTypeThread

스레드 인터페이스

kInterfaceTypeTunnel

터널 인터페이스

kInterfaceTypeWiFi

WiFi 인터페이스입니다.

PlatformActionExecution

 PlatformActionExecution
속성
kPlatformActionExecutionContinue

계속 작업 실행을 수행합니다.

kPlatformActionExecutionSuspendForAsynchOpCompletion

비동기 작업을 완료하려면 작업 실행을 정지하세요.

PlatformResult

 PlatformResult

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

속성
kPlatformResultFailure

API를 실행할 수 없습니다.

kPlatformResultInProgress

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

kPlatformResultSuccess

API가 완료되었습니다.

RoutePriority

 RoutePriority

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

SystemFeatureType

 SystemFeatureType
속성
kSystemFeatureTypeBorderRoutingEnabled

시스템의 경계 라우팅 기능이 사용 설정되어 있지 않습니다.

kSystemFeatureTypeCellularConnected

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

kSystemFeatureTypeIsFabricMember

시스템의 Weave 모듈이 패브릭의 멤버가 아닙니다.

kSystemFeatureTypeMax

DO NOT EXCEED, 최대 사용 가능한 비트를 표시하기 위해 예약됩니다.

kSystemFeatureTypeThreadConnected

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

kSystemFeatureTypeThreadRoutingEnabled

시스템의 스레드 라우팅 기능이 사용 설정되어 있지 않습니다.

kSystemFeatureTypeTunnelInterfaceEnabled

시스템의 터널 인터페이스가 사용 설정되어 있지 않습니다.

kSystemFeatureTypeTunnelState

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

kSystemFeatureTypeWiFiConnected

시스템의 Wi-Fi 인터페이스가 | 연결되지 않았습니다.

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
Border 라우터 기능이 작동하면 kInterfaceStateUp이고 그렇지 않으면 kInterfaceStateDown입니다.

CellularInterfaceStateChange

void CellularInterfaceStateChange(
  InterfaceState inState
)

셀룰러 인터페이스의 상태 변경을 알리기 위해 호출된 WARM API입니다.

세부정보
매개변수
[in] inState
셀룰러 인터페이스가 작동하면 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()를 호출하는 이벤트를 게시하는 것이 좋습니다. 반대로 시스템이 단일 스레드인 경우 RequestInvokeActions를 구현하여 InvokeActions()를 직접 호출할 수 있습니다.

LegacyHostAddressAction

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

Action 메서드 중 하나입니다.

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

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태를 true == activate, 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 == activate, 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
)

globalID에서 48비트 프리픽스를 생성하는 유틸리티입니다.

세부정보
매개변수
[in] inGlobalID
Weave Global 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를 통해 작업을 실행하도록 요청합니다. API는 해당 작업 요청의 kPlatformResultSuccess|kPlatformResultFailure|kPlatformResultInProgress 결과를 보고해야 합니다. 이 함수는 결과를 기록하고 결과가 진행 중이고 추가 작업이 지연되어야 하는 경우 true를 반환합니다.

세부정보
매개변수
[in] inResult
플랫폼 API 결과입니다.
[in] inAction
플랫폼 API가 시도한 작업입니다.
[in] inActionState
결과가 성공한 경우 작업의 새 상태입니다.
반환
true이고, 그렇지 않으면 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를 호출하여 필요한 경우 작업 상태를 변경하는 정적 함수입니다.

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

ThreadAdvertisementAction

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

Action 메서드 중 하나입니다.

Thread Advertisement 상태 설정

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

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

스레드 인터페이스의 상태 변경을 알리기 위해 호출된 WARM API

세부정보
매개변수
[in] inState
Thread 인터페이스가 작동 중인 경우 kInterfaceStateUp, 그렇지 않은 경우 kInterfaceStateDown.

ThreadRoutePriorityAction

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

Action 메서드 중 하나입니다.

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

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태를 true == activate, 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 == activate, 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 == activate, 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 == activate, 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 == activate, 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 Tunnel 서비스가 설정된 경우 kInterfaceStateUp, 그렇지 않은 경우 kInterfaceStateDown입니다.
[in] inAvailability
나중에 터널 구성 시 사용할 가용성 상태입니다.

WiFiHostAddressAction

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

Action 메서드 중 하나입니다.

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

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태를 true == activate, 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입니다.