SDK  23.9.2
For IoT System Software Development
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NoliterAPI Class Referenceabstract

Nol.iter 서비스 API. More...

#include <NoliterAPI.h>

Public Member Functions

error_t setId (const char *id)
 노드 ID를 설정합니다. More...
 
const char * getId ()
 setId() 로 설정된 노드 ID를 가져옵니다. More...
 
const void * send (const char *data)
 Nol.iter로 데이터를 전송합니다. More...
 
virtual const void * send (const char *id, const char *data)=0
 노드 ID를 즉시 입력하여 Nol.iter로 데이터를 전송합니다. More...
 
void onSendDone (void(*handler)(const void *ctx, bool success))
 데이터 전송 완료 후 알림을 받을 콜백함수를 지정합니다. More...
 
virtual void setGateway (IPv6Interface &uplink)=0
 게이트웨이로 동작하도록 설정합니다. More...
 
void onReady (void(*handler)())
 setGateway() 가 완료될 때 알림을 받기 위한 콜백함수를 지정합니다. More...
 
virtual void queryTime ()=0
 게이트웨이인 경우, 시간 동기화를 시도한다. More...
 
void onTimeSynced (void(*handler)(time_t))
 게이트웨이와 시간 동기화가 완료된 후 호출될 콜백을 지정합니다.
 

Protected Member Functions

char * getMessage (const char *id, const char *data, char *message)
 
char * getMessage (const char *id, const char *data)
 
void signalSendDone (const void *ctx, uint8_t *buf, uint16_t len)
 
bool signalGatewayConfigDone (const uint8_t *buf, uint16_t len)
 
void signalTimeReceived (uint32_t t)
 

Protected Attributes

IPv6Interfaceuplink
 
void(* readyHandler )() = NULL
 
void(* timeSyncedHandler )(time_t t) = NULL
 

Detailed Description

Nol.iter 서비스 API.

Member Function Documentation

◆ getId()

const char* NoliterAPI::getId ( )

setId() 로 설정된 노드 ID를 가져옵니다.

Returns
노드 ID 문자열 포인터

◆ onReady()

void NoliterAPI::onReady ( void(*)()  handler)

setGateway() 가 완료될 때 알림을 받기 위한 콜백함수를 지정합니다.

Parameters
handler콜백함수 포인터

◆ onSendDone()

void NoliterAPI::onSendDone ( void(*)(const void *ctx, bool success)  handler)

데이터 전송 완료 후 알림을 받을 콜백함수를 지정합니다.

Parameters
handler콜백함수 포인터

◆ queryTime()

virtual void NoliterAPI::queryTime ( )
pure virtual

게이트웨이인 경우, 시간 동기화를 시도한다.

동기화가 완료되면 onTimeSynced() 에서 지정한 콜백함수가 호출됩니다. 내부에서 기본으로 최초 접속시, 이후 1분에 한번씩 주기적으로 시간 동기화가 시도됩니다. 그 외에 시간 동기화를 원할 경우, 이 함수를 호출하십시오.

setGateway() 에 의해 게이트웨이로 지정되지 않은 경우, 아무 동작을 하지 않습니다.

◆ send() [1/2]

const void* NoliterAPI::send ( const char *  data)

Nol.iter로 데이터를 전송합니다.

Parameters
data데이터 문자열 포인터
Returns
데이터 context 포인터. onSendDone()으로 등록한 콜백으로 전송 완료에 대한 알림을 받을 때 보낸 데이터를 구분하는 용도로 사용할 수 있습니다. 전송 실패시 NULL을 반환합니다.

노드 ID가 설정되지 않으면 NULL을 반환합니다.

◆ send() [2/2]

virtual const void* NoliterAPI::send ( const char *  id,
const char *  data 
)
pure virtual

노드 ID를 즉시 입력하여 Nol.iter로 데이터를 전송합니다.

Parameters
id노드 ID
data데이터 문자열 포인터
Returns
데이터 context 포인터. onSendDone()으로 등록한 콜백으로 전송 완료에 대한 알림을 받을 때 보낸 데이터를 구분하는 용도로 사용할 수 있습니다. 전송 실패시 NULL을 반환합니다.

id 로 설정된 노드 ID는 data 전송에만 사용된다. id 는 저장되지 않습니다.

◆ setGateway()

virtual void NoliterAPI::setGateway ( IPv6Interface uplink)
pure virtual

게이트웨이로 동작하도록 설정합니다.

Parameters
uplink게이트웨이가 인터넷으로 연결되는 상위 링크의 IPv6 인터페이스

◆ setId()

error_t NoliterAPI::setId ( const char *  id)

노드 ID를 설정합니다.

Parameters
id노드 ID

노드 ID가 설정되기 전까지는 send() 를 사용할 수 없습니다.


The documentation for this class was generated from the following file: