Considerations for Device Creators

Content Access Framework has several configurable aspects that can be altered at build-time. This section describes the considerations that must be understood by the device creators while using CAF.

F32 Agent user interface

The F32 Agent by default has no user interface. Its interface is implemented by a separate F32AGENTUI.DLL. This DLL can be replaced with a DLL that actually does display information on the screen.

See also: ContentAccess::TF32AgentUiFactory

CAF recognizer MIME types

The content types that CAF is allowed to map to x-caf-contentMimeType are given in the RECCAF.DLL configuration file. This file is located in the Apparc server's private directory as \private\10003a3f\RecCaf\RecCafMimeTypes.txt.

Important: Device creators must check to be sure all required MIME types are included in the file.

Allowing CAF to load non-ROM based agents

The Content Access Framework's default resolution behaviour on target devices results in Content Access Agents (CAAs) only being loaded from the ROM drive. This behaviour increases the security and reliability of the Content Access Framework and is in addition to the Platform Security capabilities system.

If a device creator wants to produce a more open device relying only on capabilities to allow post production agents to be installed this default resolution behaviour can be overridden. When it is overridden CAF loads all CAAs visible to the ECom service regardless of the drive that contains them. To do this the macro CAF_LOAD_POST_PRODUCTION_AGENTS needs to be defined at ROM build. In the emulator platform the default resolution behaviour is as if this macro is always defined.

The definition of this macro patches a data variable in the caf.dll at ROM build-time.

Omitting agents from ROMs

It is possible for device integrators to choose whether to support both protected and unprotected content or just unprotected content with the definition of the SYMBIAN_EXCLUDE_DRM_AGENT_PLUGINS macro at the ROM build stage.

The device creators' UI platforms that wish to support this feature need to include this macro in the obey files of the Content Access Agents that are integrated into their platform. For example:

##ifndef __OMA_CAA_IBY__ 

##define __OMA_CAA_IBY__

##ifndef SYMBIAN_EXCLUDE_DRM_AGENT_PLUGINS

ECOM_PLUGIN(omacaa_plugin.dll,10111213.rsc)
file=ABI_DIR\\BUILD_DIR\\omacaa_server.exe    omacaa_server.exe
data=DATAZ_\\private\\10111210\\settings.ini   \\private\\10111210\\settings.ini

##endif

##endif

For more details of this option, see the files RemovableFeatures.iby and feature.iby in \\epoc32\\rom\\include