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

継承図

SFBShell クラスの継承図

協調図

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_GetAppPrefs, ISHELL_GetPrefs
バグ A5304T、BREW SDK 2.0.1.5

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

ISHELL_GetAppAuthor, ISHELL_GetAppVersieon, ISHELL_GetAppCopyright
ドキュメント エラー BREW API リファレンス 2.0.1.5

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

ISHELL_GetResSize, ISHELL_LoadResData, ISHELL_LoadResDataEx
Tips BREW SDK 2.1 以前の SDK 及び実機

上記 3 つのAPI において、現状 RESTYPE_BINARY は使用できません。 なお、RESTYPE_IMAGE には任意のデータを格納できますので、 2.0 においてはこちらをご利用ください。 RESTYPE_IMAGE の仕様は将来に亘ってサポートされます。 詳しくは、「リソースファイルにサウンドデータを格納するには」をご参照ください。

ISHELL_LoadResObject
Tips BREW SDK 2.1 以前の SDK 及び実機

HTYPE_SOUND は現バージョンではサポートされません。 (.bar ファイルが SOUND リソースの格納に対応していない為です。) 詳しくは、「リソースファイルにサウンドデータを格納するには」をご覧下さい。

ISHELL_OnInit, ISHELL_OnExit
Tips すべて

上記二つの API は、ダウンローダブルなアプリケーションでは意味を持ちません。

ISHELL_OnAppClose, ISHELL_OnModUnload
Tips すべて

上記二つの API は、AEEApplet_New 時に登録する PFNFREEAPPDATA 関数での処理で代用できますので、 使う必要はありません。(ModUnload とは、モジュールがヒープから解放されるタイミングを指します。 ROM から削除されるタイミングのことではありません。)

ISHELL_RegisterSystemCallback
Tips すべて

ISHELL_On* 系の API で内部的にコールしている関数です。 ISHELL_On* API をコールする方がタイプ量も少なく済みますので、そちらをご利用ください。

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;

メンバ

パブリック関数
AEECLSID ActiveApplet( Void )
現在実行中のアプレットに関連付けられた AEECLSID を返します。
Bool AlarmsActive( Void )
アナンシエータ (呼び出し表示装置) に ANNUN_ALARMCLOCK、ANNUN_COUNTDOWN、または ANNUN_STOPWATCH が設定された場合は、true を返します。
Bool Beep( BeepType beep , Bool loud = false )
システムビープ音の発生またはデバイスの振動を行うための簡単なインタフェースを備えています。
Void BrowseFile( ACharConstPtr file )
BrowseFile( SFXAnsiStringConstRef file )
filename で指定されたファイルの拡張子に関連付けられている登録済みのアプレットを検索します。
Void BrowseURL( ACharConstPtr url )
BrowseURL( SFXAnsiStringConstRef url )
url が指している文字列に含まれている URL スキームに関連付けられている登録済みのアプレットを検索します。
Bool Busy( Void )
アプレットの終了が必要な場合にtrueを返します。
Bool CanStartApplet( AEECLSID clsid )
アプレットの起動に問題がないかどうかを決定するために、AEE シェルに問い合せます。
SFCError CancelAlarm( AEECLSID clsid , UInt16 userCode )
ISHELL_SetAlarm() で設定されたアラームをキャンセルします。
SFCError CancelTimer( PFNNOTIFY notify = null , VoidPtr data = null )
ISHELL_SetTimer() で設定したタイマーをキャンセルします。
Bool CheckPrivLevel( UInt16 privilege , Bool queryOnly = true )
現在実行しているアプリケーションの特権レベルを指定した値と照合します。
SFCError CloseApplet( Bool returnToIdle = false )
AEE シェルに対し、アクティブなアプレットをクローズするよう指示します。
SFCError CreateDialog( ACharConstPtr resFile , UInt16 id )
CreateDialog( SFXAnsiStringConstRef resFile , UInt16 id )
CreateDialog( DialogInfo* info )
AEE シェルに対し、入力された DialogInfo データ構造に関連するダイアログ、または関連するリソースファイルのダイアログ情報に関連付けられたダイアログを起動するよう指示します。
SFCError CreateInstance( AEECLSID clsid , SFBBaseSmpPtr handle )
指定された ClassID のオブジェクトを作成して返します。
SFBBaseSmp CreateInstance( AEECLSID clsid )
指定された ClassID のオブジェクトを作成して返します。
SFCError DetectType( VoidConstPtr data , UInt32Ptr size , ACharConstPtr name , ACharConstHandle mime )
DetectType( SFXBufferConstRef data , UInt32Ptr additional , SFXAnsiStringPtr mime )
DetectType( VoidConstPtr data , UInt32Ptr size , SFXAnsiStringPtr mime )
DetectType( SFXBufferConstRef data , UInt32Ptr additional , SFXAnsiStringConstRef name , SFXAnsiStringPtr mime )
DetectType( VoidConstPtr data , UInt32Ptr size , SFXAnsiStringConstRef name , SFXAnsiStringPtr mime )
DetectType( SFXBufferConstRef data , UInt32Ptr additional , ACharConstPtr name , ACharConstHandle mime )
指定されたバッファ内のデータ、 または指定されたオブジェクト名の MIME タイプを取得します。
SFCError EndDialog( Void )
現在アクティブなダイアログをクローズします。
Void EnumAppletInit( Void )
AEEシェルの内部アプレットの列挙インデックスをリセットします。
AEECLSID EnumNextApplet( AEEAppInfo* info )
次のアプレットに関する情報を返します。
Bool ForceExit( Void )
アプレットの終了が必要な場合に true を返します。
Void FreeResData( VoidPtr data )
前回 ISHELL_LoadResData() から返されたデータを解放します。
SFBDialogSmp GetActiveDialog( Void )
現在アクティブなダイアログを返します。
SInt32 GetAppAuthor( WCharPtr buf , SInt32 size )
GetAppAuthor( SFXWideStringPtr string )
アクティブなアプレットの作成者の名前を取得します。
SInt32 GetAppCopyright( WCharPtr buf , SInt32 size )
GetAppCopyright( SFXWideStringPtr string )
アクティブなアプレットの著作権文字列を取得します。
SInt32 GetAppPrefs( UInt16 version , VoidPtr buf , UInt16 size )
GetAppPrefs( UInt16 version , SFXBufferPtr buf )
アプレットのプリファレンスが含まれる構造体を取得する方法を提供します。
SInt32 GetAppVersion( WCharPtr buf , SInt32 size )
GetAppVersion( SFXWideStringPtr string )
アクティブなアプレットのバージョン文字列を取得します。
UInt32 GetClassItemID( AEECLSID clsid )
指定されたクラス ID を所有しているモジュールに割り当てられた 32 ビット値を返します。
Void GetDeviceInfo( AEEDeviceInfo* info )
デバイスの機能 (サポートしている RAM の量、表示ディスプレイ、その他) に関する情報を AEE シェルに問い合わせます。
SFCError GetDeviceInfoEx( AEEDeviceItem item , VoidPtr info , SInt32Ptr size )
GetDeviceInfoEx( AEEDeviceItem item , SFXBufferPtr info )
デバイスに関する特定の情報を取得します。
AEECLSID GetHandler( AEECLSID type , ACharConstPtr in )
GetHandler( AEECLSID type , SFXAnsiStringConstRef in )
コンテンツビューアおよびプロトコル方式ハンドラを登録した AEE シェルのデータベースへの問い合せを行います。
static
SFBShellSmp
GetInstance( Void )
SFBShell クラスのインスタンスを取得します。
Void GetItemStyle( AEEItemType type , AEEItemStyle* normal , AEEItemStyle* selected )
メニュー、アイコン、またはリスト項目のデフォルトスタイルに関する情報を AEE シェルに問い合せます。
Void GetJulianDate( UInt32 seconds , JulianType* date )
入力された秒数に基づいて JulianType データ構造体にデータを読み込みます。
SInt32 GetPrefs( AEECLSID clsid , UInt16 version , VoidPtr config , UInt16 size )
GetPrefs( AEECLSID clsid , UInt16 version , SFXBufferPtr config )
アプレットまたはクラスのレベルプリファレンスが含まれる構造体を取得する方法を提供します。
UInt32 GetResSize( ACharConstPtr file , UInt16 id , ResType type , UInt32Ptr size )
GetResSize( SFXAnsiStringConstRef file , UInt16 id , ResType type , UInt32Ptr size )
ISHELL_LoadResDataEx() のラッパー関数です。
UInt32 GetTimeMS( Void )
現在の時刻をミリ秒で返します。
UInt32 GetTimerExpiration( PFNNOTIFY notify , VoidPtr data = null )
デバイスのユーザーコールバックまたはユーザーデータに関連付けられたタイマーが満了するまでの残存時間をミリ秒で返します。
UInt32 GetUpTimeMS( Void )
デバイスに電源が投入されてからの経過時間をミリ秒で返します。
Bool HandleEvent( AEEEvent event , UInt16 wParam , UInt32 dwParam )
HandleEvent( SFXEventConstRef event )
指定された標準 AEE イベントを現在アクティブなアプレットに送ります。
Bool IsValidResource( ACharConstPtr file , UInt16 id , ResType resType , AEEHandlerType handlerType )
IsValidResource( SFXAnsiStringConstRef file , UInt16 id , ResType resType , AEEHandlerType handlerType )
指定されたリソースファイルのエントリが、 指定されたタイプについて有効かどうかをチェックします。
SFBBitmapSmp LoadBitmap( ACharConstPtr file )
LoadBitmap( SFXAnsiStringConstRef file )
ビットマップ ファイルからビットマップを直接読み込み、 そのビットマップを扱う SFBBitmap クラスのインスタンスを返します。
SFBImageSmp LoadBusyImage( Void )
BREW がビジーであることを示すために使われる画像をロードします。
SFBImageSmp LoadImage( ACharConstPtr file )
LoadImage( SFXAnsiStringConstRef file )
画像ファイルからイメージ データを直接読み込み、 そのイメージ データを扱う SFBImage クラスのインスタンスを返します。
SFBBitmapSmp LoadResBitmap( ACharConstPtr resFile , UInt16 id )
LoadResBitmap( SFXAnsiStringConstRef resFile , UInt16 id )
指定されたリソースファイルから ID に対応するビットマップを読み込み、 そのビットマップを扱う SFBBitmap クラスのインスタンスを返します。
VoidPtr LoadResData( ACharConstPtr resFile , UInt16 id , ResType type )
LoadResData( SFXAnsiStringConstRef resFile , UInt16 id , ResType type )
指定されたリソースファイル、ID、およびタイプに関連付けられた データブロックを返します。
VoidPtr LoadResDataEx( ACharConstPtr resFile , UInt16 id , ResType type , VoidPtr buf , UInt32Ptr size )
LoadResDataEx( SFXAnsiStringConstRef resFile , UInt16 id , ResType type , SFXBufferPtr buf )
LoadResDataEx( SFXAnsiStringConstRef resFile , UInt16 id , ResType type , VoidPtr buf , UInt32Ptr size )
指定されたリソース ファイルから ID とタイプで指定されたリソース データを読み込み、 buf で指定されたバッファに格納します。
SFBImageSmp LoadResImage( ACharConstPtr resFile , UInt16 id )
LoadResImage( SFXAnsiStringConstRef resFile , UInt16 id )
指定されたリソース ファイルから ID に対応するイメージを読み込み、 そのイメージを扱う SFBImage クラスのインスタンスを返します。
SFBBaseSmp LoadResObject( ACharConstPtr resFile , UInt16 id , AEECLSID clsidBase )
LoadResObject( SFXAnsiStringConstRef resFile , UInt16 id , AEECLSID clsidBase )
指定されたリソース ファイルから ID とタイプが一致するリソースを読み込み、 そのリソースを扱うクラスのインスタンスを返します。
SFBSoundPlayerSmp LoadResSound( ACharConstPtr resFile , UInt16 id )
LoadResSound( SFXAnsiStringConstRef resFile , UInt16 id )
リソースファイルに未加工のストリームバイトのサウンドデータが含まれている場合に使用します。
SInt32 LoadResString( ACharConstPtr resFile , UInt16 id , WCharPtr buf , SInt32 size )
指定したリソースファイルに格納された UNICODE または ISOLATIN 文字列を取得します。
SFXWideString LoadResString( SFXAnsiStringConstRef resFile , UInt16 id )
指定したリソースファイルに格納された UNICODE または ISOLATIN 文字列を取得します。
SInt32 LoadResString( ACharConstPtr resFile , UInt16 id , SFXWideStringPtr string )
LoadResString( SFXAnsiStringConstRef resFile , UInt16 id , SFXWideStringPtr string )
指定したリソースファイルに格納された UNICODE または ISOLATIN 文字列を取得します。
SFBSoundPlayerSmp LoadSound( ACharConstPtr resFile )
LoadSound( SFXAnsiStringConstRef resFile )
サウンド ファイルからサウンド データを直接読み込み、 そのサウンドを扱う SFBSoundPlayer クラスのインスタンスを返します。
Bool MessageBox( ACharConstPtr resFile , UInt16 titleId , UInt16 textId )
MessageBox( SFXAnsiStringConstRef resFile , UInt16 titleId , UInt16 textId )
指定されたリソース ファイルから ID を元にタイトルとテキストを取得し、 メッセージ ボックスを表示します。
Bool MessageBoxText( WCharConstPtr title , WCharConstPtr text )
MessageBoxText( SFXWideStringConstRef title , SFXWideStringConstRef text )
引数で指定された文字列を使用してタイトルとテキストを設定し、 メッセージ ボックスを表示します。
SFCError Notify( AEECLSID clsid , UInt32 mask , VoidPtr data )
特定のイベントが発生したことを指定されたアプレットに通知します。
Void OnAppClose( AEECallback* callback )
アプレットの終了時に呼び出されるコールバック関数を登録します。
Void OnExit( AEECallback* callback )
BREW の終了時に呼び出されるコールバック関数を登録します。
Void OnInit( AEECallback* callback )
BREW の初期化時に呼び出されるコールバック関数を登録します。
Void OnLowRAM( AEECallback* callback )
システムのメモリが少量になったときに呼び出されるコールバック関数を登録します。
Void OnLowStorage( AEECallback* callback )
ファイルシステム容量が少量になったときに呼び出されるコールバック関数を登録します。
Void OnModUnload( AEECallback* callback )
モジュールがアンロードされる直前に呼び出されるコールバック関数を登録します。
Bool PostEvent( AEECLSID clsid , AEEEvent event , UInt16 wValue , UInt32 dwValue )
PostEvent( AEECLSID clsid , SFXEventConstRef event )
指定されたアプレットに対し非同期イベントをポストします。
Bool PostEventEx( UInt16 flags , AEECLSID clsid , AEEEvent event , UInt16 wValue , UInt32 dwValue )
PostEventEx( UInt16 flags , AEECLSID clsid , SFXEventConstRef event )
指定されたアプレットに対し非同期イベントをポストします。
Bool Prompt( AEEPromptInfo* info )
アプリケーションがマルチ選択のプロンプトを表示するメカニズムを備えています。
Bool QueryClass( AEECLSID clsid , AEEAppInfo* info )
指定されたクラスまたはアプレットが、サポートされているかどうかを確認します。
SFCError RegisterHandler( AEECLSID clsidBase , ACharConstPtr in , AEECLSID clsid )
RegisterHandler( AEECLSID clsidBase , SFXAnsiStringConstRef in , AEECLSID clsid )
コンテンツビューアまたはプロトコルエンジンが自らを AEE シェルに登録します
SFCError RegisterNotify( AEECLSID clsidNotify , AEECLSID clsidType , UInt32 mask )
他のクラスから発行される通知を登録します。 この関数で登録した通知は、アプリケーションの実行中でのみ受け取りが可能です。
Void RegisterSystemCallback( AEECallback* callback , SInt32 type )
重要なシステムイベント (BREWの起動、アプリケーションの終了、モジュールのアンロードなど) に対するコールバック関数を登録します。
Void Resume( AEECallback* callback )
リジューム時に呼び出されるコールバック関数を登録します。
Bool SendEvent( AEECLSID clsid , AEEEvent event , UInt16 wParam , UInt32 dwParam )
SendEvent( AEECLSID clsid , SFXEventConstRef event )
指定したアプレットに対して、即座にイベントを送信します。
SFCError SetAlarm( AEECLSID clsid , UInt16 code , UInt32 minutes )
アラーム (満了までの時間が長い) をアプレットに設定します。
SFCError SetAppPrefs( UInt16 version , VoidPtr config , UInt16 size )
SetAppPrefs( UInt16 version , SFXBufferPtr config )
アプレット固有のプリファレンスが含まれる構造体を格納する方法を提供します。
SFCError SetPrefs( AEECLSID clsid , UInt16 version , VoidPtr config , UInt16 size )
SetPrefs( AEECLSID clsid , UInt16 version , SFXBufferPtr config )
アプレット固有のプリファレンスを設定します。
SFCError SetTimer( SInt32 mSecs , PFNNOTIFY notify , VoidPtr data = null )
タイマーを設定します。
SFCError SetTimerEx( SInt32 mSecs , AEECallback* callback )
コールバック構造体を使用してタイマーを設定します。
Bool ShowCopyright( Void )
アプレットの著作権情報を表示します。
SFCError StartApplet( AEECLSID clsid )
指定されたクラス ID に関連付けられたアプレットを起動します。
SFCError StartAppletArgs( AEECLSID clsid , ACharConstPtr args )
StartAppletArgs( AEECLSID clsid , SFXAnsiStringConstRef args )
指定されたクラス ID に関連付けられたアプレットを起動し、 コマンドライン引数を渡します。
SFCError StartAppletEx( AEECLSID clsid , UInt16 flags )
指定されたフラグに従って、クラス ID に関連付けられたアプレットを起動します。
SFCError UnregisterHandler( SFXAnsiStringConstRef in )
登録したハンドラをデータベースから削除します。

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 beep       // ビープ音の種別
    Bool loud = false   // true の場合は、高い音量
);

参照

BREW API ISHELL_Beep | BeepType


SFBShell::BrowseFile
filename で指定されたファイルの拡張子に関連付けられている登録済みのアプレットを検索します。
[ public ]
Void BrowseFile(
    ACharConstPtr file   // ファイル名
);
[ public ]
Void BrowseFile(
    SFXAnsiStringConstRef file   // ファイル名
);

参照

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


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

参照

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


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

参照

BREW API ISHELL_Busy | SFBShell::ForceExit


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

参照

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


SFBShell::CancelAlarm
ISHELL_SetAlarm() で設定されたアラームをキャンセルします。
[ public ]
SFCError CancelAlarm(
    AEECLSID clsid    // アプレットのクラス ID
    UInt16 userCode   // ユーザーコード
);

参照

BREW API ISHELL_CancelAlarm | SFBShell::SetAlarm


SFBShell::CancelTimer
ISHELL_SetTimer() で設定したタイマーをキャンセルします。
[ public ]
SFCError CancelTimer(
    PFNNOTIFY notify = null   // コールバック関数
    VoidPtr data = null       // ユーザーデータ
);

使用例

設定中のタイマーをキャンセルします。

SFBShellSmp     shell = SFBShell::GetInstance();

// 設定中のタイマーをキャンセルします。
shell->CancelTimer(OnTimerEntry, this);

参照

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


SFBShell::CheckPrivLevel
現在実行しているアプリケーションの特権レベルを指定した値と照合します。
[ public ]
Bool CheckPrivLevel(
    UInt16 privilege        // 特権ビット
    Bool queryOnly = true   // 問い合わせのみの場合は true を指定する。
);

使用例

ファイルにアクセスできるか確認します。

Bool            ok    = false;
SFBShellSmp     shell = SFBShell::GetInstance();

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

参照

BREW API ISHELL_CheckPrivLevel | BREW API AEE特権レベル


SFBShell::CloseApplet
AEE シェルに対し、アクティブなアプレットをクローズするよう指示します。
[ public ]
SFCError CloseApplet(
    Bool returnToIdle = false   // true の場合はアプレットをクローズし、アイドルに戻ります。
);

使用例

アプレットをクローズします。

SFBShellSmp     shell = SFBShell::GetInstance();

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

参照

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


SFBShell::CreateDialog
AEE シェルに対し、入力された DialogInfo データ構造に関連するダイアログ、または関連するリソースファイルのダイアログ情報に関連付けられたダイアログを起動するよう指示します。
[ public ]
SFCError CreateDialog(
    ACharConstPtr resFile   // リソース ファイル
    UInt16 id               // リソース ID
);
[ public ]
SFCError CreateDialog(
    DialogInfo* info   // ダイアログ情報の代わりとなる構造体。
);
[ public ]
SFCError CreateDialog(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
);

参照

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


SFBShell::CreateInstance
指定された ClassID のオブジェクトを作成して返します。
[ public ]
SFCError CreateInstance(
    AEECLSID clsid         // クラス ID
    SFBBaseSmpPtr handle   // スマートポインタのポインタ
);
[ public ]
SFBBaseSmp CreateInstance(
    AEECLSID clsid   // クラス ID
);

参照

BREW API ISHELL_CreateInstance | SFBModule::CreateInstance


SFBShell::DetectType
指定されたバッファ内のデータ、 または指定されたオブジェクト名の MIME タイプを取得します。
[ public ]
SFCError DetectType(
    VoidConstPtr data       // データバッファ
    UInt32Ptr size          // データサイズ
    ACharConstPtr name      // オブジェクト名
    ACharConstHandle mime   // MIME 文字列を受け取るハンドル
);
[ public ]
SFCError DetectType(
    SFXBufferConstRef data   // データバッファ
    UInt32Ptr additional     // 出力時、型検出のために必要な余分のバイト数。(バッファサイズに自動的に初期化される)
    ACharConstPtr name       // オブジェクト名
    ACharConstHandle mime    // MIME 文字列を受け取るハンドル
);
[ public ]
SFCError DetectType(
    VoidConstPtr data            // データバッファ
    UInt32Ptr size               // データサイズ
    SFXAnsiStringConstRef name   // オブジェクト名
    SFXAnsiStringPtr mime        // MIME 文字列を受け取るハンドル
);
[ public ]
SFCError DetectType(
    SFXBufferConstRef data       // データバッファ
    UInt32Ptr additional         // 出力時、型検出のために必要な余分のバイト数。(バッファサイズに自動的に初期化される)
    SFXAnsiStringConstRef name   // オブジェクト名
    SFXAnsiStringPtr mime        // MIME 文字列を受け取るハンドル
);
[ public ]
SFCError DetectType(
    VoidConstPtr data       // データバッファ
    UInt32Ptr size          // データサイズ
    SFXAnsiStringPtr mime   // MIME 文字列を受け取るハンドル
);
[ public ]
SFCError DetectType(
    SFXBufferConstRef data   // データバッファ
    UInt32Ptr additional     // 出力時、型検出のために必要な余分のバイト数。(バッファサイズに自動的に初期化される)
    SFXAnsiStringPtr mime    // MIME 文字列を受け取るハンドル
);

参照

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);

参照

BREW API ISHELL_EnumAppletInit | SFBShell::EnumNextApplet


SFBShell::EnumNextApplet
次のアプレットに関する情報を返します。
[ public ]
AEECLSID EnumNextApplet(
    AEEAppInfo* info   // 次のアプレット情報を受け取る領域を指すポインタ
);

使用例

アプレットを列挙し、次のアプレットの情報を取得します。

SFBShellSmp     shell   = SFBShell::GetInstance();
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 data   // 解放されるリソース データ
);

参照

BREW API ISHELL_FreeResData | SFBShell::LoadResData


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

参照

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


SFBShell::GetAppAuthor
アクティブなアプレットの作成者の名前を取得します。
[ public ]
SInt32 GetAppAuthor(
    WCharPtr buf   // 作成者名を格納するバッファ
    SInt32 size    // バッファサイズ
);
[ public ]
SInt32 GetAppAuthor(
    SFXWideStringPtr string   // 作成者名を格納するバッファ
);

使用例

アプレットの作成者名を取得します。

SFBShellSmp         shell = SFBShell::GetInstance();
SFXWideString       author;

// allocate the buffer to receive data
author.SetLength(20);

// アプレットの作成者名を取得します。
shell->GetAppAuthor(&author);
// or
shell->GetAppAuthor(author.GetBuffer(), sizeof(WChar) * author.GetLength());

参照

BREW API ISHELL_GetAppAuthor


SFBShell::GetAppCopyright
アクティブなアプレットの著作権文字列を取得します。
[ public ]
SInt32 GetAppCopyright(
    WCharPtr buf   // 著作権文字列を格納するバッファ
    SInt32 size    // バッファサイズ
);
[ public ]
SInt32 GetAppCopyright(
    SFXWideStringPtr string   // 著作権文字列を格納するバッファ
);

使用例

アプレットの著作権文字列を取得します。

SFBShellSmp         shell = SFBShell::GetInstance();
SFXWideString       copyright;

// allocate the buffer to receive data
copyright.SetLength(30);

// アプレットの著作権文字列を取得します。
shell->GetAppCopyright(&copyright);
// or
shell->GetAppCopyright(copyright.GetBuffer(), sizeof(WChar) * copyright.GetLength());

参照

BREW API ISHELL_GetAppCopyright


SFBShell::GetAppPrefs
アプレットのプリファレンスが含まれる構造体を取得する方法を提供します。
[ public ]
SInt32 GetAppPrefs(
    UInt16 version   // プリファレンスのバージョン
    VoidPtr buf      // プリファレンスデータ
    UInt16 size      // プリファレンスデータのサイズ
);
[ public ]
SInt32 GetAppPrefs(
    UInt16 version     // プリファレンスのバージョン
    SFXBufferPtr buf   // null の場合、バッファとそのサイズとして null と 0 が API に渡されます。
);

参照

BREW API ISHELL_GetAppPrefs | SFBShell::SetAppPrefs


SFBShell::GetAppVersion
アクティブなアプレットのバージョン文字列を取得します。
[ public ]
SInt32 GetAppVersion(
    WCharPtr buf   // バージョン文字列を格納するバッファ
    SInt32 size    // バッファサイズ
);
[ public ]
SInt32 GetAppVersion(
    SFXWideStringPtr string   // バージョン文字列を格納するバッファ
);

使用例

アプレットのバージョン文字列を取得します。

SFBShellSmp         shell = SFBShell::GetInstance();
SFXWideString       version;

// allocate the buffer to receive data
version.SetLength(20);

// アプレットのバージョン文字列を取得します。
shell->GetAppVersion(&version);
// or
shell->GetAppVersion(version..GetBuffer(), sizeof(WChar) * version.GetLength());

参照

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* info   // デバイスの情報を受け取る領域を指すポインタ
);

解説

デバイスの情報を取得する関数です。 SophiaFramework では、SFXDevice を使用してデバイスの情報が取得できます。

使用例

デバイスの情報を取得します。

SFBShellSmp         shell      = SFBShell::GetInstance();
AEEDeviceInfo       deviceInfo = {0};

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

参照

BREW API ISHELL_GetDeviceInfo | AEEDeviceInfo | SFXDevice


SFBShell::GetDeviceInfoEx
デバイスに関する特定の情報を取得します。
[ public ]
SFCError GetDeviceInfoEx(
    AEEDeviceItem item   // デバイス項目 ID
    VoidPtr info         // デバイス項目を格納するバッファ
    SInt32Ptr size       // バッファサイズ
);
[ public ]
SFCError GetDeviceInfoEx(
    AEEDeviceItem item   // デバイス項目 ID
    SFXBufferPtr info    // サイズは自動的に変更される。
);

使用例

チップの ID を取得します。

SFBShellSmp     shell    = SFBShell::GetInstance();
WChar           data[32] = {0};
SInt32          size;

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

参照

BREW API ISHELL_GetDeviceInfoEx | AEEDeviceItem | SFXDevice


SFBShell::GetHandler
コンテンツビューアおよびプロトコル方式ハンドラを登録した AEE シェルのデータベースへの問い合せを行います。
[ public ]
AEECLSID GetHandler(
    AEECLSID type      // ハンドラタイプ、または基底クラス ID
    ACharConstPtr in   // 入力文字列
);
[ public ]
AEECLSID GetHandler(
    AEECLSID type              // ハンドラタイプ、または基底クラス ID
    SFXAnsiStringConstRef in   // 入力文字列
);

参照

BREW API ISHELL_GetHandler | AEEHandlerType | SFBShell::RegisterHandler


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

使用例

SFBShell クラスのインスタンスを取得します。

SFBShellSmp     shell = SFBShell::GetInstance();

SFBShell::GetItemStyle
メニュー、アイコン、またはリスト項目のデフォルトスタイルに関する情報を AEE シェルに問い合せます。
[ public ]
Void GetItemStyle(
    AEEItemType type         // 項目タイプ
    AEEItemStyle* normal     // 選択されていない項目のスタイルを受け取る領域を指すポインタ
    AEEItemStyle* selected   // 選択中の項目のスタイルを受け取る領域を指すポインタ
);

参照

BREW API ISHELL_GetItemStyle | AEEItemType | AEEItemStyle


SFBShell::GetJulianDate
入力された秒数に基づいて JulianType データ構造体にデータを読み込みます。
[ public ]
Void GetJulianDate(
    UInt32 seconds     // 1980 年 1 月 6 日からの秒数
    JulianType* date   // 日付データを受け取る領域を指すポインタ
);

参照

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


SFBShell::GetPrefs
アプレットまたはクラスのレベルプリファレンスが含まれる構造体を取得する方法を提供します。
[ public ]
SInt32 GetPrefs(
    AEECLSID clsid   // クラス ID
    UInt16 version   // バージョン
    VoidPtr config   // プリファレンス データ
    UInt16 size      // プリファレンス データ サイズ
);
[ public ]
SInt32 GetPrefs(
    AEECLSID clsid        // クラス ID
    UInt16 version        // バージョン
    SFXBufferPtr config   // null の場合、バッファポインタとそのサイズを null, 0 として API が呼ばれます。
);

参照

BREW API ISHELL_GetPrefs | SFBShell::SetPrefs


SFBShell::GetResSize
ISHELL_LoadResDataEx() のラッパー関数です。
[ public ]
UInt32 GetResSize(
    ACharConstPtr file   // リソース ファイル
    UInt16 id            // リソース ID
    ResType type         // リソースのタイプ
    UInt32Ptr size       // バッファサイズ
);
[ public ]
UInt32 GetResSize(
    SFXAnsiStringConstRef file   
    UInt16 id                    
    ResType type                 
    UInt32Ptr size               
);

参照

BREW API ISHELL_GetResSize | SFBShell::LoadResDataEx


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

参照

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


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

使用例

タイマー満了までの残り時間を取得します。

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

SFBShellSmp     shell    = SFBShell::GetInstance();
UInt32          duration = 0;

// タイマー満了までの残り時間を取得します。
duration = shell->GetTimerExpiration(OnTimerEntry, this);

参照

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


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

参照

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


SFBShell::HandleEvent
指定された標準 AEE イベントを現在アクティブなアプレットに送ります。
[ public ]
Bool HandleEvent(
    AEEEvent event   // AEE イベント
    UInt16 wParam    // イベント固有の 16 ビット値
    UInt32 dwParam   // イベント固有の 32 ビット値
);
[ public ]
Bool HandleEvent(
    SFXEventConstRef event   
);

参照

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


SFBShell::IsValidResource
指定されたリソースファイルのエントリが、 指定されたタイプについて有効かどうかをチェックします。
[ public ]
Bool IsValidResource(
    ACharConstPtr file           // リソース ファイル
    UInt16 id                    // リソース ID
    ResType resType              // リソース タイプ
    AEEHandlerType handlerType   // ハンドラ タイプ
);
[ public ]
Bool IsValidResource(
    SFXAnsiStringConstRef file   // リソース ファイル
    UInt16 id                    // リソース ID
    ResType resType              // リソース タイプ
    AEEHandlerType handlerType   // ハンドラ タイプ
);

参照

BREW API ISHELL_IsValidResource | ResType | AEEHandlerType


SFBShell::LoadBitmap
ビットマップ ファイルからビットマップを直接読み込み、 そのビットマップを扱う SFBBitmap クラスのインスタンスを返します。
[ public ]
SFBBitmapSmp LoadBitmap(
    ACharConstPtr file   // ファイル名
);
[ public ]
SFBBitmapSmp LoadBitmap(
    SFXAnsiStringConstRef file   // ファイル名
);

参照

BREW API ISHELL_LoadBitmap | SFBShell::LoadResBitmap


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

参照

BREW API ISHELL_LoadBusyImage


SFBShell::LoadImage
画像ファイルからイメージ データを直接読み込み、 そのイメージ データを扱う SFBImage クラスのインスタンスを返します。
[ public ]
SFBImageSmp LoadImage(
    ACharConstPtr file   // 画像ファイル名
);
[ public ]
SFBImageSmp LoadImage(
    SFXAnsiStringConstRef file   // 画像ファイル名
);

参照

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


SFBShell::LoadResBitmap
指定されたリソースファイルから ID に対応するビットマップを読み込み、 そのビットマップを扱う SFBBitmap クラスのインスタンスを返します。
[ public ]
SFBBitmapSmp LoadResBitmap(
    ACharConstPtr resFile   // リソース ファイル
    UInt16 id               // リソース ID
);
[ public ]
SFBBitmapSmp LoadResBitmap(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
);

使用例

リソース ファイルからビットマップを取得し、 端末画面に表示します。

// リソース ファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp         shell   = SFBShell::GetInstance();
SFBDisplaySmp       display = SFBDisplay::NewInstance();
SFBBitmapSmp        bmp;

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

if (bmp != null) {
    // ビットマップを描画します。
    display->BitBlt(SFXRectangle(0, 0, 100, 100), bmp, SFXGrid(0, 0));

    // 画面を更新します。
    display->Update();
}

参照

BREW API ISHELL_LoadResBitmap | SFBShell::LoadBitmap


SFBShell::LoadResData
指定されたリソースファイル、ID、およびタイプに関連付けられた データブロックを返します。
[ public ]
VoidPtr LoadResData(
    ACharConstPtr resFile   // リソース ファイル
    UInt16 id               // リソース ID
    ResType type            // リソース タイプ
);
[ public ]
VoidPtr LoadResData(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
    ResType type                    // リソース タイプ
);

参照

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


SFBShell::LoadResDataEx
指定されたリソース ファイルから ID とタイプで指定されたリソース データを読み込み、 buf で指定されたバッファに格納します。
[ public ]
VoidPtr LoadResDataEx(
    ACharConstPtr resFile   // リソース ファイル
    UInt16 id               // リソース ID
    ResType type            // リソース タイプ
    VoidPtr buf             // リソース データを格納するバッファ
    UInt32Ptr size          // バッファサイズ
);
[ public ]
VoidPtr LoadResDataEx(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
    ResType type                    // リソース タイプ
    VoidPtr buf                     // リソース データを格納するバッファ
    UInt32Ptr size                  // バッファサイズ
);
[ public ]
VoidPtr LoadResDataEx(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
    ResType type                    // リソース タイプ
    SFXBufferPtr buf                // リソース データを格納するバッファ
);

参照

BREW API ISHELL_LoadResDataEx | SFBShell::FreeResData | AEEResBlob


SFBShell::LoadResImage
指定されたリソース ファイルから ID に対応するイメージを読み込み、 そのイメージを扱う SFBImage クラスのインスタンスを返します。
[ public ]
SFBImageSmp LoadResImage(
    ACharConstPtr resFile   // リソース ファイル
    UInt16 id               // リソース ID
);
[ public ]
SFBImageSmp LoadResImage(
    SFXAnsiStringConstRef resFile   // リソース ファイル
    UInt16 id                       // リソース ID
);

使用例

リソース ファイルからビットマップ イメージを取得し、 端末画面に表示します。

// リソース ファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp     shell     = SFBShell::GetInstance();
SFBImageSmp     image;
AEEImageInfo    image