1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/lowlevellibsandfws/apputils/group/RELEASE.TXT Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,2829 @@
1.4 +Version 1.00.103
1.5 +===================================
1.6 +Released into: GT Mainline 578
1.7 +Built against: GT Mainline 574b ALL VARIENTS
1.8 +Released by: Franco Bellu
1.9 +Uses: EUSER ESOCK INSOCK IMUT INETPROTUTIL BAFL
1.10 +For debug, add: FLOGGER EFSRV
1.11 +For tests, add: HTTPTESTUTILS, C32
1.12 +Changelist: xxx
1.13 +Website: http://lon-wapbuild01.INTRA/HTTP_Project/
1.14 +
1.15 +
1.16 +Summary
1.17 +=======
1.18 +
1.19 +
1.20 +
1.21 +Defects Fixed
1.22 +=============
1.23 +* Fixed defect SAM-54WFUN : " String pool does not return an error when a string cannot be found in a string table using StringF() method "
1.24 +* Fixed defect BEU-55CND8 "using the CStringPoolImplementation from an empty string causes an access violation "
1.25 +* Fixed defect CLE-536M4D "String pool comparison operators should ASSERT_DEBUG check for use of multiple table "
1.26 +
1.27 +API Changes
1.28 +===========
1.29 +None
1.30 +
1.31 +Other Significant Changes
1.32 +=========================
1.33 +None
1.34 +
1.35 +
1.36 +Known Issues
1.37 +============
1.38 +None
1.39 +
1.40 +
1.41 +-----------
1.42 +Version 1.00.102
1.43 +================
1.44 +Tim and Arun, 3 July 2001
1.45 +
1.46 +CR for BAFL and LocE32: allow customizable language downgrade paths to be specified as
1.47 +part of the locale.
1.48 +
1.49 +Version 1.00.101
1.50 +================
1.51 +Made by Kevin, 11 August 1999
1.52 +
1.53 +Requires RCOMP 318 because of the BC break in the handling of TEXT16 resources.
1.54 +
1.55 +Added TResourceReader::AlignCountedPtr16 which returns the counted string length and
1.56 +adjusts the pointer past both the length byte and any additional padding byte. The value
1.57 +of the padding byte is checked with an __ASSERT_DEBUG(): the wrong value will cause a
1.58 +panic with code EBafPanicUnicodeTextPaddingError (=14).
1.59 +
1.60 +Added AlignCountedPtr16 calls to the functions which read a Unicode descriptor from
1.61 +a resource.
1.62 +
1.63 + TResourceReader::ReadHBufC16L()
1.64 + TResourceReader::ReadTPtrC16()
1.65 + TResourceReader::ReadTPtrC16(TInt aIndex,const TDesC8* aBuffer)
1.66 +
1.67 +Modified T_RSC.CPP to correct the r_text_signature check which discriminated between a Unicode
1.68 +resource file and an 8-bit resource file: the RCOMP padding algorithm puts in an additional
1.69 +padding byte, which is now checked. Used _LIT() for the resource file names and arranged to build
1.70 +the TRSC resource via the T_RSC.MMP file.
1.71 +
1.72 +Extended T_RSREAD.CPP to test resources and arrays which contains a mixture of 8 and 16 bit text,
1.73 +organised to test zero-length strings and Unicode strings with both odd and even alignment.
1.74 +Added the TRSC resource to the T_RSREAD.MMP file for good measure, and get the resource file name
1.75 +from the shared T_RSC.H include file.
1.76 +
1.77 +Modified BLD.INF to mark T_CLINE as a manual test and T_LIBT as a supporting DLL.
1.78 +
1.79 +NB ALSO INCLUDES CHANGES MADE IN RELEASE 100 WHICH ARE NOT DOCUMENTED HERE
1.80 +
1.81 +
1.82 +Version 1.00.091
1.83 +================
1.84 +Made by DavidK, 27 May 1999
1.85 +
1.86 +Uses as 090. Identical release to 090 apart from wins urel and Marm variants also built.
1.87 +
1.88 +Version 1.00.090
1.89 +================
1.90 +Made By DavidK, 26 May 1999
1.91 +
1.92 +Uses E32/156, F32/122, STORE/050, E32UTILS/019,
1.93 + E32TOOLS/095, E32TOOLP/098, EIKTOOLS 133
1.94 +
1.95 +Renamed the class BaflFileSortTable to CBaflFileSortTable so source incompatible but BC with 089
1.96 +(which was a frozen deffile version of 088)
1.97 +Intended for use with the first public release of Uikon.
1.98 +
1.99 +Version 1.00.088
1.100 +================
1.101 +Made by MarcoS, 29 April 1999
1.102 +
1.103 + Uses E32/156, F32/122, STORE/050, E32UTILS/019,
1.104 + E32TOOLS/095, E32TOOLP/098, EIKTOOLS 128
1.105 +
1.106 +The sound staff has been moved from Bafl to form a new component: BaflSnd.
1.107 +
1.108 +Most of the utilities defined on EikUtils (Eikon) have been transferred
1.109 +to BaflUtils (Bafl).
1.110 +
1.111 +
1.112 +Version 1.00.087
1.113 +================
1.114 +Made by ChrisD, 4 December 1998
1.115 +
1.116 + Uses E32/156, F32/122, STORE/050, E32UTILS/019,
1.117 + E32TOOLS/095, E32TOOLP/098, EIKTOOLS 128
1.118 +
1.119 +Minor source changes for boilerplating Symbian copyright text.
1.120 +MNT command changed to use new version of E32TOOLP (098) and
1.121 +valid command modified to use new evalid command for validation.
1.122 +ROM building scripts updated so ROM could be built.
1.123 +
1.124 +Built using VC5 and Service Pack 3. Release tested on the following
1.125 +variants:
1.126 +
1.127 +wins/deb marm/deb
1.128 +wins/rel marm/rel
1.129 +wins/udeb marm/udeb
1.130 +wins/urel marm/urel
1.131 +
1.132 +All tests passed on a PB rack. Note that test code T_SNDDA will fail
1.133 +under WINS on PC's without a soundcard.
1.134 +
1.135 +Version 1.00.086
1.136 +================
1.137 +Made by MattM 28 October 1998
1.138 +
1.139 + Uses E32/156, F32/122, STORE/050, E32UTILS/019,
1.140 + E32TOOLS/095, E32TOOLS/096, EIKTOOLS 128
1.141 +
1.142 +Changed Unicode third UID on BAFL.DLL
1.143 +Changed Unicode second UID on clipboard file
1.144 +
1.145 +Version 1.00.085
1.146 +================
1.147 +(Made by SimonC, 29 September 1998)
1.148 +
1.149 + Uses E32/125, F32/095, STORE/047, E32UTILS/019,
1.150 + E32TOOLS/092, E32TOOLS/091, EIKTOOLS 128
1.151 +
1.152 +Backwards but not forwards compatible with 078
1.153 +Built using VC5. .PDBs are incompatible with VC4
1.154 +
1.155 +1) Changed RResourceFile::ConfirmSignatureL() to always confirm resource
1.156 +file signatures on the assumption that no-one can possibly be using version
1.157 +003 files any longer (they were superceded two years ago) and the existing
1.158 +resource layout and structures are fixed now for as long as we support BC.
1.159 +
1.160 +2) Added RResourceFile::SignatureL() which returns the signature of the
1.161 +resource file. This shouldn't be required by anyone or anything other than
1.162 +Eikon.
1.163 +
1.164 +3) Changed const TUint KBaflCharTruncation in BAUTILS.H to a const TUint to
1.165 +prevent a VC5 warning.
1.166 +
1.167 +Note that test code T_SNDDA will fail in wins builds on pcs without a sound card
1.168 +
1.169 +
1.170 +
1.171 +Version 1.00.078
1.172 +================
1.173 +(Made by SimonC, 16 Mar 1998)
1.174 +
1.175 + Uses E32/125, F32/095, STORE/047, E32UTILS/019,
1.176 + E32TOOLS/092, E32TOOLS/091, EIKTOOLS 125
1.177 +
1.178 +No source changes - rebuilt with E32 125 et al
1.179 +
1.180 +Changed *.IBY to support unicode ROMs and reflect recent E32 changes
1.181 +
1.182 +All WINS and MARM release releases entirely forward compatible
1.183 +MARM Debug releases are incompatible
1.184 +
1.185 +
1.186 +
1.187 +Version 1.00.077
1.188 +================
1.189 +(Made by SimonC, 9 Dec 1997)
1.190 +
1.191 + Uses E32/107, F32/074, STORE/043, E32TOOLS/082, EIKTOOLS 123
1.192 +
1.193 +Backward but not forward compatible with 076
1.194 +
1.195 +From MartinT
1.196 +In bacline.*, class CCommandLineArguments(), which gives Count() and
1.197 +Arg() functions whose purpose is similar to argv and argc parsing in
1.198 +conventional C/C++ programming. This class is mainly intended for WINC
1.199 +programs which, unlike most regular EPOC32 programs, actively use their
1.200 +command-line arguments.
1.201 +
1.202 +From SimonC
1.203 +Converted to MAKMAKE and moved building verbs from MNT.CMD to EBLD.BAT
1.204 +
1.205 +
1.206 +Version 1.00.076
1.207 +================
1.208 +(Made by DavidW, 28 May 1997)
1.209 +
1.210 + Uses E32/107, F32/074, STORE/043, E32TOOLS/067
1.211 +
1.212 +Completely BC with 075
1.213 +
1.214 +Built with Platform 001 releases
1.215 +
1.216 + Size of BAFL.DLL: 28,432 bytes (ARMREL)
1.217 + 35,568 bytes (ARMDEB)
1.218 +
1.219 +MNT VALID works on a clean drive
1.220 +
1.221 +1) Upgraded to Platform 001 releases
1.222 +
1.223 +2) Fixed SW3-868: Resource language file look-up fails to find a
1.224 +*.R01 file (though, as is often the cases with "simple fixes", the
1.225 +fix wasn't quite so simple after all!)
1.226 +
1.227 +3) Fixed SW3-827 by adding MAP files to the releasable file lists
1.228 +
1.229 +4) The advent of EChangesSystemTime in E32 106 had the side-effect
1.230 +of breaking a very restrictive test in Bafl test code T_CNTF. This
1.231 +could be viewed as highlighting a non-BC feature in the E32 changes;
1.232 +but it's already been decided that we can live with this (no real app
1.233 +ought to be making a test like that in T_CNTF). This test code has
1.234 +now been improved to avoid this problem (and, hopefully, to make it
1.235 +immune against any future additions to the TChanges enum)
1.236 +
1.237 +5) Fixed a problem with building the test code in ARMDEB (shown up
1.238 +when there was no prior build of the test code in ARMREL)
1.239 +
1.240 +
1.241 +Version 1.00.075
1.242 +================
1.243 +(Made by DavidW, 8 May 1997)
1.244 +
1.245 + Uses E32/101, F32/069, STORE/042, E32TOOLS/063
1.246 +
1.247 + **Almost** completely compatible with 074
1.248 +
1.249 + **IMPORTANT** See note about "descriptor arrays" below
1.250 +
1.251 + WINS release, debug, unicode release and unicode debug
1.252 + ARM release, debug, unicode release and unicode debug
1.253 +
1.254 + Size of BAFL.DLL: 28,420 bytes (ARMREL)
1.255 + 35,556 bytes (ARMDEB)
1.256 +
1.257 +MartinB has pointed out that the API of the descriptor array classes
1.258 +has one real drawback to it: the MdcaPoint() functions were returning
1.259 +
1.260 + const TDesC&
1.261 +
1.262 +whereas there are many advantages to them instead returning
1.263 +
1.264 + TPtrC
1.265 +
1.266 +For example, this causes real problems for the Shell, and has in the
1.267 +past caused real problems with the printer model name array in Eikon
1.268 +
1.269 +After prolonged discussions with MartinB, Bill, and Geert and myself,
1.270 +we decided to "do the right thing" and *** break API compatibility
1.271 +*** to that extent. This will avoid much lurking death in the
1.272 +future, to do with temporary variables disappearing as the stack
1.273 +unwinds, etc.
1.274 +
1.275 +All code that uses descriptor arrays - whether of the MDesCArray or
1.276 +CDesCArray or whatever type - should be recompiled. That should be
1.277 +the only change necessary.
1.278 +
1.279 +Note however that if you previously assigned the result of an
1.280 +MdcaPoint operation to a
1.281 +
1.282 + const TDesC&
1.283 +
1.284 +reference variable on the stack in some code, you should now change
1.285 +this code to assign it to a
1.286 +
1.287 + TPtrC
1.288 +
1.289 +variable instead.
1.290 +
1.291 +*** Note that because the operator[] function of CDesCArray is
1.292 +defined as being equivalent to its MdcaPoint() function, you may need
1.293 +some care to find these cases.
1.294 +
1.295 +All EXPORTed functions retain their same ordinal values.
1.296 +
1.297 +
1.298 +Version 1.00.074
1.299 +================
1.300 +(Made by DavidW, 7 May 1997)
1.301 +
1.302 + Uses E32/101, F32/069, STORE/042, E32TOOLS/063
1.303 +
1.304 + Completely compatible with 073
1.305 +
1.306 + WINS release, debug, unicode release and unicode debug
1.307 + ARM release, debug, unicode release and unicode debug
1.308 +
1.309 + Size of BAFL.DLL: 28,284 bytes (ARMREL)
1.310 + 35,440 bytes (ARMDEB)
1.311 +
1.312 +From AndrewT:
1.313 +-------------
1.314 +1. Fixed a potential bug with "change leakage" in
1.315 + CEnvironmentChangeNotifier, when a change happening between
1.316 + the beginning and the end of a RunL could go undetected
1.317 +
1.318 + Removed the source-code dependency on the EChangesAll enum,
1.319 + which makes the source code build compatible with E32 105
1.320 + (and with any further changes to this enum that E32 might
1.321 + introduce in a future version)
1.322 +
1.323 + Updated test code to match.
1.324 +
1.325 +
1.326 +Version 1.00.073
1.327 +================
1.328 +(Made by DavidW, 6 May 1997)
1.329 +
1.330 + Uses E32/101, F32/069, STORE/042, E32TOOLS/063
1.331 +
1.332 + Backwards binary compatible with 072, but not forwards
1.333 +
1.334 + WINS release, debug, unicode release and unicode debug
1.335 + ARM release, debug, unicode release and unicode debug
1.336 +
1.337 + Size of BAFL.DLL: 28,284 bytes (ARMREL)
1.338 + 35,440 bytes (ARMDEB)
1.339 +
1.340 +1. New header file BAERRHAN.H, defining the interface of an
1.341 + abstract "error handler"
1.342 +
1.343 + New function CBaActiveScheduler::LeaveForErrorHandler
1.344 + which takes a const CBaErrorHandler* pointer
1.345 +
1.346 + The implementor of the DisplayError function in the concrete
1.347 + subclass of CBaActiveScheduler (or something to which that
1.348 + delegates, eg the implementor of CEikonEnv::HandleError) must
1.349 + follow the contract that -
1.350 +
1.351 + - when the Leave has unwound, the CBaErrorHandler object gets
1.352 + sent a HandleError() function. This function is declared
1.353 + pure virtual at the CBaErrorHandler level.
1.354 +
1.355 + There are two parameters to this function - a reference to an
1.356 + "error text" descriptor, and one to a "context text"
1.357 + descriptor. The function can fill these in with text that
1.358 + the environment will then display.
1.359 +
1.360 + The HandleError() function should return one of
1.361 +
1.362 + EAlertDisplay - use the standard alert dialog
1.363 + EInfoDisplay - use an info message
1.364 + (context text will be ignored)
1.365 + ENoDisplay - no display required
1.366 + (both text buffers will be ignored)
1.367 + EErrorNotHandled - fall back to standard processing
1.368 +
1.369 + Some test code for CBaErrorHandler has been added to T_SCHED
1.370 +
1.371 + ** Note that this BAERRHAN.H is an enhancement to the copy of
1.372 + this file provisionally contained in EIKON 183. In order to
1.373 + move up to BAFL 073, you must also move up to EIKON 184
1.374 +
1.375 +2. Removed the last remaining scare comments from BAFL source code
1.376 +
1.377 +3. Provided explicit enumeration for all the panics in BAFLPAN.H
1.378 +
1.379 +4. Tweak to T_RSC test code to cope with the file copied from
1.380 + ROM to RAM nowadays ending up as read-only (bad news if you
1.381 + want to run the test more than once)
1.382 +
1.383 +*** Known limitation - the test code fails to build cleanly for
1.384 +Unicode (WINS) and so several of the test apps fail. No problems
1.385 +with any of the Narrow builds or test code, though
1.386 +
1.387 +
1.388 +
1.389 +Version 0.06.072
1.390 +================
1.391 +(Made by AjThoelke, 30 April 1997)
1.392 +
1.393 +1. Uses E32/101, F32/069, STORE/042, E32TOOLS/063
1.394 +
1.395 + Backwards binary compatible with 071, but not forwards:
1.396 +
1.397 + Build against 072 only if you use CSoundPlayer::PlayTone() or
1.398 + SoundUtilities::PlayTone()
1.399 + Build against 071 if you use CClipboard::Clear()
1.400 + Otherwise build against 069
1.401 +
1.402 + WINS release, debug, unicode release and unicode debug
1.403 + ARM release, debug, unicode release and unicode debug
1.404 +
1.405 + Size of BAFL.DLL: 28,252 bytes (ARMREL)
1.406 + 35,392 bytes (ARMDEB)
1.407 +
1.408 +From Brendan
1.409 +
1.410 +1. Fixed SW-4266. Incorrect assert in matcher code.
1.411 +
1.412 +From DavidW
1.413 +
1.414 +2. Fixed SW-4477. KErrLeaveNoAlert is passed on to
1.415 + CBaActiveScheduler::DisplayError() for EIKON to cancel busy messages.
1.416 +
1.417 +From AndrewT
1.418 +
1.419 +3. Fixed SW-4619. Sound files are not assumed to have the default extension
1.420 + ".snd".
1.421 +
1.422 + Note for ROM builders: Alarm samples in Z:\System\Alarms\ should not have
1.423 + the extension ".snd" any more. They will still work, but the public
1.424 + alarm name will be reported as "Soft Bells.snd" rather than "Soft Bells"
1.425 + for example. (The files released as BAFL ALARMS have not changed their
1.426 + names and still have a .snd extension)
1.427 +
1.428 +4. Fixed SW-4610. Ensure that the sample is left in a valid state when
1.429 + trying to complete the recording when in a Disk Full situation.
1.430 +
1.431 +5. Implemented SW-4007. Two new services are provided by BAFL.
1.432 +
1.433 + void CSoundPlayer::PlayTone(TInt aFrequency,TTimeIntervalMicroSeconds32 aDuration,TInt aAmplitude)
1.434 +
1.435 + This makes the player play a sine-wave generated tone on the sound
1.436 + device at the frequency and amplitude specified for aDuration.
1.437 + Completion is notified via the observer as for other CSoundPlayer
1.438 + Play... services.
1.439 +
1.440 + TInt SoundUtilities::PlayTone(TInt aFrequency,TTimeIntervalMicroSeconds32 aDuration,
1.441 + TInt aAmplitude,TDeviceVolume aVolume)
1.442 +
1.443 + This service opens and configures the sound device and plays a sine-wave
1.444 + generated tone as specified, then closes the device. The function only
1.445 + returns after the tone has finished playing.
1.446 +
1.447 + The TDeviceVolume parameter maps onto the sound device volume settings.
1.448 + Experimenting with the device volume and amplitude values is recommended
1.449 + for getting a good tone volume...
1.450 +
1.451 +
1.452 +Version 0.06.071
1.453 +================
1.454 +(Made by AjThoelke, 24 April 1997)
1.455 +
1.456 +1. Uses E32/099, F32/069, STORE/042, E32TOOLS/063
1.457 +
1.458 + Backwards binary compatible with 070, but not forwards
1.459 +
1.460 + WINS release, debug, unicode release and unicode debug
1.461 + ARM release, debug, unicode release and unicode debug
1.462 +
1.463 + Size of BAFL.DLL: 27,748 bytes (ARMREL)
1.464 + 34,844 bytes (ARMDEB)
1.465 +
1.466 +2. Added new exported function
1.467 +
1.468 + static TInt CClipboard::Clear(RFs&);
1.469 +
1.470 + This will clear the clipboard of its contents. Initially it will
1.471 + try to do this by truncating the file, if this fails then it will
1.472 + attempt to delete the file. I the clipboard cannot be cleared the
1.473 + error is returned
1.474 +
1.475 +
1.476 +Version 0.06.070
1.477 +================
1.478 +(Made by AjThoelke, 22 April 1997)
1.479 +
1.480 +1. Uses E32/099, F32/069, STORE/042, E32TOOLS/063
1.481 +
1.482 + Binary compatible with 069
1.483 +
1.484 + WINS release, debug, unicode release and unicode debug
1.485 + ARM release, debug, unicode release and unicode debug
1.486 +
1.487 + Size of BAFL.DLL: 27,564 bytes (ARMREL)
1.488 + 34,656 bytes (ARMDEB)
1.489 +
1.490 +2. Fixed SW-3879. Over-aggressive asserts have been modified to handle
1.491 + abort states in CSoundData objects, and more graceful handling of
1.492 + serious file server failures (i.e. not panicing).
1.493 +
1.494 +
1.495 +Version 0.06.069
1.496 +================
1.497 +(Made by AjThoelke, 16 April 1997)
1.498 +
1.499 +1. Uses E32/098, F32/068, STORE/042, E32TOOLS/063
1.500 +
1.501 + Binary compatible with 068
1.502 +
1.503 + WINS release, debug, unicode release and unicode debug
1.504 + ARM release, debug, unicode release and unicode debug
1.505 +
1.506 + Size of BAFL.DLL: 27,504 bytes (ARMREL)
1.507 + 34,572 bytes (ARMDEB)
1.508 +
1.509 +2. New Uid scheme adopted for MARM releasables. For MARM, requires
1.510 + E32 098 for anything other than narrow release.
1.511 +
1.512 +3. Refixed SW-2836. The relevant parties have been beaten into submission:
1.513 +
1.514 + a) F32 will not report changes when the first 16 bytes of a file
1.515 + are touched.
1.516 +
1.517 + b) The clipboard has reverted to the 065 behaviour: try to open,
1.518 + if that succeeds truncate the file and carry on, if it fails
1.519 + replace the file.
1.520 +
1.521 + c) The Shell will hold off from scanning for a short delay
1.522 + before checking what's happened to allow files to have their
1.523 + header written before the Shell interrogates their type.
1.524 +
1.525 + d) Components which are too slow even for this should be using a
1.526 + temporary file to write to in the first place, and rename it to
1.527 + the final destination once it is good (and typed). Temporary
1.528 + files do not cause change notification.
1.529 +
1.530 +4. Revert following failure on CSoundData has been added to CommitHeaderL(),
1.531 + ExternalizeL() and SaveL(). Previously a seek would have been required
1.532 + to force it to revert.
1.533 +
1.534 +
1.535 +Version 0.06.068
1.536 +================
1.537 +(Made by AjThoelke, 14 April 1997)
1.538 +
1.539 +1. Uses E32/097, F32/067, STORE/041
1.540 +
1.541 + Binary compatible with 067
1.542 +
1.543 + WINS release, debug, unicode release and unicode debug
1.544 + ARM release, debug, unicode release and unicode debug
1.545 +
1.546 + Size of BAFL.DLL: 27,364 bytes (ARMREL)
1.547 + 34,452 bytes (ARMDEB)
1.548 +
1.549 +2. Fixed the T_SNDDA bug. I had been testing against BC test executables,
1.550 + which did not pick up that the constant KSoundDataChunkLength had been
1.551 + mangled (8 instead of 800). This would have also caused CSoundSampler
1.552 + and CSoundPlayer to be broken.
1.553 +
1.554 +
1.555 +Version 0.06.067
1.556 +================
1.557 +(Made by DavidW, 13 April 1997)
1.558 +
1.559 +1. Uses E32/097, F32/067, STORE/041
1.560 +
1.561 + *Not* binary compatible with any previous version
1.562 + (But source compatible with 065)
1.563 +
1.564 + WINS release, debug, unicode release and unicode debug
1.565 + ARM release, debug, unicode release and unicode debug
1.566 +
1.567 + Size of BAFL.DLL: 27,364 bytes (ARMREL)
1.568 + 34,452 bytes (ARMDEB)
1.569 +
1.570 +2. Consolidated some code from CONE's CCoeActiveScheduler into
1.571 + BAFL's CBaActiveScheduler (shame it will never make it all
1.572 + the way into CActiveScheduler)
1.573 +
1.574 + Virtual function DisplayError() defined in CBaActiveScheduler
1.575 + no implementation at BAFL level
1.576 +
1.577 + The CActiveScheduler function Error() now has the following
1.578 + implementation in BAFL:
1.579 +
1.580 +EXPORT_C void CBaActiveScheduler::Error(TInt aError) const
1.581 + {
1.582 + if (aError==KLeaveExit)
1.583 + User::Leave(KLeaveExit);
1.584 + if (aError==KLeaveWithoutAlert)
1.585 + return;
1.586 + DisplayError(aError);
1.587 + }
1.588 +
1.589 + New function DisplayExtendedError(), as follows
1.590 +
1.591 +EXPORT_C void CBaActiveScheduler::DisplayExtendedError(TUid aComponent,TInt aErrorNumber)
1.592 + { // static
1.593 + CBaActiveScheduler* pS=((CBaActiveScheduler*)CActiveScheduler::Current());
1.594 + pS->iExtendedError.iInformation=EFalse;
1.595 + pS->iExtendedError.iComponent=aComponent;
1.596 + pS->iExtendedError.iErrorNumber=aErrorNumber;
1.597 + pS->DisplayError(KErrExtended);
1.598 + }
1.599 +
1.600 + The difference between DisplayExtendedError() and eg
1.601 + ExtendedLeave() is that the former calls Leave first, and
1.602 + relies on the Error() function being called later.
1.603 + Whereas the former calls the Error() function directly,
1.604 + and is then free eg to retry the current operation.
1.605 +
1.606 + So, the assumption is that the Error() function will be
1.607 + implemented "with wait".
1.608 +
1.609 +3. New test app T_SCHED testing the CBaActiveScheduler class
1.610 +
1.611 +4. Put two virtual Reserved_xxx() functions into CBaActiveScheduler
1.612 +
1.613 +5. Changed KUidBaflDll from 0x10000043 to 0x100004e to avoid a clash
1.614 +
1.615 +6. Fixed the MNT VALID verb
1.616 +
1.617 +7. Known limitations
1.618 +
1.619 + * the way DEF files get archived for WINS looks wrong
1.620 +
1.621 + * test code T_SNDDA hangs under ARM (and runs horribly horribly
1.622 + slowly under WINS) - note this is true in 066 too and isn't
1.623 + anything I have introduced
1.624 +
1.625 +
1.626 +Version 0.06.066
1.627 +================
1.628 +(Made by AjThoelke, 11 April 1997)
1.629 +
1.630 +1. Uses E32/097, F32/067, STORE/041
1.631 +
1.632 + To all known purposes: Binary compatible with 065.
1.633 +
1.634 + WINS release, debug, unicode release and unicode debug
1.635 + ARM release, debug, unicode release and unicode debug
1.636 +
1.637 +2. The protected interface of CSoundData, CSoundSampler and CSoundPlayer
1.638 + has been privatised. This is for future BC purposes, and they couldn't
1.639 + usefully be derived from anyway.
1.640 +
1.641 +3. System file and path names within BAFL (e.g. the clipboard) now use
1.642 + capitalised names.
1.643 +
1.644 +4. CSoundSampler is now using a block length of 800 samples (previously
1.645 + 400). This means that samples recorded with BAFL 066 will not be
1.646 + playable with 065, but older samples will play happily on 066.
1.647 +
1.648 +5. CSoundSampler has gained TInt Volume() and void SetVolume(TInt).
1.649 + These squeeze an extra bit of data into the persistent data of a sound
1.650 + sample: the player/sampler do not utilise this information, it is
1.651 + provided for the RECORD app.
1.652 +
1.653 + The limitation is that the repeat count is limited to 65535 (big deal
1.654 + eh?), and the volume stored must be in the range 0-65535.
1.655 +
1.656 +6. Unfixed SW-2836. The file system now reports changes even if the header
1.657 + of a file is re-written so the scheme in place was not effective.
1.658 + Clipboard is still being replaced every time now.
1.659 +
1.660 +
1.661 +Version 0.06.065
1.662 +================
1.663 +(Made by AjThoelke, 9 April 1997)
1.664 +
1.665 +1. Uses E32/096, F32/065, STORE/040
1.666 +
1.667 + Binary compatible with 064 except for one thing (see 2).
1.668 +
1.669 + WINS release, debug, unicode release and unicode debug
1.670 + ARM release, debug, unicode release and unicode debug
1.671 +
1.672 +2. The two extended errors for clipboard use have been removed. This upsets
1.673 + the enum ordering in BAERROR.H and introduces an incompatibility if you
1.674 + use this enumeration. I understand this affects almost nobody: certainly
1.675 + no-one who has yet built against BAFL 064, and so have been advised to
1.676 + let this one slip in at this stage. So if you do include BAERROR.H, make
1.677 + sure you compile against 065 not 064.
1.678 +
1.679 +3. All MARM releasables are pre-PETRAN'd, so get rid of your obey file
1.680 + UIDs for BAFL.
1.681 +
1.682 +4. Sampled alarm sounds now live in \system\alarms\, previously
1.683 + \system\sounds\, as this better reflects what this directory is used
1.684 + for.
1.685 +
1.686 +5. Fixed bug SW-2836. The clipboard now attempts to open the clipboard file
1.687 + and truncate it, rather than always replace it, in order to prevent the
1.688 + clipboard generate unecessary change notification.
1.689 +
1.690 +6. Fixed bug SW-2721. If the clipboard store has no root stream when
1.691 + destroyed, the clipboard file is deleted. This handles any case of
1.692 + failure during copying to the clipboard. Note that the first thing that
1.693 + happens during a paste operation is that the current contents of the
1.694 + clipboard are discarded.
1.695 +
1.696 +7. Modified the behaviour of the clipboard when trying to read when the
1.697 + clipboard does not exist, is being copied to, is corrupt or otherwise
1.698 + damaged. In all these situations an empty CClipboard object is returned
1.699 + from CClipboard::NewForReadingL[C](). More serious errors (or OOM) are
1.700 + reported as normal.
1.701 +
1.702 + These situations are all considered to be equivalent to there being no
1.703 + data to paste from the clipboard, and will therefore be handled already
1.704 + by the code which attempts to find some suitable data type in the
1.705 + clipboard stream dictionary.
1.706 +
1.707 + This has resulted in the two clipboard extended errors being no longer
1.708 + required.
1.709 +
1.710 +8. New releasables:
1.711 +
1.712 + WINSCPR contains DEF files for all WINS builds of compressor DLLs.
1.713 + EMARMCPR contains FRZ files for all MARM builds of compressor DLLs.
1.714 +
1.715 + They require that the DLLs exports a function with the prototype:
1.716 +
1.717 + CCompressorBase* NewCompressorL();
1.718 +
1.719 + See the dummy compressors which are part of the BAFL source for examples
1.720 + of how to build them for WINS and ARM: WINS adds a /def option to the
1.721 + linker command line, MARM uses freeze file technology.
1.722 +
1.723 + These releaseables are extracted to \epoc32\release\wins and
1.724 + epoc32\release\marm as part of MNT GETREL.
1.725 +
1.726 +
1.727 +Version 0.06.064
1.728 +================
1.729 +(Made by AjThoelke, 7 April 1997)
1.730 +
1.731 +1. Uses E32/096, F32/065, STORE/040
1.732 +
1.733 + Binary incompatible with 063.
1.734 + Source compatible with 063 with the exception of the CFindFileByType
1.735 + class.
1.736 +
1.737 + WINS release, debug, unicode release and unicode debug
1.738 + ARM release, debug, unicode release and unicode debug
1.739 +
1.740 + Further review for the purposes of binary compatibility issues and
1.741 + conversion from export to inline has resulted in more changes.
1.742 +
1.743 +2. WINS builds are now link-by-ordinal.
1.744 +
1.745 +3. MARM builds now incorporate type-safe linkage: BAFL's uid3 is 0x10000043.
1.746 +
1.747 +4. Added CBaflUtils::NearestLanguageFile(RFs& aFs,TFileName& aFileName).
1.748 + This has been taken from the EIKON utility of the same name. The last
1.749 + two characters of the filename are replaced with the language code if
1.750 + such a file exists, otherwise the name is left unchanged.
1.751 +
1.752 +5. CFindFileByType now has the following API:
1.753 +
1.754 + CFindFileByType(RFs& aFs);
1.755 + ~CFindFileByType();
1.756 + TInt FindFirst(const TDesC& aName,const TDesC& aDir,const TUidType& aType);
1.757 + TInt FindNext();
1.758 + const TEntry& Entry() const;
1.759 + const TParse& File() const;
1.760 +
1.761 + Following construction, the object can be used for mulitple finding
1.762 + sessions.
1.763 +
1.764 + To initiate a find, call FindFirst(): the name can have wild
1.765 + cards, any path information not in aName is taken from aDir. A file type
1.766 + is also specified in aType. For any Uids in aType which are not KNullUid,
1.767 + a matching file will have the same Uid in that position. i.e. to find
1.768 + document files use TUidType(KNullUid,KUidAppDllDoc).
1.769 +
1.770 + FindFirst() returns KErrNone if it has found a match, FindNext() will
1.771 + continue to search for the next matching file. KErrNotFound is returned
1.772 + when there are no more matches, any other return is an error code.
1.773 +
1.774 + When a matching file has been found, Entry() returns the TEntry for that
1.775 + file, and File() returns a TParse object containing the parsed full name
1.776 + for the file.
1.777 +
1.778 +The following changes do not affect source compatibility:
1.779 +
1.780 +6. CEnvironmentChangeNotifier now takes a const TCallback& in its NewL()
1.781 + and Set() members. Previously took TCallBack&.
1.782 +
1.783 +7. Various exported functions are now inline as befits their purpose.
1.784 +
1.785 +8. CDesC8Array constuctor is now protected, CDesC8ArrayFlat has a exported
1.786 + destructor to reduce extra vtable generation in any sub-classers. Ditto
1.787 + for CDesC8ArraySeg, and the unicode variants.
1.788 +
1.789 +9. TLibAssoc has a general base class TLibAssocBase, to hold the common
1.790 + code, reducing the template generated code, and also removes the
1.791 + templated assertion (now in TLibAssocBase).
1.792 +
1.793 +10. Improved the performance of the TResourceReader class.
1.794 +
1.795 +11. Factored common code in RIncrMatcherBase to reduce code volume.
1.796 +
1.797 +
1.798 +Version 0.06.063
1.799 +================
1.800 +(Made by AjThoelke, 2 April 1997)
1.801 +
1.802 +1. Uses E32/095, F32/064, STORE/040
1.803 +
1.804 + Binary compatible with 062
1.805 +
1.806 + WINS release, debug, unicode release and unicode debug
1.807 + ARM release and debug
1.808 +
1.809 + Following full review of BAFL code, I have fixed some bugs (see below)
1.810 + and tidied some other code resulting in some code savings. There are a
1.811 + few outstanding binary-incompatible changes that are on the waiting list.
1.812 +
1.813 +2. Fixed CEnvironmentChangeNotifier to close the RChangeNotifier when it is
1.814 + destroyed.
1.815 +
1.816 +3. Fixed RTextBuf to use the delete [] operator as it is using the new []
1.817 + operator. Previously it was not using the array delete operator.
1.818 +
1.819 +4. Major fixes to SoundUtilities: No non-leaving functions can now leave,
1.820 + no alloc heaven following failures at any stage, private static members
1.821 + are now local static to the source file and removed from the class
1.822 + declaration.
1.823 +
1.824 +5. Fixed SW-2001. Duplicate names in the list of alarm sounds or samples
1.825 + are ignored. This matches the behaviour of CSoundPlayer: as soon as a
1.826 + viable sound is found which matches the name, it is played.
1.827 +
1.828 + Note that this means it though may be possible to save an sample as an
1.829 + alarm called "Chimes", it'll never get played as an alarm while an
1.830 + algorithmic sound of the same name exists.
1.831 +
1.832 +6. Revised code for CFindFileByType to attempt a reduction in stack usage
1.833 + by TFileName and TParse objects, to reduce code size, and to eliminate
1.834 + problems when handling failures.
1.835 +
1.836 +7. Removed unecessary (inline) copy constructors from TCellRef and
1.837 + TRangeRef.
1.838 +
1.839 +8. Included s32file.h into baclipb.h as CClipboard::Store() requires the
1.840 + derivation relationship between CFileStore and CStreamStore.
1.841 +
1.842 +9. CClipboard::CopyToL(const TReal&) now commits the stream it has written.
1.843 +
1.844 +10. The clipboard has been moved from the very strangely named
1.845 + c:\system\clipbd\main.sto to the somewhat more sensible sounding
1.846 + c:\system\data\clipboard
1.847 +
1.848 +11. Beefed up CSoundData's handling of in-place sample files being corrupt
1.849 + or requiring truncation when opened or following (serious) failure.
1.850 +
1.851 +
1.852 +
1.853 +Version 0.06.062
1.854 +================
1.855 +(Made by AjThoelke, 26 March 1997)
1.856 +
1.857 +1. Uses E32/094, F32/063, STORE/038
1.858 +
1.859 + Binary compatible with 061
1.860 +
1.861 + WINS release, debug, unicode release and unicode debug
1.862 + ARM release and debug
1.863 +
1.864 +2. Fixed a bug when recording to the end of a just-opened sample, which
1.865 + resulted in data loss, and end of file errors.
1.866 +
1.867 +3. Correctly update the current position during recording when a compressor
1.868 + is in use.
1.869 +
1.870 +4. Avoid a panic from CActive when abandoning the background indexing, and
1.871 + ensure the sampler restores its active priority as necessary.
1.872 +
1.873 +5. Allow UseSeekIndexL to be called any number of times without causing
1.874 + stray signals, or other nasty problems.
1.875 +
1.876 +
1.877 +Version 0.06.061
1.878 +================
1.879 +(Made by AjThoelke, 26 March 1997)
1.880 +
1.881 +1. Uses E32/094, F32/063, STORE/038
1.882 +
1.883 + Binary compatible with 060 if you are not the RECORD app.
1.884 +
1.885 + WINS release, debug, unicode release and unicode debug
1.886 + ARM release and debug
1.887 +
1.888 +2. Renamed CSoundPlayerRecorder to CSoundSampler, similarly for its
1.889 + observer.
1.890 +
1.891 +3. Fully construct the CTimer part of CSoundSampler, previously this
1.892 + caused a panic when playing a sample.
1.893 +
1.894 +4. Added CSoundSampler::TruncateL() to truncate the sample to the current
1.895 + position.
1.896 +
1.897 +5. Implemented a compressed sound data manager. This can use a temporary
1.898 + index to enable fast random seeking in the sample.
1.899 +
1.900 + The default is not to have one, as it is not needed for playing sounds,
1.901 + enabling it will result in an index being built as the sound is
1.902 + played (and so can cause OOM errors while playing). Compressed samples
1.903 + do not allow random seeking without the index, only seeking to the
1.904 + beginning or end of the sample.
1.905 +
1.906 + CSoundSampler::UseSeekIndexL() will enable the indexing, and will cause
1.907 + the sampler to build the index in the background, which is abandoned
1.908 + whenever another operation is started.
1.909 +
1.910 +6. Generally improved the robustness of the sampler when recording
1.911 + terminates in resticted memory or disk space scenarios, and ordered the
1.912 + file header re-writes to maintain document integrity in the presence of
1.913 + failures.
1.914 +
1.915 +
1.916 +Version 0.06.060
1.917 +================
1.918 +(Made by AjThoelke, 25 March 1997)
1.919 +
1.920 +1. Uses E32/094, F32/063, STORE/038
1.921 +
1.922 + For most people: Binary compatible with 059.
1.923 + Binary incompatible if you use any of the functions
1.924 +
1.925 + CSoundData::NewL(CStreamStore&,TStreamId);
1.926 + CSoundPlayerRecorder::NewL(MSoundPlayerRecorderObserver&,CStreamStore&,TStreamId);
1.927 + CSoundData::SaveToL(RFile&);
1.928 + CSoundPlayerRecorder::SaveToL(RFile&);
1.929 +
1.930 + (This should only be the RECORD app).
1.931 +
1.932 +2. The two NewL() functions above now take a const CStreamStore&.
1.933 +
1.934 +3. The SaveTOL() functions have morphed into:
1.935 +
1.936 + SaveL(RFile& aNewFile,TBool aUseNewFile=EFalse);
1.937 +
1.938 + The sample is saved into the new file passed in. If aUseNewFile is true,
1.939 + then the sampler starts using the new file, and closes the old file. If
1.940 + false (the default) the new file is closed following this function.
1.941 +
1.942 + On any failure, the new file is closed automatically.
1.943 +
1.944 +4. Added CSoundPlayer::SoundType() returning TSoundType, which is one of
1.945 + ESoundAlgorithmic and ESoundSample. This reports the type of sound
1.946 + last played (or currently playing) using this object.
1.947 +
1.948 +5. Exported SoundUtilities::SoundStreamIdL(CPersistentStore&) to extract
1.949 + the sound stream id from the stream dictionary in sound samples.
1.950 +
1.951 +
1.952 +Version 0.06.059
1.953 +================
1.954 +(Made by AjThoelke, 24 march 1997)
1.955 +
1.956 +1. Uses E32/094, F32/063, STORE/038
1.957 +
1.958 + Binary incompatible with 058.
1.959 +
1.960 + WINS release, debug, unicode release and unicode debug
1.961 + ARM release and debug
1.962 +
1.963 + The main thrust of this release is to re-engineer the sound services to:
1.964 +
1.965 + * enable in-place recording of sound samples
1.966 + * modify the sound sample data format to improve seek performance
1.967 + * remove the TRequestStatus asynchronous API.
1.968 +
1.969 + Meanwhile I have totally revamped the API for the CSoundPlayer,
1.970 + CSoundPlayerRecorder and CSoundData classes. Code which does not use any
1.971 + of the sound classes or utilities will not need any modification to use
1.972 + this new version of BAFL.
1.973 +
1.974 + This release comes not entirely tested, and not entirely complete, in
1.975 + order to freeze the API now, rather than later. Binary compatible
1.976 + releases will be forth coming as the missing code is added and tested.
1.977 +
1.978 +From NeilD
1.979 +
1.980 +2. Transferred the utility EikThread::ExtractAppNameFromFullName(...)
1.981 + from EIKON to BAFL, now BaflUtils::ExtractAppNameFromFullName(...).
1.982 + This will be removed from EIKON as and when appropriate.
1.983 +
1.984 +From AndrewT
1.985 +
1.986 +3. CBulkData has been removed from the public API.
1.987 +
1.988 +4. CSoundPlayer is similar to its previous API:
1.989 +
1.990 + static CSoundPlayer* NewL(MSoundPlayerObserver& anObserver,RDevSound& aDev);
1.991 + void PlaySoundL(const TDesC& aName,RFs& aFs);
1.992 + void PlayFileL(const TDesC& aName,RFs& aFs);
1.993 + void PlayAlarm(const TDesC& aName);
1.994 + void PlayAlarm(TInt aAlarmIndex);
1.995 + void PlayFallBackAlarm();
1.996 + void Stop();
1.997 + TBool IsPlaying() const;
1.998 +
1.999 + To replace the I/O Semaphore API for notification of completion, an
1.1000 + MSoundPlayerObserver object is required. It's virtual PlayComplete(TInt)
1.1001 + member is invoked when the player has finished playing any sound,
1.1002 + passing any completion status as a parameter. Note that the player
1.1003 + still requires an active scheduler to be running to operate, but is no
1.1004 + longer itself an active object.
1.1005 +
1.1006 + Playing alarm sounds is guaranteed to not fail. PlayAlarm(const TDesC&)
1.1007 + attempts to find an alarm of the given name and play it, otherwise the
1.1008 + fall-back alarm is played. PlayAlarm(TInt) is as before, playing the
1.1009 + alarm by index.
1.1010 +
1.1011 + PlayFileL(...) will try to locate the named sound file and play it,
1.1012 + leaving on any error. PlaySoundL() will first try to find an alarm of
1.1013 + the given name, and if none is found will try to find the named sound
1.1014 + file, reporting an error if no such file exists.
1.1015 +
1.1016 + Stop() will synchronously terminate the current sound playing, and will
1.1017 + not cause the observer to be notified.
1.1018 +
1.1019 + IsPlaying() just reports whether a sound is currently being playing by
1.1020 + the object.
1.1021 +
1.1022 +5. CSoundData API has totally changed. It supports embedded or in-place
1.1023 + sound samples. It no longer uses temporary file for temporary storage, but
1.1024 + a chunk instead. This means that spontaneous death will not eat up
1.1025 + precious disk (& memory) space.
1.1026 +
1.1027 + The API is now expressed entirely in terms of byte positions within
1.1028 + the Alaw Sound sample, but provides conversion functions to and from
1.1029 + microseconds.
1.1030 +
1.1031 + Uncompressed sound data now supports immediate seeking to any position
1.1032 + in the sample. The compressed data manager has not been implemented yet,
1.1033 + and, selecting a compressor will currently result in uncompressed data.
1.1034 +
1.1035 + Recovery on failure and truncation of the sample in the face of OOM or
1.1036 + DiskFull errors are still being worked on, and have yet to be tested.
1.1037 +
1.1038 +6. CSoundPlayerRecorder has had its API changed as well. It also uses an
1.1039 + observer, rather than I/O semaphore to mark completion of its services.
1.1040 + This class has not been tested yet.
1.1041 +
1.1042 +7. CCompressorList has had some of its members name's changed.
1.1043 + Functionality is unchanged and still obvious.
1.1044 +
1.1045 +
1.1046 +Version 0.06.058
1.1047 +================
1.1048 +(Made by SteveG, 12-Mar-1997)
1.1049 +
1.1050 +Uses
1.1051 +E32 (091)
1.1052 +F32 (060)
1.1053 +STORE (037)
1.1054 +
1.1055 +1) Uses new sound driver functions for determining how many bytes have
1.1056 + been played, needed as the Record app now sets the sound drivers
1.1057 + buffer to 8000 bytes, and there will nearly always be 1 second of
1.1058 + sound remaining to be played when the end of the sample sound file
1.1059 + is reached
1.1060 +
1.1061 +Version 0.05.057
1.1062 +================
1.1063 +(Made by SteveG, 04-Mar-1997)
1.1064 +
1.1065 +Uses
1.1066 +E32 (090)
1.1067 +E32UTILS (008)
1.1068 +F32 (058)
1.1069 +STORE (036)
1.1070 +E32TOOLS (051)
1.1071 +EIKTOOLS (120)
1.1072 +RCOMP (313)
1.1073 +
1.1074 +1) Fixed panic when cancelling sounds played by PlaySoundFileByName. This
1.1075 + was not initialising the iDevSound property
1.1076 +
1.1077 +Version 0.05.056
1.1078 +================
1.1079 +(Made by SteveG, 03-Mar-1997)
1.1080 +
1.1081 +Uses
1.1082 +E32 (090)
1.1083 +E32UTILS (008)
1.1084 +F32 (058)
1.1085 +STORE (036)
1.1086 +E32TOOLS (051)
1.1087 +EIKTOOLS (120)
1.1088 +RCOMP (313)
1.1089 +
1.1090 +1) Altered the sound file format to store the uncompressed length of
1.1091 + each chunk, to speed up the seek functions. They no longer need
1.1092 + to read the chunk data in order to work out the duration of the
1.1093 + decompressed chunk
1.1094 +
1.1095 +Version 0.05.055
1.1096 +================
1.1097 +(Made by DavidW, 02-Mar-1997)
1.1098 +
1.1099 +Uses
1.1100 +E32 (090)
1.1101 +E32UTILS (008)
1.1102 +F32 (058)
1.1103 +STORE (036)
1.1104 +E32TOOLS (051)
1.1105 +EIKTOOLS (120)
1.1106 +RCOMP (313)
1.1107 +
1.1108 +Not binary compatible with any predecessor
1.1109 +
1.1110 +Size of BAFL.DLL: ArmRel 28,596 bytes, ArmDeb 32,036 bytes
1.1111 +
1.1112 +1) Upgraded to the latest releases of all upstream components
1.1113 +
1.1114 +2) Removed the TBoundedArray classes (and their test code)
1.1115 +
1.1116 +3) Removed the box layout classes (and their test code)
1.1117 +
1.1118 +4) Removed the function BaflUtils::ExtractMnemonic()
1.1119 +
1.1120 +5) Removed the function TResourceReader::SetJustBuffer()
1.1121 +
1.1122 +6) Brought the contents of \bafl\src\empty.cpp up to date
1.1123 +
1.1124 +7) Removed all reference to the #define __BAFL_B6__ and removed all
1.1125 +code branches in which this macro was *not* defined
1.1126 +
1.1127 +8) Added the class CBaActiveScheduler, containing code that ought to
1.1128 +migrate shortly into CActiveScheduler (and User and DThread). This
1.1129 +contains support for a grown-up error number system for the first
1.1130 +time. For further details, see the discussion in the EPOC32 Software
1.1131 +Design database on Notes
1.1132 +
1.1133 +9) Moved the functions Exit() and LeaveNoAlert() from
1.1134 +CCoeActiveScheduler to CBaActiveScheduler (and slightly changed their
1.1135 +implementation, to avoid some theoretical problems)
1.1136 +
1.1137 +10) Added the header file BAERROR.H containing Bafl-specific error
1.1138 +numbers, for the classes RResourceFile and CClipboard; improved the
1.1139 +code in BARSC.* and BACLIPB.* by taking advantage of this new scheme
1.1140 +
1.1141 +11) Changed the TInt ConfirmSignature function of RResourceFile into
1.1142 +a void ConfirmSignatureL function instead. If the resource file
1.1143 +fails to have the expected signature, this function now does a custom
1.1144 +KUidBaflDll Leave with KErrBaflWrongResourceFileSignature
1.1145 +
1.1146 +12) Changed the CClipboard class to do a custom KUidBaflDll Leave
1.1147 +with KErrBaflClipboardDoesNotExist in the case of (you guessed it)
1.1148 +the clipboard not existing. The Leave sets the "Information" bit, so
1.1149 +that the UI (ie Eikon level) should display an info message rather
1.1150 +than an alert dialog
1.1151 +
1.1152 +13) Modified the test code T_CLIPB in line with the above changes.
1.1153 +
1.1154 +Some limitations to report:
1.1155 +
1.1156 +The WINS UREL version of T_SPYRC intermittently crashes inside an
1.1157 +ASSERT_DEBUG in the sound driver.
1.1158 +
1.1159 +T_CELL gets lines 33-38 marked as "Unreachable code" when compiling
1.1160 +for Release mode under WINS.
1.1161 +
1.1162 +I suspect the class CFindFileByType ought to be removed too, being
1.1163 +superseded by F32 functionality.
1.1164 +
1.1165 +The T_BAFL.IBY hard-wires the location of T_RSC.RSC to a REL
1.1166 +directory, so it doesn't manage to build an ArmDeb ROM image unless
1.1167 +you've already built the ArmRel one.
1.1168 +
1.1169 +I had real difficulties in persuading the NMAKE for the ArmDeb build
1.1170 +to run at all, and only got it to run when I deleted all files on the
1.1171 +drive and re-installed from the network. Something needs
1.1172 +investigating further here!
1.1173 +
1.1174 +
1.1175 +Version 0.05.054
1.1176 +================
1.1177 +(Made by MartinB, 28-Feb-1997)
1.1178 +
1.1179 +Uses
1.1180 +E32 (089)
1.1181 +E32UTILS (006)
1.1182 +F32 (055)
1.1183 +STORE (035)
1.1184 +E32TOOLS (051)
1.1185 +EIKTOOLS (120)
1.1186 +RCOMP (313)
1.1187 +
1.1188 +1) Changed ReadALawData() and Read() to take a TBool to indicate
1.1189 + whether to read the data or just perform a seek to the file
1.1190 + position that would result if that read took place. This is
1.1191 + used to dramatically decrease the time taken when seeking to
1.1192 + a time in a sample. SeekToTime() now calls ReadALawData passing
1.1193 + in EFalse to indicate not to read the data. However, if a
1.1194 + compressor is in use, then the read must take place and the
1.1195 + TBool argument is ignored. (SteveG)
1.1196 +
1.1197 +2) Made some improvements to the TCellRef and TRangeRef classes. In
1.1198 +particular:
1.1199 +
1.1200 +a) Inlined some functions
1.1201 +b) Default constructors no longer initialize values to zero.
1.1202 +c) Removed unnecessary operator=() functions.
1.1203 +
1.1204 +
1.1205 +Version 0.05.053
1.1206 +================
1.1207 +(Made by Natasha, 07-Feb-1997)
1.1208 +
1.1209 +Uses
1.1210 +E32 (086)
1.1211 +E32UTILS (005)
1.1212 +F32 (050)
1.1213 +STORE (034)
1.1214 +E32TOOLS (051)
1.1215 +EIKTOOLS (119)
1.1216 +RCOMP (113)
1.1217 +
1.1218 +From Natascha:
1.1219 +1) The new clipboard functions CopyToL(const TReal& aReal) and
1.1220 +PasteFromL(TReal& aReal) were mistakenly declared as IMPORT_C in the
1.1221 +source file - changed them to EXPORT_C.
1.1222 +
1.1223 +
1.1224 +Version 0.05.052
1.1225 +================
1.1226 +(Made by SteveG, 03-Feb-1997)
1.1227 +
1.1228 +Uses
1.1229 +E32 (086)
1.1230 +E32UTILS (005)
1.1231 +F32 (050)
1.1232 +STORE (034)
1.1233 +E32TOOLS (051)
1.1234 +EIKTOOLS (119)
1.1235 +RCOMP (113)
1.1236 +
1.1237 +From SteveG:
1.1238 +1) Changed ReadDataL() in BABUKDA.CPP to use the store functions
1.1239 + for copying to and from stores and files, rather than copying
1.1240 + 256 bytes at a time in a tight loop. This increase dramatically
1.1241 + the speed of creating a temporary sample file and saving samples
1.1242 + (thanks to AndrewT for this)
1.1243 +
1.1244 +Version 0.04.051
1.1245 +================
1.1246 +(Made by PeterJ, 30-Jan-1997)
1.1247 +
1.1248 +Uses
1.1249 +E32 (086)
1.1250 +E32UTILS (005)
1.1251 +F32 (050)
1.1252 +STORE (034)
1.1253 +E32TOOLS (051)
1.1254 +EIKTOOLS (119)
1.1255 +RCOMP (113)
1.1256 +
1.1257 +NOT binary compatible with BAFL 050.
1.1258 +
1.1259 +
1.1260 +BAFL.DLL is 36648 bytes long (release), 41164 (debug).
1.1261 +
1.1262 +
1.1263 +The box layout test code T_BLO is temporarily removed from the
1.1264 +rack list because it provokes an internal error in the current GCC
1.1265 +compiler.
1.1266 +
1.1267 +
1.1268 +
1.1269 +
1.1270 +From PeterJ:
1.1271 +CLEAN verb added to the MNT command set.
1.1272 +
1.1273 +
1.1274 +From NataschaK:
1.1275 +
1.1276 +CClipboard member functions to copy/paste real numbers. These are included
1.1277 +to provide common functionality. There are architectural questions to answer
1.1278 +here. Is this the right place for such functionality? Should there be provision
1.1279 +for other low level data types?
1.1280 +
1.1281 +
1.1282 +
1.1283 +From Brendan:
1.1284 +A. Changes to CSoundData
1.1285 +-------------------------
1.1286 +
1.1287 +1) CSoundData::SeekToTime to take const reference argument (instead of const)
1.1288 +2) Added EBafPanicBulkDataNoDestination which is used rather than
1.1289 + EBafPanicBulkDataNoDataExist when no destination is specified in CopyDataToL()
1.1290 +3) Grouped similar functions in header for CBulkData
1.1291 +4) The function CBulkData::DeleteDataFromTheEnd(TInt aLength) now
1.1292 + checks for a -ve value of length.
1.1293 + Added TInt TruncateDataAt(TInt aPosition);
1.1294 + to delete data from a given offset from the start.
1.1295 +5) Added various private utility functions to CBulkData:
1.1296 + TBool DoesFileExist(const TDesC& aFullFileName) const;
1.1297 + void EnsurePathExistsL(const TDesC& aFullPath) const;
1.1298 + void MoveFileL(const TParseBase& aDest,const TParseBase& aSource);
1.1299 + TPtrC BulkDataTempFilePath() const;
1.1300 + TPtrC TemporaryFile() const;
1.1301 + void SetTemporaryFile(const TDesC& aName);
1.1302 + void InternalizeL(RReadStream& aStream);
1.1303 +6) CBulkData::SaveToNewStoreL now uses 1 TParse, instead of 2 TParses and a TFileName
1.1304 +7) CBulkData::SaveToNewStoreL renamed to MoveToNewStoreL()
1.1305 + It now deletes the old file if it was on the same drive as the new,
1.1306 + as well as if on different drives.
1.1307 + Note that this function will delete all data
1.1308 + under error circumstances.
1.1309 +8) Made internal use of CBulkData::IsReady... functions
1.1310 +9) CBulkData::DeleteDataFromTheEnd() and truncate now return KErrNotReady if
1.1311 + there is no data, rather than KErrNotFound.
1.1312 +
1.1313 +B. Changes to CSoundData
1.1314 +-------------------------
1.1315 +
1.1316 +1) Grouped similar functions in header for CSoundData
1.1317 +2) DataPlayTime renamed to SamplePlayLength
1.1318 + DataBeingreadTime renamed to CurrentPosition
1.1319 +3) Added TotalPlayLength which takes into account trailing silence and repeats
1.1320 +4) Added various private utility functions
1.1321 + TCompressorPtr DoCreateCompressorL(TUid aUid) const;
1.1322 + TTimeIntervalMicroSeconds AlawBytesToMicroSeconds(TInt aBytes) const;
1.1323 + TTimeIntervalMicroSeconds operator+(const TTimeIntervalMicroSeconds& aLeft,const TTimeIntervalMicroSeconds& aRight)
1.1324 +5) Set a maximum of KSoundDataMaxReadChunkPlayLengthBytes=10000000
1.1325 + for reading and writing chunks, to help check for corrupted data. This number should in fact never
1.1326 + exceed 1000.
1.1327 +
1.1328 +C. Changes to CSoundPlayerRecorder
1.1329 +-----------------------------------
1.1330 +
1.1331 +1) Grouped similar functions in header for CSoundPlayerRecorder
1.1332 +2) Extensive renaming of functions to clarify their roles.
1.1333 + Removed most ...SoundData.. from function names since this class
1.1334 + can no longer deals with any other kind of data.
1.1335 +3) Dropped IsSoundDataPresent since it was not being used anywhere
1.1336 +4) PrepareForUpdateL renamed PrepareForRecordL
1.1337 +5) SaveSoundDataTo becomes MoveSoundDataTo, since old data is deleted. Note that
1.1338 + the new store still needs to be opened before it can be used.
1.1339 +
1.1340 +D. Changes to CSoundPlayer
1.1341 +---------------------------
1.1342 +
1.1343 +1) Uses two new private functions
1.1344 + PlayAlarmSoundByName
1.1345 + PlaySoundFileByName
1.1346 +2) inlined PlayFallBackAlarmSound to use PlayAlarmSound
1.1347 +
1.1348 +E. Changes to SoundUtilities
1.1349 +-----------------------------
1.1350 +
1.1351 +1) SoundUtilities::Populate makes use the new CDescArray::InsertIsq functions
1.1352 +2) SoundUtilities::SoundFileByName no longer validates that a file contains
1.1353 + a sound data stream. This function is now provided separately. This is to
1.1354 + help solve a problem in which corrupted files could not be deleted.
1.1355 +3) Added function DoesFileContainSoundDataL which returns true if a sound data
1.1356 + stream was found (It can leave when creating a store or the root stream).
1.1357 +
1.1358 +
1.1359 +
1.1360 +
1.1361 +Version 0.04.050
1.1362 +================
1.1363 +(Made by PeterJ, January 1997)
1.1364 +
1.1365 +Uses
1.1366 +E32 (085)
1.1367 +E32UTILS (005)
1.1368 +F32 (049)
1.1369 +STORE (033)
1.1370 +E32TOOLS (050)
1.1371 +EIKTOOLS (119)
1.1372 +RCOMP (113)
1.1373 +
1.1374 +NOT binary compatible with BAFL 049.
1.1375 +
1.1376 +This version was reput at 20:00 ish on 14-Jan-1997 with a bugfix
1.1377 +in the RResource class that caused it to unpredictably reject
1.1378 +a resource binary as corrupt.
1.1379 +
1.1380 +Size of BAFL.DLL release is 35,736 (40,072 in debug version).
1.1381 +
1.1382 +There remains an outstanding problem with the sound player that
1.1383 +shows up in the test code running under WINS only.
1.1384 +
1.1385 +
1.1386 +Changes
1.1387 +-------
1.1388 +
1.1389 +From history:
1.1390 +1) Remove the following RResourceFile member functions which have been
1.1391 + deprecated for some time but were left around for binary compatibility.
1.1392 +
1.1393 + TInt PositionToResourceL(TInt aResourceId,TInt &aDecodedLen) const;
1.1394 + void ReadResourceDataL(TDes8 &aDes,TInt aReadLen,TInt aDecodedLen) const;
1.1395 + (BARSC.H)
1.1396 +
1.1397 +From Brendan:
1.1398 +2) template <class T>
1.1399 + inline TBool TLibAssoc<T>::IsNull()
1.1400 +
1.1401 + is now a const function. (BALIBA.H)
1.1402 +
1.1403 +3) added the following functions to CDesCArray (8 and 16 bit versions)
1.1404 +
1.1405 +IMPORT_C TInt InsertIsqL(const TDesC8& aPtr
1.1406 + ,TKeyCmpText aTextComparisonType=ECmpFolded);
1.1407 +IMPORT_C TInt InsertIsqAllowDuplicatesL(const TDesC8& aPtr
1.1408 + ,TKeyCmpText aTextComparisonType=ECmpFolded);
1.1409 +IMPORT_C TInt FindIsq(const TDesC8& aPtr,TInt& aPos
1.1410 + ,TKeyCmpText aTextComparisonType=ECmpFolded) const;
1.1411 +
1.1412 +These allow the insertion in sequence of descriptors into an array,
1.1413 +and for finding the descriptors from a sorted array.
1.1414 +
1.1415 +Note that this functionailty is already available for CPtrCArray variants.
1.1416 +The test T_PTRCA shows how this is done - it just requires that the user
1.1417 +create and use a : TKeyArrayFix key(0,{sort method});
1.1418 +
1.1419 +
1.1420 +T_DESCA has been modified to at call these functions and ensure that they
1.1421 +work. It does not stress test them.
1.1422 +
1.1423 +T_PTRCA has been modified to show how to call the FindIsq and
1.1424 +InsertIsq functions.
1.1425 +
1.1426 +
1.1427 +From Simon Ch:
1.1428 +4) Added CClipboard::NewForReadingL(RFs& aFsSession). This is for use
1.1429 + by callers who don't know if the clipboard exists before they
1.1430 + attempt to paste. (BACLIPB.H) Test code added to T_CLIPB.
1.1431 +
1.1432 +
1.1433 +From AndrewT:
1.1434 +5) Modifications to allow resource data to be read out of ROM directly.
1.1435 + Affects BARSC and its test code and changes the RResourceFile class
1.1436 + signature slightly.
1.1437 +
1.1438 +
1.1439 +From PNJ:
1.1440 +6) Test code now compiles its own resources instead of using
1.1441 + stored resource objects. Affects T_RSC and T_RSREAD.
1.1442 + MNT procedure modified to get an explicit resource compiler
1.1443 + version. (may want to review the role of EIKTOOLS here).
1.1444 +
1.1445 +7) Resource file test code now deals with both 8 and 16-bit
1.1446 + text strings generated by RCOMP 3.13 or higher.
1.1447 +
1.1448 +
1.1449 +
1.1450 +
1.1451 +
1.1452 +
1.1453 +Version 0.04.049
1.1454 +================
1.1455 +(Made by Brendan, 20 December 1996)
1.1456 +
1.1457 +Uses
1.1458 +E32 (081)
1.1459 +E32UTILS (004)
1.1460 +F32 (045)
1.1461 +STORE (032)
1.1462 +E32TOOLS (049)
1.1463 +EIKTOOLS (119)
1.1464 +
1.1465 +1) size Arm release
1.1466 + BAFL.DLL 35,000
1.1467 +2) Upgraded to new components. This release is not binary compatible,
1.1468 + and introduces the following new classes:
1.1469 + CFindFileByType,TLibAssoc<>,CSoundPlayer,CPtrCArray (and variants)
1.1470 + There are likely to be more changes in the sound utilities.
1.1471 +3) Incorporated a CSoundPlayer class from Julian, which is used to play sounds
1.1472 + by name. CSoundPlayerRecorder now only deals with file based sounds and not
1.1473 + algorithmic sounds.
1.1474 +- PlayByName() returns an error instead of leaving, to be consistent with the API
1.1475 + to algorithmic sounds.
1.1476 +4) Incorporate CFindFileByType from Julian, making some minor changes
1.1477 + to return the file name and extention of a found file and just the
1.1478 + file name (in TPtrC's).
1.1479 +5) Took advantage of CFindFileByType in the CSoundUtilities
1.1480 +6) Added CPtrCArray arrays - these are similar to CDesCArrays
1.1481 + but store an array of TPtrC's rather than the actual data.
1.1482 +- There is a CopyL function to copy any MdcaArray to a CPtrCArray.
1.1483 +- It can be used instead of CDesCArray in listboxes etc to reduce
1.1484 + duplicating memory, but care should be taken since it can
1.1485 + hold invalid data if the data that the TPtrC's point to, is deleted.
1.1486 +7) Added test code T_PTRCA for class CPtrCArray
1.1487 +8) TLibAssoc<T> class to be used synonomously with a pointer to the
1.1488 + library associated class (ie a pluggable component). It contains a RLibrary
1.1489 + and a pointer to the class that the library has created. When this
1.1490 + pointer class is "deleted"(Unload()), the library is unloaded after the
1.1491 + the class has been deleted - ensuring that the destructor of the class is still
1.1492 + around during the deletion. See the test code T_LIBA for examples of how
1.1493 + it can be used.
1.1494 +- use a "TLibAssoc" instance instead of "CLibraryClass*",
1.1495 +- call "TLibAssoc.Unload()" instead of "delete(CLibraryClass*);"
1.1496 +- call "TLibAssoc.IsNull()" instead if "CLibraryClass*==NULL"
1.1497 +- TLibAssoc can be used with CleanupStack::PushL() and PopAndDestroy() etc.
1.1498 +- TLibAssoc is safe to use in applications because it does not rely on an
1.1499 + active object to unload the libraries.
1.1500 +- TLibAssoc should not be used to unload the Dll inwhich the TLibAssoc class
1.1501 + is defined, because the executed code must be in a different executable.
1.1502 +9) Dropped CLibUnloader
1.1503 +10) Changed sound utilities to compare alarm sound names with a fold comparison
1.1504 + since the file server wouldnt distinguish between the files.
1.1505 +11) Provided public SoundUtilities::PopulateAlgorithmicSoundsL()
1.1506 + and SoundUtilities::PopulateAlarmSoundFilesL()
1.1507 +12) Minor changes to BASNDDA.CPP to prevent possible overlfow errors
1.1508 + in calculations
1.1509 +13) Minor changes to T_SNDUT.CPP to check that sound files correspond
1.1510 + to their names
1.1511 +14) Added TheSoundDev.FlushPlayBuffer() and TheSoundDev.FlushRecordBuffer()
1.1512 + to T_SNDDA to prevent it from failing with KErrInUse
1.1513 + From comments in the test code, it looks as though this test needs to be
1.1514 + revisisted.
1.1515 +
1.1516 +Version 0.04.048
1.1517 +================
1.1518 +Made by Julian, 02-Dec-1996
1.1519 +
1.1520 +Uses E32/079, E32UTILS/004, F32/044, STORE/032,
1.1521 + E32TOOLS/048, EIKTOOLS/119
1.1522 +
1.1523 +BAFL ARM DLL sizes: 33148 (release) 37140 (debug)
1.1524 +
1.1525 +Stay compatible with previous releases.
1.1526 +
1.1527 +Use new E32/079 and upward components
1.1528 +
1.1529 +From Julian:
1.1530 +============
1.1531 +
1.1532 +1. Checking the drive of the saved file name is the same as the
1.1533 +temporary file's drive name in CBulkData::SaveToNewStoreL() function.
1.1534 +If they are not the same, the CFileMan's Copy() and Delete() functions
1.1535 +will be usedinstead of the RFs::Replace() function as Replace() function
1.1536 +couldn't replace files between different drives.
1.1537 +
1.1538 +
1.1539 +Version 0.04.047
1.1540 +================
1.1541 +Made by PeterJ, 02-Dec-1996
1.1542 +
1.1543 +Uses E32/075, E32UTILS/004, F32/042, STORE/030,
1.1544 + E32TOOLS/048, EIKTOOLS/118
1.1545 +
1.1546 +BAFL ARM DLL sizes: 32908 (release) 36908 (debug)
1.1547 +
1.1548 +Main modifications to stay compatible with baser releases.
1.1549 +
1.1550 +NB. The debug build test code tends to display some Store
1.1551 + notifier messages. This seems to be a common phenomenon.
1.1552 +
1.1553 + The T_SNDDA test code seemed to hang once in the WINS release
1.1554 + build while supposedly playing a sound. Could not reproduce,
1.1555 + but the recent sound driver changes in E32/075 may be relevant.
1.1556 +
1.1557 +From PeterJ:
1.1558 +============
1.1559 +
1.1560 +1. BAFLVER.H once again reflects the release version numbers.
1.1561 + (Thanks to Brendan for pointing this out)
1.1562 +
1.1563 +2. TRangeRef::TIter::InRange() is now declared const. (As pointed
1.1564 + out by Lane)
1.1565 +
1.1566 +3. Instances of KNotFound return values replaced with KErrNotFound
1.1567 + instead. (In incremental matcher code)
1.1568 + Also instances of KErrDoesNotExist replaced with KErrNotFound.
1.1569 + (Bulk data code, sound player code)
1.1570 +
1.1571 +4. Obey include files BASE.IBY and EWSRV.IBY updated to reflect
1.1572 + UID3 values now defined in E32. Note that the uid3 parameter
1.1573 + has to be in LOWER CASE before it can be recognised.
1.1574 +
1.1575 +From DW2:
1.1576 +=========
1.1577 +
1.1578 +1. CClipboard::Store() now returns a CStreamStore instead of a
1.1579 + CFileStore reference.
1.1580 +
1.1581 +
1.1582 +Version 0.04.046
1.1583 +================
1.1584 +Made by PeterJ, 23-Nov-1996
1.1585 +
1.1586 +Uses E32/074, E32UTILS/003, F32/040, STORE/029,
1.1587 + E32TOOLS/045, EIKTOOLS/118
1.1588 +
1.1589 +This is not binary compatible with 045.
1.1590 +
1.1591 +Size of ARM BAFL.DLL: 32,896 (Release), 36,384 (Debug).
1.1592 +
1.1593 +From PeterJ:
1.1594 +============
1.1595 +
1.1596 +General modifications required to support the wide-character
1.1597 +build variant of BAFL. This functions in the WINS release but
1.1598 +not yet in the ARM release.
1.1599 +
1.1600 +Excruciating details can be found in
1.1601 +
1.1602 +file:////sentinel-main/upeterj/japan/notes/code_modifications.html#BAFL_046
1.1603 +
1.1604 +In summary:
1.1605 +
1.1606 +1) Base address of the WINS BAFL.DLL changed from 61000000 to
1.1607 + 40100000 to conform with MartinB's new allocation scheme.
1.1608 +
1.1609 +2) Various minor corrections where generic descriptors were being
1.1610 + used to refer to non-text data.
1.1611 +
1.1612 +3) TResourceReader class member functions that were defined in terms
1.1613 + of generic descriptors have been extended to provide explicit
1.1614 + 8 and 16-bit data member functions. The caller must decide which ones
1.1615 + to use depending on whether they are meant to be reading text or
1.1616 + binary data. Functions affected are:
1.1617 +
1.1618 + ReadHBufCL, ReadTPtrC, ReadDesCArrayL.
1.1619 +
1.1620 +4) The CDesCArray and MDesCArray classes were defined in terms of 8-bit
1.1621 + buffers only. This family now has explicit 8 and 16-bit variants:
1.1622 +
1.1623 + CDesC8Array, CDesC16Array, MDesC8Array and MDesC16Array.
1.1624 +
1.1625 +5) Minor test code changes. T_RSC has a new compare function to allow it
1.1626 + to compare 8-bit resource strings with internally defined text descriptors.
1.1627 + T_RSREAD modified to use explicit 8-bit resource strings. This will be
1.1628 + revisited when the resource compiler supports Unicode strings. UIDs for the
1.1629 + dummy compressor files are now assigned in the make file instead of in
1.1630 + the MNT command file.
1.1631 +
1.1632 +6) Changes to MNT.CMD to support Unicode variants of BAFL. Later versions
1.1633 + of BAFL should now be released with MNT BLDUREL and MNT BLDUDEB steps
1.1634 + and the test code exercised after building with MNT BTSTUREL and BTSTUDEB.
1.1635 +
1.1636 +
1.1637 +
1.1638 +Version 0.03.045
1.1639 +================
1.1640 +Made by DavidW, 11 Nov 1996
1.1641 +
1.1642 +Uses E32/074, E32UTILS/003, F32/040, STORE/029,
1.1643 + E32TOOLS/045, EIKTOOLS/118
1.1644 +
1.1645 +Retains binary compatibility with 044
1.1646 +
1.1647 +Size of BAFL.DLL (ARM):
1.1648 + 31,132 bytes (Release), 34,368 (Debug)
1.1649 +
1.1650 +Re-put at 11am 12th Nov, with:
1.1651 +
1.1652 +*) the class originally called CBaflChangeNotifier renamed to
1.1653 +CEnvironmentChangeNotifier, on the suggestion of MartinT
1.1654 +
1.1655 +*) improved T_CNTF test code, from Brenda
1.1656 +
1.1657 +*) an update to use the latest version of all system components (not
1.1658 +strictly necessary, except for MARMD ROMs on Proteas with 8Mb of RAM)
1.1659 +
1.1660 +
1.1661 +From DavidW:
1.1662 +------------
1.1663 +1) Added some timing tests for resource file lookup in T_RSREAD
1.1664 +
1.1665 +2) Altered the way the RResourceFile class reads resources, to do a
1.1666 +seek-and-read together, rather than a seek followed by a separate
1.1667 +read. This resulted in a 30% speed improvement
1.1668 +
1.1669 +3) The two functions ReadResourceDataL() and PositionToResourceL()
1.1670 +of RResourceFile have been withdrawn from the public API (although
1.1671 +empty implementations remain until the next API thaw)
1.1672 +
1.1673 +4) Switched to EIKTOOLS/118 and therefore now default to doing a
1.1674 +MARMD release as well as a MARM one (whereas previously the default
1.1675 +was not to do one)
1.1676 +
1.1677 +5) Simplified ..\tsrc\bld.cmd to use setwhat.cmd
1.1678 +
1.1679 +Note that the steps required to build and test a new version of
1.1680 +Bafl are now
1.1681 +
1.1682 + MNT BLD followed by BTST then RTST for the Ascii Debug variant
1.1683 +
1.1684 + MNT BLDREL / BTSTREL / RTSTREL for the Ascii Release variant
1.1685 +
1.1686 + MNT ARMREL / ATSTREL / BLDIMG / REPRO for Gcc Release
1.1687 +
1.1688 + MNT ARMDEB / ATSTDEB / BLDIMD / REPROD for Gcc Debug
1.1689 +
1.1690 +Then MNT PUTREL as usual to release it.
1.1691 +
1.1692 +Note that if you are in a binary compatible phase, you need to rename
1.1693 +
1.1694 + BAFL.DEF -> BAFL.FRZ *and* BAFLD.DEF -> BAFLD.FRZ
1.1695 +
1.1696 +before doing the PUTSRC.
1.1697 +
1.1698 +From Brendan:
1.1699 +-------------
1.1700 +6) New class CEnvironmentChangeNotifier in the new module BACNTF.*;
1.1701 +this is an active object that executes a TCallBack when a change in
1.1702 +TLocale is detected through RChangeNotifier. Midnight rollover is
1.1703 +notified in the same way
1.1704 +
1.1705 +7) New test code T_CNTF for the CEnvironmentChangeNotifier class,
1.1706 +testing that the callback gets called when locale is changed and
1.1707 +after midnight crossover.
1.1708 +
1.1709 +
1.1710 +Version 0.01.044
1.1711 +================
1.1712 +Made by JulianL, 06 Nov 1996
1.1713 +
1.1714 +Uses E32/072, E32UTILS/002, F32/038, STORE/028,
1.1715 + E32TOOLS/045, EIKTOOLS/114
1.1716 +
1.1717 +Completely binary compatible with 043
1.1718 +
1.1719 +From Julian:
1.1720 +------------
1.1721 +1) Fix bug in CSoundPlayerAndRecorder::PlaySoundByName() function
1.1722 +so that it can play the same name again. Also the
1.1723 +CSoundPlayerAndRecorder's Cancel() operation will close the store
1.1724 +which holds the alarm sound opened by the above fountion.
1.1725 +
1.1726 +
1.1727 +Version 0.01.043
1.1728 +================
1.1729 +Made by DavidW, 29 October 1996
1.1730 +
1.1731 +Uses E32/072, E32UTILS/002, F32/038, STORE/028,
1.1732 + E32TOOLS/045, EIKTOOLS/114
1.1733 +
1.1734 +Upgraded to E32/072 et al.
1.1735 +Note the dependency on E32UTILS for the first time.
1.1736 +
1.1737 +Size of BAFL.DLL (ARM):
1.1738 + 30,660 bytes (Release), 33,764 (Debug)
1.1739 +
1.1740 +Re-put at 12:15pm 4/11/96 including MARMD releaseables; modest
1.1741 +changes were required in the *.?BY and *.CMD files to support this:
1.1742 +
1.1743 + *) the value of EXEUID now has to be passed in as a #define to
1.1744 +PREP, rather than being hard-wired in the BAFL.OBY file)
1.1745 +
1.1746 + *) MNT GETE32UTILS needed some lines adding to it, to fetch the
1.1747 +MARMD components too
1.1748 +
1.1749 +From DavidW:
1.1750 +------------
1.1751 +1) Converted to the new WINS directory structure. All INSTxxx verbs
1.1752 +in the MNT.CMD are history
1.1753 +
1.1754 +2) Removed the template class MArray<T> as over-complicated for what
1.1755 +it achieved; replaced MArray<TDesC> with MArrayDesC, and renamed the
1.1756 +header file MARRAY.H to BAMDESCA.H; recall that the role of the
1.1757 +MArrayDesC class is to define an abstract interface whereby an "array"
1.1758 +returns references to constant descriptors, without prejudice as to
1.1759 +how these descriptors are stored
1.1760 +
1.1761 +3) Renamed the functions of the above class to MdcaCount() and
1.1762 +MdcaPoint(), to avoid name clashes when multiply inheriting from both
1.1763 +a MArrayDesC and a "standard" array (see the example which has been
1.1764 +added to T_DESCA to demonstrate this case)
1.1765 +
1.1766 +4) Changed the implementation of CDesCArray to avoid the run-time
1.1767 +alloc inefficiencies of the previous implementation, albeit at the
1.1768 +cost of a thicker class (which publicly inherits functions from
1.1769 +CArrayFixBase that, from a purist point of view, it ought not to);
1.1770 +recall that the role of the CDesCArray classes are to provide an
1.1771 +efficient storage of an array of variable length descriptors, which
1.1772 +are passed into the array as TDesC& and retrieved as TDesC& (const in
1.1773 +both cases); there are CDesCArrayFlat and CDesCArraySeg variants;
1.1774 +whereas the MArrayDesC class only provides "read access" to that
1.1775 +array, the CDesCArray classes additionally provide "write" functions
1.1776 +such as AppendL, Delete, and InsertL
1.1777 +
1.1778 +5) The Find() and Sort() functions of CDesCArray now support an
1.1779 +optional TKeyCmpText parameter - which defaults in both cases to
1.1780 +ECmpFolded, with the same behaviour as before
1.1781 +
1.1782 +6) Based on some code from Duncan, added the class CClipboard to
1.1783 +Bafl, to replace the classes CReadClipboard and CWriteClipboard that
1.1784 +are currently in EText (but which are about to disappear); this new
1.1785 +implementation utilizes the CStreamDictionary class
1.1786 +
1.1787 +Note that this change will *not* require software components like
1.1788 +EText to become dependent on Bafl. That's because EText will supply
1.1789 +functions of the type
1.1790 + CopyToClipboardL(CStreamStore&,CStreamDictionary&,...)
1.1791 + PasteToClipboardL(CStreamStore&,CStreamDictionary&,...)
1.1792 +which operate at a level below that of the CClipboard class itself.
1.1793 +There are Store() and StreamDictionary() accessor functions in
1.1794 +CClipboard to return these components. See the new module BACLIPB.*
1.1795 +
1.1796 +7) New test code T_CLIPB which exercises CClipboard
1.1797 +
1.1798 +From Dan:
1.1799 +---------
1.1800 +8) Fixed a bug in the InternalizeL() and ExternalizeL() functions of
1.1801 +TCellRef, which were only streaming TInt16's as opposed to TInt32's
1.1802 +
1.1803 +9) Added InternalizeL() and ExternalizeL() functions for TRangeRef
1.1804 +
1.1805 +10) For completeness, added operator!=() to TRangeRef
1.1806 +
1.1807 +11) Updated T_CELL test code to match the above
1.1808 +
1.1809 +From Julian:
1.1810 +------------
1.1811 +12) Altered TBulkData::OpenL() to Leave rather than Panic if
1.1812 +incompatible data is found, to allow the application to take
1.1813 +appropriate recovery action
1.1814 +
1.1815 +13) Took advantage of RFs::Replace() rather than Rename(), to allow a
1.1816 +temporary bulk data storage file to be on a different drive from the
1.1817 +file it is about to replace
1.1818 +
1.1819 +14) The SeekToTime function of CSoundPlayerAndRecorder has been
1.1820 +altered to allow cancellation (eg during a lengthy seek operation).
1.1821 +
1.1822 +
1.1823 +Version 0.01.042
1.1824 +================
1.1825 +Made by DavidW, 27 September 1996
1.1826 +
1.1827 +Uses E32 069, F32 035, STORE 024, E32TOOLS 042, EIKTOOLS 113
1.1828 +
1.1829 +Size of BAFL.DLL (ARM): 28,084 bytes (inside ROM)
1.1830 +
1.1831 +Second attempt at B2-platform release for Bafl
1.1832 +
1.1833 +No changes apart from going up to E32/069 et al
1.1834 +
1.1835 +
1.1836 +Version 0.01.041
1.1837 +================
1.1838 +Made by DavidW, 25 September 1996
1.1839 +
1.1840 +Uses E32 068, F32 034, STORE 023, E32TOOLS 042, EIKTOOLS 113
1.1841 +
1.1842 +Size of BAFL.DLL (ARM): 28,084 bytes (inside ROM)
1.1843 +
1.1844 +1) This is the B2 day release, built in synch with E32/068 et al
1.1845 +
1.1846 +2) The API of Bafl will now remain frozen until some time after
1.1847 +B2-day
1.1848 +
1.1849 +3) From Julian: added a new function for CSoundPlayerAndRecorder to
1.1850 +return the compressor UID used by the sound data
1.1851 +
1.1852 +4) This is the first Bafl to support a Debug MARM ROM image. To
1.1853 +fetch the additional components necessary to build this, you have to
1.1854 +set the environment variable need_marmd before invoking the GETBLD.
1.1855 +Then the verb MNT ARMDEB builds a debug Bafl.DLL for ARM, MNT ATSTDEB
1.1856 +does the same thing for the test code, and MNT BLDIMD builds a debug
1.1857 +ROM image file, BAF041P?.IMD
1.1858 +
1.1859 +5) For reference, inside the ROM, the Debug BAFL.DLL is 31092 bytes
1.1860 +long, compared to 28084 bytes in Release mode
1.1861 +
1.1862 +6) So long as need_marmd remains set, the PUTREL puts a MARMD
1.1863 +release component on the network, as well as the standard set.
1.1864 +
1.1865 +
1.1866 +Version 0.01.040
1.1867 +================
1.1868 +Made by DavidW, 9 September 1996
1.1869 +
1.1870 +Uses E32 067, F32 032, STORE 021, E32TOOLS 040, EIKTOOLS 109
1.1871 +
1.1872 +Size of BAFL.DLL (ARM): 31,984 bytes
1.1873 +
1.1874 +"Binary compatible" re-release, with the changes to filepaths as
1.1875 +required by the changes in F32/032:
1.1876 +
1.1877 +1) The "temp" directory is now c:\system\temp in all builds
1.1878 +
1.1879 +2) The path searched for sound compressor DLLs is now \system\libs
1.1880 +in all builds
1.1881 +
1.1882 +3) Added INST INSTDEB and INSTREL verbs to MNT
1.1883 +
1.1884 +4) Call MNT INST inside MNT RTST and MNT INSTREL inside MNT RTSTREL
1.1885 +
1.1886 +5) MNT MAKEDIR makes several more directories, as are now required
1.1887 +in the emulation drives
1.1888 +
1.1889 +6) Changes to the *.OBY files - partly as required by upgrading to
1.1890 +E32TOOLS/040 - note that you now put in REPRO.EXE rather than
1.1891 +REPRO.RAM, and all references to REPRO.RAM can be removed
1.1892 +
1.1893 +7) Removed a whole lot of #ifdef Xxx variants code from the test
1.1894 +code, since it can now be the same in all variants.
1.1895 +
1.1896 +
1.1897 +Version 0.01.039
1.1898 +================
1.1899 +Made by DavidW, 4 September 1996
1.1900 +
1.1901 +Uses E32 066, F32 031, STORE 021, E32TOOLS 039, EIKTOOLS 109
1.1902 +
1.1903 +Size of BAFL.DLL (ARM): 31,984 bytes
1.1904 +
1.1905 +From Julian:
1.1906 +------------
1.1907 +1) Added two new functions, each called SeekToTime(), to the sound
1.1908 +services classes - one for CSoundData and the other for
1.1909 +CSoundPlayerAndRecorder
1.1910 +
1.1911 +2) Modified test code to match
1.1912 +
1.1913 +3) Other minor internal changes to sound services code
1.1914 +
1.1915 +From DavidW:
1.1916 +------------
1.1917 +4) Removed the last trace of *.INL files from \bafl
1.1918 +
1.1919 +5) Moved some template code out of line, to avoid downstream
1.1920 +compiler warnings
1.1921 +
1.1922 +6) MNT TOOLS now presupposes that the tools should be fetched to
1.1923 +\epoc32\tools on the local drive, ie any value of %drv% is ignored
1.1924 +
1.1925 +7) The call to PREP in MNT BLDIMG is no longer preceded by a path to
1.1926 +PREP (ie %drv%\tools\); ie I now assume that PREP (in t:\tools or
1.1927 +c:\tools) is in your path and is high enough up it
1.1928 +
1.1929 +8) Simplified parts of MNT.CMD by copying things from EIKON, ie the
1.1930 +calls to _GETCOMP.CMD
1.1931 +
1.1932 +9) Moved the dummy compressors out of the build of BAFL itself, into
1.1933 +the build of its test code
1.1934 +
1.1935 +NB Some of the test code fails under WINS, due to a known defect in
1.1936 +F32, but it all runs fine under GCC.
1.1937 +
1.1938 +
1.1939 +Version 0.01.038
1.1940 +================
1.1941 +Made by DavidW, 28 August 1996
1.1942 +
1.1943 +Uses E32 V066, F32 V030, STORE V020, E32TOOLS V039
1.1944 +
1.1945 +Size of BAFL.DLL (ARM): 31,468 bytes
1.1946 +
1.1947 +1) First Bafl release in the post E32/065 world (new directory
1.1948 +structure and all that)
1.1949 +
1.1950 +2) Completely rewrote large parts of MNT.CMD. Changed over to the
1.1951 +new sets of released components (but only release the WINS, WINSD and
1.1952 +EMARM sets, together with the WINSDDB debugging files)
1.1953 +
1.1954 +3) Re-did every *.MAK file, and removed every *.MDP file from the
1.1955 +LI.PRJ source file listings
1.1956 +
1.1957 +4) Took advantage of some of the new Store API to simplify some of
1.1958 +the code and test code (the new way that the RLibrary::Load() et al
1.1959 +functions work helps too!)
1.1960 +
1.1961 +5) Another Great Step Forward is that "mnt getcomps" now takes
1.1962 +*much* less time than before (because I no longer need to bother
1.1963 +fetching all these obscure Greek Hebrew etc variants that the Base
1.1964 +team used to package irretrievably bound up with the genuine
1.1965 +articles, but which are now happily separated into their own released
1.1966 +components
1.1967 +
1.1968 +6) Got fed up with *.OBY files being so un-maintainable. The
1.1969 +contents of my BAFL.OBY is now
1.1970 +
1.1971 + #define NOCALL nocallentrypoint
1.1972 +
1.1973 + romname=baf##ROMVER##ROMVAR##.img
1.1974 + version=0.01(##ROMVER##)
1.1975 +
1.1976 + #include "header.iby" /* data definitions */
1.1977 + #include "base.iby" /* standard Base components */
1.1978 + #include "ewsrv.iby" /* text window server */
1.1979 +
1.1980 + file=RELDIR\eshell.exe system\libs\eshell.exe NOCALL
1.1981 + file=RELDIR\estor.dll system\libs\estor.dll NOCALL
1.1982 +
1.1983 + file=RELDIR\bafl.dll system\libs\bafl.dll NOCALL
1.1984 +
1.1985 + #include "t_bafl.iby" /* Bafl test files */
1.1986 +
1.1987 + file=RELDIR\d_exc.exe system\progs\d_exc.exe
1.1988 +
1.1989 + file=RELDIR\d_gdb.exe system\progs\d_gdb.exe
1.1990 + data=RELDIR\repro.ram system\progs\repro.exe
1.1991 +
1.1992 +which ought to improve maintainability.
1.1993 +
1.1994 +The files header.iby, base.iby ought in time to become standards,
1.1995 +shared by all downstream components (I'll define other *.IBY files
1.1996 +further down the set of software releases)
1.1997 +
1.1998 +7) Note that you *still* need to PETRAN the released file REPRO.EXE
1.1999 +into REPRO.RAM before you can expect to create a repro-able ROM
1.2000 +
1.2001 +8) Watch out that you'll get lots of warnings, when compiling under
1.2002 +Gcc, about the HShareBuf class from Store - you can safely ignore all
1.2003 +these warnings, but you ought to pay attention to any others, as per
1.2004 +usual
1.2005 +
1.2006 +9) BAFL has a working MNT VALID verb for the first time ever. It's
1.2007 +
1.2008 + :valid
1.2009 + if not exist ..\valid\nul md ..\valid
1.2010 + cd ..\valid
1.2011 + call getrel %_vgroup% emarm %_par%
1.2012 + petran %_vgroup%.dll %_vgroup%.net
1.2013 + petran \epoc32\release\marm\rel\%_vgroup%.dll %_vgroup%.bld
1.2014 + pediff -e32 %_vgroup%.net %_vgroup%.bld
1.2015 + call cont %g% %p%
1.2016 + goto end
1.2017 +
1.2018 +which, as you can see, restricts itself to testing the built BAFL.DLL
1.2019 +(Gcc REL version) against one prepared and released earlier. So, go
1.2020 +to a clean drive, type
1.2021 +
1.2022 + pgetbld bafl group 038
1.2023 + [ mnt gete32tools ]
1.2024 + mnt armrel
1.2025 + mnt valid
1.2026 +
1.2027 +and you should see the following reassuring message on the screen:
1.2028 +
1.2029 + PEDIFF - PE file compare V0.01(039)
1.2030 + E32 image files are identical.
1.2031 +
1.2032 +
1.2033 +Version 0.01.037
1.2034 +================
1.2035 +Made by DavidW, 15 August 1996
1.2036 +
1.2037 +Uses E32 V064, F32 V028, STORE V019, E32TOOLS V036
1.2038 +
1.2039 +Size of BAFL.DLL (ARM): 31,980 bytes
1.2040 +
1.2041 +From Julian:
1.2042 +------------
1.2043 +1) Added two new functions to the sound services:
1.2044 +
1.2045 + CSoundData::DataBeingReadTime() and
1.2046 + CSoundPlayerRecorder::SoundDataBeingReadTime()
1.2047 +
1.2048 +to assist applications to display their playing status
1.2049 +
1.2050 +2) Other internal changes to the sound services code and test code
1.2051 +
1.2052 +From DavidW:
1.2053 +------------
1.2054 +3) Altered the MNT.CMD and BAFL.OBY files of Bafl, bringing them
1.2055 +closer to the model of Nokie's. In particular, MNT BLDIMG now
1.2056 +defaults to producing a P1 (reprogrammable) variant ROM image
1.2057 +
1.2058 +4) Added REPRO and FIXREPRO verbs to MNT.
1.2059 +
1.2060 +
1.2061 +Version 0.01.036
1.2062 +================
1.2063 +(Made by JulianL, 09 August 1996)
1.2064 +
1.2065 +Uses E32 V064, F32 V028, STORE V019, E32TOOLS V036
1.2066 +
1.2067 +Size of BAFL.DLL (ARM): 28,004 bytes (With the new Sound service, extra
1.2068 +10K bytes are added).
1.2069 +
1.2070 +1) Added new class CBulkData which is an interface to streamed data
1.2071 +that provides fast data manipulation within minimal overhead. The data
1.2072 +is stored in temporary files, which may provide more storage space than
1.2073 +RAM. Also the temporary file can be renamed to a proper saved file name.
1.2074 +
1.2075 +2) Added new class CSoundData which provides access to sound data. It is a
1.2076 +specialization of CBulkData, which provides read/write access to the data
1.2077 +and to the header information. The data has to be read as chunks and this
1.2078 +class provides a mechanism for ensuring the chunks are kept in tact and keeps
1.2079 +the total play time correct. The header of the sound data contains the
1.2080 +compressor UID which is used to create relevant compressor to decode or
1.2081 +encode the data.
1.2082 +
1.2083 +3) Added new class CCompressorBase which provides the generic interface for
1.2084 +future compressors. The compressors will be used to compress the sound data.
1.2085 +A new CCompressorList class is created to contain an array of names, capabilities
1.2086 +and UIDs of the compressors in the list, which is useful for displaying
1.2087 +informations of the compressors.
1.2088 +
1.2089 +4) Added new static class SoundUtilities which can populate a CDesCArray with
1.2090 +alarm (algorithmic) sounds and sound files in the hardwired search path. The
1.2091 +path is *:\SYSTEM\SOUNDS\*.SND. It can also return the full path file name of
1.2092 +the sound data with a given name.
1.2093 +
1.2094 +5) The "SoundUtilites" can also populate the CCompressorList with the
1.2095 +available compressors provided by the system. Each compressor appears as a DLL
1.2096 +with the extension *.CPR. Two dummy compressors (DUMCM1 and DUMCM2) have been
1.2097 +created to show the possibility of plugable compressors. Therefore, future
1.2098 +compresssors can be pluged into the system easily. The SoundUtilities can also
1.2099 +return the compressor by searching through the system directory on all drives
1.2100 +with the specified UID. This is particular useful for CSoundData to create
1.2101 +compressor. The MNT's "bld" and "bldrel" commands will automatically attach
1.2102 +the correct UIDs for both dummy compressors. But if you compile the dummy
1.2103 +compressors using MSVC (not MNT's "bld" or "bldrel" commands), you need to
1.2104 +use the E32UID to attach the correct UIDs into their WINS release of DLL
1.2105 +which are in \e32sys directory.
1.2106 +(ie. E32UID /a DUMCM1.cpr 290000001 268435539 299999001
1.2107 + E32UID /a DUMCM1D.cpr 290000002 268435539 299999001
1.2108 + E32UID /a DUMCM2.cpr 290000001 268435539 299999002
1.2109 + E32UID /a DUMCM2D.cpr 290000002 268435539 299999002,
1.2110 +The first UID is temporary as later different builds will be put in different
1.2111 +directorys. The second UID is the KSoundCompressionV1Uid specified in Notes,
1.2112 +The third UID are dummy values set for the dummy compressors. In the future,
1.2113 +the real compressor will put their UID (third Uid) into Notes.)
1.2114 +
1.2115 +
1.2116 +6) Added new class CLibraryUnloader which is an active object for unloading a
1.2117 +given library when the current activated active object finished. This is particular
1.2118 +useful for the compressors to unload their librarys during destruction phase.
1.2119 +If the library is closed before the destruction completed, an access violation
1.2120 +will occur. Therefore, the compressor requires this library unloader to unload
1.2121 +their librarys after their destruction completed.
1.2122 +
1.2123 +7) Added new class CSoundPlayerRecorder which can play and record sound data.
1.2124 +It can also play the alarm (algorithmic) sound. This sound player and recorder
1.2125 +allows user to cancel the play or recording at any time as it is an active object.
1.2126 +
1.2127 +8) Added new test codes to test the above new classes ie.
1.2128 +T_BUKDA tests the CBulkData,
1.2129 +T_SNDUT tests the SoundUtilities,
1.2130 +T_SNDDA tests the CSoundData and the use of dummy compressors,
1.2131 +T_SPYRC tests the CSoundPlayerRecorder.
1.2132 +
1.2133 +
1.2134 +***Note that when running the test codes on the rack, you will experience crashes
1.2135 +as there is a bug in F32's GetDir() function which cannot find the attached UID of
1.2136 +a DLL. Jal has already found the bug and the next release of F32 will have the
1.2137 +fix. For the time being, when you build the rom image, you copy the EFSRV.DLL,
1.2138 +EFILE.EXE, ELOCAL.FSY and ESHELL.EXE files from r:\BAFL\TEMP directory to your
1.2139 +\WORK\EMARM directory.***
1.2140 +
1.2141 +
1.2142 +
1.2143 +Version 0.01.035
1.2144 +================
1.2145 +(Made by DavidW, 31 July 1996)
1.2146 +
1.2147 +Uses E32 V064, F32 V028, STORE V019, E32TOOLS V036
1.2148 +
1.2149 +Size of BAFL.DLL (ARM): 18,876 bytes
1.2150 +
1.2151 +*** Re-put 12noon 1st Aug, binary compatible, with a tweak to
1.2152 +BAMATCH.H to avoid Gcc compiler woes downstream ***
1.2153 +
1.2154 +Release in synch with E32/064 et al:
1.2155 +
1.2156 +1) Changed the interface to the TBoundedArray class so that its
1.2157 +Append function works by reference rather than by pointer, the same
1.2158 +as the arrays in the base
1.2159 +
1.2160 +2) Commented out some references to Hufman decompression, since this
1.2161 +functionality no longer exists in TDes.
1.2162 +
1.2163 +
1.2164 +Version 0.01.034
1.2165 +================
1.2166 +(Made by DavidW, 9 July 1996)
1.2167 +
1.2168 +Uses E32 V063, F32 V027, STORE V017, E32TOOLS V034
1.2169 +
1.2170 +Size of BAFL.DLL (ARM): 18,880 bytes
1.2171 +
1.2172 +1) Changed the interface to CDesCArray to use const TDesC& rather
1.2173 +than const TDesC*; as well as being "the right thing" to do, this
1.2174 +also helps avoid some annoying Gcc compiler warnings (about taking
1.2175 +the address of temporaries) downstream.
1.2176 +
1.2177 +
1.2178 +Version 0.01.033
1.2179 +================
1.2180 +(Made by DavidW, 8 July 1996)
1.2181 +
1.2182 +Uses E32 V063, F32 V027, STORE V017, E32TOOLS V034
1.2183 +
1.2184 +Size of BAFL.DLL (ARM): 18,880 bytes
1.2185 +
1.2186 +The new compiler resulted in a 14.3% codesize reduction (11.7% due to
1.2187 +the compiler improvements themselves, and the rest due to getting rid
1.2188 +of explicit template instantiations)
1.2189 +
1.2190 +1) Release compatible with E32/063 etc
1.2191 +
1.2192 +2) I've now got -g-Wno-ctor-dtor-privacy after every call to maktran,
1.2193 +to stop going mad on account of idiotic Gcc warning
1.2194 +
1.2195 +3) OTOH the other "new" warning, about taking the address of a
1.2196 +temporary, is "a good thing", and I rearranged some (test) code to
1.2197 +avoid it
1.2198 +
1.2199 +
1.2200 +Version 0.01.032
1.2201 +================
1.2202 +(Made by DavidW, 23 May 1996)
1.2203 +
1.2204 +Uses E32 V059, F32 V023, STORE V014, E32TOOLS V023
1.2205 +
1.2206 +Size of BAFL.DLL (ARM): 22,020 bytes
1.2207 +
1.2208 +*** Rebased using J-Day components, 4th June 1996 ***
1.2209 +
1.2210 +*** Modest changes to admin files, as required by new components ***
1.2211 +
1.2212 +From DavidW:
1.2213 +------------
1.2214 +1) Rebuilt compatible with STORE 014.
1.2215 +
1.2216 +
1.2217 +Version 0.01.031
1.2218 +================
1.2219 +(Made by DavidW, 20 May 1996)
1.2220 +
1.2221 +Uses E32 V059, F32 V023, STORE V013, E32TOOLS V023
1.2222 +
1.2223 +Size of BAFL.DLL (ARM): 22,020 bytes
1.2224 +
1.2225 +From MartinB:
1.2226 +-------------
1.2227 +1) New Bafl module BACELL.* containing the classes TCellRef and
1.2228 +TRangeRef which were previously duplicated between the Spreadsheet
1.2229 +engine and the Grid test code
1.2230 +
1.2231 +(Note that this requires BAFL to be dependent on STORE, for the first
1.2232 +time, which is a shame in a way, but too bad)
1.2233 +
1.2234 +2) New test code T_CELL.CPP to test BACELL
1.2235 +
1.2236 +3) New resource header file BADEF.RH containing a few definitions
1.2237 +likely to be of use to users of resource files other than Eikon, eg
1.2238 +the Sheet engine or the Opl translator
1.2239 +
1.2240 +
1.2241 +Version 0.01.030
1.2242 +================
1.2243 +(Made by DavidW, 10 May 1996)
1.2244 +
1.2245 +Uses E32 V058, F32 V023, E32TOOLS V023
1.2246 +
1.2247 +Size of BAFL.DLL (ARM): 20,484 bytes
1.2248 +
1.2249 +From DavidW:
1.2250 +------------
1.2251 +1) Rebuilt with latest E32(058) etc - on the rack, the test code now
1.2252 +goes like a proverbial rocket
1.2253 +
1.2254 +
1.2255 +Version 0.01.029
1.2256 +================
1.2257 +(Made by DavidW, 9 May 1996)
1.2258 +
1.2259 +Uses E32 V057, F32 V021, E32TOOLS V022
1.2260 +
1.2261 +Size of BAFL.DLL (ARM): 20,996 bytes
1.2262 +
1.2263 +From DavidW:
1.2264 +------------
1.2265 +1) Changes to class definitions to allow downstream software
1.2266 +components to meet the EMPTY.CPP test, and thereby cut down on
1.2267 +code-bloat under GCC
1.2268 +
1.2269 +2) Removed the function MArray::MaCBase() as not required (arising
1.2270 +out of my lack of understanding of C++ casting rules)
1.2271 +
1.2272 +3) Renamed TIncrMatcherXxx to RIncrMatcherXxx, since they need to
1.2273 +have a destructor, and TXxx classes should never have a destructor
1.2274 +
1.2275 +(actually Colly says RXxx classes should never have a destructor
1.2276 +either, but I'll leave things as they are for now)
1.2277 +
1.2278 +4) Even more changes to the RIncrMatcherXxx class tree, eg to avoid
1.2279 +copy constructors being generated on the fly
1.2280 +
1.2281 +
1.2282 +Version 0.01.028
1.2283 +================
1.2284 +(Made by DavidW, 1 May 1996)
1.2285 +
1.2286 +Uses E32 V057, F32 V021, E32TOOLS V021
1.2287 +
1.2288 +Size of BAFL.DLL (ARM): 20,484 bytes
1.2289 +
1.2290 +From Brendan:
1.2291 +-------------
1.2292 +1) New feature added to box layout engine to support a layout being
1.2293 +reset and then recalculated with different parameters in force, eg
1.2294 +allowing an application to determine the largest possible font that
1.2295 +can be used for a set of controls inside a fixed region of screen:
1.2296 +
1.2297 +2) Added virtual function ResetAll() to CBox and CBranchBox(), which
1.2298 +recursively reset the sizes of the boxes
1.2299 +
1.2300 +3) New test code T_BLO2 for the above features
1.2301 +
1.2302 +
1.2303 +Version 0.01.027
1.2304 +================
1.2305 +(Made by DavidW, 26 April 1996)
1.2306 +
1.2307 +Uses E32 V057, F32 V021, E32TOOLS V021
1.2308 +
1.2309 +Size of BAFL.DLL (ARM): 20,484 bytes
1.2310 +
1.2311 +From DavidW:
1.2312 +------------
1.2313 +1) Re-release compatible with E32(057) and F32(021): the only change
1.2314 +required was in the *.OBY file, as per the E32 release notes
1.2315 +
1.2316 +
1.2317 +Version 0.01.026
1.2318 +================
1.2319 +(Made by DavidW, 15 April 1996)
1.2320 +
1.2321 +Uses E32 V056, F32 V020, E32TOOLS V020
1.2322 +
1.2323 +Size of BAFL.DLL (ARM): 20,484 bytes
1.2324 +
1.2325 +From DavidW:
1.2326 +------------
1.2327 +1) Fixed the resource reader class to handle mis-aligned
1.2328 +sub-resources, eg reading a TInt32 following inline after a text
1.2329 +string; added some tests to T_RSREAD to test this case
1.2330 +
1.2331 +2) Made a few changes to BABLO.* to make it clean-compile, without
1.2332 +any compiler warnings, in all build variants.
1.2333 +
1.2334 +
1.2335 +Version 0.01.025
1.2336 +================
1.2337 +(Made by DavidW, 15 April 1996)
1.2338 +
1.2339 +Uses E32 V056, F32 V020, E32TOOLS V020
1.2340 +
1.2341 +Size of BAFL.DLL (ARM): 19,972 bytes
1.2342 +
1.2343 +Note that ideas on how MNT VALID might work (described in the
1.2344 +previous release notes) now look a bit simplistic; more research in
1.2345 +this area is required
1.2346 +
1.2347 +From DavidW:
1.2348 +------------
1.2349 +1) Converted the CONE files LAYOUT.CPP, BLOMAIN.HRH and BLOMAIN.H to
1.2350 +be part of BAFL instead, as the files BABLO.* ("Box LayOut" engine),
1.2351 +making adjustments as required to run on ARM; likewise converted the
1.2352 +CONE test code \cone\layout\tlayout to run as \bafl\tsrc\t_blo
1.2353 +
1.2354 +2) Converted the CONE files COERSBUF.* to be part of BAFL instead,
1.2355 +as the files BARSREAD.* ("ReSource READer"), making adjustments as
1.2356 +required to run on ARM; wrote new test code T_RSREAD for this class,
1.2357 +which reads resources from the same test file T_RSC.RSC that is used
1.2358 +by test code T_RSC
1.2359 +
1.2360 +3) Slimmed down some of the test code T_RSC, since it was boring and
1.2361 +repetitive for little gain, and since T_RSREAD now provides an
1.2362 +independent test of using RResourceFile
1.2363 +
1.2364 +4) Added a batch file to run under the Text Shell on the rack,
1.2365 +RACK.BTF (renamed to RACK.BAT in the ROM), with the intended effect
1.2366 +of running all BAFL test programs one after the other; what actually
1.2367 +happens is that they all get run simultaneously, which I suppose is
1.2368 +less boring and exercises the O/S more thoroughly; so the way of
1.2369 +running all test code under WINS is to CD to \bafl\tsrc and to type
1.2370 +"RUN", and the way of running all test code on the rack is to CD to
1.2371 +\test and to type "RACK.BAT".
1.2372 +
1.2373 +
1.2374 +Version 0.01.024
1.2375 +================
1.2376 +(Made by DavidW, 12 April 1996)
1.2377 +
1.2378 +Uses E32 V056, F32 V020, E32TOOLS V020
1.2379 +
1.2380 +Size of BAFL.DLL (ARM): 8196 bytes
1.2381 +
1.2382 +From DavidW:
1.2383 +------------
1.2384 +1) Added VALID verb to MNT.CMD as follows:
1.2385 +
1.2386 + :valid
1.2387 + if not exist ..\valid\nul md ..\valid
1.2388 + cd ..\valid
1.2389 + call getrel %_vgroup% emarm %_par%
1.2390 + fc /b %_vgroup%.dll \work\emarm\%_vgroup%.dll > ..\valid.lis
1.2391 + call cont %g% %p%
1.2392 + type ..\valid.lis
1.2393 + goto end
1.2394 +
1.2395 +which can be used as a gauge of whether a BAFL.DLL built on one
1.2396 +person's PC matches that built (under supposedly identical
1.2397 +circumstances) on another person's PC. It's only a "gauge" since
1.2398 +there can be, in my experience so far, up to two blocks of four bytes
1.2399 +each that vary, which are presumably embedded date-time stamps
1.2400 +
1.2401 +2) Moved the following modules from CONE to BAFL: BNDARRAY (renamed
1.2402 +to BABNDA), COEDESCA (renamed to BADESCA), and COEMATCH (renamed to
1.2403 +BAMATCH); made alterations as required for an ARM build
1.2404 +
1.2405 +3) Renamed CTextBuf to RTextBuf, and CIncrMatcherTextBuf to
1.2406 +RIncrMatcherTextBuf, since whatever else these classes may be, they
1.2407 +are *not* C's (as they do not inherit from CBase)
1.2408 +
1.2409 +4) Wrote T_BND test code for TBoundedArray; this showed up the fact
1.2410 +that recent E32 changes (to compress flat buffers when they are
1.2411 +reset) have broken TBoundedArray; fixed this by overriding the
1.2412 +Compress() function, to do nothing
1.2413 +
1.2414 +5) Wrote T_DESCA test code for the CDesCArray family
1.2415 +
1.2416 +6) Moved Brendan's TMATCH test code for the incremental matchers to
1.2417 +Bafl, renaming it (Bafl style) to T_MATCH, and converting it as
1.2418 +required for ARM
1.2419 +
1.2420 +(all four BAFL test programs run successfully on the rack)
1.2421 +
1.2422 +7) Deleted the header file BAFLSTD.H as an anachronism - you should
1.2423 +delete any copies you have, eg in \e32inc; in the modern standard,
1.2424 +you should include individual header files like BARSC.H or BNDARRAY.H
1.2425 +directly, as and when you need them
1.2426 +
1.2427 +8) Outputting all errors from GCC builds to the same file CERR.TXT
1.2428 +has got to be a mistake; I now output errors to %1.AER files (Arm
1.2429 +ERror files), eg using the batch file \bafl\tsrc\doarm.cmd:
1.2430 +
1.2431 + call maktran %1.mak %1.arm
1.2432 + call nmake -f %1.arm /x %1.aer
1.2433 +
1.2434 +9) Some long-overdue TLC for files in the BAFL group generally.
1.2435 +
1.2436 +
1.2437 +Version 0.01.023
1.2438 +================
1.2439 +(Made by DavidW, 9 April 1996)
1.2440 +
1.2441 +Uses E32 V056, F32 V020, E32TOOLS V019
1.2442 +
1.2443 +From DavidW:
1.2444 +------------
1.2445 +1) Release compatible with E32(056) etc
1.2446 +
1.2447 +2) Had to changed all KFileXxx file-open constants to EFileXxx; had
1.2448 +to change EShareReadersOnly to EFileShareReadersOnly, etc
1.2449 +
1.2450 +3) Found out that it was daft to set the "-v" flag in BLDIMG.CMD,
1.2451 +since the verbose output seems to end up in a file E32ROM.LOG anyway;
1.2452 +so my \bafl\tsrc\bldimg.cmd is now just
1.2453 +
1.2454 + e32rom -gcc bafl.oby
1.2455 +
1.2456 +4) Had to replace the line
1.2457 +
1.2458 + secondary=\work\emarm\efsrv.exe sys\efsrv.exe
1.2459 +
1.2460 +in BAFL.OBY with the pair of lines
1.2461 +
1.2462 + secondary=c:\work\emarm\efile.exe sys\efile.exe
1.2463 + file=c:\work\emarm\efsrv.dll sys\efsrv.dll
1.2464 +
1.2465 +
1.2466 +Version 0.01.022
1.2467 +================
1.2468 +(Made by DavidW, 22 March 1996)
1.2469 +
1.2470 +Uses E32 V055, F32 V019, E32TOOLS V017
1.2471 +
1.2472 +From Bret:
1.2473 +----------
1.2474 +1) This is the first release of BAFL that supports an ARM build, and
1.2475 +whose test code runs on the rack
1.2476 +
1.2477 +2) In order to build the ARM version of this code, you will need to
1.2478 +have installed the GCC tools on your PC: if you haven't done so
1.2479 +already, type
1.2480 + TOOLS GCC
1.2481 +(invokes the t:\tools\tools.bat batch file)
1.2482 +
1.2483 +3) You will also need a suitable version of the E32TOOLS: type
1.2484 + MNT GETE32TOOLS
1.2485 +
1.2486 +4) Apart from this, the standard GETBLD (or MNT GETCOMPS) will fetch
1.2487 +all the software components required to build BAFL in either WINS or
1.2488 +ARM variants
1.2489 +
1.2490 +5) Type MNT ARMREL to build the Release version of the ARM variant
1.2491 +of BAFL.DLL, and MNT ATSTREL to build the Release version of the ARM
1.2492 +variant of T_RSC.EXE
1.2493 +
1.2494 +(Inspect the text file CERR.TXT for any build errors; note that you
1.2495 +can get lots of strange behaviour if you have failed to add \gcc\bin
1.2496 +to your PATH)
1.2497 +
1.2498 +6) In the ..\tsrc directory, type BLDIMG to build the file
1.2499 +ARMROM.IMG (this follows instructions in the BAFL.OBY text file)
1.2500 +
1.2501 +7) Use the network to transfer ARMROM.IMG to a RACK PC and type
1.2502 + PEIGER ARMROM.IMG
1.2503 +to repro the rack with that ROM ...
1.2504 +
1.2505 +8) As it happens very few changes to the BAFL code were required, to
1.2506 +allow the compilation and linking under GCC
1.2507 +
1.2508 +From DavidW:
1.2509 +------------
1.2510 +9) Renamed the WINS release components BAFL and BAFLPDB to EWINS and
1.2511 +EWINSDB; following the practice from other software groups, the ARM
1.2512 +release component is called EMARM
1.2513 +
1.2514 +10) Renamed the MDWORK verb of MNT to MAKEWORK (this makes all the
1.2515 +ARM work directories as well as the EWINS work directories).
1.2516 +
1.2517 +
1.2518 +Version 0.01.021
1.2519 +================
1.2520 +(Made by DavidW, 4 March 1996)
1.2521 +
1.2522 +Uses E32 V054, F32 V018
1.2523 +
1.2524 +1) Re-release compatible with E32(054) and F32(018) (ie VC 4)
1.2525 +
1.2526 +2) Removed "/FORCE" declarations in project settings, to allow
1.2527 +incremental linking for debug builds.
1.2528 +
1.2529 +
1.2530 +Version 0.01.020
1.2531 +================
1.2532 +(Made by DavidW, 26 February 1996)
1.2533 +
1.2534 +Uses E32 V053, F32 V017
1.2535 +
1.2536 +From DavidW:
1.2537 +------------
1.2538 +1) RResourceFile now has an inline function Offset() returning the
1.2539 +value of iOffset, as required in order for CONE/Eikon to properly
1.2540 +support multiple application resource files being loaded in the same
1.2541 +enivronment
1.2542 +
1.2543 +2) Added a TCleanupItem() operator to RResourceFile, allowing
1.2544 +RResourceFile objects to be placed on the cleanup stack; the contents
1.2545 +of the associated Cleanup() function is to call Close()
1.2546 +
1.2547 +3) Renamed the GETJBLD verb of MNT.CMD to GETCOMPS
1.2548 +
1.2549 +
1.2550 +Version 0.01.019
1.2551 +================
1.2552 +(Made by DavidW, 21 February 1996)
1.2553 +
1.2554 +Uses E32 V053, F32 V017
1.2555 +
1.2556 +This build is binary compatible with BAFL 018; a downstream component
1.2557 +that works with BAFL 018 should work equally well with BAFL 019,
1.2558 +without any recompilation
1.2559 +
1.2560 +From MartinT:
1.2561 +-------------
1.2562 +1) Fixed bug whereby, if a file contained n resources, behaviour
1.2563 +when attempting to read resources n+1 and n+2 was unpredictable
1.2564 +(diagnosed by Jal). It is now possible to reliably read through all
1.2565 +the resources in a file; attempting to read beyond the end results in
1.2566 +a Leave.
1.2567 +
1.2568 +
1.2569 +Version 0.01.018
1.2570 +================
1.2571 +(Made by DavidW, 19 February 1996)
1.2572 +
1.2573 +Uses E32 V053, F32 V017
1.2574 +
1.2575 +1) Re-release compatible with E32(053) and F32(017)
1.2576 +
1.2577 +2) Added EXPORT and DELWORK verbs to MNT.CMD doing the usual things
1.2578 +
1.2579 +3) THIS BUILD WORKS IN RELEASE MODE TOO! (Not that I changed
1.2580 +anything; I guess that some bug fixes or other changes elsewhere in
1.2581 +the system must have put right whatever was going wrong before)
1.2582 +
1.2583 +
1.2584 +Version 0.01.017
1.2585 +================
1.2586 +(Made by DavidW, 15 February 1996)
1.2587 +
1.2588 +Uses E32 V052, F32 V016
1.2589 +
1.2590 +From MartinT:
1.2591 +-------------
1.2592 +1) Altered RResourceFile class to better encapsulate the
1.2593 +20-bit offset generated by the NAME statement in resource
1.2594 +files. There is now an iOffset member which carries the
1.2595 +offset corresponding to the name. Initially this contains
1.2596 +zero (set by OpenL()). When ConfirmSignature() is called,
1.2597 +the iOffset() is set from the top 20 bits of the second long in
1.2598 +the signature record.
1.2599 +
1.2600 +2) There is a OwnsResourceId() function which returns ETrue
1.2601 +if a resource id has top 20 bits the same as the iOffset's, or
1.2602 +if its top 20 bits are zero. This means that resources can be
1.2603 +read in sequence 1, 2, 3 ..., or in sequence 0xabcde001,
1.2604 +0xabcde002 ..., where 0xabcde000 is the offset. The latter
1.2605 +is intended for CONE application use. The former can also
1.2606 +be useful.
1.2607 +
1.2608 +3) Changed the class to allow it to be a value type
1.2609 +rather than a reference type. Also, changed from
1.2610 +privately inheriting an RFile to owning one. You now
1.2611 +use OpenL() and Close() to open and close the resource
1.2612 +file, and you can pass them around by value.
1.2613 +
1.2614 +
1.2615 +Version 0.01.016
1.2616 +================
1.2617 +(Made by DavidW, 31 January 1996)
1.2618 +
1.2619 +Uses E32 V052, F32 V016
1.2620 +
1.2621 +1) Re-release compatible with E32(052) and F32(016)
1.2622 +
1.2623 +
1.2624 +Version 0.01.015
1.2625 +================
1.2626 +(Made by DavidW, 8 January 1996)
1.2627 +
1.2628 +Uses E32 V051, F32 V015
1.2629 +
1.2630 +1) Re-release compatible with E32(051) and F32(015)
1.2631 +
1.2632 +
1.2633 +Version 0.01.014
1.2634 +================
1.2635 +(Made by DavidW, 19 December 1995)
1.2636 +
1.2637 +Uses E32 V050, F32 V014
1.2638 +
1.2639 +1) Re-release compatible with E32(050) and F32(014)
1.2640 +
1.2641 +
1.2642 +Version 0.01.013
1.2643 +================
1.2644 +(Made by DavidW, 4 December 1995)
1.2645 +
1.2646 +Uses E32 V049, F32 V013
1.2647 +
1.2648 +1) Re-release compatible with E32(049) and F32(013)
1.2649 +
1.2650 +
1.2651 +Version 0.01.012
1.2652 +================
1.2653 +(Made by DavidW, 16 November 1995)
1.2654 +
1.2655 +Uses E32 V048, F32 V012
1.2656 +
1.2657 +1) Re-release compatible with E32(048) and F32(012)
1.2658 +
1.2659 +
1.2660 +Version 0.01.011
1.2661 +================
1.2662 +(Made by DavidW, 19 October 1995)
1.2663 +
1.2664 +Uses E32 V047, F32 V011
1.2665 +
1.2666 +1) Added ConfirmSignature(TInt aSignature,TInt &aOffset) to
1.2667 +RResourceFile, which can be called for resource files whose first
1.2668 +resource consists of two 32-bit integers
1.2669 +
1.2670 + *) the first being a signature, which must match the passed value
1.2671 +exactly
1.2672 +
1.2673 + *) the second having no special meaning as far as RResourceFile is
1.2674 +concerned (but higher level software may interpret it eg as the
1.2675 +"offset" value for the resource file); this gets written to aOffset
1.2676 +
1.2677 +The function returns either KErrNone, or an error value if the
1.2678 +signature does not match.
1.2679 +
1.2680 +
1.2681 +Version 0.01.010
1.2682 +================
1.2683 +(Made by DavidW, 9 October 1995)
1.2684 +
1.2685 +Uses E32 V047, F32 V011
1.2686 +
1.2687 +1) Rebuilt to work with new E32 and F32
1.2688 +
1.2689 +Unfortunately the release mode code still fails to run (it still
1.2690 +comes grinding to a halt in exactly the same place as before -
1.2691 +somewhere deep inside F32).
1.2692 +
1.2693 +
1.2694 +Version 0.01.009
1.2695 +================
1.2696 +(Made by DavidW, 6 September 1995)
1.2697 +
1.2698 +Uses E32 V045, F32 V009
1.2699 +
1.2700 +1) Rebuilt to work with new E32 and F32
1.2701 +
1.2702 +
1.2703 +Version 0.01.008
1.2704 +================
1.2705 +(Made by DavidW, 28 August 1995)
1.2706 +
1.2707 +Uses E32 V044, F32 V008
1.2708 +
1.2709 +1) Added RResourceFile::AllocReadLC, which does the same as
1.2710 +AllocRead but leaves the allocated cell (for the returned HBufC*
1.2711 +pointer) on the cleanup list
1.2712 +
1.2713 +2) Converted test resource file to use BUF instead of STR and so no
1.2714 +longer need to go around removing terminating zeroes; also made the
1.2715 +test resource file more independent from xwim's S_.RSC.
1.2716 +
1.2717 +
1.2718 +Version 0.01.007
1.2719 +================
1.2720 +(Made by DavidW, 23 August 1995)
1.2721 +
1.2722 +Uses E32 V044, F32 V008
1.2723 +
1.2724 +1) Converted to work with new E32 and F32
1.2725 +
1.2726 +2) I've taken a policy decision that, wherever relevant, Bafl will
1.2727 +presuppose that a trap handler has been installed by the caller.
1.2728 +This will always be the case in an Hcil application (as
1.2729 +CHci::ExecuteD will install a trap handler), but other users of Bafl
1.2730 +will have to take independent steps. See code in T_RSC for an
1.2731 +example
1.2732 +
1.2733 +3) Thus CResourceFile::AllocReadL now presupposes that a trap
1.2734 +handler has been installed (and that the caller is already inside a
1.2735 +TRAP harness) - this allows the code to simplify (there's no longer
1.2736 +any need for a local TRAP harness)
1.2737 +
1.2738 +
1.2739 +Version 0.01.006
1.2740 +================
1.2741 +(Made by DavidW, 21 August 1995)
1.2742 +
1.2743 +Uses E32 V043, F32 V007
1.2744 +
1.2745 +1) Converted to work with new E32 and F32
1.2746 +
1.2747 +2) Added L's to the names of all functions that can leave
1.2748 +
1.2749 +3) Moved BAFL.MAK from ..\src to ..\group for the usual reason (to
1.2750 +make it easier for people debugging downstream to have the IDE know
1.2751 +automatically where to load bafl source code from)
1.2752 +
1.2753 +
1.2754 +Version 0.01.005
1.2755 +================
1.2756 +*** Re-made by DavidW, 28 July 1995, using the new versions of E32
1.2757 +v041 and F32 v006 (as the old one was link-incompatible)
1.2758 +
1.2759 +(Made by DavidW, 26 July 1995)
1.2760 +
1.2761 +Available on R:
1.2762 +
1.2763 +Uses E32 V041, F32 V006 (from R:)
1.2764 +
1.2765 +1) Converted to work with new E32 and F32
1.2766 +
1.2767 +2) MNT.CMD improved, copying many ideas from Hcil
1.2768 +
1.2769 +3) Converted to new-style no .LNK files CMD-line build system.
1.2770 +
1.2771 +
1.2772 +Version 0.01.004
1.2773 +================
1.2774 +(Made by DavidW, 23 June 1995)
1.2775 +
1.2776 +Available on S:
1.2777 +
1.2778 +Uses E32 V039, F32 V005
1.2779 +
1.2780 +1) Converted to work with new E32 and F32
1.2781 +
1.2782 +
1.2783 +Version 0.01.003
1.2784 +================
1.2785 +(Made by DavidW, 22 May 1995)
1.2786 +
1.2787 +Uses E32 V038, F32 V003
1.2788 +
1.2789 +1) RResourceFile::Read now tests to see if the resource will fit in
1.2790 +the passed buffer, and if not, panics
1.2791 +
1.2792 +2) Resource files are now opened with EShareReadersOnly
1.2793 +
1.2794 +
1.2795 +Version 0.01.002
1.2796 +================
1.2797 +(Made by DavidW, 15 May 1995)
1.2798 +
1.2799 +Uses E32 V035, F32 V001
1.2800 +
1.2801 +NB There's currently only an ascii debug version; Unicode threatens a
1.2802 +huge can of worms that will require a *lot* of attention to sort out.
1.2803 +
1.2804 +1) Now uses F32 instead of home-brewed access to files
1.2805 +
1.2806 +2) CResourceFile now exists as RResourceFile (a subclass of RFile
1.2807 +from F32)
1.2808 +
1.2809 +3) Provided the static RResourceFile::New as a convenience function
1.2810 +
1.2811 +4) Simplified many of the function names
1.2812 +
1.2813 +5) Provided an HBufC *AllocRead() function to match the void Read()
1.2814 +function, but this is broken for two reasons:
1.2815 +
1.2816 +6) First, the current implementation of HBufC::New is useless (it
1.2817 +sets the iLength field to zero, but there's no useful way to change
1.2818 +this later to something non-zero!)
1.2819 +
1.2820 +7) Second, the current implementation of Hufman decoding often
1.2821 +decodes one extra spurious character, which can overwrite the end of
1.2822 +a supplied buffer
1.2823 +
1.2824 +
1.2825 +Version 0.01.001
1.2826 +================
1.2827 +(Made by MartinB, 11 May 1995)
1.2828 +
1.2829 +Uses E32 V035
1.2830 +
1.2831 +First release.
1.2832 +