BrewSDK 開発(3)

ファイル関係のクラスと、その他ちょこちょこ弄りました。

id:melpon:19990101

BrewShell クラスは、IShell インターフェースの wrapper です。まだ CreateInstance() しか作ってないですが、今後増えていく予定です。

BrewSmartPtr< IFileMgr > fileManager;
EResult ret = BrewShell::CreateInstance( AEECLSID_FILEMGR , fileManager );
if( ret == ER_OK ){
    ....
}

SUCCESS や EFAILED は #define で定義されているだけなので、デバッガでは数字で表示されてしまい、それだと分かりにくいので enum で列挙しました。


スマートポインタに配列等をセットするときは、Deleter も一緒に登録する必要があるのですが、大体はポインタの型と同じ Deleter を使えばいいだけなので、スマートポインタにポインタをセットするための setter を作りました。

BrewSmartPtr< Hoge > hoge;
BrewSmartPtrSetter::SetArray( hoge , new Hoge[ 10 ] );


ファイルを操作するためのクラス、及びファイルストリームクラスを実装しました。

BrewFileInputStream fis = BrewFileInputStream::Open( "test.dat" );
fis.Read( buf , fis.GetSize() );


そろそろイメージ周りをやらないと、このままだと全く使い物にならないなぁ……。