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
??0RFileLogger@@QAE@XZ @ 1 NONAME ; public: __thiscall RFileLogger::RFileLogger(void)
??1RFileLogger@@QAE@XZ @ 2 NONAME ; public: __thiscall RFileLogger::~RFileLogger(void)
?CloseLog@RFileLogger@@QAEXXZ @ 3 NONAME ; public: void __thiscall RFileLogger::CloseLog(void)
?Connect@RFileLogger@@QAEHXZ @ 4 NONAME ; public: int __thiscall RFileLogger::Connect(void)
?CreateLog@RFileLogger@@QAEXABVTDesC16@@0W4TFileLoggingMode@@@Z @ 5 NONAME ; public: void __thiscall RFileLogger::CreateLog(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode)
?LastError@RFileLogger@@QBEHXZ @ 6 NONAME ; public: int __thiscall RFileLogger::LastError(void)const
?LogValid@RFileLogger@@QBEHXZ @ 7 NONAME ; public: int __thiscall RFileLogger::LogValid(void)const
?ClientRunStubOrdinal1@@YAXXZ @ 8 NONAME ; Stub for binary compability
?SetDateAndTime@RFileLogger@@QAEXHH@Z @ 9 NONAME ; public: void __thiscall RFileLogger::SetDateAndTime(int,int)
?Version@RFileLogger@@QBE?AVTVersion@@XZ @ 10 NONAME ; public: class TVersion __thiscall RFileLogger::Version(void)const
?Write@RFileLogger@@QAEXABVTDesC16@@@Z @ 11 NONAME ; public: void __thiscall RFileLogger::Write(class TDesC16 const &)
?Write@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@0@Z @ 12 NONAME ; public: static void __cdecl RFileLogger::Write(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TDesC16 const &)
?WriteFormat@RFileLogger@@QAAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 13 NONAME ; public: void __cdecl RFileLogger::WriteFormat(class TRefByValue<class TDesC16 const >,...)
?WriteFormat@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@V?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 14 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TRefByValue<class TDesC16 const >,...)
?WriteFormat@RFileLogger@@QAEXV?$TRefByValue@$$CBVTDesC16@@@@AAY00PAC@Z @ 15 NONAME ; public: void __thiscall RFileLogger::WriteFormat(class TRefByValue<class TDesC16 const >,signed char * (&)[1])
?WriteFormat@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@V?$TRefByValue@$$CBVTDesC16@@@@AAY00PAC@Z @ 16 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TRefByValue<class TDesC16 const >,signed char * (&)[1])
?HexDump@RFileLogger@@QAEXPBG0PBEH@Z @ 17 NONAME ; public: void __thiscall RFileLogger::HexDump(unsigned short const *,unsigned short const *,unsigned char const *,int)
?HexDump@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@PBG2PBEH@Z @ 18 NONAME ; public: static void __cdecl RFileLogger::HexDump(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,unsigned short const *,unsigned short const *,unsigned char const *,int)
?Write@RFileLogger@@QAEXABVTDesC8@@@Z @ 19 NONAME ; public: void __thiscall RFileLogger::Write(class TDesC8 const &)
?Write@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@ABVTDesC8@@@Z @ 20 NONAME ; public: static void __cdecl RFileLogger::Write(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TDesC8 const &)
?WriteFormat@RFileLogger@@QAAXV?$TRefByValue@$$CBVTDesC8@@@@ZZ @ 21 NONAME ; public: void __cdecl RFileLogger::WriteFormat(class TRefByValue<class TDesC8 const >,...)
?WriteFormat@RFileLogger@@QAEXV?$TRefByValue@$$CBVTDesC8@@@@AAY00PAC@Z @ 22 NONAME ; public: void __thiscall RFileLogger::WriteFormat(class TRefByValue<class TDesC8 const >,signed char * (&)[1])
?WriteFormat@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@V?$TRefByValue@$$CBVTDesC8@@@@AAY00PAC@Z @ 23 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TRefByValue<class TDesC8 const >,signed char * (&)[1])
?WriteFormat@RFileLogger@@SAXABVTDesC16@@0W4TFileLoggingMode@@V?$TRefByValue@$$CBVTDesC8@@@@ZZ @ 24 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC16 const &,class TDesC16 const &,enum TFileLoggingMode,class TRefByValue<class TDesC8 const >,...)
?ClearLog@RFileLogger@@QAEHXZ @ 25 NONAME ; public: int __thiscall RFileLogger::ClearLog(void)
?Close@RFileLogger@@QAEXXZ @ 26 NONAME ; public: void __thiscall RFileLogger::Close(void)
?HexDump@RFileLogger@@QAEXABVTDesC8@@0@Z @ 27 NONAME ; public: void __thiscall RFileLogger::HexDump(class TDesC8 const &,class TDesC8 const &)
?HexDump@RFileLogger@@SAXABVTDesC8@@000@Z @ 28 NONAME ; public: static void __cdecl RFileLogger::HexDump(class TDesC8 const &,class TDesC8 const &,class TDesC8 const &,class TDesC8 const &)
?SetLogTags@RFileLogger@@QAEHABVTDesC8@@0@Z @ 29 NONAME ; public: int __thiscall RFileLogger::SetLogTags(class TDesC8 const &,class TDesC8 const &)
?Write@RFileLogger@@SAXABVTDesC8@@00@Z @ 30 NONAME ; public: static void __cdecl RFileLogger::Write(class TDesC8 const &,class TDesC8 const &,class TDesC8 const &)
?Write@RFileLogger@@SAXABVTDesC8@@0ABVTDesC16@@@Z @ 31 NONAME ; public: static void __cdecl RFileLogger::Write(class TDesC8 const &,class TDesC8 const &,class TDesC16 const &)
?WriteBinary@RFileLogger@@QAEXABVTDesC8@@@Z @ 32 NONAME ; public: void __thiscall RFileLogger::WriteBinary(class TDesC8 const &)
?WriteFormat@RFileLogger@@SAXABVTDesC8@@0V?$TRefByValue@$$CBVTDesC16@@@@AAY00PAC@Z @ 33 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC8 const &,class TDesC8 const &,class TRefByValue<class TDesC16 const >,signed char * (&)[1])
?WriteFormat@RFileLogger@@SAXABVTDesC8@@0V?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 34 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC8 const &,class TDesC8 const &,class TRefByValue<class TDesC16 const >,...)
?WriteFormat@RFileLogger@@SAXABVTDesC8@@0V?$TRefByValue@$$CBVTDesC8@@@@AAY00PAC@Z @ 35 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC8 const &,class TDesC8 const &,class TRefByValue<class TDesC8 const >,signed char * (&)[1])
?WriteFormat@RFileLogger@@SAXABVTDesC8@@0V?$TRefByValue@$$CBVTDesC8@@@@ZZ @ 36 NONAME ; public: static void __cdecl RFileLogger::WriteFormat(class TDesC8 const &,class TDesC8 const &,class TRefByValue<class TDesC8 const >,...)
?__DbgSetHeapFailure@RFileLogger@@QAEXH@Z @ 37 NONAME ; public: void __thiscall RFileLogger::__DbgSetHeapFailure(int)
?__DbgShutDownServer@RFileLogger@@QAEXXZ @ 38 NONAME ; public: void __thiscall RFileLogger::__DbgShutDownServer(void)
?Handle@RFileLogger@@QBEHXZ @ 39 NONAME ; public: int __thiscall RFileLogger::Handle(void)const
?Share@RFileLogger@@QAEHXZ @ 40 NONAME ; public: int __thiscall RFileLogger::Share(void)