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.
EXPORTS
??1CBluetoothIncomingSerialConnection@@UAE@XZ @ 1 NONAME ; CBluetoothIncomingSerialConnection::~CBluetoothIncomingSerialConnection(void)
?CancelRead@CBluetoothIncomingSerialConnection@@QAEXXZ @ 2 NONAME ; void CBluetoothIncomingSerialConnection::CancelRead(void)
?CancelRead@RBtSerialSession@@QBEXXZ @ 3 NONAME ; void RBtSerialSession::CancelRead(void) const
?CancelWaitForConnection@RBtSerialSession@@QAEXXZ @ 4 NONAME ; void RBtSerialSession::CancelWaitForConnection(void)
?CancelWrite@CBluetoothIncomingSerialConnection@@QAEXXZ @ 5 NONAME ; void CBluetoothIncomingSerialConnection::CancelWrite(void)
?CancelWrite@RBtSerialSession@@QAEXXZ @ 6 NONAME ; void RBtSerialSession::CancelWrite(void)
?Close@RBtSerialSession@@QAEXXZ @ 7 NONAME ; void RBtSerialSession::Close(void)
?Connect@RBtSerialSession@@QAEHXZ @ 8 NONAME ; int RBtSerialSession::Connect(void)
?Connected@CBluetoothIncomingSerialConnection@@QAEHXZ @ 9 NONAME ; int CBluetoothIncomingSerialConnection::Connected(void)
?IsConnected@RBtSerialSession@@QBEHXZ @ 10 NONAME ; int RBtSerialSession::IsConnected(void) const
?NewL@CBluetoothIncomingSerialConnection@@SAPAV1@AAVMBtIncomingConnectionObserver@@@Z @ 11 NONAME ; class CBluetoothIncomingSerialConnection * CBluetoothIncomingSerialConnection::NewL(class MBtIncomingConnectionObserver &)
?Read@CBluetoothIncomingSerialConnection@@QAEXAAVTDes8@@@Z @ 12 NONAME ; void CBluetoothIncomingSerialConnection::Read(class TDes8 &)
?Read@RBtSerialSession@@QBEXAAVTDes8@@AAVTRequestStatus@@@Z @ 13 NONAME ; void RBtSerialSession::Read(class TDes8 &, class TRequestStatus &) const
?ShutDown@CBluetoothIncomingSerialConnection@@QAEXXZ @ 14 NONAME ; void CBluetoothIncomingSerialConnection::ShutDown(void)
?WaitForConnection@CBluetoothIncomingSerialConnection@@QAEXXZ @ 15 NONAME ; void CBluetoothIncomingSerialConnection::WaitForConnection(void)
?WaitForConnection@RBtSerialSession@@QAEXAAVTRequestStatus@@@Z @ 16 NONAME ; void RBtSerialSession::WaitForConnection(class TRequestStatus &)
?Write@CBluetoothIncomingSerialConnection@@QAEXABVTDesC8@@@Z @ 17 NONAME ; void CBluetoothIncomingSerialConnection::Write(class TDesC8 const &)
?Write@RBtSerialSession@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 18 NONAME ; void RBtSerialSession::Write(class TDesC8 const &, class TRequestStatus &)
?ConnectedDeviceAddrL@CBluetoothIncomingSerialConnection@@QAE?AVTBTDevAddr@@XZ @ 19 NONAME ; class TBTDevAddr CBluetoothIncomingSerialConnection::ConnectedDeviceAddrL(void)
?GetConnectedDeviceAddr@RBtSerialSession@@QAEHAAVTBTDevAddr@@@Z @ 20 NONAME ; int RBtSerialSession::GetConnectedDeviceAddr(class TBTDevAddr &)
?GetConnectedDeviceName@RBtSerialSession@@QAEHAAVTDes16@@@Z @ 21 NONAME ; int RBtSerialSession::GetConnectedDeviceName(class TDes16 &)
?GetConnectedDeviceNameL@CBluetoothIncomingSerialConnection@@QAEXXZ @ 22 NONAME ; void CBluetoothIncomingSerialConnection::GetConnectedDeviceNameL(void)