This topic describes the Central Repository Converter (CenRepConv
)
tool. The CenRepConv tool is used to convert text files into binary files.
The CenRepConv
is an
emulator based tool. The CenRepConv
tool can be used to convert
binary files to text files for debugging. The central repository initialisation
files are used to register the repositories with central repository. The initialisation
files can be either in text or binary format, although binary format is recommended
for better efficiency. For example, the loading time of a repository with
2000 settings on a H2 development board is 41ms for binary files and 485ms
for text files.
The tool uses the file extension to identify the fomats. TXT
is
used for the text file extension and CRE
is used as the binary
file extension
The syntax for text to binary conversion is:
CentRepConv [-nowait] [-o output_path] [input_path\]<repository_uid>.txt
where,
repository_uid
is
the UID of repository in hexadecimal format, for example 00000001
output_path
–
Optional, default is C:\
. Note that if the user specifies
the output filename, then the extension must be .cre and the filename must
match the <repository_uid> of the input file.
-nowait
option
should be used when CentRepConv is invoked as part of an automated process
such as from a build script. It instructs CentRepConv not to wait for user
acknowledgement. Without this option the tool will wait for up to 30 seconds
for acknowledgement
The syntax for bianary to text conversion is:
CentRepConv [-nowait] [-o output_path] [input_path\]<repository_uid>.cre
where,
repository_uid
is
the UID of repository in hexadecimal format, for example 00000001
input_path
is
optional, default is C:\
. Note that location of path must
be a Symbian path, not a path of the PC’s native OS.
output_path
is
optional, default is C:\
. Note that if the user specifies
the output filename, then the extension must be .txt and the filename must
match the <repository_uid> of the input file.
This section describes how to automate text to binary conversion whislt building the ROM. The group folder must contain bld.inf file, extension makefile, script to invoke the cenRepConv tool and the initialisation text file.
The bld.inf file must contain:
PRJ_PLATFORMS DEFAULT PRJ_MMPFILES gnumakefile CreateBinaryRep.mk
The extension makefile is configured as:
do_nothing : rem do_nothing MAKMAKE : do_nothing RESOURCE : do_nothing SAVESPACE : BLD BLD : do_nothing FREEZE : do_nothing LIB : do_nothing CLEANLIB : do_nothing FINAL : CreateBinaryRep.cmd build CLEAN : CreateBinaryRep.cmd clean RELEASABLES : CreateBinaryRep.cmd releasables
The script file is used to move the text files to the emulators folder, invoke the CenRepConv tool and copy the binary folders into the central repository private folder.
@ECHO OFF SET RETURNCODE=0 IF /I "%1"=="build" goto BUILD IF /I "%1"=="clean" goto CLEAN IF /I "%1"=="releasables" goto WHAT echo error: unknown option %1 >&2 SET RETURNCODE=1 goto END :WHAT echo %EPOCROOT%epoc32\release\winscw\udeb\Z\private\10202BE9\1027431B.cre goto END :CLEAN ERASE %EPOCROOT%epoc32\release\winscw\udeb\Z\private\10202BE9\1027431B.cre 2>NUL goto END :BUILD ERASE %EPOCROOT%epoc32\winscw\c\1027431B.cre 2>NUL ERASE %EPOCROOT%epoc32\release\winscw\udeb\z\private\10202BE9\1027431B.cre 2>NUL COPY 1027431B.txt %EPOCROOT%epoc32\winscw\c CALL %EPOCROOT%epoc32\release\winscw\udeb\CentRepConv -nowait -o C:\1027431B.cre C:\1027431B.txt IF exist %EPOCROOT%epoc32\winscw\c\1027431B.cre goto BLDSUCCESS SET RETURNCODE=1 ECHO error: build fail >&2 goto END :BLDSUCCESS ERASE %EPOCROOT%epoc32\winscw\c\1027431B.txt MOVE %EPOCROOT%epoc32\winscw\c\1027431B.cre %EPOCROOT%epoc32\release\winscw\udeb\z\private\10202BE9\1027431B.cre goto END :END EXIT /B %RETURNCODE%
The following are the error codes that may occur during the text to binary conversion and vice versa.
Error condition | Leave Code |
---|---|
Input file corrupted |
KErrCorrupt |
Input file is not a Direct File Store |
KErrCorrupt |
No input file specified |
KErrArgument |
Bad input file extension (not .txt or .cre) |
KErrArgument |
Input filename is not a valid UID |
KErrArgument |
Output filename does not match input filename |
KErrArgument |
Extension of output filename does not match extension of input filename (if one is .txt and the other must be .cre) |
KErrArgument |
Output directory is in read only drive |
KErrArgument |
Cannot access input file because it is in private data cage |
KErrAccessDenied |
Cannot write output file because it is in private data cage |
KErrAccessDenied |
Input file does not exist |
KErrAccessDenied |