SkyWay Embedded SDK 0.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
context.h ファイル

SDKの初期化とSkyWayサーバーへの接続。 [詳解]

#include <stdbool.h>
#include <stdint.h>
#include "auth_token.h"

[ソースコード]

データ構造

struct  skw_context_setup_options_t
 Contextの初期化時に使用するオプション。 [詳解]

マクロ定義

#define SKW_CONTEXT_SUPPRESS_LOG_TAGS   {"AGENT", "BUF_MNGR", "PEER_DEF", "DTLS"}
 skw_context_setupが出力を抑制するログのタグ。

列挙型

enum  skw_context_err_t {
  SKW_CONTEXT_OK = 0 , SKW_CONTEXT_ERR_NULL_ARGS = 1 , SKW_CONTEXT_ERR_NOT_INITED = 2 , SKW_CONTEXT_ERR_ALREADY_INITED = 3 ,
  SKW_CONTEXT_ERR_DISCONNECT_FAILED = 4 , SKW_CONTEXT_ERR_NOT_SETUP = 5 , SKW_CONTEXT_ERR_ALREADY_SETUP = 6 , SKW_CONTEXT_ERR_API_TIMEOUT = 7 ,
  SKW_CONTEXT_ERR_MUTEX_UNLOCK_FAILED = 8 , SKW_CONTEXT_ERR_APP_ID_TOO_LONG = 9 , SKW_CONTEXT_ERR_INVALID_TOKEN = 10 , SKW_CONTEXT_ERR_CALLED_IN_HANDLER = 11 ,
  SKW_CONTEXT_ERR_APP_ID_MISMATCH = 12 , SKW_CONTEXT_ERR_SEND_FAILED = 13 , SKW_CONTEXT_ERR_TIMEOUT = 14 , SKW_CONTEXT_ERR_CONNECTION_CLOSED = 15 ,
  SKW_CONTEXT_ERR_RESPONSE_TOO_LARGE = 16 , SKW_CONTEXT_ERR_RESPONSE_PARSE_FAILED = 17 , SKW_CONTEXT_ERR_SIGNALING_NOT_ACTIVE = 18 , SKW_CONTEXT_ERR_SIGNALING_DISCONNECTED = 19 ,
  SKW_CONTEXT_ERR_SIGNALING_FAILED = 20 , SKW_CONTEXT_ERR_UNKNOWN = 99 , SKW_CONTEXT_ERR_BAD_REQUEST = 400 , SKW_CONTEXT_ERR_UNAUTHORIZED = 401 ,
  SKW_CONTEXT_ERR_FORBIDDEN = 403 , SKW_CONTEXT_ERR_NOT_FOUND = 404 , SKW_CONTEXT_ERR_ALREADY_EXIST = 409 , SKW_CONTEXT_ERR_TOO_LARGE = 413 ,
  SKW_CONTEXT_ERR_TOO_MANY_REQUESTS = 429 , SKW_CONTEXT_ERR_SERVER_INTERNAL = 500 , SKW_CONTEXT_ERR_SERVER_BUSY = 503 , SKW_CONTEXT_FATAL_ALLOCATE_FAILED = -1 ,
  SKW_CONTEXT_FATAL_CLEANUP_FAILED = -2 , SKW_CONTEXT_FATAL_SETUP_FAILED = -3 , SKW_CONTEXT_FATAL_CONNECT_FAILED = -4 , SKW_CONTEXT_FATAL_INIT_FAILED = -5
}
 Context APIのエラーコード。 [詳解]

関数

skw_context_err_t skw_context_init (void)
 Contextを初期化します。他のAPIを利用する前に最初に一度呼び出す必要があります。
skw_context_err_t skw_context_setup (skw_auth_token_t *auth_token, skw_context_setup_options_t *options)
 Contextを初期化し、SkyWayサーバーへの接続を確立します。 disable_log_suppressionを指定しない場合、SKW_CONTEXT_SUPPRESS_LOG_TAGSのタグの出力を止めます。
skw_context_err_t skw_context_dispose (void)
 SkyWayサーバーとの通信を切断、確保したリソースを解放します。
skw_context_err_t skw_context_update_auth_token (skw_auth_token_t *auth_token)
 認証に使用するAuthTokenを新しいAuthTokenへ更新します。

詳解

SDKの初期化とSkyWayサーバーへの接続。

列挙型詳解

◆ skw_context_err_t

Context APIのエラーコード。

列挙値
SKW_CONTEXT_OK 

正常終了

SKW_CONTEXT_ERR_NULL_ARGS 

引数がNULL

SKW_CONTEXT_ERR_NOT_INITED 

Contextが初期化されていない

SKW_CONTEXT_ERR_ALREADY_INITED 

Contextがすでに初期化済み

SKW_CONTEXT_ERR_DISCONNECT_FAILED 

サーバーからの切断に失敗

SKW_CONTEXT_ERR_NOT_SETUP 

Contextがセットアップされていない

SKW_CONTEXT_ERR_ALREADY_SETUP 

Contextがすでにセットアップ済み

SKW_CONTEXT_ERR_API_TIMEOUT 

Context APIがタイムアウトした

SKW_CONTEXT_ERR_MUTEX_UNLOCK_FAILED 

Context APIのアンロックに失敗

SKW_CONTEXT_ERR_APP_ID_TOO_LONG 

AppIDが長すぎる

SKW_CONTEXT_ERR_INVALID_TOKEN 

AuthTokenが不正

SKW_CONTEXT_ERR_CALLED_IN_HANDLER 

イベントハンドラ内から呼ばれた

SKW_CONTEXT_ERR_APP_ID_MISMATCH 

AuthToken内のappIdが現在のappIdと一致しない

SKW_CONTEXT_ERR_SEND_FAILED 

リクエストの送信に失敗

SKW_CONTEXT_ERR_TIMEOUT 

応答の受信がタイムアウトした

SKW_CONTEXT_ERR_CONNECTION_CLOSED 

応答待ちの間に接続が切断された

SKW_CONTEXT_ERR_RESPONSE_TOO_LARGE 

応答が受信バッファのサイズを超過した

SKW_CONTEXT_ERR_RESPONSE_PARSE_FAILED 

応答の解析に失敗した

SKW_CONTEXT_ERR_SIGNALING_NOT_ACTIVE 

シグナリングのセッションが確立していない

SKW_CONTEXT_ERR_SIGNALING_DISCONNECTED 

シグナリングが切断された(復帰はdispose後のsetup/join)

SKW_CONTEXT_ERR_SIGNALING_FAILED 

シグナリングの操作に失敗

SKW_CONTEXT_ERR_UNKNOWN 

不明なエラー

SKW_CONTEXT_ERR_BAD_REQUEST 

不正なリクエスト

SKW_CONTEXT_ERR_UNAUTHORIZED 

AuthTokenが不正、もしくは有効期限切れ

SKW_CONTEXT_ERR_FORBIDDEN 

必要な権限が無い

SKW_CONTEXT_ERR_NOT_FOUND 

リソースが見つからない

SKW_CONTEXT_ERR_ALREADY_EXIST 

すでに存在するリソースを作成しようとした

SKW_CONTEXT_ERR_TOO_LARGE 

リクエストが大きすぎる

SKW_CONTEXT_ERR_TOO_MANY_REQUESTS 

レートリミット超過

SKW_CONTEXT_ERR_SERVER_INTERNAL 

サーバー内部エラー

SKW_CONTEXT_ERR_SERVER_BUSY 

サーバーが過負荷で一時的に利用できない

SKW_CONTEXT_FATAL_ALLOCATE_FAILED 

致命的エラー: メモリ確保に失敗

SKW_CONTEXT_FATAL_CLEANUP_FAILED 

致命的エラー: クリーンアップに失敗

SKW_CONTEXT_FATAL_SETUP_FAILED 

致命的エラー: セットアップに失敗

SKW_CONTEXT_FATAL_CONNECT_FAILED 

致命的エラー: サーバーへの接続に失敗

SKW_CONTEXT_FATAL_INIT_FAILED 

致命的エラー: 初期化に失敗

関数詳解

◆ skw_context_dispose()

skw_context_err_t skw_context_dispose ( void )

SkyWayサーバーとの通信を切断、確保したリソースを解放します。

戻り値
エラーコード

◆ skw_context_init()

skw_context_err_t skw_context_init ( void )

Contextを初期化します。他のAPIを利用する前に最初に一度呼び出す必要があります。

戻り値
エラーコード

◆ skw_context_setup()

skw_context_err_t skw_context_setup ( skw_auth_token_t * auth_token,
skw_context_setup_options_t * options )

Contextを初期化し、SkyWayサーバーへの接続を確立します。 disable_log_suppressionを指定しない場合、SKW_CONTEXT_SUPPRESS_LOG_TAGSのタグの出力を止めます。

引数
auth_token認証に使用するAuthTokenのポインタ
options初期化時に利用するオプションのポインタ
戻り値
エラーコード

◆ skw_context_update_auth_token()

skw_context_err_t skw_context_update_auth_token ( skw_auth_token_t * auth_token)

認証に使用するAuthTokenを新しいAuthTokenへ更新します。

引数
auth_token新しいAuthTokenのポインタ
戻り値
エラーコード