commands/rez/rez.cif
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 26 Aug 2010 00:49:35 +0100
changeset 37 534b01198c2d
parent 0 7f656887cf89
permissions -rw-r--r--
Added ENotifyKeypresses and ECaptureCtrlC flags to CCommandBase. Commands can now get keypresses and handle ctrl-C via callbacks instead of having to implement custom active objects. As part of this extended the CCommandBase extension interface to MCommandExtensionsV2 for the new virtual functions KeyPressed(TUint aKeyCode, TUint aModifiers) and CtrlCPressed(). sudo now cleans up correctly by using ECaptureCtrlC.

# rez.cif
# 
# Copyright (c) 2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
# 
# Initial Contributors:
# Accenture - Initial contribution
#

==name rez

==short-description

Reads text out of resource files.

==argument string resource-identifier

The identifier of the resource to display, of the form C<R:FILENAME:ID[:OFFSET]>.

==option bool x hex

Display the resource in hex.

==long-description

Extracts a string from a resource file, taking in to account the current device language settings and the different drives that a resource file might be installed on to.

The C<resource-identifier> syntax is as follows:

=over 4

=item *

C<FILENAME> is the path of the resource file, relative to the resource directory and not including extension. Eg "Apps\MyApp" would match a file that (on an unlocalised, uncustomised system) resided at C<Z:\Resource\Apps\MyApp.rsc>.

=item *

C<ID> is the numeric resource id, in hex with preceding 0x or in decimal.

=item *

C<OFFSET> is a sequence of numbers and d/D characters. A number indicates the number of bytes to skip over, 'D' means read a 16-bit descriptor (an LTEXT, in resource file parlance), 'd' means read an 8-bit descriptor (LTEXT8). So an offset of 14DD24D means 'skip 14 bytes from the start of the resource, then skip over 2 LTEXTs, then skip another 24 bytes, the descriptor I want is next (and is a 16-bit LTEXT).

If no offset is specified, the whole resource is read as if it was a TBUF. This is different to specifying an offset of 0D, which would be a resource starting with an LTEXT (the difference is whether there's a leading length byte - TBUF doesn't use one).

=back

A full resource identifier might be C<R:Apps\MyApp:0x23> indicating resource 0x23 of C<x:\Resource\Apps\MyApp.rxx>. Or C<R:eikcoctl:7:8D30d> indicating resource 7 of C<x:\Resource\eikcoctl.rxx>, seeking 8 bytes, one 16-bit descriptor, 30 bytes more, then the result is a 8-bit descriptor at that point.

==copyright

Copyright (c) 2009-2010 Accenture. All rights reserved.