Content Access Agent ECom Resource File

CAF defines an ECom plug-in interface for third-party CAF agents. The interface allows new agents to be integrated dynamically, if required. In order to use CAF content, applications use the resource files.


The default_data section of an CA agent or CA agent proxy's resource file is used to specify three pieces of information:

  • The buffer size required by this agent to recognize a file when ContentAccess::CAgentManager::RecognizeFileL() is called.

  • A list of supplier MIME types supported by this agent.

  • A list of consumer MIME types supported by this agent.

The buffer size section is separated from the supplier MIME types by a '|' character and the supplier MIME types are separated from the consumer MIME types by a ':' character.

The following example explains the default_data section for an OMA DRM agent:


  • It requires at least the first 100 bytes of a file in order to do recognition.

  • It supports a supplier MIME types of application/vnd.oma.drm.message and application/vnd.oma.drm.rights+xml.

  • It supports a consumer MIME type of application/vnd.oma.drm.content.


The opaque_data section is used to specify the agent's private directory under c:\private\. This is the SID (SecureId) of the server which owns the directory, for example:


If the agent does not have a corresponding private directory or does not wish to provide access to that directory, it must just leave the opaque_data section as an empty string.

An example agent resource file

// 101FE8F1.rss 
// UIDs quick-ref 
// ECom DLL UID: 0x101FE8F1 
// CA agent interface UID: 0x10204740 
// Test CAA Implementation: 0x101FE8F2

#include "RegistryInfo.rh" 

    dll_uid = 0x101FE8F1; 
    interfaces = 
           interface_uid = 0x10204740; 
        implementations = 
                implementation_uid = 0x101FE8F2; 
                version_no = 1; 
                display_name = "Test Agent"; 
                default_data = "255|application/vnd.oma.drm.message,application/vnd.oma.drm.content:application/vnd.oma.drm.content";
                // Sample CAF types 
                opaque_data = "12345678"; 

Important UIDs for CA agents

Note: When writing a new CA agent, all other UIDs used in the above examples must be replaced by new UIDs from the Symbian UID generator.