nl::매서::

이 네임스페이스에는 Weave IP 주소와 경로를 구성하기 위한 이동식 모듈인 Weave Address 및 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

Functions

BorderRouterStateChange(InterfaceState inState)
void
Border 라우터 기능의 상태 변경을 알리기 위해 호출된 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)
작업 메서드 중 하나입니다.
LegacyThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
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)
작업 메서드 중 하나입니다.
ThreadHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
ThreadHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
ThreadInterfaceStateChange(InterfaceState inState)
void
스레드 인터페이스의 상태 변경을 알리기 위해 호출되는 WARM API입니다.
ThreadRoutePriorityAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
ThreadRoutingStateChange(InterfaceState inState)
void
스레드 라우팅 기능의 상태 변경을 알리기 위해 호출된 WARM API입니다.
ThreadThreadAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
ThreadThreadRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
TunnelHostAddressAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
TunnelHostRouteAction(ActionType inAction, bool inActivate, const uint64_t & inGlobalId, const uint64_t & inInterfaceId)
작업 메서드 중 하나입니다.
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)
작업 메서드 중 하나입니다.
WiFiInterfaceStateChange(InterfaceState inState)
void
Wi-Fi 인터페이스의 상태 변경을 알리기 위해 호출된 WARM API입니다.

클래스

nl::Weave::Warm::WarmFabricStateDelegate

WarmCore의 내부 클래스입니다.

구조체

nl::Weave::웜::ActionEntry
nl::Weave::웜 모듈:ModuleState

네임스페이스

nl::Weave::웜::플랫폼

열거

작업 유형

 ActionType
속성
kActionTypeHostRouteThread

추가 | 호스트 IP 스택의 스레드 인터페이스를 위한 IP 경로를 삭제하세요.

kActionTypeLegacy6LoWPANHostAddress

추가 | 호스트의 IP 스택에서 Legacy 6LowPAN 인터페이스의 IP 주소를 제거하세요.

kActionTypeLegacy6LoWPANThreadAddress

추가 | 스레드 모듈 IP 스택의 레거시 6LowPAN 인터페이스에 대한 IP 주소 제거

kActionTypeMax

초과되지 않습니다. 사용 가능한 최대 비트를 표시하기 위해 예약됩니다.

kActionTypeThreadAdvertisement

Start | Thread Module에 의한 경로 공지 중지

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

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

인터페이스 유형

 InterfaceType

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

속성
kInterfaceTypeCellular

모바일 데이터 인터페이스

kInterfaceTypeLegacy6LoWPAN

스레드 알람 인터페이스

kInterfaceTypeThread

스레드 인터페이스

kInterfaceTypeTunnel

터널 인터페이스

kInterfaceTypeWiFi

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

플랫폼 작업 실행

 PlatformActionExecution
속성
kPlatformActionExecutionContinue

계속 진행합니다.

kPlatformActionExecutionSuspendForAsynchOpCompletion

비동기 작업을 완료하려면 정지 작업을 실행해야 합니다.

플랫폼 결과

 PlatformResult

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

속성
kPlatformResultFailure

API를 실행할 수 없습니다.

kPlatformResultInProgress

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

kPlatformResultSuccess

API를 완료했습니다.

경로 우선순위

 RoutePriority

가능한 경로 우선순위의 열거형으로, 한 경로가 다른 경로보다 우선시될 수 있습니다.

SystemFeatureType

 SystemFeatureType
속성
kSystemFeatureTypeBorderRoutingEnabled

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

kSystemFeatureTypeCellularConnected

셀룰러 인터페이스가 이미 연결되어 있습니다.

kSystemFeatureTypeIsFabricMember

시스템의 Weave 모듈이 직물의 구성원이 아닙니다.

kSystemFeatureTypeMax

초과되지 않습니다. 사용 가능한 최대 비트를 표시하기 위해 예약됩니다.

kSystemFeatureTypeThreadConnected

시스템의 스레드 인터페이스가 현재 연결되어 있지 않습니다.

kSystemFeatureTypeThreadRoutingEnabled

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

kSystemFeatureTypeTunnelInterfaceEnabled

시스템 터널 인터페이스가 노출되어 있지 않습니다.

kSystemFeatureTypeTunnelState

시스템 터널 서비스가 표시되어 있지 않음

kSystemFeatureTypeWiFiConnected

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

Typedef

액션 함수

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

플래그 유형

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

Functions

BorderRouterStateChange

void BorderRouterStateChange(
  InterfaceState inState
)

Border 라우터 기능의 상태 변경을 알리기 위해 호출된 WARM API입니다.

세부정보
매개변수
[in] inState
보더 라우터 기능이 상위인 경우 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입니다.

게툴라

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
이 인터페이스 유형이 잘못된 인터페이스 호출인 경우.

Init

WEAVE_ERROR Init(
  WeaveFabricState & inFabricState
)

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

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

CALLActions

void InvokeActions(
  void
)

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

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

LegacyHostAddressAction

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

작업 메서드 중 하나입니다.

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

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

작업 메서드 중 하나입니다.

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

세부정보
매개변수
[in] inAction
액션 유형입니다.
[in] inActivate
원하는 상태는 true == 활성화, 거짓 == 비활성화입니다.
[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 전역 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
결과가 성공하면 새 작업의 상태입니다.
반환
플랫폼 API가 요청을 비동기적으로 처리하고 있다면 true, 그렇지 않으면 false입니다.

보고서 작업 완료

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를 반환하는 경우 이 함수의 실행이 종료됩니다.

대화목록 광고 작업

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

작업 메서드 중 하나입니다.

스레드 광고 상태 설정

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

스레드 호스트 주소 작업

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

작업 메서드 중 하나입니다.

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

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

스레드 호스트 경로 작업

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

작업 메서드 중 하나입니다.

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

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

ThreadInterfaceStateChange

void ThreadInterfaceStateChange(
  InterfaceState inState
)

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

세부정보
매개변수
[in] inState
스레드 인터페이스가 가동 상태인 경우 kInterfaceStateUp, 그 외의 경우에는 kInterfaceStateDown

스레드 경로 우선순위 작업

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

작업 메서드 중 하나입니다.

터널 가용성을 기준으로 스레드 경로 우선순위를 설정합니다.

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

ThreadRoutingStateChange

void ThreadRoutingStateChange(
  InterfaceState inState
)

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

세부정보
매개변수
[in] inState
스레드 라우팅 기능이 실행되면 kInterfaceStateUp, 그 외의 경우에는 kInterfaceStateDown

스레드 주소 작업

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

작업 메서드 중 하나입니다.

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

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

스레드 스레드 작업

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

작업 메서드 중 하나입니다.

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

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

작업 메서드 중 하나입니다.

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

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

작업 메서드 중 하나입니다.

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

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

작업 메서드 중 하나입니다.

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

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

WiFiInterfaceStateChange

void WiFiInterfaceStateChange(
  InterfaceState inState
)

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

세부정보
매개변수
[in] inState
kInterfaceStateUp이 Wi-Fi 인터페이스가 켜져 있는 경우, kInterfaceStateDown은 그렇지 않은 경우