Fixed lots of issues with installing a low-caps version of fshell from SIS file.
* Fixed issue in CCommandFactory whereby some APIs like GetCommandInfoL could trigger allocations on the wrong heap or signals to the wrong thread. The symptoms were often seen as a crash in the which_00 thread when running ciftest.
* Lots of build fixes for when FSHELL_PROTECTED_UIDS isn't defined and when all capabilities aren't available.
* Added new platform.mmh macro FSHELL_OPEN_SIGNED.
* Open signing of fshell SIS files is now supported for production S60 handsets. Build fshell with the FSHELL_OPEN_SIGNED macro defined (and without defining FSHELL_CAP_ALL or FSHELL_PROTECTED_UIDS) in your platform.mmh and submit \epoc32\fshell\fshell.unsigned.sis to https://www.symbiansigned.com/app/page/public/openSignedOnline.do . The following commands are not available when using Open Signing due to Platform Security restrictions: fdb; kerninfo; chunkinfo; svrinfo; objinfo; sudo; fsck; localdrive; ramdefrag; readmem; reboot; setcritical; setpriority. Others such as chkdeps, e32header, ps, and fshell itself will run but in a restricted capacity (for example, fshell will no longer allow you to modify files in the \sys\bin directory).
* Removed commands objinfo, svrinfo, chunkinfo, readmem, fsck completely when memory access isn't present - previously they would still appear in the help but would give an error if you tried to run them.
# pubsub.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 pubsub
==short-description
Get and set Publish and Subscribe (P&S) keys.
==long-description
To set integer key zero on category 0x12345678 to 6 (for example) run:
pubsub set 0x12345678 0 --int 6
For P&S keys of type C<EByteArray>, C<ELargeByteArray>, C<EText> or C<ELargeText>, only the hexdump of the key is given because it is not possible to figure out which are text and which are binary data.
==argument enum command
The command to run.
==enum-value get
Get the value of the given key. Category and Key args must be specified.
==enum-value set
Sets the value. Category and key must be specified along with one of C<--int> or C<--string>.
==enum-value define
Like set, but defines the key first, if necessary, with an C<AlwaysPass> security policy.
==enum-value notify
Print when this value changes. Category and key must be specified.
==argument uint category
RProperty category UID, if applicable for the given command.
==argument uint key
The id of the key (if applicable) for the specified command.
==option int i int
Sets the specified property to this integer value.
==option string s string
Sets the specified property to this 16-bit descriptor value.
==option bool f force
Force read / set this property, disregarding the C<TSecurityPolicy> restrictions on the property. This option can be used with any of the commands. It uses C<RMemoryAccess> to manipulate an C<RPropertyRef> directly.
==option bool b btrace
When specified in conjunction with the C<notify> command, uses C<CBtracePubSub> to get the notifications instead of using C<RProperty::Subscribe> or C<memoryaccess>.
==option bool r raw
When specified in conjunction with the C<get> command, print out just the value, rather than the usual more verbose format that shows the category, key, type and value.
==copyright
Copyright (c) 2008-2010 Accenture. All rights reserved.