com.nttdocomo.io
インタフェース FelicaServerObexConnection

すべてのスーパーインタフェース:
javax.microedition.io.Connection, javax.microedition.io.InputConnection, ObexConnection, javax.microedition.io.OutputConnection, ServerObexConnection, javax.microedition.io.StreamConnection

public interface FelicaServerObexConnection
extends ServerObexConnection
 [iアプリオプションAPI]

アドホック通信による連続データ転送において、 OBEX サーバとして通信を行う場合の接続を定義します。

このインタフェースを実装したインスタンスは Connector.open("obex:/felicaserver") メソッドの戻り値として取得することができます。 詳細なコード例については FelicaAdhocListener.requestReceived(Hashtable) の説明を参照して下さい。

上記インスタンスは、Connector.open() した瞬間に確立していたリンクのみに対して有効です。 現在のリンクが切れ、再度別のリンクが確立したとしても、 このインスタンスは無効のままで、リンクが切れているものとして振る舞います。

導入されたバージョン:
DoJa-5.0 (903i)

フィールドの概要
 
インタフェース com.nttdocomo.io.ObexConnection から継承したフィールド
ACCEPTED, BAD_GATEWAY, BAD_REQUEST, COMM_MODE_IRDA, COMM_MODE_IRSIMPLE_INTERACTIVE, COMM_MODE_IRSIMPLE_UNILATERALLY, CONFLICT, CONTINUE, CREATED, DATABASE_FULL, DATABASE_LOCKED, DISCONNECT, FORBIDDEN, GATEWAY_TIMEOUT, GET, GONE, HTTP_VERSION_NOT_SUPPORTED, INTERNAL_SERVER_ERROR, LENGTH_REQUIRED, METHOD_NOT_ALLOWED, MOVED_PERMANENTLY, MOVED_TEMPORARILY, MULTIPLE_CHOICES, NO_CONTENT, NON_AUTHORITATIVE_INFORMATION, NOT_ACCEPTABLE, NOT_FOUND, NOT_IMPLEMENTED, NOT_MODIFIED, PARTIAL_CONTENT, PAYMENT_REQUIRED, PRECONDITION_FAILED, PROXY_AUTHENTICATION_REQUIRED, PUT, REQUEST_ENTITY_TOO_LARGE, REQUEST_TIME_OUT, REQUEST_URL_TOO_LARGE, RESET_CONTENT, SEE_OTHER, SERVICE_UNAVAILABLE, SUCCESS, UNAUTHORIZED, UNSUPPORTED_MEDIA_TYPE, USE_PROXY
 
メソッドの概要
 void accept()
          接続要求を待ちます。
 void close()
           この接続をクローズします。
 int getCommMode()
          このインタフェースを実装したインスタンスに対して呼び出すことはできません。
 int getOperation()
          リクエストのオペレーションを取得します。
 void receiveRequest()
          リクエストの受信を完了するのを待ちます。
 void sendResponse(int code)
           レスポンスを送信します。
 
インタフェース com.nttdocomo.io.ObexConnection から継承したメソッド
getContentLength, getName, getTime, getType, setName, setTime, setType
 
インタフェース javax.microedition.io.InputConnection から継承したメソッド
openDataInputStream, openInputStream
 
インタフェース javax.microedition.io.OutputConnection から継承したメソッド
openDataOutputStream, openOutputStream
 

メソッドの詳細

accept

public void accept()
            throws java.io.IOException
接続要求を待ちます。 このメソッドを呼び出すと、接続要求が来るまでブロックします。 接続が確立されたらこのメソッドから戻ります。

定義:
インタフェース ServerObexConnection 内の accept
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException - 既に接続要求発行中の別スレッドが存在するか、別オブジェクトにより既に通信リソースが使用されている場合に発生します(BUSY_RESOURCE)。
SecurityException - OBEX の使用が許可されていない場合に発生します。
java.io.InterruptedIOException - 別スレッドからのFelicaServerObexConnection.close() 呼び出し、 動画再生(コンポーネント上における再生に限る)の開始、 待ち受けアプリケーションでの非活性化状態への遷移により、 通信が中断された場合に発生します。
ConnectionException - ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します(TIMEOUT)。
ConnectionException - ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します(USER_ABORT)。
java.io.IOException - I/O エラーが発生した場合に発生します。

receiveRequest

public void receiveRequest()
                    throws java.io.IOException
リクエストの受信を完了するのを待ちます。 このメソッドを呼び出すと、リクエストが到着するまでブロックして、 リクエストを全て受信し終わったらこのメソッドから戻ります。 このメソッドから正常に戻った場合は、必ず sendResponse メソッドを呼んで レスポンスを送信しなければなりません。

このメソッドを呼び出すことによって、それより前にこの接続オブジェクトから 取り出した InputStream, DataInputStream, OutputStream, DataOutputStream が無効になります。 次に InputStream, DataInputStream を取り出した時は、 このリクエストで受信したデータを読み出す入力ストリームを返します。 また、次に OutputStream, DataOutputStream を取り出した時は、 このレスポンスで送信するデータを書き込む出力ストリームを返します。

定義:
インタフェース ServerObexConnection 内の receiveRequest
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
SecurityException - OBEX の使用が許可されていない場合に発生します。
java.io.InterruptedIOException - 別スレッドからのFelicaServerObexConnection.close() 呼び出し、 動画再生(コンポーネント上における再生に限る)の開始、 待ち受けアプリケーションでの非活性化状態への遷移により、 通信が中断された場合に発生します。
ConnectionException - ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します(TIMEOUT)。
ConnectionException - ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します(USER_ABORT)。
java.io.IOException - I/O エラーが発生した場合に発生します。

getOperation

public int getOperation()
リクエストのオペレーションを取得します。 直前に実行した receiveRequest メソッドにおいて受信した リクエストのオペレーションコードを返します。

定義:
インタフェース ServerObexConnection 内の getOperation
戻り値:
リクエストのオペレーションを返します。
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。

sendResponse

public void sendResponse(int code)
                  throws java.io.IOException

定義:
インタフェース ServerObexConnection 内の sendResponse
パラメータ:
code - レスポンスコードを指定します。
例外:
RuntimeException - 呼び出してはならない状態の時に呼び出された場合に発生します。
ConnectionException - receiveRequest メソッドを呼び出す前に呼び出された場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - 引数 code にサポートしていないレスポンスコードが指定された場合に発生します。
SecurityException - OBEX の使用が許可されていない場合に発生します。
java.io.InterruptedIOException - 別スレッドからのFelicaServerObexConnection.close() 呼び出し、 動画再生(コンポーネント上における再生に限る)の開始、 待ち受けアプリケーションでの非活性化状態への遷移により、 通信が中断された場合に発生します。
ConnectionException - ネイティブの OBEX レイヤでタイムアウトが発生した場合に発生します(TIMEOUT)。
ConnectionException - ユーザ操作により通信を中断された場合や、 ユーザ操作により通信を中断された直後に呼び出された場合 に発生します(USER_ABORT)。
java.io.IOException - I/O エラーが発生した場合に発生します。

close

public void close()
           throws java.io.IOException

この接続をクローズします。

既にリンクが切れている状態で呼び出した場合には何もしません。
リンクが確立している状態で OBEX クライアントから DISCONNECT 要求を受信する前に呼び出した場合には、 強制的にリンクを切断します。
リンクが確立している状態で OBEX クライアントから DISCONNECT 要求を受信した後に呼び出した場合は、何もしません。 この場合にリンクを切断するには、 OBEX クライアント側からすみやかにリンクを切断してください。

定義:
インタフェース javax.microedition.io.Connection 内の close
例外:
PortBusyException - ポートビジーエラーが発生した場合に発生します。
java.io.IOException - I/O エラーが発生した場合に発生します。

getCommMode

public int getCommMode()
このインタフェースを実装したインスタンスに対して呼び出すことはできません。 このメソッドを呼び出すと、常に例外 UnsupportedOperationException が発生します。

定義:
インタフェース ObexConnection 内の getCommMode
戻り値:
常に例外が発生するため、戻り値が返ることはありません。
例外:
UnsupportedOperationException - このメソッドが呼ばれた場合に発生します。
導入されたバージョン:
DoJa-5.1 (905i)