前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

18.1. ストレージクラスとは

ストレージクラスとは、 ストリームを使用してファイルやネットワーク、 メモリなどへデータを入出力するクラスのことです。 SophiaFramework UNIVERSE には、以下の 6 種類のストレージクラスが用意されています。

表 18.1. ストレージクラス

クラス名 解説
SFXFile ファイルを操作のためのクラスです。
SFXHTTPConnection HTTP 通信のためのクラスです。
SFXTCPSocket TCP ソケット通信のためのクラスです。
SFXSSLSocket SSL ソケット通信のためのクラスです。
SFXMemory メモリストリーム ( バッファストリーム ) のためのストレージクラスです。
SFXSource BREW インターフェースの ISource からデータを読み込むストリームのためのストレージクラスです。
SFXZIPDecoder gzip を利用した Deflate 圧縮を解凍するためのストレージクラスです。
[Note] 注意

ストレージクラスは、すべて SFXStorage クラスを継承します。

ストレージの種類によって以下のような違いはありますが、 ストリームによる入出力方法は概ね共通なので、 ストレージに依存しない汎用的なプログラミングを実現できます。

表 18.2. ストレージクラスに関する、コールバック関数有り無しとその読み込みと書き込み機能

コールバック関数なし読み込み コールバック関数あり読み込み コールバック関数なし書き込み コールバック関数あり書き込み
SFXFile ×
SFXHTTPConnection × ×
SFXTCPSocket × ×
SFXSSLSocket × ×
SFXMemory × ×
SFXSource △ (BREW ISource に依存) × ×
SFXZIPDecoder △ (登録したストレージに依存) × ×
[Note] 注意

SFXSource クラスや SFXZIPDecoder クラスでは、 ソースや登録したストレージの種類によっては、コールバック関数を使用してデータを読み込む必要があります。

例えば、 SFXTCPSocket ストレージでは、データ受信にコールバック関数の使用が必須です。 そのため、 SFXTCPSocket ストレージからの GZIP データを SFXZIPDecoder に登録して読み込んで解凍するには、 コールパック関数を利用する必要があります。