| developer.brewmp.com developer.brewmp.com

Developer

Tools Reference

Base version: Brew MP 1.0.2
Document number: HT80-VT500-91 Rev. K
Date Published: May 24, 2012

The Tools Reference includes help information for the Brew ® MP toolset. The toolset contains the tools described in this document:

Development tools

  • SDK Manager: Assists with Brew MP setup, tools, and resources.
  • Visual Studio Plugin: Integrates Brew MP developer operations into the Visual Studio (2008 and 2010) IDE. This plugin provides Brew MP development model project wizards (i.e., applets, extensions, etc.), and provides single-click icons for running, testing and debugging.
  • Eclipse Plugin: Integrates Brew MP developer operations into the Eclipse IDE. This plugin provides Brew MP development model project wizards (applets, extensions, etc.), and provides single-click solutions for target building, execution and debugging.
  • Excel Add-in: Integrates the ability to view and modify Brew MP CAR files with Microsoft Excel.
  • Resource Manager: Creates and edits Brew MP module information and resource files (.cif, .car), and compiles them (to .mif and .bar). It also assists in migrating deprecated BREW resource types (.mfx, .brx and .brh) to Brew MP.
  • BBFGEN: Generates BREW bitmap fonts (BBFs) from Windows bitmap files. This tool is used for variable width fonts either to generate BBF files that are referenced from the Simulator skins or to put the same data in a C language header file.
  • Qidlc: A command-line executable used to implement remote objects for Brew MP.
  • Qidlscript compiler: A command-line tool that accepts IDL and BID files as input, and generates the code needed to use the objects and interfaces in LUA scripts. This tool is deprecated as of Brew MP 1.0.4 and newer. The QIDLC Compiler is the replacement for this tool.
  • QIDL Compiler: A command-line tool that takes an IDL file as input and generates output in different implementation languages. The compiler is currently able to generate C and C++ stub and skeleton code or Component Information Files (CIFs). The default output is C and C++ code. This tool is deprecated as of Brew MP 1.0.4 and newer. The QIDLC Compiler is the replacement for this tool.
  • CIF compiler: Takes one or more CIF files as input and creates a single Module Information File (MIF), which every module needs in order to execute in the Brew MP environment.

Target tools

  • Loader: A GUI and a command-line Interface tool that provides file and module management. Loader is used to load applications on a device from your computer and transfer data files from the device to the computer over a serial connection.
  • Logger: Records and accesses device statistics and log messages while applications are running on a device, and supports Perl scripting..
  • Simulator: Simulates a Brew MP device, and can be used to test and debug Brew MP applications and extensions.
  • Target Manager: Displays and manages physical and simulation targets. A wizard assists in connecting to physical targets. Target Manager also displays profiles and assists in the creation of simulation targets. All running targets, simulation or physical, have right-click action menus for analyzing and managing target properties (i.e. Remote Control, Interrogator, Heap Analyzer, etc.). TM.exe is the command-line version of Target Manager.
  • ConnectTool: A command-line version of the Connect library used by Brew MP tools to establish a connection to and perform operations on a device or Simulator target. The library is shipped with APIs so that third parties can create new tools for the Brew MP environment.
  • Interrogator: Scans USB Gateway enabled devices for the loaded modules, Brew MP classes, registry, and hardware information. The scanned data can be saved as XML files.
  • Component Heap Tracker (CHT): Monitors heap activities to catch heap corruptions. The CHT logs errors to a file, and if a debugger is running, can cause a break when an error is detected.
  • Heap Analyzer: A PC-side UI tool that acts as a one-click solution for heap analysis and diagnostics.
  • Profile Creator: A tool used to create device profiles for the Brew MP Simulator.

Validation Tools

  • Results Manager: A tool used to create a workspace and manage test results generated and stored by Test Manager in a database.
  • Test Manager: A command-line utility to load, execute, and delete test modules on a device target and report the results of the test execution.
  • DebugBot: A command-line tool used to set up the debugging environment.
  • Report Generator: A command-line tool used to generate these reports based on test results and input files:

    • Class Support
    • Certification (for Brew Level Certification - Brew Level 1 (BL1) or Brew Level 2 (BL2))
    • API Validation Results

Qualcomm Interface Definition Language Reference

Base version:

Brew MP 1.0.2

The Qualcomm Interface Definition Language (QIDL) can be used to define remotable interfaces. A remotable interface is one that works well across memory protection and processor boundaries. QIDL can also support communication between different programming languages.

This reference describes how QIDL differs from OMG (Object Management Group) IDL, and the mapping of QIDL constructs to the supported implementation languages. The currently supported languages are C++, C, Lua, and JSON.

Brew® Mobile Platform (Brew MP) includes the qidlc compiler for QIDL. The qidlc compiler is used to generate C and C++, Lua, and JSON utput from an IDL file. For information on using the qidlc compiler, see the Tools Reference.

For information on standard OMG IDL, see http://www.omg.org/.

Brew MP Master Glossary

Document number:

HT80-VT500-139 Rev. C

Date published:

September 29, 2011

ACL
Access control list. Specifies which dynamic applications can access certain directories or files.
ACM
Application Concurrency Manager. Manages Brew MP applications' concurrent access to shared software, firmware, and hardware resources.
AFLT
Advanced forward link trilateration. A network-dependent position determination technology.
AGPS
Assisted handset-based GPS. A position determination entity (PDE) technology.
AMC
Adobe Mobile Client. A Flash client runtime that is optimized for a wide range of devices for hosting and managing the presentation of data services and data-enabled user interfaces (UIs).
AMSS
Advanced Mobile Subscriber Software. Software provided to licensees that develop, manufacture and sell certain Code Division Multiple Access (CDMA) subscriber equipment.
Applet class
A class that is identified by an AppletID and declared via an Applet primitive in a CIF file.
AppletID
A ClassID for an Applet class.
ATR
Answer-to-reset data from an ISO/IEC 7816-compliant smartcard. A card reader would provide power, clock and reset signals to a smartcard, along with a bidirectional serial data interface to permit communication. On reset, the card would send a standard block of serial data (nominally at 9600 bit/s) to identify the card type and indicate the desired bitrate for further communication.
Autonomous mode
A mode where the mobile device performs all operations with no assistance at all.
Background application
An application that does not have access to the primary display or the keypad, and does not reside in the application history stack.
BAR
BREW Applet Resource file. A binary output file from the Brew MP Resource Editor or the CIFC compiler that contains the resources in one or more of the following binary formats: string, object, and binary.
BBFGEN
A tool that creates BBFs from BDF files used for variable width fonts either to generate BBF files that are referenced from the Simulator skins or to put the same data in a C language header file.
BDF
The Adobe system bitmap distribution format.
BDN
Basic data networking (formerly TCP/IP).
BDS
Brew Delivery System (Brew DS). The Brew Delivery System connects you with wireless service providers allowing you to post applications and enables billing coordination and payment between you and the operator.
BDSMods
The BDSMods directory on a mobile device contains BREW Distribution System (BDS) modules.
BFS
Brew MP Feature Specification.
BGP
BREW geographic position. A file that contains GPGGA and GPRMC NMEA messages recorded using a GPS or GNSS device and can be generated using the NMEA Logger Utility.
BID
BREW Class ID file. Generated by the Brew MP ClassID Generator, it contains the ClassID.
BIN2SRC
A tool that allows developers to create font extensions for use with BREW TrueType Font Extension (BTFE).
Bluetooth
A short-range communications technology intended to replace the cables connecting portable and fixed devices while maintaining high levels of security. The Bluetooth specification is maintained by the Bluetooth Special Interest Group, a private non-profit trade association. See http://www.bluetooth.org.
Bluetooth profile
Describes a device family, the services (functionality) that devices in the family provide, and the communication procedures for the device family.
BMV

Brew MP Validation. The process of evaluating how well a device supports Brew MP application development, including Brew MP APIs and Brew MP tools.

BREW
A mobile application development platform, with versions 1.0 through BREW SDK 4.0.x, BREW is an open, extensible client platform developed by Qualcomm to support system and application software, including personalized and branded user interfaces. May be used with most wireless devices and networks. BREW is a component of the BREW System. BREW is the predecessor to Brew MP.
Brew MP
Brew Mobile Platform. A flexible operating system platform for mobile devices. Brew MP is open and extensible and works with any software ecosystem throughout the global operator and manufacturer communities. Brew MP is the successor to BREW.
Brew MP application
A self-contained software package that exposes an applet class (implements the IApplet interface) that can be loaded and executed in Brew MP Shell (or Thread), and defined in interface header files (or an IDL file if using qidl.exe).
BTFE
BREW TrueType Font Extension.
BTIL
Brew Tool Interface Layer. A packet-based transport mechanism that allows communication between a PC and a Brew MP device and a set of predefined Application Program Interfaces (API) to perform common information acquisition and automation tasks.
BVK
Brew MP Validation Kit. The kit contains automated API tests used for validation and focuses on validating APIs included in the BL1 and testing tools and connectivity.
C2D
Click-to-Debug
C2R
Click-to-Run
CAR
Component application resource file. A human-readable, Lua-based source resource file that is used to generate a binary BAR file, using the CIFC compiler (cifc.exe). Defines resources that are available to the module at runtime.
Character encoding
Contains a character set, and the mapping between each character within the character set and its numerical assignment.
Character set
Refers to a group of characters used by an encoding system.
CIF
Component information file. A human-readable, Lua-based source file for that is used to generate a binary MIF file, using the CIFC compiler (cifc.exe). Defines resources that a module requires to execute in the Brew MP application execution environment. The CIF format replaces the XML-based MFX file format.
cifc.exe
Used to compile a CIF into a MIF, and a CAR into a BAR.
Class
A user-defined type that encapsulates data and behavior (i.e., functions) to implement one or more interfaces that the class exposes.
ClassID
A 32-bit, globally unique, numeric ID, typically in the form of AEECLSID_XXX, that is defined in a BID file generated by the BREW ClassID Generator. A ClassID, which is a unique ID assigned to each class when it is defined, specifies an entry subroutine that is used to create an instance of that class. A ClassID can also be used as a privilege to use the class.
CMX
Compact Multimedia Extension. A file format that is intended to be a successor to the MP3 format.
Collection
A collection is a group of modules that are segregated from each other so that they can be managed in a different manner by Module Manager.
Compositing
Compositing a USB device exposes multiple functions, each of which can be treated as an independent device. The USB generic parent driver enumerates the composite device's functions as if they were separate USB devices.
Controller
In the MVC pattern, the controller manages the communication of data, and the business rules used to manipulate the data to and from the model.
CSA
Client Support Analysis.
Decorator pattern
A design pattern that allows new, additional behavior to be added to an existing class.
Developer Mode
The action(s) of putting the device into a state that supports development with the Brew MP SDK tools. Developer Mode enables the SDK tools to load, run and test applications on a handset. Placing a device in Developer Mode requires two steps, Connect and Enable.
Developer Mode Connect
The action of establishing communication with the device. The Brew MP tools support Connect over USB and Connect over COM.
Developer Mode Enable
The action of unlocking the phone to be able to use development tools and run code produced by a developer. The Brew MP tools support Username/Password Enable and Signature File Enable.
DES
Developer Enablement Service, formerly Test Enable Portal (TEP) is a server run by Qualcomm, which puts the device in Developer Enablement Mode allowing a developer to run arbitrary (or unsigned) code on a commercial Brew MP device. In this mode signatures are not required in order to execute dynamic code on the device. The Developer Enablement Service is no longer available. Use Development Enablement Signatures instead.
DES
Development Enablement Signatures, formerly Global test enable sigs (GTES).
DIB
Device-independent bitmap. An image file format used to store bitmap digital images. The DIB format allows bitmaps to be moved from one device to another.
DNS
Domain name system. A hierarchical naming system that associates computers, services, or services with assigned names.
DNS
Data network services.
DPK
Device Pack.
DRM
Digital rights management. A technology for copyright protection of digital media, including ringtones, music, graphics, and video. DRM was developed to prevent the illegal distribution of purchased content over the Internet.
DSA
Device Support Analysis.
Dual SIM Dual Standby (DS/DS)
The capability of using two SIM cards in a device so that each has a different subscription that can register and camp on either the same or different networks. On devices with two SIM cards that allow subscribers to have two phone numbers/subscriptions on the same or different networks.
Dual Slot/Dual Standby
The capability of having a SIM card in a device with two card slots provided by dual slot hardware and the ability to use two smartcards so that two applications can be active, each independently belonging to either card. The Brew MP smartcard interface is compatible with and supports the Dual Slot/Dual Standby feature.
Dynamic application
A dynamic application or extension can be downloaded, upgraded (OTA or over a cable), and deleted. See Static application.
EFS
Embedded file system; file system that resides on a Brew MP device
ELF
Executable and linking files.
Extension
A self-contained software package that exposes one or more non-applet classes with interfaces that can be accessed by any number of Brew MP applications for extended functionality.
Fix
The process of performing global position computations.
FLA
Flash file. An Adobe Systems file format used for vector graphics.
Geofencing
A virtual perimeter on a geographic area.
Glyph
Elements of a font that conform to current industry usage.
Goal
A goal specified in the make command indicates which of the targets in the makefile will be built.
gpsOne
A hybrid positioning system that supports both CDMA and UMTS networks.
GW
Gateway
Heap
A pool of memory available for dynamic allocation, either a user heap or a system/kernel heap.
IDL
Interface design language. A non-executable language designed specifically for interface definition that allows an interface and its implementing class to be designed separately. IDL is programming language-agnostic, and helps enforce remotability.
Interface
Similar to a C++ abstract base class that has only pure virtual methods that provide a specification contract that an implementing class must meet.
Interface ID
A unique ID assigned to each interface when it is defined in an interface header file (or an IDL file if using qidl.exe), typically in the form of AEEIID_XXX.
IPv4 network
An Internet Protocol version 4 network that uses 32-bit addressing.
IPv6 network
An Internet Protocol version 6 network that uses 128-bit addressing.
ISIM
An IP Multimedia Services Identity Module (ISIM). An application running on a UICC smartcard in a 3G mobile telephone in the IP Multimedia Subsystem (IMS). It contains parameters for identifying and authenticating the user to the IMS. The ISIM application can co-exist with SIM and USIM on the same UICC making it possible to use the same smartcard in both GSM networks and earlier releases of UMTS.
ISOD
Interface specification and operational description.
ISO 3166
An international standard that defines codes for the names of countries, dependent territories, and special areas of geographical interest.
ISO 639-1
An international standard that consists of 136 two-letter codes used to identify the world's major languages.
LCS
Location services.
Lua bindings
Generated by the QIDL script tool that is included in the Brew MP SDK for IDL-defined Brew MP APIs. Allows Brew MP objects to be manipulated by Lua scripts.
Lua VM
Lua virtual machine. Used for executing Lua bytecodes at runtime.
MCF
Multimedia content file; used to share, and at the same time, control access to the multimedia contents.
MDP
Mobile display processor.
MIF
Module information file. A binary file containing module-specific information (such as classes and privileges), and resources (such as applet names and an icon image), that a module requires at runtime. Created by compiling a module's CIF files with the CIFC compiler. Every Brew MP module requires one MIF file.
MIFMOD
The file system format used in BREW 3.x and 4.x. MIF files are placed in fs:/mif. All other module files are placed in subdirectories of fs:/mod; the name of the subdirectory is the same as the module name.
MMC
Multimedia memory cards.
MOD1
A Brew MP module binary file. A MOD1 may contain code that is executable in all environments, including code for applets, classes used by those applets, services, and classes used by those services. See MOD.
MOD
BREW module binary file. MOPD files follow simple conventions, but may contain only code for applets and classes used by the applets. MOD files require a BREW applet context to run. See MOD1.
Model
In the MVC pattern, the model represents the data of the application
Module
An executable binary file that consists of one or more components compiled into a single image.
MS
Mobile station. A station communicates with the base station.
MS-assisted mode
Mobile station-assisted mode. Assistance data sent to the mobile for every fix. The only hybrid mode.
MS-based mode
Mobile station-based mode. Assistance data sent to the mobile device periodically on an as-needed basis.
MSM
Mobile Station Modem. A family of ASICs from Qualcomm CDMA Technologies (QCT).
MTP
Media transfer protocol. Enables Windows to recognize a USB-connected device as a standard media device.
MVC
Model-View-Controller pattern. Isolates business logic from the user interface to produce an application where either the visual appearance of the application or the underlying business logic can be modified with affecting the other.
Native store
A settings store for which SettingsReg has built-in support. SettingsReg does the read and write operations for a native store. See Non-native store and SettingsReq.
NI
Network-initiated.
Non-native store
A settings store that is managed (read and written) by the application or component. See native store.
OAT
Operational/OEM acceptance test. A test framework in the Brew MP Platform Validation Suite (PVS).
Observer pattern
A design pattern in which an object maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods.
ONEDIRMOD
The file system format introduced in Brew MP. The MIF file is put in the same directory as the MOD, BAR, and other module files.
PDE
Position determination entity. A network entity that manages the position or geographic location determination of the mobile station.
piconet
A piconet consists of a master device connected to up to seven slave bluetooth devices.
Position
The geographic position of a mobile station expressed in latitude and longitude.
Private settings
Settings that are available to an application or component on a per-instance basis. No other components or applications can access private settings.
Privilege ID
A unique ID defined in a BID file as a privilege to access resources, typically in the form of AEEPRIVID_PLXXX.
Process
An "execution and protection domain" that defines the set of rights and restrictions to access memory or other resources.
PST
Product Support Tool
Psuedorange
A first-approximation measurement for the distance between a satellite and a navigation satellite receiver.
Public settings
Settings that are made available to the rest of the system via SettingsReg.
PVS
Platform Validation Suite. Provides platform test frameworks for Brew MP applications.
QDSP
Qualcomm Digital Signal Processor.
Quick executable
A quick executable, or qexe, is compiled and run during the make process.
RMC
Removable media card.
Root container
The highest level container defined for a display that can contain widgets, decorators, and child containers. Manages the drawing of all children.
RUIM
Removable User Identity Module/Card. A type of removable smartcard containing a CSIM and 3GPP USIM and SIM applications that can be inserted into CDMA, GSM, or UMTS handsets and work in all three cases.
Rumble
A feature that uses a small motor to strongly vibrate a game-pad HID device. Creates the effect of a roaring engine, for example.
SAS
Softkey Application Suite; Brew MP reference UI consisting of several Trig-based applications.
scatternet
When a device is a member of two or more piconets, a scatternet is formed.
SettingsReg
An implementation of the ISettings interface that provides a unified settings namespace (registry) defined by URIs.
Settings store
A storage location for settings.
SIG
A signature file needed for dynamic modules.
signature file
Signature files contain digital signatures that cover the executable, MIF, and (optionally) other files that are contained in a dynamic module. A digital signature provides a means of identifying modules that are permitted to execute on a device.
SIM
Subscriber identity module. A removable card built into all GSM phones and other mobile devices. The SIM identifies the user's subscriber information, such as handset number and wireless features, and can also store data such as telephone numbers and addresses.
SSL
Secure Sockets Layer. The predecessor of Transport Layer Security (TLS). Cryptographic protocols that provide security for communications.
Standalone mode
Mobile performs all operations with no assistance at all.
Static application
A static application (or extension) is statically linked to and built with the platform software (phone image), and therefore cannot be downloaded or deleted. See Dynamic application.
StaticWidget
A widget used when a region of read-only text is needed on the display for a dialog box or for a textual portion of a containing widget.
Sub-registry
A portion of the SettingsReg namespace that has been claimed by an application or component for its settings.
Suspended foreground application
An application that continues to perform other Brew MP operations, except drawing to the primary display or receiving keypad events, and resides beneath the top-visible application on the stack.
Synchronous operation
A process that depends on a clock to start and stop it.
sysmods
The sysmods directory on a device contains system modules, which are kept in a separate directory to prevent critical system modules from being removed or overwritten.
SWF
Shockwave Flash. An Adobe Systems file format used for vector graphics.
TA
Technical acceptance
TextWidget
A widget used when user text input is needed for a dialog box or for a textual portion of a containing widget
TLS
Transport layer security. The successor of Secure Sockets Layer (SSL). Cryptographic protocols that provide security for communications.
Top-visible foreground application
A top-visible application controls the primary display and directly receives keypad events. It resides as the top-most application on the stack. Only one application is top-visible at a time.
TMF
Trig meta file.
Trigs
Applications whose UIs are authored in AppCreator using the TrigML™ language.
TTF
TrueType font. A standard for outline fonts.
UID
Unique identifier; a unique 32-bit number that uniquely identifies axes, buttons, and so forth.
USBHMS
USB host mass storage.
UserMods
The UserMods directory on a device contains side-loaded modules that are user managed.
USIM
Universal Subscriber Identity Module, an application for UMTS mobile telephony running on a UICC smartcard which is inserted in a 3G mobile phone.
Variant
A variant can be specified in the make command and indicates the target platform, such as Windows or ADS.
VFS
Virtual file system. An abstraction layer that resides on top of a more concrete file system. Allows an application to access different files systems in a uniform way.
View
In the MVC pattern, the view corresponds to the elements of the user interface such as text, radio buttons, and so forth.
volume
A volume is a pairing of a device slot and a media instance at a specific point in time.
volume ID
A volume ID is a transient number that identifies a volume. A volume ID changes if an removable media card (RMC) is removed and re-inserted.
Widget
Represents a visible element on the display, such as a check box or scrollbar.
XTRA
Extended receiver assistance.
Z-order
When multiple overlapping windows are displayed, the Z-order determines how windows are stacked and overlapped.

Make.d Reference

The Brew® Mobile Platform (Brew MP) make.d system can be used to build modules from the command line using the GNU make utility. Make.d is located in the Brew MP Platform in the make.d directory.

The make utility requires a makefile, which contains definitions and rules. The makefile is created by the developer and resides in the directory with the source code. A makefile that is used with make.d typically includes two make.d files (make.d/defines.min and make.d/rules.min) and defines a number of variables that identify the targets and the source files, libraries, etc., required to build the targets.

Makefiles used with make.d are simplified because make.d defines the rules that specify how targets are built. Make.d also defines the variables that are used to identify the targets and the required files.

When you run the make command, you can specify the following on the command line:

  • A variant, which specifies the target platform (Windows, ADS, etc.).

    The make.d system defines a number of variants. See Variants and variant sets.

  • A goal, which specifies which of the targets in the makefile will be built.

This reference provides information on using make.d to create makefiles that use the variables, goals, variants, and rules defined by make.d.

Setup

The make.d system requires GNU make 3.81 or newer. The Brew MP website provides information on downloading the required software in the Setup for C/C++ Environment - Command-line section.

For more information on GNU make, see the http://www.gnu.org/software/make/manual/make.html.

Building the Brew MP Toolset Source Kit

Base version:

Toolset Source Kit 7.12.3

Document number:

HT80-VT500-228 Rev. B

Date published:

May 31, 2012

The source code for the Brew® Mobile Platform (Brew MP™) Tools is provided in the Toolset Source Kit, which can be downloaded from the https://developer.brewmp.com/tools/brew-mp-sdk page on the Brew MP website. This document provides information on the software required to build the tools, configuration, and using the build files to build all of the Brew MP tools or a single tool.

Required software

The following software is required to build the tools:

  • Microsoft .NET Framework 4.0
  • Microsoft Visual Studio 2010
  • NAnt 0.85 or newer

    Note: If you install NAnt on a Windows 7 system, the files extracted from the NAnt ZIP file may be blocked. You can unblock a file as follows:

    1. Right-click on the file and select Properties.
    2. Click Unblock, then click OK.

  • Brew MP SDK version 7.12.3 or newer
  • Brew MP Platform Pro 1.0.3 or newer

    The required header files are in the platform\system\inc\obsolete folder.

  • The following software is required to build the Visual Studio Plugin source:

    • Visual Studio 2005
    • Visual Studio 2008
    • Visual Studio 2010 (with Microsoft Office Developer Tools)
    • Visual Studio 2005 SDK
    • Visual Studio 2008 SDK
    • Visual Studio 2010 SDK

    Note: The Visual Studio SDKs are a separate download.

    To build Resource Localization, an Excel plugin, Microsoft Excel must be installed.

    To build the Test Controller, the Qt 4.8.1 libraries are required. The Qt libraries are available from http://qt.nokia.com and are expected to be in the C:\Qt\4.8.1 directory.

    Configuration

    The following steps are required to configure your environment:

    • Set the BREWMP_BUILD_TOOLS environment variable to point to the Source Kit directory:
      <source_kit_directory>\build\tools
    • Create a nant.bat file in the c:\Windows directory that contains the following:
      @echo off
      C:\<path_to_nant>\Nant.exe %*
    • Set the QTDIR environment variable to the directory containing the Qt libraries, C:\Qt\4.8.1.

    Using Verizon Fonts in Brew MP Applications

    Overview

    This document describes the contents of the package and how applications can use the Verizon fonts with Brew® Mobile Platform (Brew MP) 1.0 and higher. It also describes how to install and use the package. Brew MP comes with system fonts for rendering font characters on a device. Brew MP font extension modules can be used to customize these fonts, so that applications can have a variety of fonts with different properties to achieve a desired look for a specific user interface.

    The below table lists all Verizon custom Fonts that developers can use in their applications.

    Verizon Bitmap Fonts

    Font Description Example
    Family: Arial

    Style: Bold

    Size: 11 pt

    ClassID: AEECLSID_VZW_ARIAL_11PT_BOLD_FONT

    Family: Arial

    Style: Italic

    Size: 11 pt

    ClassID: AEECLSID_VZW_ARIAL_11PT_ITALIC_FONT

    Family: Arial

    Style: Regular

    Size: 11 pt

    ClassID: AEECLSID_VZW_ARIAL_11PT_REGULAR_FONT

    Family: Arial

    Style: banner

    Size: 13 pt

    ClassID: AEECLSID_VZW_ARIAL_13PT_BANNER_FONT

    Family: Arial

    Style: BannerFace

    Size: 13 pt

    ClassID: AEECLSID_VZW_ARIAL_13PT_BANNERFACE_FONT

    Family: Arial

    Style: Bold

    Size: 13 pt

    ClassID: AEECLSID_VZW_ARIAL_13PT_BOLD_FONT

    Family: Arial

    Style: Italic

    Size: 13 pt

    ClassID: AEECLSID_VZW_ARIAL_13PT_ITALIC_FONT

    Family: Arial

    Style: Regular

    Size: 13 pt

    ClassID: AEECLSID_VZW_ARIAL_13PT_REGULAR_FONT

    Family: Arial

    Style: banner

    Size: 15 pt

    ClassID: AEECLSID_VZW_ARIAL_15PT_BANNER_FONT

    Family: Arial

    Style: BannerFace

    Size: 15 pt

    ClassID: AEECLSID_VZW_ARIAL_15PT_BANNERFACE_FONT

    Family: Arial

    Style: Bold

    Size: 15 pt

    ClassID: AEECLSID_VZW_ARIAL_15PT_BOLD_FONT

    Family: Arial

    Style: Italic

    Size: 15 pt

    ClassID: AEECLSID_VZW_ARIAL_15PT_ITALIC_FONT

    Family: Arial

    Style: Regular

    Size: 15 pt

    ClassID: AEECLSID_VZW_ARIAL_15PT_REGULAR_FONT

    Family: Arial

    Style: Bold

    Size: 17 pt

    ClassID: AEECLSID_VZW_ARIAL_17PT_BOLD_FONT

    Family: Arial

    Style: Italic

    Size: 17 pt

    ClassID: AEECLSID_VZW_ARIAL_17PT_ITALIC_FONT

    Family: Arial

    Style: Regular

    Size: 17 pt

    ClassID: AEECLSID_VZW_ARIAL_17PT_REGULAR_FONT

    img
    Family: Arial

    Style: banner

    Size: 18 pt

    ClassID: AEECLSID_VZW_ARIAL_18PT_BANNER_FONT

    Family: Arial

    Style: BannerFace

    Size: 18 pt

    ClassID: AEECLSID_VZW_ARIAL_18PT_BANNERFACE_FONT

    Family: Arial

    Style: Bold

    Size: 18 pt

    ClassID: AEECLSID_VZW_ARIAL_18PT_BOLD_FONT

    Family: Arial

    Style: Italic

    Size: 18 pt

    ClassID: AEECLSID_VZW_ARIAL_18PT_ITALIC_FONT

    Family: Arial

    Style: Regular

    Size: 18 pt

    ClassID: AEECLSID_VZW_ARIAL_18PT_REGULAR_FONT

    Family: Kroger

    Style: Bold

    Size: 8 pt

    ClassID: AEECLSID_VZW_KROGER_8PT_BOLD_FONT

    Family: Kroger

    Style: Italic

    Size: 8 pt

    ClassID: AEECLSID_VZW_KROGER_8PT_ITALIC_FONT

    Family: Kroger

    Style: Regular

    Size: 8 pt

    ClassID: AEECLSID_VZW_KROGER_8PT_REGULAR_FONT

    Family: Song

    Style: Bold

    Size: 12 pt

    ClassID: AEECLSID_VZW_SONG_12PT_BOLD_FONT

    Family: Song

    Style: Italic

    Size: 12 pt

    ClassID: AEECLSID_VZW_SONG_12PT_ITALIC_FONT

    Family: Song

    Style: Regular

    Size: 12 pt

    ClassID: AEECLSID_VZW_SONG_12PT_REGULAR_FONT

    Family: SuperTextHigh

    Style: Banner

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ BANNER_FONT

    Family: SuperTextHigh

    Style: BannerFace

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ BANNERFACE_FONT

    Family: SuperTextHigh

    Style: Bold

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ BOLD_FONT

    Family: SuperTextHigh

    Style: ExtraBold

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ EXTRABOLD_FONT

    Family: SuperTextHigh

    Style: Italic

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ ITALIC_FONT

    Family: SuperTextHigh

    Style: ItalicBold

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ ITALICBOLD_FONT

    Family: SuperTextHigh

    Style: Regular

    Size: 10 pt

    ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ REGULAR_FONT

    Banner Type Fonts

    This document describes the contents of the package and how applications can use the Verizon fonts with Brew MP 1.0 and higher. It also describes how to install and use the package. Brew MP comes with system fonts for rendering font characters on a device. Brew MP font extension modules can be used to customize these fonts, so that applications can have a variety of fonts with different properties to achieve a desired look for a specific user interface.

    The below table lists all Verizon custom Fonts that developers can use in their applications.

    Verizon Banner Type Fonts

    Font Description Example
    Family: Arial

    Style: Banner Type

    Size: 13 pt

    Banner Font ClassID: AEECLSID_VZW_ARIAL_13PT_ BANNER_FONT

    Banner Face Font ClassID: AEECLSID_VZW_ARIAL_13PT_ BANNERFACE_FONT

    Family: Arial

    Style: Banner Type

    Size: 15 pt

    Banner Font ClassID: AEECLSID_VZW_ARIAL_15PT_ BANNER_FONT

    Banner Face Font ClassID: AEECLSID_VZW_ARIAL_15PT_ BANNERFACE_FONT

    Family: Arial

    Style: Banner Type

    Size: 18 pt

    Banner Font ClassID: AEECLSID_VZW_ARIAL_18PT_ BANNER_FONT

    Banner Face Font ClassID: AEECLSID_VZW_ARIAL_18PT_ BANNERFACE_FONT

    Family: SuperTextHigh

    Style: Banner Type

    Size: 10 pt

    Banner Font ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ BANNER_FONT

    Banner Face Font ClassID: AEECLSID_VZW_SUPERTEXTHIGH_10PT_ BANNERFACE_FONT

    Package Contents

    • BBF files in \Devices
    • This document in \Docs
    • Verizon Font extension(verizonfont.dll and verizonfont.mif) in \Examples
    • Verizon Font Utility and Class IDs for Verizon fonts in \inc

    Installation instructions

    Install the zip file into your SDK installation path. This does not overwrite any files on a default installation, but will add files to your folders. The Package contents mentioned above describes the items installed and the subdirectories in which they are installed.

    Brew MP Versions

    Brew MP 1.0+

    Keywords

    Font, Custom Font, IFont, Banner, IDisplay

    Distribution Overview

    Welcome to the Distribution Overview for Brew and Brew MP Developers

    There are hundreds of millions of Brew and Brew MP handsets in consumers' hands, with huge opportunities for developers.

    We want to make getting your item (application or extension) to market as simple as possible, so we've created this submission guide with step-by-step instructions and detailed answers for all your questions.

    Get Authenticated Prepare Your App for Testing Submit Your App for Testing

    4 Commercialize Your App 5 Manage Your Commercial App 6 Run Reports

    Note: If you are an authenticated Brew developer, log in to view the full set of content available to you.

    Sharing IShell-Dependent Objects in Brew MP

     

    Base version:

    Brew MP 1.0.2

    Tested version:

    Brew MP 1.0.2

    Phone tested:

    Yes

    Use of a singleton is one of the common ways of sharing objects. As discussed in Declaring and Using a Singleton, Brew MP™ currently supports two types of singletons:

    • Singleton in-process class

      A singleton in-process class allows the object to be created as a singleton in the caller's context (Env).

    • Singleton service class

      A singleton service class allows the object to be created as a singleton for the entire Brew MP system.

     

    Objective

    Each applet resides in its own Env. If multiple applets need to share a single object, the shared object should be implemented as a singleton service. However, the implementation of a service class cannot have any IShell dependencies. If the shared object needs to have access to IShell or any of its dependent classes (such as IBitmap), a singleton service is not directly applicable. For example, multiple applets may want to share one IShell-based object that loads the resources from a BAR file (by calling ISHELL_LoadResXXX()). That shared object can cache the resources in memory and each calling applet can invoke the object to get the resources.

    Depending on the implementation of the shared object, the following design choices can be considered:

    • Separation of IShell-dependent functionality and shared data
    • Implementation of a singleton applet service

    This document provides information on these two application designs, as well as sample code.

     

    Requirements

    To separate IShell-dependent functionality and shared data, implement the following:

    1. A singleton service class that contains the shared data.
    2. An in-process class that contains the IShell-based functionality and accesses the singleton service for the shared data.

    For more information, see Separation between IShell-dependent functionality and shared data.

    To implement a singleton applet service, implement the following three classes:

    1. An applet class that runs in the background as long as the shared object needs to be available.
    2. An in-process class that contains the implementation of the shared object.
    3. A singleton service class that serves as the rendezvous point.

    For more information on these classes, see Implemention of a singleton applet service.

     

    Sample code location

    The ZIP file contains the c_mysingletonappletservice service and c_singletonappletservicetestapp, an application that uses the service.

    ZIP filename

    Location

    Run app

    c_mysingletonapplet_sample

    Brew MP Resources

    • Download and extract the ZIP file.

    • Compile an app.

    • Run it on the Brew MP Simulator.

     

    Code Authorization on Brew MP Through Digital Signing

    Today, any platform that allows end-users to install applications must defend against malware - code designed to in some way attack the device, the network, or the end-user. Such code may contain a virus or a worm, or may attempt to 'own' the device, log key strokes, access confidential data, degrade mobile network performance, generate unintended billing events, and so on.

    There are several complimentary approaches to defending against and mitigating the threat posed by both malware and poorly implemented code. Broadly speaking, there are two approaches. The first strategy is to control what code may execute on the device in an attempt to preclude malware; the second is to limit the services or data a given executable may access to constrain the potential damage it may inflict.

    Controlling what code may run

    There are several methods to control what runs on a device. A familiar model practiced on most PCs is virus scanning or blacklisting code that should not be allowed on the device. This approach attempts to catch and prevent code from running once it has been identified as malware. Virus scanning is by definition a reactive practice, reliant on continuous and ultimately unbounded updates to detection mechanisms.

    The converse approach is to white-list the code that is permitted to execute on the device. This is most effectively accomplished through digitally signing code that you trust. If a platform is configured to permit only the execution of digitally signed code, the user can only install code that has been somehow vetted to ensure that it is not malware. This paper describes in detail how Brew MP supports and relies upon the white-listing of code through digital signing.

    Constraining code that runs

    To mitigate the havoc that malware, or even poorly acting code, may wreak, it is best to limit the capability of the code to only what is strictly necessary for the code to fulfill its purpose. There are several ways to control what code may do when it is running. These include memory protection across processes through virtualization, or sandboxing, which isolates potential malware from critical system components. (Memory protection is beyond the scope of this paper.) Constraining code is further achieved by restricting the services and data the code may access by controlling the privileges that the code is granted. For example, not every application requires access to user data such as the address book or platform services such as the network.

    Control over privileges is much more effective in thwarting bad acting code when privileges are managed and granted by a party vested in the security of the device. Developers are not incented to constrain the privileges granted to their applications and attackers seek the greatest capability they can for their malware. This paper described how code authorization through digital signing on Brew MP provides a mechanism to control the privileges that any given code is allowed.

    Summary

    Brew MP is engineered with proactive defenses against viruses and malware, the cornerstone of which is explicitly authorizing, or white-listing, the code that may execute on the device. This inserts into the software release process an opportunity and a mechanism for device manufacturers or mobile network operators to understand, vet, and even verify the code, its origin, and its developer. Code authorization through white-listing means knowing where the code came from before you run it. Effective white-listing avoids the introduction of anonymous code, which is more likely to be malware.

    Enabling WAP/HTML Content Download with OMA DLOTA

    Overview

    This document describes how Brew ® MP supports the implementation of a native application-download service using OMA DLOTA (Open Mobile Alliance Download Over-the-Air) version 1. 0.

    To support an HTML- and XHTML-based application-store browsing experience, you may implement a two-part download/install experience. OMA DLOTA version 1.0 standard provides such a mechanism.

    This implementation requires that two components be implemented on the device:

    • A Brew MP Package Handler that supports DLOTA protocol and registers with the operating system for the application/vnd.oma.dd and the application/vnd.qualcomm.bmp.pkg mime types
    • A browser implementation that supports the invocation of the Package Handler for the application/vnd.oma.dd and the application/vnd.qualcomm.bmp.pkg mime types

    Support for this download architecture allows device manufacturers, mobile network operators, and other mobile application service providers to create application and content management and delivery solutions that are independent of one another.

    The focus of this paper and the implementation described herein is intended for the download and installation of native Brew MP applications. That said, the techniques described for creating, registering, and invoking handlers using OMA DLOTA are applicable to any content-type.

    Pages

    Subscribe to developer.brewmp.com RSS