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

継承図

SFBFileMgr クラスの継承図

協調図

SFBFileMgr クラスの協調図

参照

BREW API IFileMgr | SFBFile

バグ情報

IFILEMGR_EnumNext, IFILEMGR_EnumNextEx
バグ BREW SDK 2.1 以前のエミュレータ

BREW SDK 上では、 これらの関数で正常なファイル作成日時を取得することができません。 実機上では正しい値を取得できます。

IFILEMGR_GetFreeSpace
Tips BREW エミュレータ2.0.1.5

エミュレータ上、この関数は正常な数字を返しません。HDD の空き容量を返してしまうようです。

メンバ

パブリック関数
SFCError EnumInit( ACharConstPtr dirName , Bool dir = false )
EnumInit( SFXAnsiStringConstRef dirName , Bool dir = false )
指定したディレクトリ内のファイルやディレクトリを列挙するための初期化を行います。
Bool EnumNext( FileInfo* info )
次のファイルやディレクトリの情報を取得します。
Bool EnumNextEx( AEEFileInfoEx* infoEx )
次のファイルやディレクトリの拡張情報を取得します。
SFCError GetFileUseInfo( AEEFileUseInfo* useInfo )
モジュールのファイル使用情報を取得します。
AEEFileUseInfo GetFileUseInfo( Void )
モジュールのファイル使用情報を取得します。
UInt32 GetFreeSpace( UInt32Ptr total = null )
ファイルシステムで現在使用可能な空きバイト数を取得します。
SFCError GetInfo( ACharConstPtr fileName , FileInfo* info )
GetInfo( SFXAnsiStringConstRef fileName , FileInfo* info )
ファイル名で指定されたファイルの情報を取得します。
FileInfo GetInfo( SFXAnsiStringConstRef fileName )
ファイル名で指定されたファイルの情報を取得します。
SFCError GetInfoEx( ACharConstPtr fileName , AEEFileInfoEx* infoEx )
GetInfoEx( SFXAnsiStringConstRef fileName , AEEFileInfoEx* infoEx )
ファイル名で指定されたファイルの拡張情報を取得します。
SFCError GetLastError( Void )
この関数は、アプレットで実行したファイル操作が失敗し、 失敗の理由を取得する必要がある場合に使用します。
SFCError MkDir( ACharConstPtr dirName )
MkDir( SFXAnsiStringConstRef dirName )
指定されたディレクトリ名のディレクトリを作成します。
static
SFBFileMgrSmp
NewInstance( Void )
SFBFileMgr クラスのインスタンスを取得します。
SFBFileSmp OpenFile( ACharConstPtr fileName , AEEOpenFileMode mode )
OpenFile( SFXAnsiStringConstRef fileName , AEEOpenFileMode mode )
指定されたモードでファイルをオープンします。
SFCError Remove( ACharConstPtr fileName )
Remove( SFXAnsiStringConstRef fileName )
ファイル名で指定されたファイルを削除します。
SFCError Rename( ACharConstPtr srcFileName , ACharConstPtr destFileName )
Rename( SFXAnsiStringConstRef srcFileName , SFXAnsiStringConstRef destFileName )
ファイルやディレクトリの名前を変更します。
SFCError RmDir( ACharConstPtr dirName )
RmDir( SFXAnsiStringConstRef dirName )
指定されたディレクトリを削除します。
SFCError SetDescription( ACharConstPtr fileName , WCharPtr description )
SetDescription( SFXAnsiStringConstRef fileName , SFXWideStringPtr description )
拡張ファイル情報の一部であるファイルの説明を設定します。
SFCError Test( ACharConstPtr name )
Test( SFXAnsiStringConstRef name )
指定されたファイルまたはディレクトリが存在するかどうかをチェックします。
SFCError UnUse( ACharConstPtr fileName )
UnUse( SFXAnsiStringConstRef fileName )
指定されたファイルを使用するクラスのリストから 呼び出し側アプリケーションの ClassID を削除します。
SFCError Use( ACharConstPtr fileName )
Use( SFXAnsiStringConstRef fileName )
指定されたファイルを使用するクラスのリストに、 呼び出し側アプリケーションの ClassID を追加します。

SFBFileMgr::EnumInit
指定したディレクトリ内のファイルやディレクトリを列挙するための初期化を行います。
[ public ]
SFCError EnumInit(
    ACharConstPtr dirName   // ディレクトリ名
    Bool dir = false        // true の場合、ディレクトリを列挙
);
[ public ]
SFCError EnumInit(
    SFXAnsiStringConstRef dirName   // ディレクトリ名
    Bool dir = false                // true の場合、ディレクトリを列挙
);

参照

BREW API IFILEMGR_EnumInit | SFBFileMgr::EnumNext


SFBFileMgr::EnumNext
次のファイルやディレクトリの情報を取得します。
[ public ]
Bool EnumNext(
    FileInfo* info   // 情報を受け取る領域を指すポインタ
);

使用例

ディレクトリ内にある次のファイルの情報を取得し、 ファイル名をログに表示します。

SFBFileMgrSmp   fileMgr = SFBFileMgr::NewInstance();
FileInfo        info    = {0};

// ファイルを列挙するための初期化を行います。
if (fileMgr->EnumInit("new_dir", false) == SUCCESS) {

    // 次のファイルの情報を取得します。
    fileMgr->EnumNext(&info);

    // ファイル名をログに表示します。
    DBGPRINTF("file name : %s", info.szName);
}

参照

BREW API IFILEMGR_EnumNext | SFBFileMgr::EnumInit | FileInfo


SFBFileMgr::EnumNextEx
次のファイルやディレクトリの拡張情報を取得します。
[ public ]
Bool EnumNextEx(
    AEEFileInfoEx* infoEx   // 拡張情報を受け取る領域を指すポインタ
);

使用例

ディレクトリ内にある次のファイルの拡張情報を取得し、 ファイル名をログに表示します。

SFBFileMgrSmp       fileMgr          = SFBFileMgr::NewInstance();
AEEFileInfoEx       infoEx           = {0};
AChar               fileName[128]    = {0};
WChar               description[128] = {0};
AEECLSID            cls[32]          = {0};

// ファイルの列挙を行うための初期化をします。
if (fileMgr->EnumInit("new_dir", false) == SUCCESS) {

    // AEEFileInfoEx 構造体を初期化します。
    infoEx.nStructSize      = sizeof(AEEFileInfoEx);
    infoEx.pszFile          = fileName;
    infoEx.nMaxFile         = 128;
    infoEx.pszDescription   = description;
    infoEx.nDescriptionSize = 128 * sizeof(WChar);
    infoEx.pClasses         = cls;
    infoEx.nClassesSize     = 32 * sizeof(AEECLSID);

    // 次のファイルの情報を取得します。
    fileMgr->EnumNextEx(&infoEx);

    // ファイル名をログに表示します。
    DBGPRINTF("file name : %s", infoEx.pszFile);
}

参照

BREW API IFILEMGR_EnumNextEx | SFBFileMgr::EnumInit | AEEFileInfoEx


SFBFileMgr::GetFileUseInfo
モジュールのファイル使用情報を取得します。
[ public ]
SFCError GetFileUseInfo(
    AEEFileUseInfo* useInfo   // ファイル使用情報を受け取る領域を指すポインタ
);
[ public ]
AEEFileUseInfo GetFileUseInfo(Void);

使用例

ファイル使用情報を取得します。

SFBFileMgrSmp       fileMgr = SFBFileMgr::NewInstance();
AEEFileUseInfo      info    = {0};

// ファイル使用情報を取得します。 
fileMgr->GetFileUseInfo(&info);

参照

BREW API IFILEMGR_GetFileUseInfo | AEEFileUseInfo


SFBFileMgr::GetFreeSpace
ファイルシステムで現在使用可能な空きバイト数を取得します。
[ public ]
UInt32 GetFreeSpace(
    UInt32Ptr total = null   // ファイルシステム内の合計空き容量を受け取る領域を指すポインタ
);

参照

BREW API IFILEMGR_GetFreeSpace


SFBFileMgr::GetInfo
ファイル名で指定されたファイルの情報を取得します。
[ public ]
SFCError GetInfo(
    ACharConstPtr fileName   // ファイル名
    FileInfo* info           // ファイルの情報を受け取る領域を指すポインタ
);
[ public ]
SFCError GetInfo(
    SFXAnsiStringConstRef fileName   // ファイル名
    FileInfo* info                   // ファイルの情報を受け取る領域を指すポインタ
);
[ public ]
FileInfo GetInfo(
    SFXAnsiStringConstRef fileName   // ファイル名
);

使用例

ファイルの情報を取得します。

SFBFileMgrSmp   fileMgr = SFBFileMgr::NewInstance();
FileInfo        info    = {0};

// ファイルの情報を取得します。
fileMgr->GetInfo("sample.txt", &info);

参照

BREW API IFILEMGR_GetInfo | FileInfo | SFBFile::GetInfoEx


SFBFileMgr::GetInfoEx
ファイル名で指定されたファイルの拡張情報を取得します。
[ public ]
SFCError GetInfoEx(
    ACharConstPtr fileName   // ファイル名
    AEEFileInfoEx* infoEx    // ファイルの拡張情報を受け取る領域を指すポインタ
);
[ public ]
SFCError GetInfoEx(
    SFXAnsiStringConstRef fileName   // ファイル名
    AEEFileInfoEx* infoEx            // ファイルの拡張情報を受け取る領域を指すポインタ
);

使用例

ファイルの拡張情報を取得します。

SFBFileMgrSmp       fileMgr          = SFBFileMgr::NewInstance();
AEEFileInfoEx       infoEx           = {0};
AChar               fileName[128]    = {0};
WChar               description[128] = {0};
AEECLSID            cls[32]          = {0};

// AEEFileInfoEx 構造体を初期化します。
infoEx.nStructSize      = sizeof(AEEFileInfoEx);
infoEx.pszFile          = fileName;
infoEx.nMaxFile         = 128;
infoEx.pszDescription   = description;
infoEx.nDescriptionSize = 128 * sizeof(WChar);
infoEx.pClasses         = cls;
infoEx.nClassesSize     = 32 * sizeof(AEECLSID);

// ファイルの拡張情報を取得します。
fileMgr->GetInfoEx("sample.txt", &infoEx);

参照

BREW API IFILEMGR_GetInfoEx | AEEFileInfoEx | SFBFile::GetInfoEx


SFBFileMgr::GetLastError
この関数は、アプレットで実行したファイル操作が失敗し、 失敗の理由を取得する必要がある場合に使用します。
[ public ]
SFCError GetLastError(Void);

参照

BREW API IFILEMGR_GetLastError


SFBFileMgr::MkDir
指定されたディレクトリ名のディレクトリを作成します。
[ public ]
SFCError MkDir(
    ACharConstPtr dirName   // ディレクトリ名
);
[ public ]
SFCError MkDir(
    SFXAnsiStringConstRef dirName   // ディレクトリ名
);

使用例

ディレクトリを作成します。

SFBFileMgrSmp  fileMgr = SFBFileMgr::NewInstance();

// ディレクトリを作成します。
fileMgr->MkDir("new_dir");

参照

BREW API IFILEMGR_MkDir | SFBFileMgr::RmDir


SFBFileMgr::NewInstance
SFBFileMgr クラスのインスタンスを取得します。
[ public, static ]
SFBFileMgrSmp NewInstance(Void);

SFBFileMgr::OpenFile
指定されたモードでファイルをオープンします。
[ public ]
SFBFileSmp OpenFile(
    ACharConstPtr fileName   // ファイル名
    AEEOpenFileMode mode     // オープンモード
);
[ public ]
SFBFileSmp OpenFile(
    SFXAnsiStringConstRef fileName   // ファイル名
    AEEOpenFileMode mode             // オープンモード
);

使用例

ファイルを作成します。

SFBFileMgrSmp  fileMgr = SFBFileMgr::NewInstance();
SFBFileSmp     file;

// ファイルを作成します。
file = fileMgr->OpenFile("sample.txt",_OFM_CREATE);

if (file != null) {

    // SophiaFramework のスマートポインタ (SFXBrewPointer) を使用すると
    // ファイルのクローズは自動で行われます。
    // もし、手動でクローズしたい場合は、
    //
    // file.Release();
    //
    // と記述します。
}

参照

BREW API IFILEMGR_OpenFile | SFBFileMgr::MkDir


SFBFileMgr::Remove
ファイル名で指定されたファイルを削除します。
[ public ]
SFCError Remove(
    ACharConstPtr fileName   // ファイル名
);
[ public ]
SFCError Remove(
    SFXAnsiStringConstRef fileName   // ファイル名
);

使用例

ファイルを削除します。

SFBFileMgrSmp  fileMgr = SFBFileMgr::NewInstance();

// ファイルを削除します。
fileMgr->Remove("sample.txt");

参照

BREW API IFILEMGR_Remove


SFBFileMgr::Rename
ファイルやディレクトリの名前を変更します。
[ public ]
SFCError Rename(
    ACharConstPtr srcFileName    // 変更前の名前
    ACharConstPtr destFileName   // 変更後の名前
);
[ public ]
SFCError Rename(
    SFXAnsiStringConstRef srcFileName    // 変更前の名前
    SFXAnsiStringConstRef destFileName   // 変更後の名前
);

使用例

ディレクトリ名を変更します。

SFBFileMgrSmp  fileMgr = SFBFileMgr::NewInstance();

// ディレクトリ名を変更します。
fileMgr->Rename("tmp_dir","new_dir");

参照

BREW API IFILEMGR_Rename | SFBFileMgr::EnumNext


SFBFileMgr::RmDir
指定されたディレクトリを削除します。
[ public ]
SFCError RmDir(
    ACharConstPtr dirName   // ディレクトリ名
);
[ public ]
SFCError RmDir(
    SFXAnsiStringConstRef dirName   // ディレクトリ名
);

使用例

ディレクトリを削除します。

SFBFileMgrSmp  fileMgr = SFBFileMgr::NewInstance();

// ディレクトリを削除します。
fileMgr->RmDir("tmp_dir");

参照

BREW API IFILEMGR_RmDir | SFBFileMgr::MkDir


SFBFileMgr::SetDescription
拡張ファイル情報の一部であるファイルの説明を設定します。
[ public ]
SFCError SetDescription(
    ACharConstPtr fileName   // ファイル名
    WCharPtr description     // ファイルの説明
);
[ public ]
SFCError SetDescription(
    SFXAnsiStringConstRef fileName   // ファイル名
    SFXWideStringPtr description     // ファイルの説明
);

使用例

ファイルの説明を設定します。

SFBFileMgrSmp       fileMgr = SFBFileMgr::NewInstance();
SFXWideString       description("Sample File");

// ファイルの説明を設定します。
fileMgr->SetDescription("sample.txt", &description);

参照

BREW API IFILEMGR_SetDescription | SFBFileMgr::EnumInit


SFBFileMgr::Test
指定されたファイルまたはディレクトリが存在するかどうかをチェックします。
[ public ]
SFCError Test(
    ACharConstPtr name   // ファイルまたはディレクトリ名
);
[ public ]
SFCError Test(
    SFXAnsiStringConstRef name   // ファイルまたはディレクトリ名
);

使用例

指定されたファイルが存在するかどうかをチェックします。

SFBFileMgrSmp       fileMgr = SFBFileMgr::NewInstance();

// 指定されたファイルが存在するかどうかをチェックします。
if (fileMgr->Test("sample.txt") == SUCCESS ) {
    // 指定されたファイルが存在する場合の処理を記載します。
    //                 ・
    //                 ・
    //                 ・
}

参照

BREW API IFILEMGR_Test


SFBFileMgr::UnUse
指定されたファイルを使用するクラスのリストから 呼び出し側アプリケーションの ClassID を削除します。
[ public ]
SFCError UnUse(
    ACharConstPtr fileName   // ファイル名を含むnull 終結文字列。
);
[ public ]
SFCError UnUse(
    SFXAnsiStringConstRef fileName   // ファイル名を含むnull 終結文字列。
);

解説

最後のアプリケーションが、指定されたファイルが不要であると示した場合や、 SFBFileMgr::Remove が呼び出された場合に、 このファイルは削除されます。

参照

BREW API IFILEMGR_UnUse | SFBFileMgr::Use | SFBFileMgr::GetInfoEx | AEEFileInfoEx


SFBFileMgr::Use
指定されたファイルを使用するクラスのリストに、 呼び出し側アプリケーションの ClassID を追加します。
[ public ]
SFCError Use(
    ACharConstPtr fileName   // ファイル名
);
[ public ]
SFCError Use(
    SFXAnsiStringConstRef fileName   // ファイル名
);

解説

最後のアプリケーションが、指定されたファイルが不要であると示した場合や SFBFileMgr::Remove が呼び出された場合に、 このファイルは削除されます。

参照

BREW API IFILEMGR_Use | SFBFileMgr::UnUse | SFBFileMgr::GetInfoEx | AEEFileInfoEx