前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFBNetMgr
INetMgr インターフェイスのラッパークラスです。
#include <SFBNetMgr.h.hpp>
class SFBNetMgr : public SFBNotifier;
SFMTYPEDEFWRAPPER(SFBNetMgr)

継承図

SFBNetMgr クラスの継承図

協調図

SFBNetMgr クラスの協調図

参照

BREW API INetMgr

バグ情報

INETMGR_OpenSocket
ドキュメント エラー BREW API リファレンス 2.0.1.5

API リファレンスには、ソケット数が上限に達している時、INETMGR_OpenSocket が null を返すとありますが、 これは誤りです。BREW は、ソケットを Connect あるいは Bind あるいは SendTo する際に初めて「実際の」ソケットを 作成します。

従って、特権レベルの設定に誤りがなければ、INETMGR_OpenSocket は常に ISocket オブジェクトを返します。

ソケット数が上限に達した場合、ISOCKET_Bind、_Connect、_SendTo に対して AEE_NET_EMFILE が返ります。

補記:BREW API リファレンス 2.1 (英語版) で修正されました。日本語版は未修正です。

メンバ

パブリック関数
Void GetHostByName( AEEDNSResult* result , ACharConstPtr domain , AEECallback* callback )
GetHostByName( AEEDNSResult* result , SFXAnsiStringConstRef domain , AEECallback* callback )
指定されたホスト名に関連するIPアドレスを取得します。
SFCError GetLastError( Void )
INetMgrインタフェースで発生した最後のエラーを返します。
INAddr GetMyIPAddr( Void )
ローカルホストまたはデバイスのIPアドレスを返します。
SFCError GetOpt( SInt32 optName , VoidPtr value , SInt32Ptr size )
GetOpt( SInt32 optName , SFXBufferPtr value )
特定のネットワークオプションを問い合わせる機能を提供します。
NetState NetStatus( AEENetStats* stats )
現在のネットワークのステータスを NetState 型の NetState enum として返します。
static
SFBNetMgrSmp
NewInstance( Void )
SFBNetMgr インターフェイスのインスタンスを取得します。
SInt32 OnEvent( PFNNETMGREVENT notify , VoidPtr data = null , Bool reg = true )
この関数を使用すると、コール側が実行中の SFBNetMgr 処理の通知を受け取るよう登録できます。
SFBSocketSmp OpenSocket( NetSocket type )
ソケットを作成し、ISocket インタフェースインタフェースへのポインタを返します。
SInt32 RegisterEvent( PFNNETMGREVENT notify , VoidPtr data = null )
通知関数を登録します。
UInt16 SetLinger( UInt16 secs )
ネットワーク接続の待機時間を、secs で指定された値に設定し、以前の設定値を返します。
SFCError SetOpt( SInt32 optName , VoidPtr value , SInt32 size )
SetOpt( SInt32 optName , SFXBufferPtr value )
特定のネットワークオプションを設定する機能を提供します。
SInt32 UnregisterEvent( PFNNETMGREVENT notify , VoidPtr data = null )
通知関数を登録解除します。
プライベート関数
private
Void
SetMask( UInt32ConstPtr masks ) (SFBNotifier から継承)
AEE シェルによってコールされ、ほかのアプレットが必要とする、 発行されたすべての通知を Notifier クラスに通告します。

SFBNetMgr::GetHostByName
指定されたホスト名に関連するIPアドレスを取得します。
[ public ]
Void GetHostByName(
    AEEDNSResult* result    // 結果構造体へのポインタ。
    ACharConstPtr domain    
// 解決するドメイン名。
// コロン(:)、スラッシュ(/)、またはnull(\0)で終結する必要がある。
        
    AEECallback* callback   // コールバックへのポインタ。
);
[ public ]
Void GetHostByName(
    AEEDNSResult* result           // 結果構造体へのポインタ。
    SFXAnsiStringConstRef domain   
// 解決するドメイン名。
// コロン(:)、スラッシュ(/)、またはnull(\0)で終結する必要がある。
        
    AEECallback* callback          // コールバックへのポインタ。
);

参照

BREW API INETMGR_GetHostByName | AEEDNSResult | AEECallback


SFBNetMgr::GetLastError
INetMgrインタフェースで発生した最後のエラーを返します。
[ public ]
SFCError GetLastError(Void);

参照

BREW API INETMGR_GetLastError


SFBNetMgr::GetMyIPAddr
ローカルホストまたはデバイスのIPアドレスを返します。
[ public ]
INAddr GetMyIPAddr(Void);

参照

BREW API INETMGR_GetMyIPAddr


SFBNetMgr::GetOpt
特定のネットワークオプションを問い合わせる機能を提供します。
[ public ]
SFCError GetOpt(
    SInt32 optName   // 取得するオプションを指定する整数。
    VoidPtr value    // オプション固有のデータが格納される。
    SInt32Ptr size   
// valueが非 null の場合、入力時はpOptValのサイズを指定する。
// このサイズは、オプションデータの要求サイズに一致しなければならない。
// valueが null の場合、入力時は無視され、出力時はオプションデータの要求サイズが格納される。
        
);
[ public ]
SFCError GetOpt(
    SInt32 optName       // 取得するオプションを指定する整数。
    SFXBufferPtr value   // オプション固有のデータが格納される。サイズは自動的に変更される。
);

参照

BREW API INETMGR_GetOpt | SFBNetMgr::SetOpt


SFBNetMgr::NetStatus
現在のネットワークのステータスを NetState 型の NetState enum として返します。
[ public ]
NetState NetStatus(
    AEENetStats* stats   // 統計データを格納するブロックへのポインタ。
);

使用例

ネットワークの状態を取得し、 ログに表示します。

NetState      state;
AEENetStats   stats;

// SFBNetMgr インスタンスを作成します。
SFBNetMgrSmp    netmgr = SFBNetMgr::NewInstance();

// ネットワークの状態を取得します。
state = netmgr->NetStatus(&stats);

// ネットワークの状態をログに表示します。
switch (state) {
case NET_INVALID_STATE:
    DBGPRINTF ("*** Status: Invalid ***");
    break;

case NET_PPP_OPENING:
    DBGPRINTF ("*** Status: Opening ***");
    break;

case NET_PPP_OPEN:
    DBGPRINTF ("*** Status: Open ***");
    break;

case NET_PPP_CLOSING:
    DBGPRINTF ("*** Status: Closing ***");
    break;

case NET_PPP_CLOSED:
    DBGPRINTF ("*** Status: Closed ***");
    break;

case NET_PPP_SLEEPING:
    DBGPRINTF ("*** Status: Sleeping ***");
    break;

case NET_PPP_ASLEEP:
    DBGPRINTF ("*** Status: ASleep ***");
    break;

case NET_PPP_WAKING:
    DBGPRINTF ("*** Status: Waking ***");
    break;
}

参照

BREW API INETMGR_NetStatus | AEENetStats | NetState


SFBNetMgr::NewInstance
SFBNetMgr インターフェイスのインスタンスを取得します。
[ public, static ]
SFBNetMgrSmp NewInstance(Void);

SFBNetMgr::OnEvent
この関数を使用すると、コール側が実行中の SFBNetMgr 処理の通知を受け取るよう登録できます。
[ public ]
SInt32 OnEvent(
    PFNNETMGREVENT notify   // イベント発生時にコールされる、ユーザー指定のコールバック。
    VoidPtr data = null     // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。
    Bool reg = true         // 登録する場合はtrue、登録を解除する場合はfalse。
);

参照

BREW API INETMGR_OnEvent | PFNNETMGREVENT


SFBNetMgr::OpenSocket
ソケットを作成し、ISocket インタフェースインタフェースへのポインタを返します。
[ public ]
SFBSocketSmp OpenSocket(
    NetSocket type   // 次のソケットのタイプを指定する。 TCP : AEE_SOCK_STREAM / UDP : AEE_SOCK_DGRAM
);

参照

BREW API INETMGR_OpenSocket | NetSocket


SFBNetMgr::RegisterEvent
通知関数を登録します。
[ public ]
SInt32 RegisterEvent(
    PFNNETMGREVENT notify   // イベント発生時にコールされる、ユーザー指定のコールバック。
    VoidPtr data = null     // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。
);

解説

この関数は SFBNetMgr::OnEvent(pfn, pUser, true) を呼び出すのと同じです。

参照

SFBNetMgr::OnEvent | SFBNetMgr::UnregisterEvent


SFBNetMgr::SetLinger
ネットワーク接続の待機時間を、secs で指定された値に設定し、以前の設定値を返します。
[ public ]
UInt16 SetLinger(
    UInt16 secs   // 待機時間(秒)。
);

使用例

ネットワーク接続の待機時間を設定します。

// SFBNetMgr インスタンスを作成します。
SFBNetMgrSmp    netmgr = SFBNetMgr::NewInstance();

// ネットワーク接続の待機時間を 5 秒に設定します。
netmgr->SetLinger(5);

参照

BREW API INETMGR_SetLinger |


SFBNetMgr::SetOpt
特定のネットワークオプションを設定する機能を提供します。
[ public ]
SFCError SetOpt(
    SInt32 optName   // 設定するオプションを指定する整数。
    VoidPtr value    // オプション固有のデータが格納される。
    SInt32 size      // value のサイズ。
);
[ public ]
SFCError SetOpt(
    SInt32 optName       // 設定するオプションを指定する整数。
    SFXBufferPtr value   // オプション固有のデータが格納される。null の場合、何もせずに EBADPARM を返す。
);

参照

BREW API INETMGR_SetOpt | SFBNetMgr::GetOpt


SFBNetMgr::UnregisterEvent
通知関数を登録解除します。
[ public ]
SInt32 UnregisterEvent(
    PFNNETMGREVENT notify   // 解除する通知関数
    VoidPtr data = null     // コールバックへの第1 引数として渡される、ユーザー指定のコンテキストデータ。
);

解説

この関数は SFBNetMgr::OnEvent(pfn, pUser, false) を呼び出すのと同じです。

参照

SFBNetMgr::OnEvent | SFBNetMgr::RegisterEvent