前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFBShell
IShell インターフェイスのラッパークラスです。
#include <SFBShell.hpp>
class SFBShell : public SFBBase;
typedef SFBShell&          SFBShellRef;
typedef SFBShell*          SFBShellPtr;
typedef SFBShell**         SFBShellHandle;
typedef const SFBShell     ConstSFBShell;
typedef const SFBShell&    ConstSFBShellRef;
typedef const SFBShell*    ConstSFBShellPtr;
typedef const SFBShell**   ConstSFBShellHandle;

継承図

SFBShell クラスの継承図

参照

BREW API IShell

バグ情報

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

API リファレンス中、本 API は、「現在アクティブなアプレットをクローズする」 とありますが、正しくはこの API をコールしたアプレット (自アプレット) をクローズします。

ISHELL_DetectType
バグ A5304T、BREW エミュレータ 2.0.1.5

現在、SMAF データを正常に識別できません。 ディベロッパ側で独自に識別する必要があります。

ISHELL_GetPrefs
バグ A5304T、BREW SDK 2.0.1.5

現在、これらの関数の引数の wVer に、間違ったバージョン番号を指定すると、 設定されているデータが失われてしまうというバグがあります。

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

これらの関数は、取得した文字列の長さをバイト数で返すと リファレンスにありますが、実際には文字列の長さを文字数 (AECHAR) で返します。

ISHELL_LoadImage, ISHELL_LoadResImage
バグ A5304T、BREW SDK 2.0.1.5

上記二つの API にて、データのロード失敗時には NULL が返ることになっていますが、 あるメモリ状況下でデータのロードに失敗しても NULL が返らない場合があります。

状況としては、「IImage オブジェクト (数十バイト) 自体」は生成できても、 その中の「画像自体」がヒープにロードできないような状況において、 これらの API は画像へのポインタをもたない IImage オブジェクトを返します。

プログラム側は、これらの API が返すポインタが本当に有効なものかどうか 再度のチェックを行ってください。 チェックするには、IIMAGE_GetInfo を行い、 メンバ変数の cx が 0 でないことを確認してください。

pMe->pii=ISHELL_LoadResImage(pMe->a.m_pIShell,"wupdate.png", 0);
        
if (pMe->pii)
{
    IIMAGE_GetInfo(pMe->pii, &paii);
    if (paii.cx==0)
    {
        DBGPRINTF("Failed to load image...!");
        IIMAGE_Release(pMe->pii);
        return FALSE;
    }
    else
    {
        IIMAGE_Draw(pMe->pii, 0,0);
        return TRUE;
    }
}
return FALSE;

補記:

PNG、JPEG、BCI の画像をロードする際、 上記のチェックを行ってもエラーが検出できないことがあります。

例えば、PNG のイメージのロードには、PNG イメージ自体のファイルサイズ (画像に依存) + PNG デコーダのワークエリア (40KB) + デコードされたイメージの DIB (画像サイズに依存) が必要となりますが、 「PNG イメージのファイルサイズ+PNG デコーダのワークエリア」 のみが確保できてもデコードされたイメージの DIB がメモリに展開できなかった場合、

AEEImageInfo.cx には有効な値が設定されるにも関わらず、画像のロード自体には失敗しています。 現状、PNG、JPEG、BCI の画像を展開する際には、ヒープが十分残っていることを確認してから ISHELL_LoadImage するようにして下さい。

ISHELL_LoadSound, ISHELL_LoadResSound
バグ A5304T、BREW SDK 2.0.1.5

上記二つの API にて、データのロード失敗時には NULL が返ることになっていますが、 あるメモリ状況下でデータのロードに失敗しても NULL が返らない場合があります。

状況としては、「ISoundPlayer オブジェクト (数十バイト) 自体」は生成できても、 その中の「音データ自体」がヒープにロードできないような状況において、 これらの API は音データへのポインタをもたない ISoundPlayer オブジェクトを返します。

プログラム側は、これらの API が返すポインタが本当に有効なものかどうか再度のチェックを 行ってください。チェックするには、ISOUNDPLAYER_GetInfo を行い、メンバ変数の dwSize が 0 でないことを確認してください。

pMe->psi=ISHELL_LoadResSound(pMe->a.m_pIShell, "wupdate.qcp", 0);

if (pMe->psi)
{
    IISOUNDPLAYER_GetInfo(pMe->psi, &pasi);
    if (pasi.dwSize==0)
    {
        DBGPRINTF("Failed to load sound...!");
        ISOUNDPLAYER_Release(pMe->psi);
        return FALSE;
    }
    else
    {
        ISOUNDPLAYER_Play(pMe->psi);
        return TRUE;
    }
}
return FALSE;

メンバ

パブリック関数
public
ActiveApplet 現在実行中のアプレットに関連付けられたAEECLSIDを返します。
public
AddRef (SFBBase から継承) インターフェイスの参照カウントをインクリメントします。
public
AlarmsActive ANNUN_ALARMCLOCK、ANNUN_COUNTDOWN、またはANNUN_STOPWATCHが設定された場合は、TRUEを返します。
public
Beep システムビープ音の発生またはデバイスの振動を行うための簡単なインタフェースを備えています。
public
BrowseFile pszFileでパスが指定されたファイルの拡張子に関連付けられている登録済みのアプレットを検索します。
public
BrowseURL pszURLが指している文字列に含まれたURLのURLスキームに関連付けられている登録済みのアプレットを検索します。
public
Busy アプレットの終了が必要な場合にTRUEを返します。
public
CanStartApplet アプレットの起動に問題がないかどうかを決定するために、AEEシェルに問い合せます。
public
CancelAlarm ISHELL_SetAlarm()で設定されたアラームをキャンセルします。
public
CancelTimer ISHELL_SetTimer()で設定したタイマーをキャンセルします。
public
CheckPrivLevel 現在実行しているアプリケーションの特権レベルを、指定した値と照合します。
public
CloseApplet AEEシェルに対し、アクティブなアプレットをクローズするよう指示します。
public
CreateDialog AEE シェルに対し、入力された DialogInfo データ構造に関連するダイアログ、または関連するリソースファイルのダイアログ情報に関連付けられたダイアログを起動するよう指示します。
public
CreateInstance 指定されたClassIDのオブジェクトを作成して返します。
public
DetectType 指 定されたバッファ内のデータ、 または指定されたオブジェクト名の MIME タイプを取得します。
public
EndDialog 現在アクティブなダイアログをクローズします。
public
EnumAppletInit AEEシェルの内部アプレットの列挙インデックスをリセットします。
public
EnumNextApplet 次のアプレットに関する情報を返します。
public
ForceExit アプレットの終了が必要な場合にTRUEを返します。
public
FreeResData 前回ISHELL_LoadResData()から返されたデータを解放します。
public
GetActiveDialog 現在アクティブなダイアログを返します。
public
GetAppAuthor アクティブなアプレットの作成者の名前を取得します。
public
GetAppCopyright アクティブなアプレットの著作権文字列を取得します。
public
GetAppPrefs アプレットのプリファレンスが含まれる構造体を取得する方法を提供します。
public
GetAppVersion アクティブなアプレットのバージョン文字列を取得します。
public
GetClassItemID 指定されたクラスIDを所有しているモジュールに割り当てられた32ビット値を返します。
public
GetDeviceInfo デバイスの機能(サポートしている RAM の量、表示ディスプレイ、その他)に関する情報をAEEシェルに問い合わせます。
public
GetDeviceInfoEx デバイスに関する特定の情報を取得します。
public
GetHandler コンテンツビューアおよびプロトコル方式ハンドラを登録した AEE シェルのデータベースへの問い合せを行います。
public
GetItemStyle メニュー、アイコン、またはリスト項目のデフォルトスタイルに関する情報をAEEシェルに問い合せます。
public
GetJulianDate 入力された秒数に基づいて JulianType データ構造体にデータを読み込みます。
public
GetPosition このメソッドは旧式です。 GPSに基づく位置情報を取得するには、IPOSDET_GetGPSInfoを使用してください。
public
GetPrefs アプレットまたはクラスのレベルプリファレンスが含まれる構造体を取得する方法を提供します。
public
GetRand この関数はデバイスの乱数ジェネレータを利用して、 入力バッファに乱数の配列を読み込みます。
public
GetResSize ISHELL_LoadResDataEx()のラッパー関数です。
public
GetSeconds 現地時間に調節した、1980年1月6日00:00:00(グリニッジ標準時)からの秒数を返します。
public
GetTimeMS 現在の時刻をミリ秒で返します。
public
GetTimerExpiration デバイスのユーザーコールバックまたはユーザーデータに関連付けられたタイマーが満了するまでの残存時間をミリ秒で返します。
public
GetUpTimeMS デバイスに電源が投入されてからの経過時間をミリ秒で返します。
public
HandleEvent 指定された標準AEEイベントの1つを現在アクティブなアプレットに送ります。
public
static
Instance IShell インターフェイスのインスタンスを取得します。
public
IsValidResource 指定されたリソースファイルのエントリが、 指定されたタイプについて有効かどうかをチェックします。
public
LoadBitmap ビットマップ ファイルを直接ロードし、 そのビットマップの IBitmap インターフェイスを返します。
public
LoadBusyImage BREWがビジーであることを示すために使われる画像をロードします。
public
LoadImage ファイルから画像を直接ロードして、 画像表示に使用される IImage インターフェイスを返します。
public
LoadResBitmap 指定されたリソースファイルからビットマップリソースをロードして、 IBitmap インタフェースを返します。
public
LoadResData 指定されたリソースファイル、ID、およびタイプに関連付けられた データブロックを返します。
public
LoadResDataEx タイプとIDで指定されたリソースを、 指定のリソース コンテキストからロードします。
public
LoadResImage リソースファイルからビットマップ リソースをロードして、 IImage インタフェースを返します。
public
LoadResObject 指定されたリソースをロードして、 リソースデータで使用するハンドラを作成します。
public
LoadResSound リソースファイルに未加工のストリームバイトのサウンドデータが含まれている場合に使用します。
public
LoadResString 指定したリソースファイルに格納された UNICODE または ISOLATIN 文字列を取得します。
public
LoadSound ファイルシステムからサウンド ファイルをロードして、 ファイルの ISoundPlayer インタフェースを返します。
public
MessageBox AEE シェルに対しデバイスユーザーへのメッセージボックスの表示を指示します。
public
MessageBoxText AEEシェルに対しデバイスユーザーへのメッセージボックスの表示を指示します。
public
Notify ほかのオブジェクトクラスが要求した通知に関連するイベントを検出した場合は、オブジェクトからコールされます。
public
OnAppClose アプレットの終了時に呼び出されるシステムコールバックを登録するためのアプレットを使用可能にします。
public
OnExit BREWの終了時にコールされるシステムコールバックを登録するためのアプレットを使用可能にします。
public
OnInit BREWの初期化時に呼び出されるようにコールバックを登録します。
public
OnLowRAM システムのメモリーが少量になったときに呼び出されるように、コールバックを登録します。
public
OnLowStorage システムのファイルシステム容量が少量になったときに呼び出されるように、コールバックを登録します。
public
OnModUnload クライアントは、モジュールがアンロードされる直前にコールされるように、コールバックを登録できます。
public
PostEvent 指定されたアプレットに対し非同期イベントをポストします。
public
PostEventEx 指定されたアプレットに対し非同期イベントをポストします。
public
Prompt アプリケーションがマルチ選択のプロンプトを表示するメカニズムを備えています。
public
QueryClass 指定したクラスまたはアプレットがサポートされているかどうかを決定するために、 AEE シェルに問い合せます。
public
RegisterHandler コンテンツビューアまたはプロトコルエンジンが自らを AEE シェルに登録するメカニズムを備えています。
public
RegisterNotify アプレットがほかのクラスから発行される通知を登録するためのメカニズムを備えています。
public
RegisterSystemCallback 重要なシステムイベント (BREWの起動、アプリケーションの終了、モジュールのアンロードなど) に対するコールバックを登録します。
public
Release (SFBBase から継承) インターフェイスの参照カウントをデクリメントします。
public
Resume AEEシェルにコールバックを登録します。
public
SendEvent 指定したアプレットに対して、即座にイベントを送信します。
public
SetAlarm コール側は、アラーム(満了までの時間が長い)をアプレットに設定できます。
public
SetAppPrefs アプレット固有のプリファレンスが含まれる構造体を格納する方法を提供します。
public
SetPrefs アプレットまたはクラスのレベルプリファレンスが含まれる構造体を格納する方法を提供します。
public
SetTimer コール側は、タイマー(満了までの時間が短い)を設定できます。
public
SetTimerEx コール側は、タイマー(満了までの時間が短い)を設定できます。
public
ShowCopyright アプリケーションは、アプレットの著作権情報を表示できます。
public
StartApplet AEEシェルに対し、指定した32ビットの ClassID に関連付けられたアプレットを起動するよう指示します。
public
StartAppletArgs BREW アプリケーションの起動時に、 そのアプリケーションにコマンドライン引数を渡すことができます。
public
StartAppletEx AEE シェルに対し、指定したフラグを使って、指定した32ビットの ClassID に関連付けられたアプレットを起動するよう指示します。

SFBShell::ActiveApplet
現在実行中のアプレットに関連付けられたAEECLSIDを返します。
[ public ]
AEECLSID ActiveApplet(Void);

参照

BREW API ISHELL_ActiveApplet | SFBShell::StartApplet | SFBShell::CloseApplet | SFBShell::CanStartApplet


SFBShell::AlarmsActive
ANNUN_ALARMCLOCK、ANNUN_COUNTDOWN、またはANNUN_STOPWATCHが設定された場合は、TRUEを返します。
[ public ]
Bool AlarmsActive(Void);

参照

BREW API ISHELL_AlarmsActive | SFBDisplay::SetAnnunciators


SFBShell::Beep
システムビープ音の発生またはデバイスの振動を行うための簡単なインタフェースを備えています。
[ public ]
Bool Beep(
    BeepType nBeep       
    Bool bLoud = FALSE   
);

参照

BREW API ISHELL_Beep | BeepType


SFBShell::BrowseFile
pszFileでパスが指定されたファイルの拡張子に関連付けられている登録済みのアプレットを検索します。
[ public ]
Void BrowseFile(
    ConstACharPtr pszFile   
);
[ public ]
Void BrowseFile(
    ConstSFUAnsiStringRef strFile   
);

参照

BREW API ISHELL_BrowseFile | SFBShell::RegisterHandler | SFBShell::GetHandler | SFBShell::BrowseURL


SFBShell::BrowseURL
pszURLが指している文字列に含まれたURLのURLスキームに関連付けられている登録済みのアプレットを検索します。
[ public ]
Void BrowseURL(
    ConstACharPtr pszURL   
);
[ public ]
Void BrowseURL(
    ConstSFUAnsiStringRef strURL   
);

参照

BREW API ISHELL_BrowseURL | SFBShell::RegisterHandler | SFBShell::GetHandler | SFBShell::BrowseFile


SFBShell::Busy
アプレットの終了が必要な場合にTRUEを返します。
[ public ]
Bool Busy(Void);

参照

BREW API ISHELL_Busy | SFBShell::ForceExit


SFBShell::CancelAlarm
ISHELL_SetAlarm()で設定されたアラームをキャンセルします。
[ public ]
SFCError CancelAlarm(
    AEECLSID cls        
    UInt16 nUserCode    
);

参照

BREW API ISHELL_CancelAlarm | SFBShell::SetAlarm


SFBShell::CancelTimer
ISHELL_SetTimer()で設定したタイマーをキャンセルします。
[ public ]
SFCError CancelTimer(
    PFNNOTIFY pfn = NULL   
    VoidPtr pUser = NULL   
);

使用例

// タイマー用コールバック関数
static Void OnTimer(Void);

// タイマーの登録に成功した場合に、タイマーをキャンセルします。
SFUBrewPtr<SFBShell> shell = SFBShell::Instance();
if (shell->SetTimer(100, (PFNNOTIFY)OnTimer, NULL) == SUCCESS) {
    // 設定中のタイマーをキャンセルします。
    shell->CancelTimer((PFNNOTIFY)OnTimer, NULL);
}

参照

BREW API ISHELL_CancelTimer | PFNNOTIFY | SFBShell::SetTimer | SFBShell::GetTimerExpiration


SFBShell::CanStartApplet
アプレットの起動に問題がないかどうかを決定するために、AEEシェルに問い合せます。
[ public ]
Bool CanStartApplet(
    AEECLSID cls   
);

参照

BREW API ISHELL_CanStartApplet | SFBShell::StartApplet | SFBShell::CloseApplet | SFBShell::ActiveApplet


SFBShell::CheckPrivLevel
現在実行しているアプリケーションの特権レベルを、指定した値と照合します。
[ public ]
Bool CheckPrivLevel(
    UInt16 wPrivWant          
    Bool bQueryOnly  = TRUE   
);

使用例

Bool                 ok    = FALSE;
SFUBrewPtr<SFBShell> shell = SFBShell::Instance();

// アプレットの特権レベルを確認します。
// ファイルにアクセスができるかを確認します。
ok = shell->CheckPrivLevel(PL_FILE, TRUE);

参照

BREW API ISHELL_CheckPrivLevel


SFBShell::CloseApplet
AEEシェルに対し、アクティブなアプレットをクローズするよう指示します。
[ public ]
SFCError CloseApplet(
    Bool bReturnToIdle = FALSE   
);

使用例

SFUBrewPtr<SFBShell> shell = SFBShell::Instance();

// アプレットをクローズします。
shell->CloseApplet(FALSE);

参照

BREW API ISHELL_CloseApplet | SFBShell::StartApplet | SFBShell::CanStartApplet | SFBShell::ActiveApplet


SFBShell::CreateDialog
AEE シェルに対し、入力された DialogInfo データ構造に関連するダイアログ、または関連するリソースファイルのダイアログ情報に関連付けられたダイアログを起動するよう指示します。
[ public ]
SFCError CreateDialog(
    ConstACharPtr pszResFile    
    UInt16 wID                  
    DialogInfo * pInfo = NULL   
);
[ public ]
SFCError CreateDialog(
    ConstSFUAnsiStringRef strResFile   
    UInt16 wID                         
    DialogInfo * pInfo = NULL          
);

参照

BREW API ISHELL_CreateDialog | DialogInfo | SFBShell::GetActiveDialog | SFBShell::EndDialog | SFBDialog::SetFocus | SFBDialog::GetControl


SFBShell::CreateInstance
指定されたClassIDのオブジェクトを作成して返します。
[ public ]
SFCError CreateInstance(
    AEECLSID clsid                   
    SFUBrewPtr<SFBBase>::Ptr ppobj   
);
[ public ]
SFUBrewPtr<SFBBase> CreateInstance(
    AEECLSID clsid   
);

参照

BREW API ISHELL_CreateInstance | SFBModule::CreateInstance


SFBShell::DetectType
指 定されたバッファ内のデータ、 または指定されたオブジェクト名の MIME タイプを取得します。
[ public ]
SFCError DetectType(
    ConstVoidPtr cpBuf           
    UInt32Ptr pdwSize            
    ConstACharPtr cpszName       
    ConstACharHandle pcpszMIME   
);
[ public ]
SFCError DetectType(
    ConstVoidPtr cpBuf              
    UInt32Ptr pdwSize               
    ConstSFUAnsiStringPtr strName   
    SFUAnsiStringPtr strMIME        
);
[ public ]
SFCError DetectType(
    ConstVoidPtr cpBuf              
    UInt32Ptr pdwSize               
    ConstSFUAnsiStringRef strName   
    SFUAnsiStringPtr strMIME        
);

参照

BREW API ISHELL_DetectType | SFBShell::GetHandler | SFBShell::CreateInstance


SFBShell::EndDialog
現在アクティブなダイアログをクローズします。
[ public ]
SFCError EndDialog(Void);

参照

BREW API ISHELL_EndDialog | SFBShell::CreateDialog | SFBShell::GetActiveDialog | SFBDialog::SetFocus | SFBDialog::GetControl


SFBShell::EnumAppletInit
AEEシェルの内部アプレットの列挙インデックスをリセットします。
[ public ]
Void EnumAppletInit(Void);

使用例

SFUBrewPtr<SFBShell> shell   = SFBShell::Instance();
AEEAppInfo           appInfo = {0};

// アプレットの列挙を初期化します。
shell->EnumAppletInit();

// 次のアプレットの情報を取得します。
shell->EnumNextApplet(&appInfo);

参照

BREW API ISHELL_EnumAppletInit | SFBShell::EnumNextApplet


SFBShell::EnumNextApplet
次のアプレットに関する情報を返します。
[ public ]
AEECLSID EnumNextApplet(
    AEEAppInfo * pai   
);

使用例

SFUBrewPtr<SFBShell> shell   = SFBShell::Instance();
AEEAppInfo           appInfo = {0};

// アプレットの列挙を初期化します。
shell->EnumAppletInit();

// 次のアプレットの情報を取得します。
shell->EnumNextApplet(&appInfo);

参照

BREW API ISHELL_EnumNextApplet | AEEAppInfo | SFBShell::EnumAppletInit


SFBShell::ForceExit
アプレットの終了が必要な場合にTRUEを返します。
[ public ]
Bool ForceExit(Void);

参照

BREW API ISHELL_ForceExit | SFBShell::Busy


SFBShell::FreeResData
前回ISHELL_LoadResData()から返されたデータを解放します。
[ public ]
Void FreeResData(
    VoidPtr pData   
);

参照

BREW API ISHELL_FreeResData | SFBShell::LoadResData


SFBShell::GetActiveDialog
現在アクティブなダイアログを返します。
[ public ]
SFBDialogPtr GetActiveDialog(Void);

参照

BREW API ISHELL_GetActiveDialog | SFBShell::CreateDialog | SFBShell::EndDialog | SFBDialog::SetFocus | SFBDialog::GetControl


SFBShell::GetAppAuthor
アクティブなアプレットの作成者の名前を取得します。
[ public ]
SIntN GetAppAuthor(
    WCharPtr pBuff   
    SIntN nSize      
);
[ public ]
SFCError GetAppAuthor(
    SFUWideStringPtr strBuff   
    SIntN nSize = 256          
);
[ public ]
SFUWideString GetAppAuthor(
    SIntN  = 256   
);

使用例

SFUBrewPtr<SFBShell>  shell = SFBShell::Instance();
SFUWideString         author;

// アプレットの作成者の名前を取得します。
author = shell->GetAppAuthor();

参照

BREW API ISHELL_GetAppAuthor


SFBShell::GetAppCopyright
アクティブなアプレットの著作権文字列を取得します。
[ public ]
SIntN GetAppCopyright(
    WCharPtr pBuff   
    SIntN nSize       
);
[ public ]
SFCError GetAppCopyright(
    SFUWideStringPtr strBuff   
    SIntN nSize = 256          
);
[ public ]
SFUWideString GetAppCopyright(
    SIntN nSize = 256    
);

使用例

SFUBrewPtr<SFBShell>  shell = SFBShell::Instance();
SFUWideString         copyright;

// アプレットの著作権文字列を取得します。
copyright = shell->GetAppCopyright();

参照

BREW API ISHELL_GetAppCopyright


SFBShell::GetAppPrefs
アプレットのプリファレンスが含まれる構造体を取得する方法を提供します。
[ public ]
SIntN GetAppPrefs(
    UInt16 wVer    
    VoidPtr pCfg   
    UInt16 nSize   
);

参照

BREW API ISHELL_GetAppPrefs | SFBShell::SetAppPrefs


SFBShell::GetAppVersion
アクティブなアプレットのバージョン文字列を取得します。
[ public ]
SIntN GetAppVersion(
    WCharPtr pBuff   
    SIntN nSize      
);
[ public ]
SFCError GetAppVersion(
    SFUWideStringPtr strBuff   
    SIntN nSize = 256          
);
[ public ]
SFUWideString GetAppVersion(
    SIntN nSize = 256   
);

使用例

SFUBrewPtr<SFBShell>  shell = SFBShell::Instance();
SFUWideString         version;

// アプレットのバージョン文字列を取得します。
version = shell->GetAppVersion();

参照

BREW API ISHELL_GetAppVersion


SFBShell::GetClassItemID
指定されたクラスIDを所有しているモジュールに割り当てられた32ビット値を返します。
[ public ]
UInt32 GetClassItemID(
    AEECLSID clsid   // クラスID
);

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

参照

BREW API ISHELL_GetClassItemID


SFBShell::GetDeviceInfo
デバイスの機能(サポートしている RAM の量、表示ディスプレイ、その他)に関する情報をAEEシェルに問い合わせます。
[ public ]
Void GetDeviceInfo(
    AEEDeviceInfo * pi   
);

使用例

SFUBrewPtr<SFBShell>  shell      = SFBShell::Instance();
AEEDeviceInfo         deviceInfo = {0};

// デバイスの情報を取得します。
shell->GetDeviceInfo(&deviceInfo);

参照

BREW API ISHELL_GetDeviceInfo | AEEDeviceInfo | SFUDeviceInfo


SFBShell::GetDeviceInfoEx
デバイスに関する特定の情報を取得します。
[ public ]
SFCError GetDeviceInfoEx(
    AEEDeviceItem nItem   
    VoidPtr pBuff         
    SIntNPtr pnSize       
);

使用例

SFUBrewPtr<SFBShell>  shell    = SFBShell::Instance();
WChar                 data[32] = {0};
SIntN                 size;

// デバイスの情報 (チップ ID) を取得します。
shell->GetDeviceInfoEx(AEE_DEVICEITEM_CHIP_ID, data, &size);

参照

BREW API ISHELL_GetDeviceInfoEx | AEEDeviceItem | SFUDeviceInfo


SFBShell::GetHandler
コンテンツビューアおよびプロトコル方式ハンドラを登録した AEE シェルのデータベースへの問い合せを行います。
[ public ]
AEECLSID GetHandler(
    AEECLSID clsBase      
    ConstACharPtr pszIn   
);
[ public ]
AEECLSID GetHandler(
    AEECLSID clsBase              
    ConstSFUAnsiStringRef strIn   
);

参照

BREW API ISHELL_GetHandler | AEEHandlerType | SFBShell::RegisterHandler


SFBShell::GetItemStyle
メニュー、アイコン、またはリスト項目のデフォルトスタイルに関する情報をAEEシェルに問い合せます。
[ public ]
Void GetItemStyle(
    AEEItemType t            
    AEEItemStyle * pNormal   
    AEEItemStyle * pSel      
);

参照

BREW API ISHELL_GetItemStyle | AEEItemType | AEEItemStyle


SFBShell::GetJulianDate
入力された秒数に基づいて JulianType データ構造体にデータを読み込みます。
[ public ]
Void GetJulianDate(
    UInt32 dwSecs        
    JulianType * pDate   
);

参照

BREW API ISHELL_GetJulianDate | JulianType | GET_JULIANDATE | SFBShell::GetSeconds | SFBShell::GetTimeMS | SFBShell::GetUpTimeMS | GET_SECONDS | GET_TIMEMS | GETTIMESECONDS | GETTIMEMS


SFBShell::GetPosition
このメソッドは旧式です。 GPSに基づく位置情報を取得するには、IPOSDET_GetGPSInfoを使用してください。
[ public ]
SFCError GetPosition(
    AEEPosAccuracy prc     
    PFNPOSITIONCB pfn      
    VoidPtr pUser = NULL   
);

参照

BREW API ISHELL_GetPosition | SFBPosDet | AEEPosAccuracy | PFNPOSITIONCB


SFBShell::GetPrefs
アプレットまたはクラスのレベルプリファレンスが含まれる構造体を取得する方法を提供します。
[ public ]
SIntN GetPrefs(
    AEECLSID cls   
    UInt16 wVer    
    VoidPtr pCfg   
    UInt16 nSize   
);

参照

BREW API ISHELL_GetPrefs | SFBShell::SetPrefs


SFBShell::GetRand
この関数はデバイスの乱数ジェネレータを利用して、 入力バッファに乱数の配列を読み込みます。
[ public ]
Void GetRand(
    VoidPtr pDest   
    SIntN nSize     
);

参照

BREW API ISHELL_GetRand | GETRAND


SFBShell::GetResSize
ISHELL_LoadResDataEx()のラッパー関数です。
[ public ]
UInt32 GetResSize(
    ConstACharPtr pszResFile   
    UInt16 nResID              
    ResType nType              
    UInt32Ptr pnBufSize        
);
[ public ]
UInt32 GetResSize(
    ConstSFUAnsiStringRef strResFile   
    UInt16 nResID                      
    ResType nType                      
    UInt32Ptr pnBufSize                
);

参照

BREW API ISHELL_GetResSize | SFBShell::LoadResDataEx


SFBShell::GetSeconds
現地時間に調節した、1980年1月6日00:00:00(グリニッジ標準時)からの秒数を返します。
[ public ]
UInt32 GetSeconds(Void);

参照

BREW API ISHELL_GetSeconds | SFBShell::GetTimeMS | SFBShell::GetJulianDate | SFBShell::GetUpTimeMS


SFBShell::GetTimeMS
現在の時刻をミリ秒で返します。
[ public ]
UInt32 GetTimeMS(Void);

参照

BREW API ISHELL_GetTimeMS | SFBShell::GetUpTimeMS | SFBShell::GetJulianDate | SFBShell::GetSeconds


SFBShell::GetTimerExpiration
デバイスのユーザーコールバックまたはユーザーデータに関連付けられたタイマーが満了するまでの残存時間をミリ秒で返します。
[ public ]
UInt32 GetTimerExpiration(
    PFNNOTIFY pfn          
    VoidPtr pUser = NULL   
);

使用例

// タイマー用コールバック関数
static Void OnTimer(Void);

UInt32  duration = 0;

// タイマーの登録に成功した場合に、
// タイマーの満了までの残り時間を取得します。
SFUBrewPtr<SFBShell> shell = SFBShell::Instance();
if (shell->SetTimer(100, (PFNNOTIFY)OnTimer, NULL) == SUCCESS) {
    // タイマーの満了までの残り時間を取得します。
    duration = shell->GetTimerExpiration((PFNNOTIFY)OnTimer, NULL);
}

参照

BREW API ISHELL_GetTimerExpiration | PFNNOTIFY | SFBShell::SetTimer | SFBShell::CancelTimer


SFBShell::GetUpTimeMS
デバイスに電源が投入されてからの経過時間をミリ秒で返します。
[ public ]
UInt32 GetUpTimeMS(Void);

参照

BREW API ISHELL_GetUpTimeMS | SFBShell::GetTimeMS | SFBShell::GetSeconds | SFBShell::GetJulianDate


SFBShell::HandleEvent
指定された標準AEEイベントの1つを現在アクティブなアプレットに送ります。
[ public ]
Bool HandleEvent(
    AEEEvent evt   
    UInt16 wp      
    UInt32 dwp     
);

参照

BREW API ISHELL_HandleEvent | SFBShell::SendEvent | SFBShell::PostEvent


SFBShell::Instance
IShell インターフェイスのインスタンスを取得します。
[ public, static ]
SFUBrewPtr<SFBShell> Instance(Void);

使用例

// IShell インターフェイスのインスタンスを取得します。
SFUBrewPtr<SFBShell> shell = SFBShell::Instance();

SFBShell::IsValidResource
指定されたリソースファイルのエントリが、 指定されたタイプについて有効かどうかをチェックします。
[ public ]
Bool IsValidResource(
    ConstACharPtr pszResFile   
    UInt16 wID                 
    ResType t                  
    AEEHandlerType ht          
);
[ public ]
Bool IsValidResource(
    ConstSFUAnsiStringRef strResFile   
    UInt16 wID                         
    ResType t                          
    AEEHandlerType ht                  
);

参照

BREW API ISHELL_IsValidResource | ResType | AEEHandlerType


SFBShell::LoadBitmap
ビットマップ ファイルを直接ロードし、 そのビットマップの IBitmap インターフェイスを返します。
[ public ]
SFUBrewPtr<SFBBitmap> LoadBitmap(
    ConstACharPtr pszFile   
);
[ public ]
SFUBrewPtr<SFBBitmap> LoadBitmap(
    ConstSFUAnsiStringRef strFile   
);

参照

BREW API ISHELL_LoadBitmap | SFBShell::LoadResBitmap


SFBShell::LoadBusyImage
BREWがビジーであることを示すために使われる画像をロードします。
[ public ]
SFUBrewPtr<SFBImage> LoadBusyImage(Void);

参照

BREW API ISHELL_LoadBusyImage


SFBShell::LoadImage
ファイルから画像を直接ロードして、 画像表示に使用される IImage インターフェイスを返します。
[ public ]
SFUBrewPtr<SFBImage> LoadImage(
    ConstACharPtr pszImageFile   
);
[ public ]
SFUBrewPtr<SFBImage> LoadImage(
    ConstSFUAnsiStringRef strImageFile   
);

参照

BREW API ISHELL_LoadImage | SFBShell::LoadResData | SFBShell::LoadResImage | SFBShell::LoadResObject | SFBShell::LoadResSound | SFBShell::LoadResString | SFBShell::LoadSound | SFBShell::FreeResData


SFBShell::LoadResBitmap
指定されたリソースファイルからビットマップリソースをロードして、 IBitmap インタフェースを返します。
[ public ]
SFUBrewPtr<SFBBitmap> LoadResBitmap(
    ConstACharPtr pszResFile   
    SInt16 wID                 
);
[ public ]
SFUBrewPtr<SFBBitmap> LoadResBitmap(
    ConstSFUAnsiStringRef strResFile   
    SInt16 wID                         
);

使用例

SFUBrewPtr<SFBShell>   shell = SFBShell::Instance();
SFUBrewPtr<SFBBitmap>  bmp;

// リソース ファイルからビットマップを取得します。
bmp = shell->LoadResBitmap(SAMPLE_RES_FILE, IDR_ICON_BMP);

参照

BREW API ISHELL_LoadResBitmap | SFBShell::LoadBitmap


SFBShell::LoadResData
指定されたリソースファイル、ID、およびタイプに関連付けられた データブロックを返します。
[ public ]
VoidPtr LoadResData(
    ConstACharPtr pszResFile   
    SInt16 nResID              
    ResType nType              
);
[ public ]
VoidPtr LoadResData(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
    ResType nType                      
);

参照

BREW API ISHELL_LoadResData | ResType | SFBShell::LoadImage | SFBShell::LoadResImage | SFBShell::LoadResObject | SFBShell::LoadResSound | SFBShell::LoadResString | SFBShell::LoadSound | SFBShell::FreeResData


SFBShell::LoadResDataEx
タイプとIDで指定されたリソースを、 指定のリソース コンテキストからロードします。
[ public ]
VoidPtr LoadResDataEx(
    ConstACharPtr pszResFile   
    UInt16 nResID              
    ResType nType              
    VoidPtr pBuf               
    UInt32Ptr pnBufSize        
);
[ public ]
VoidPtr LoadResDataEx(
    ConstSFUAnsiStringRef strResFile   
    UInt16 r1                          nResID
    ResType nType                      
    VoidPtr pBuf                       
    UInt32Ptr pnBufSize                
);

参照

BREW API ISHELL_LoadResDataEx | SFBShell::FreeResData | AEEResBlob


SFBShell::LoadResImage
リソースファイルからビットマップ リソースをロードして、 IImage インタフェースを返します。
[ public ]
SFUBrewPtr<SFBImage> LoadResImage(
    ConstACharPtr pszResFile   
    SInt16 nResID              
);
[ public ]
SFUBrewPtr<SFBImage> LoadResImage(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
);

使用例

SFUBrewPtr<SFBShell>    shell  = SFBShell::Instance();
SFUBrewPtr<SFBImage>    image;

//リソース ファイルからイメージ画像を取得します。
image = shell->LoadResImage(SAMPLE_RES_FILE, IDR_ICON_BMP);

参照

BREW API ISHELL_LoadResImage | SFBShell::LoadImage | SFBShell::LoadResData | SFBShell::LoadResObject | SFBShell::LoadResSound | SFBShell::LoadResString | SFBShell::LoadSound | SFBShell::FreeResData


SFBShell::LoadResObject
指定されたリソースをロードして、 リソースデータで使用するハンドラを作成します。
[ public ]
SFUBrewPtr<SFBBase> LoadResObject(
    ConstACharPtr pszResFile   
    SInt16 nResID              
    AEEHandlerType hType       
);
[ public ]
SFUBrewPtr<SFBBase> LoadResObject(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
    AEEHandlerType hType               
);

参照

BREW API ISHELL_LoadResObject | SFBShell::LoadImage | SFBShell::LoadResData | SFBShell::LoadResImage | SFBShell::LoadResSound | SFBShell::LoadResString | SFBShell::LoadSound | SFBShell::FreeResData


SFBShell::LoadResSound
リソースファイルに未加工のストリームバイトのサウンドデータが含まれている場合に使用します。
[ public ]
SFUBrewPtr<SFBSoundPlayer> LoadResSound(
    ConstACharPtr pszResFile   
    SInt16 nResID              
);
[ public ]
SFUBrewPtr<SFBSoundPlayer> LoadResSound(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
);

参照

BREW API ISHELL_LoadResSound | SFBShell::LoadImage | SFBShell::LoadResData | SFBShell::LoadResImage | SFBShell::LoadResObject | SFBShell::LoadResString | SFBShell::LoadSound


SFBShell::LoadResString
指定したリソースファイルに格納された UNICODE または ISOLATIN 文字列を取得します。
[ public ]
SIntN LoadResString(
    ConstACharPtr pszResFile   
    SInt16 nResID              
    WCharPtr pBuff             
    SIntN nSize                
);
[ public ]
SFCError LoadResString(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
    SFUWideStringPtr strBuff           
    SIntN nSize = 256                  
);
[ public ]
SFUWideString LoadResString(
    ConstSFUAnsiStringRef strResFile   
    SInt16 nResID                      
    SIntN nSize = 256                  
);

使用例

SFUBrewPtr<SFBShell>    shell  = SFBShell::Instance();
SFUWideString           string;

//リソース ファイルから文字列を取得します。
string = shell->LoadResString(SAMPLE_RES_FILE, IDR_STRING);

参照

BREW API ISHELL_LoadResString | SFBShell::LoadImage | SFBShell::LoadResData | SFBShell::LoadResImage | SFBShell::LoadResObject | SFBShell::LoadResSound | SFBShell::LoadSound


SFBShell::LoadSound
ファイルシステムからサウンド ファイルをロードして、 ファイルの ISoundPlayer インタフェースを返します。
[ public ]
SFUBrewPtr<SFBSoundPlayer> LoadSound(
    ConstACharPtr pszResFile   
);
[ public ]
SFUBrewPtr<SFBSoundPlayer> LoadSound(
    ConstSFUAnsiStringRef strResFile   
);

参照

BREW API ISHELL_LoadSound | SFBShell::LoadImage | SFBShell::LoadResData | SFBShell::LoadResImage | SFBShell::LoadResObject | SFBShell::LoadResSound | SFBShell::LoadResString | SFBShell::FreeResData


SFBShell::MessageBox
AEE シェルに対しデバイスユーザーへのメッセージボックスの表示を指示します。
[ public ]
Bool MessageBox(
    ConstACharPtr pszResFile   
    UInt16 wTitleID            
    UInt16 wTextID             
);
[ public ]
Bool MessageBox(
    ConstSFUAnsiStringRef strResFile   
    UInt16 wTitleID                    
    UInt16 wTextID                     
);

参照

BREW API ISHELL_MessageBox | SFBShell::MessageBoxText


SFBShell::MessageBoxText
AEEシェルに対しデバイスユーザーへのメッセージボックスの表示を指示します。
[ public ]
Bool MessageBoxText(
    ConstWCharPtr pTitle   
    ConstWCharPtr pText    
);
[ public ]
Bool MessageBoxText(
    ConstSFUWideStringRef strTitle   
    ConstSFUWideStringRef strText    
);

参照

BREW API ISHELL_MessageBoxText | SFBShell::MessageBox


SFBShell::Notify
ほかのオブジェクトクラスが要求した通知に関連するイベントを検出した場合は、オブジェクトからコールされます。
[ public ]
SFCError Notify(
    AEECLSID clsType   
    UInt32 dwMask      
    VoidPtr pData      
);

参照

BREW API ISHELL_Notify | SFBShell::RegisterNotify


SFBShell::OnAppClose
アプレットの終了時に呼び出されるシステムコールバックを登録するためのアプレットを使用可能にします。
[ public ]
Void OnAppClose(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnAppClose | AEECallback


SFBShell::OnExit
BREWの終了時にコールされるシステムコールバックを登録するためのアプレットを使用可能にします。
[ public ]
Void OnExit(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnExit | AEECallback


SFBShell::OnInit
BREWの初期化時に呼び出されるようにコールバックを登録します。
[ public ]
Void OnInit(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnInit |


SFBShell::OnLowRAM
システムのメモリーが少量になったときに呼び出されるように、コールバックを登録します。
[ public ]
Void OnLowRAM(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnLowRAM


SFBShell::OnLowStorage
システムのファイルシステム容量が少量になったときに呼び出されるように、コールバックを登録します。
[ public ]
Void OnLowStorage(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnLowStorage


SFBShell::OnModUnload
クライアントは、モジュールがアンロードされる直前にコールされるように、コールバックを登録できます。
[ public ]
Void OnModUnload(
    AEECallback * pcb   
);

参照

BREW API ISHELL_OnModUnload | SFBShell::RegisterSystemCallback


SFBShell::PostEvent
指定されたアプレットに対し非同期イベントをポストします。
[ public ]
Bool PostEvent(
    AEECLSID clsId   // イベントをポストするアプレットのクラス ID を設定します。
    AEEEvent event   // ポストするイベントを設定します。
    UInt16 wp        // wParam を設定します。
    UInt32 dwp       // dwParam を設定します。
);
[ public ]
Bool PostEvent(
    AEECLSID clsId           // イベントをポストするアプレットのクラス ID。
    ConstSFUEventRef event   // ポストするイベントを設定します。
);

戻り値

イベントが処理された場合に、TRUE を返します。 イベントが処理されなかった場合は、FALSE を返します。

解説

指定したアプレットに対して、非同期イベントをポストします。 SFBShell::SendEvent がアプレットに即座にイベントを送るのに対し、 この関数は、アプレットにイベントをポストします。

使用例

SFUBrewPtr<SFBShell>  shell = SFBShell::Instance();
SFUBrewPtr<SFCApplet> app   = SFCApplet::Instance();

// アプレットに強制再描画イベントをポストします。
shell->PostEvent(app->GetClassID(), SFUEvent(SREVT_RESPONDER_RENDER, SRP16_RENDER_INVOKE, TRUE));

参照

BREW API ISHELL_PostEvent | SFBShell::PostEventEx | SFBShell::SendEvent


SFBShell::PostEventEx
指定されたアプレットに対し非同期イベントをポストします。
[ public ]
Bool PostEventEx(
    UInt16 wFlags    
	  // 通常の使用では、この値は 0 で使用します。
	  // EVTFLG_UNIQUE を設定した場合は、SFBShell::PostEvent と同様の処理をします。
	
    AEECLSID clsId   // イベントをポストするアプレットのクラス ID。
    AEEEvent event   // ポストするイベントを設定します。
    UInt16 wp        // wParam を設定します。
    UInt32 dwp       // dwParam を設定します。
);
[ public ]
Bool PostEventEx(
    UInt16 wFlags            
	  // 通常の使用では、この値は 0 で使用します。
	  // EVTFLG_UNIQUE を設定した場合は、SFBShell::PostEvent と同様の処理をします。
	
    AEECLSID clsId           // イベントをポストするアプレットのクラス ID。
    ConstSFUEventRef event   // ポストするイベントを設定します。
);

戻り値

イベントが処理された場合に、TRUE を返します。 イベントが処理されなかった場合は、FALSE を返します。

解説

指定したアプレットに対して、非同期イベントをポストします。 SFBShell::PostEvent との違いは、アプレットに対して同一のイベント (同じイベントコードを持つイベント) を 複数ポストできることです。

バージョン

この関数は、BREW 2.1 以降でのみ使用可能です。

使用例

SFUBrewPtr<SFBShell>  shell = SFBShell::Instance();
SFUBrewPtr<SFCApplet> app   = SFCApplet::Instance();

// アプレットに強制再描画イベントをポストします。
shell->PostEvent(0, app->GetClassID(), SFUEvent(SREVT_RESPONDER_RENDER, SRP16_RENDER_INVOKE, TRUE));

参照

BREW API ISHELL_PostEventEx SFBShell::PostEvent | SFBShell::SendEvent


SFBShell::Prompt
アプリケーションがマルチ選択のプロンプトを表示するメカニズムを備えています。
[ public ]
Bool Prompt(
    AEEPromptInfo * pi   
);

参照

BREW API ISHELL_Prompt | AEEPromptInfo


SFBShell::QueryClass
指定したクラスまたはアプレットがサポートされているかどうかを決定するために、 AEE シェルに問い合せます。
[ public ]
Bool QueryClass(
    AEECLSID cls       
    AEEAppInfo * pai   
);

参照

BREW API ISHELL_QueryClass | AEEAppInfo | SFBShell::CreateInstance


SFBShell::RegisterHandler
コンテンツビューアまたはプロトコルエンジンが自らを AEE シェルに登録するメカニズムを備えています。
[ public ]
SFCError RegisterHandler(
    AEECLSID clsBase      
    ConstACharPtr pszIn   
    AEECLSID cls          
);
[ public ]
SFCError RegisterHandler(
    AEECLSID clsBase              
    ConstSFUAnsiStringRef strIn   
    AEECLSID cls                  
);

参照

BREW API ISHELL_RegisterHandler | AEEHandlerType | SFBShell::GetHandler


SFBShell::RegisterNotify
アプレットがほかのクラスから発行される通知を登録するためのメカニズムを備えています。
[ public ]
SFCError RegisterNotify(
    AEECLSID clsNotify   
    AEECLSID clsType     
    UInt32 dwMask        
);

参照

BREW API ISHELL_RegisterNotify | SFBShell::Notify


SFBShell::RegisterSystemCallback
重要なシステムイベント (BREWの起動、アプリケーションの終了、モジュールのアンロードなど) に対するコールバックを登録します。
[ public ]
Void RegisterSystemCallback(
    AEECallback * pcb   
    SIntN nSCBType      
);

参照

BREW API ISHELL_RegisterSystemCallback | SFBShell::OnInit | SFBShell::OnLowRAM | SFBShell::OnLowStorage | SFBShell::OnModUnload


SFBShell::Resume
AEEシェルにコールバックを登録します。
[ public ]
Void Resume(
    AEECallback * pcb   
);

参照

BREW API ISHELL_Resume | AEECallback


SFBShell::SendEvent
指定したアプレットに対して、即座にイベントを送信します。
[ public ]
Bool SendEvent(