Resources | developer.brewmp.com Resources | developer.brewmp.com

Developer

resources

Brew MP Level 2 Definition

Hardware: Battery

ClassID Primary Interface(s) Test Modules

AEECLSID_BATTERY

IBattery

BatteryTest

BatteryNotifier_ModelEvtAITest

Hardware: Keypad

ClassID Primary Interface(s) Test Modules

AEECLSID_KeysMapping

IKeysMapping

KeysMappingTest

Note: Support for AEECLSID_KeysMapping is required only for devices with a physical QWERTY keypad.

Hardware: Position Determination (GPS)

ClassID Primary Interface(s) Test Modules

AEECLSID_POSDET

IPosdet

Posdettest

Note: AEEGPS_MODE_DLOAD_FIRST mode of operation of the GPS system on the device (available in AEEGPSMode) is not required for BL2. IPOSDET_GetOrientation() is not required for BL2.

Media: Camera

ClassID Primary Interface(s) Test Modules

AEECLSID_CAMERA

AEECLSID_CAMERA1

ICamera

CameraTest

CameraDirectAccess_AITest

CameraSnapshot_AITest

CameraRotate_AITest

CameraPreviewType_AITest

Note: The following ICamera methods must be supported for BL2:

  • ICAMERA_AddRef()
  • ICAMERA_Release()
  • ICAMERA_QueryInterface()
  • ICAMERA_RegisterNotify()
  • ICAMERA_SetParm(), subject to the Parameters described in the table below
  • ICAMERA_GetParm(), subject to the Parameters described in the table below
  • ICAMERA_Start(), for CAM_MODE_PREVIEW and CAM_MODE_SNAPSHOT
  • ICAMERA_Pause()
  • ICAMERA_Stop()
  • ICAMERA_GetFrame()

The Camera Parameters listed in the table below must be supported by ICAMERA_SetParm() and ICAMERA_GetParm() for BL2. Macros are defined for many of them, and are listed as well:

Camera Parameter Macros
CAM_PARM_MEDIA_DATA ICAMERA_SetMediaData()
CAM_PARM_SIZE ICAMERA_SetSize()
CAM_PARM_DISPLAY_SIZE ICAMERA_SetDisplaySize()
CAM_PARM_IS_SUPPORT (Get only per API definition) ICAMERA_IsSupport()
CAM_PARM_PIXEL_COUNT (Get only per API definition) N/A
CAM_PARM_SIZE_LIST (Get only per API definition) ICAMERA_GetSizeList()
CAM_PARM_DISPLAY_SIZE_LIST (Get only per API definition) ICAMERA_GetDisplaySizeList()
CAM_PARM_LCD_DIRECT_ACCESS N/A
CAM_PARM_PREVIEW_TYPE N/A
CAM_PARM_SENSOR_INFO (Get only per API definition) N/A
CAM_PARM_QUALITY ICAMERA_SetQuality()
CAM_PARM_ROTATE_PREVIEW ICAMERA_RotatePreview()
CAM_PARM_ROTATE_ENCODE ICAMERA_RotateEncode()
CAM_PARM_FILE_SIZE ICAMERA_SetMaxFileSize()

Media: Players

ClassID Primary Interface(s) Test Modules

AEECLSID_MediaAMR

IMedia

MediaAMR_PlaybackTest

Media_Play_AMRAITest

AEECLSID_MEDIAMPEG4

IMedia

MediaMPEG4Playback_AITest

MediaVideo_FF_MPEG4AITest

MediaVideo_Rewind_MPEGAITtest

MediaVideo_Rotation_MPEG4AITest

MediaVideo_Scaling_MPEG4AITest

MediaVideoTestsMP4_Playback

Note: The following IMediaVideo APIs are not required for BL2:

  • IMediaVideo_GetTextPos()

  • IMediaVideo_GetTimeScale()

AEECLSID_MEDIAPCM

IMedia

MediaPCM_PlaybackTest

Media_Play_PCMAITest

AEECLSID_MediaPMD

IMedia

Media_Play_PMDAITest

AEECLSID_MEDIAUTIL

IMedia

All media playback tests

Note: The following IMediaUtil methods must be supported for BL2:

  • IMEDIAUTIL_AddRef()
  • IMEDIAUTIL_Release()
  • IMEDIAUTIL_QueryInterface()
  • IMEDIAUTIL_CreateMedia()

    IMEDIAUTIL_CreateMediaEx()

The IMediaUtil methods for encoding media are not included in the BL2 definition.

Note: The following content types wrapped in MPEG4 are supported:

  • QCP
  • MP3

Media: Vocoder Control

ClassID Primary Interface(s) Test Modules

AEECLSID_VOCODER

IVocoder

VocoderTest

VocoderRecordPlayPCM_AITest

Note: Devices are required to support the VOC_PCM VocoderType.

Networking: Basic Data Networking

ClassID Primary Interface(s) Test Modules

AEECLSID_NET

INetMgr

NetMgrTest

Note: INETMGR_SetDormancyTimeout() is not required for BL2.

For BL2, the following data networks must be supported:

  • AEE_NETWORK_DEFAULT

  • AEE_NETWORK_CDMA_SN (only supported on CDMA networks)
  • AEE_NETWORK_UMTS (pdp) (only supported on UMTS networks)

AEECLSID_NetUtils

INetUtils

NetUtilsTest

AEECLSID_Network

INetwork

NetworkTest_IPv4

Note: INetwork_GetHystActTimer(), INetwork_SetHystActTimer(), and INetwork_SetDormancy() are not required for BL2.

The following Options for INetwork_GetOpt() are not required for BL2:

  • INETWORK_OPT_DEF_RLP3
  • INETWORK_OPT_CUR_RLP3
  • INETWORK_OPT_NEG_RLP3
  • INETWORK_OPT_PPP_AUTH
  • INETWORK_OPT_UDP_URGENT

The following Options for INetwork_SetOpt() are not required for BL2:

  • INETWORK_OPT_DEF_RLP3
  • INETWORK_OPT_CUR_RLP3
  • INETWORK_OPT_PPP_AUTH
  • INETWORK_OPT_DDTM_PREF
  • INETWORK_OPT_UDP_URGENT

The following INetwork methods related to IPv6 are not required for BL2:

  • INetwork_GenerateIPv6PrivAddr()
  • INetwork_GetIPv6PrivAddrInfo()
  • INetwork_GetOutageInfo()
  • INetwork_GetIPv6PrefixInfo()

AEECLSID_SockPort

ISockPort

SockportTest_IPv4

Note: The following are not required for BL2:

  • ISockPort_Accept() method
  • ISockPort_GetSDBAckInfo() method
  • ISockPort_FLAG_SENDTO_URGENT flag in ISockPort_SendTo()
  • AEE_SO_SDB_ACK_CB option in ISockPort_SetOpt()
  • AEE_IP_ADD_MEMBERSHIP and AEE_IP_DROP_MEMBERSHIP options in ISockPort_SetOpt()

Networking: Broadcast Multicast

ClassID Primary Interface(s) Test Modules

AEECLSID_AddrInfo

IAddrInfo

CreateInstanceTest

AEECLSID_AddrInfoCache

IAddrInfoCache

CreateInstanceTest

Networking: DNS

ClassID Primary Interface(s) Test Modules

AEECLSID_DNS

IDNS

CreateInstanceTest

Networking: SSL

ClassID Primary Interface(s) Test Modules

AEECLSID_SSL

ISSL

CreateInstanceTest

AEECLSID_SSLRootCerts

ISSL

CreateInstanceTest

Networking: Web-HTTP

ClassID Primary Interface(s) Test Modules

AEECLSID_WEBRESP

IWebResp

CreateInstanceTest

System: Application

ClassID Primary Interface(s) Test Modules

AEECLSID_AppletCtl

IAppletCtl

CreateInstanceTest

AEECLSID_SHELL (SMS URI)

IShell

ShellBrowseUrlAITest_Sms

System: File System

ClassID Primary Interface(s) Test Modules

AEECLSID_FILESYSTEM2

IFileSystem2

MCFDirectoriesTest

MCFLockDirectoriesTest

Note: Multimedia Content Files (MCF) directories are included in the BL2 definition. The following directories are to be available on the device:

AEEFS_MCF_PICTURE_DIR

AEEFS_MCF_TEXT_DIR

AEEFS_MCF_PICTURE_LOCK_DIR

AEEFS_MCF_TEXT_LOCK_DIR

AEEFS_MCF_MUSIC_DIR

AEEFS_MCF_SOUND_DIR

AEEFS_MCF_MUSIC_LOCK_DIR

AEEFS_MCF_SOUND_LOCK_DIR

AEEFS_MCF_MOVIE_DIR

AEEFS_MCF_LICENSE_LOCK_DIR

AEEFS_MCF_MOVIE_LOCK_DIR

AEEFS_MCF_LINK_DIR

AEEFS_MCF_THEME_DIR

AEEFS_MCF_LINK_LOCK_DIR

AEEFS_MCF_THEME_LOCK_DIR

System: Memory

ClassID Primary Interface(s) Test Modules

AEECLSID_RAMCACHE

IRamCache

CreateInstanceTest

System: Security

ClassID Primary Interface(s) Test Modules

AEECLSID_HMACMD2Ctx

IHashCtx

CreateInstanceTest

AEECLSID_HMACMD5Ctx

IHashCtx

CreateInstanceTest

AEECLSID_HMACSHA1Ctx

IHashCtx

CreateInstanceTest

AEECLSID_HMACSHA256Ctx

IHashCtx

CreateInstanceTest

AEECLSID_HMACSHA384Ctx

IHashCtx

CreateInstanceTest

AEECLSID_HMACSHA512Ctx

IHashCtx

CreateInstanceTest

AEECLSID_MD2Ctx

IHashCtx

CreateInstanceTest

AEECLSID_MD5Ctx

IHashCtx

CreateInstanceTest

AEECLSID_SHA1Ctx

IHashCtx

CreateInstanceTest

AEECLSID_SHA256Ctx

IHashCtx

CreateInstanceTest

AEECLSID_SHA384Ctx

IHashCtx

CreateInstanceTest

AEECLSID_SHA512Ctx

IHashCtx

CreateInstanceTest

System: Services

ClassID Primary Interface(s) Test Modules

AEECLSID_Env

IEnv

CreateInstanceTest

AEECLSID_FIFO

IFIFO

AEECLSID_FIFO

AEECLSID_DEVICENOTIFIER

INotifier

NotifierAITest_Flip

NotifierAITest_Headset

NotifierAITest_KeyGuard

NotifierAITest_MMC

NotifierAITest_Rotate

Note: If the device hardware supports the corresponding actions, the following AEECLSID_DEVICENOTIFIER notifications must be supported for BL2:

  • NMASK_DEVICENOTIFIER_FLIP
  • NMASK_DEVICENOTIFIER_HEADSET
  • NMASK_DEVICENOTIFIER_KEYGUARD
  • NMASK_DEVICENOTIFIER_MMC
  • NMASK_DEVICENOTIFIER_SCR_ROTATE

Other notifications defined for AEECLSID_DEVICENOTIFIER are not included in the BL2 definition.

Note: Part of the basic shell service is to offer the ability to applications to post URLs to applications that register for a particular URI schema.

For BL2, devices are required to support URIs of the "sms:" URI scheme, following RFC 5724. The device must support specification of the destination phone number and "body" field name. When an application calls IShell_BrowseURL() with a URL of this scheme, the device is expected to launch the messaging application with the destination phone number, and if specified by the application, body text prepopulated.

AEECLSID_SignalCBFactory

ISignalCBFactory

CreateInstanceTest

AEECLSID_SOURCE

ISource

CreateInstanceTest

AEECLSID_SysClock

ISysClock

SysClockAppletTest

System: Settings

ClassID Primary Interface(s) Test Modules

AEECLSID_SettingsIniFactory

ISettingsStoreFactory

CreateInstanceTest

AEECLSID_SettingsReg

ISettings

CreateInstanceTest

System: Settings Store

ClassID Primary Interface(s) Test Modules

AEECLSID_MannerMode

IItemStore

MannerModeTest

MannerModeVerifyMode_AITest

MannerModeCallback_AITest

System: Utilities

ClassID Primary Interface(s) Test Modules

AEECLSID_ResFile

IResFile

CreateInstanceTest

Telephony: TAPI

ClassID Primary Interface(s) Test Modules

tapi_AEECLSID_ServingNetworks

tapi_IServingNetworks

TAPIServingNetworksTest

UI: Controls

ClassID Primary Interface(s) Test Modules

AEECLSID_ACLOCKCTL

IAClockCtl

CreateInstanceTest

AEECLSID_DATECTL

IDateCtl

CreateInstanceTest

AEECLSID_DATEPICKCTL

IDateCtl

CreateInstanceTest

AEECLSID_DIALOG

IDialog

CreateInstanceTest

AEECLSID_IMAGECTL

IImageCtl

CreateInstanceTest

AEECLSID_ICONVIEWCTL

IMenuCtl

CreateInstanceTest

AEECLSID_ICONVIEWCTL_10

IMenuCtl

CreateInstanceTest

AEECLSID_LISTCTL

IMenuCtl

CreateInstanceTest

AEECLSID_LISTCTL_10

IMenuCtl

CreateInstanceTest

AEECLSID_MENUCTL

IMenuCtl

CreateInstanceTest

AEECLSID_MENUCTL_10

IMenuCtl

CreateInstanceTest

AEECLSID_SOFTKEYCTL

IMenuCtl

CreateInstanceTest

AEECLSID_SOFTKEYCTL_10

IMenuCtl

CreateInstanceTest

AEECLSID_STATIC

IStatic

CreateInstanceTest

AEECLSID_STATIC_10

IStatic

CreateInstanceTest

AEECLSID_CLOCKCTL

ITimeCtl

CreateInstanceTest

AEECLSID_COUNTDOWNCTL

ITimeCtl

CreateInstanceTest

AEECLSID_STOPWATCHCTL

ITimeCtl

CreateInstanceTest

UI: Fonts and Text

ClassID Primary Interface(s) Test Modules

AEECLSID_BTFETextLayout

ITextLayout

CreateInstanceTest

AEECLSID_BTFETypeface

ITypeface

CreateInstanceTest

UI: Graphics

ClassID Primary Interface(s) Test Modules

AEECLSID_HTML

IHtmlViewer

CreateInstanceTest

UI: Widgets

ClassID Primary Interface(s) Test Modules
AEECLSID_ArrayModel

IArrayModel

CreateInstanceTest

AEECLSID_BitmapWidget

IWidget

CreateInstanceTest

AEECLSID_BlendWidget

IDecorator

IWidget

CreateInstanceTest

AEECLSID_BorderWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_ButtonTC

IController

IHandler

CreateInstanceTest

AEECLSID_ButtonWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_CameraFrameModel

ICameraFrameModel

IFrameModel

CreateInstanceTest

AEECLSID_CardContainer

ICardContainer

IContainer

CreateInstanceTest

AEECLSID_CheckTC

IController

IHandler

CreateInstanceTest

AEECLSID_CheckWidget

IWidget

CreateInstanceTest

AEECLSID_ConstraintContainer

IConstraintContainer

IContainer

CreateInstanceTest

AEECLSID_ContainerTC

IController

CreateInstanceTest

AEECLSID_CurrentLocale

ILocale

CreateInstanceTest

AEECLSID_CursorWidget

IDecorator

IWidget

CreateInstanceTest

AEECLSID_DateTimeTC

IController

IHandler

CreateInstanceTest

AEECLSID_DefaultLocale

ILocale

CreateInstanceTest

AEECLSID_DefaultTextController

IController

CreateInstanceTest

AEECLSID_DialogForm

IForm

CreateInstanceTest

AEECLSID_DisplayWidget

IWidget

CreateInstanceTest

AEECLSID_DrawDecoratorWidget

IDrawDecorator

IWidget

CreateInstanceTest

AEECLSID_ErrorDialog

IForm

CreateInstanceTest

AEECLSID_FADER

ITransition

CreateInstanceTest

AEECLSID_FontMapModel

IListModel

CreateInstanceTest

AEECLSID_Form

IForm

IRootForm

CreateInstanceTest

AEECLSID_FrameWidget

IFrameModel

IWidget

CreateInstanceTest

AEECLSID_GenericTC

IController

CreateInstanceTest

AEECLSID_GridContainer

IGridContainer

IContainer

CreateInstanceTest

AEECLSID_GridContainerTC

IController

CreateInstanceTest

AEECLSID_GridListContainer

IWidget

IModel

CreateInstanceTest

AEECLSID_GridWidget

IWidget

CreateInstanceTest

AEECLSID_HTMLWidget

IWidget

CreateInstanceTest

AEECLSID_ImageStaticWidget

IPropContainer

IContainer

IDrawHandler

IHandler

IWidget

CreateInstanceTest

AEECLSID_ImageWidget

IDecorator

IContainer

IDrawHandler

IHandler

IWidget

CreateInstanceTest

AEECLSID_InfoDialog

IForm

CreateInstanceTest

AEECLSID_InterfaceModel

IInterfaceModel

IModel

CreateInstanceTest

AEECLSID_JulianDateWidget

IWidget

CreateInstanceTest

AEECLSID_JulianTimeWidget

IWidget

CreateInstanceTest

AEECLSID_ListContainer

IWidget

CreateInstanceTest

AEECLSID_ListContainerModelFactory

IListContainerModelFactory

CreateInstanceTest

AEECLSID_ListForm

IForm

IHandler

CreateInstanceTest

AEECLSID_ListFormScroll

IForm

IHandler

CreateInstanceTest

AEECLSID_ListTC

IController

IHandler

CreateInstanceTest

AEECLSID_ListWidget

IWidget

IHandler

IDecorator

CreateInstanceTest

AEECLSID_MediaFrameModel

IMediaFrameModel

IFrameModel

IDirectMode

IModel

CreateInstanceTest

AEECLSID_MenuModel

IMenuModel

IListModel

IModel

CreateInstanceTest

AEECLSID_Model

IModel

CreateInstanceTest

AEECLSID_MOVER

ITransition

CreateInstanceTest

AEECLSID_PickListContainer

IWidget

IModel

IListContainerModel

ITypedListModel

IListModel

CreateInstanceTest

AEECLSID_PickWidget

IWidget

CreateInstanceTest

AEECLSID_PopupForm

IForm

CreateInstanceTest

AEECLSID_PopupMenuForm

IPopupMenu

IForm

CreateInstanceTest

AEECLSID_PopupMenuFormScroll

IPopupMenu

IForm

CreateInstanceTest

AEECLSID_ProgressWidget

IWidget

CreateInstanceTest

AEECLSID_PropContainer

IPropContainer

IContainer

CreateInstanceTest

AEECLSID_RadioTC

IController

IHandler

CreateInstanceTest

AEECLSID_RadioWidget

IWidget

CreateInstanceTest

AEECLSID_RootContainer

IRootContainer

IXYContainer

IContainer

CreateInstanceTest

AEECLSID_RootForm

IForm

CreateInstanceTest

AEECLSID_RootTC

IController

IHandler

CreateInstanceTest

AEECLSID_RotateWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_ScaleWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_ScrollIndicatorWidget

IWidget

CreateInstanceTest

AEECLSID_ScrollTC

IController

CreateInstanceTest

AEECLSID_ScrollbarWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_SliderTC

IController

CreateInstanceTest

AEECLSID_SliderWidget

IWidget

CreateInstanceTest

AEECLSID_SoftkeyTC

IController

CreateInstanceTest

AEECLSID_SoftkeyWidget

IWidget

CreateInstanceTest

AEECLSID_StaticWidget

IWidget

CreateInstanceTest

AEECLSID_TabTC

IController

CreateInstanceTest

AEECLSID_TabWidget

IWidget

CreateInstanceTest

Note: Depending on the user input features of the device, various text input modes are to be supported through the text widget. The following table shows the text input modes that are required by the BL2 definition, based on the user input features present in the device:

Input Mode 10 Key Physical Qwerty Physical Touch only

AEE_TMODE_MULTITAP_LC

AEE_TMODE_MULTITAP_UC

AEE_TMODE_MULTITAP_MC

AEE_TMODE_MULTITAP_SC

Required

Not supported.

Not supported.

AEE_TMODE_NUMBERS

Required

Required

Required

AEE_TMODE_KEYBOARD

Not supported.

Required

Required

AEECLSID_TextModel

IModel

ITextModel

IRichTextModel

CreateInstanceTest

AEECLSID_TextTC

IController

CreateInstanceTest

AEECLSID_TextWidget

IWidget

CreateInstanceTest

TextWidgetAITest_TouchChar

TextWidgetAITest_TouchNum

TextWidgetAITest_TouchPwd

AEECLSID_TitleWidget

IWidget

CreateInstanceTest

AEECLSID_TouchObserver

IObserver

IHandler

CreateInstanceTest

AEECLSID_Transition2_Fader

ITransition2

CreateInstanceTest

AEECLSID_Transition2_Mover

ITransition2

CreateInstanceTest

AEECLSID_Transition2_Resizer

ITransition2

CreateInstanceTest

AEECLSID_Transition2_Scaler

ITransition2

CreateInstanceTest

AEECLSID_Transition2_Scroller

ITransition2

CreateInstanceTest

AEECLSID_TransitionMgr

ITransitionMgr

CreateInstanceTest

AEECLSID_TypedListModelFactory

ITypedListModelFactory

CreateInstanceTest

AEECLSID_TypedValueModel

ITypedValueModel

IModel

CreateInstanceTest

AEECLSID_ValueModel

IValueModel

IModel

CreateInstanceTest

AEECLSID_VectorModel

IVectorModel

IListModel

IModel

CreateInstanceTest

AEECLSID_ViewportTC

IController

IHandler

CreateInstanceTest

AEECLSID_ViewportWidget

IDecorator

IContainer

IWidget

CreateInstanceTest

AEECLSID_VirtualInputMgr

IController

IHandler

CreateInstanceTest

AEECLSID_WarnDialog

IForm

CreateInstanceTest

AEECLSID_XYContainer

IXYContainer

IWidget

CreateInstanceTest