File: ChangeLog

package info (click to toggle)
atlas-cpp 0.5.98-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,652 kB
  • ctags: 2,284
  • sloc: sh: 8,305; cpp: 6,372; python: 1,471; makefile: 216
file content (1576 lines) | stat: -rw-r--r-- 54,196 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
2005-10-02  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Negotiate.h, Atlas/Net/Stream.cpp, Atlas/Net/Stream.h:
	  Modify the Negotiate interface so the decoder Bridge reference
	  is passed in to getCodec() instead of the Stream constructor.
	  This gives developers more freedom when designing code that
	  use this API.

	* tutorial/example/simple_client.cpp,
	  tutorial/example/simple_server.cpp: Update tutorials to use the
	  new API.

	* Release 0.5.98, Interface version 0.

2005-09-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Codecs/Utility.cpp, Atlas/Codecs/Utility.h: Move two big
	  inlined functions into a .cpp file, as its too big to be inlined
	  efficiently.

2005-09-27  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Codecs/Makefile.am: Remove headers from source list, as they
	  are already in header list.

	* atlas-cpp.spec.in: Add branch version to rpm name to make it easier
	  to have two branches installed in parallel.

	* configure.ac: Increment to 0.5.98 for release soon.

2005-09-14  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Codecs/Utility.h: Ensure that the value of sscanf is not
	  ignored.

	* Release 0.5.97, Interface version 0.

2005-09-13  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Increment to 0.5.97 for release soon.

	* Atlas/Objects/AttributeInfo.py, Atlas/Objects/Generic.cpp,
	  Atlas/Objects/flag.cpp: Ensure that objtype is set on
	  generic ops, to ensure they get decoded right.

2005-09-09  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.cpp: Use class numbers directly
	  rather than instantiating an object to retrieve it.

	* Atlas/Objects/SmartPtr.h: Reduce the reference count on copied
	  object, as its been incremented in the SmartPtr constructor.

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/Anonymous.cpp, Atlas/Objects/Generic.cpp,
	  Atlas/Objects/Root.cpp, Atlas/Objects/RootEntity.cpp,
	  Atlas/Objects/RootEntityChildren.cpp,
	  Atlas/Objects/RootOperation.cpp,
	  Atlas/Objects/RootOperationChildren1.cpp,
	  Atlas/Objects/RootOperationChildren2.cpp,
	  Atlas/Objects/RootOperationChildren3.cpp,
	  Atlas/Objects/RootOperationChildren4.cpp,
	  Atlas/Objects/RootOperationChildren5.cpp:
	  In copy, set the refcount on the copied object to 0, overriding
	  the value set when the object is copied.

2005-09-07  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/Element.h, Atlas/Message/Element.cpp:
	  Add static typeName() method which provides a char * representation
	  of an Element type.

2005-09-07  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateObjectFactory.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/objectFactory.cpp: Modify factory to avoid double
	  lookup in factories, create a Generic operation when objtype is
	  op but parents are not in factories map, and create Anonymous
	  entities directly rather than looking up "anonymous" in the
	  factories.

2005-09-06  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/Anonymous.cpp, Atlas/Objects/Anonymous.h,
	  Atlas/Objects/Generic.cpp, Atlas/Objects/Generic.h:
	  Add setType() method to Anonymous entities and Generic
	  operations which allows the parents and class number to
	  be set simultaneously.

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.cpp,
	  Atlas/Objects/objectFactory.h: Create factory methods for
	  Anonymous entities and Generic operations which set the
	  type and class no using above method, allowing the
	  Factories to be extended with soft types.

2005-09-04  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/Entity.h, Atlas/Objects/Root.cpp, Atlas/Objects/Root.h,
	  Atlas/Objects/RootEntity.cpp, Atlas/Objects/RootEntity.h,
	  Atlas/Objects/RootEntityChildren.cpp,
	  Atlas/Objects/RootOperation.cpp:
	  Make attr_flags_* into pointers, to avoid construction order
	  problems with static variables.

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.cpp, Atlas/Objects/objectFactory.h:
	  Add class name and number as parameters to factory method, to
	  make it easier to support soft operation and entity classes.
	  Hard classes are now added using a protected version of addClass
	  which passes in the class number.

	* Atlas/Objects/loadDefaults.cpp: Add information about "generic"
	  so that there is no conflict with the spec file.

	* tests/Objects/objects2.cpp: Update factory test for modified args.
	  An entity no longer has pos attribute, unless it has been set.

2005-09-01  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Generic.cpp, Atlas/Objects/Generic.h,
	  Atlas/Objects/gen_cpp.py, Atlas/Objects/AttributeInfo.py,
	  Atlas/Objects/Dispatcher.cpp, Atlas/Objects/ObjectsFwd.h,
	  Atlas/Objects/Operation.h, Atlas/Objects/flag.cpp,
	  Atlas/Objects/objectFactory.cpp: Add new generic operation
	  class, to be used for custom operations generated on the fly.

2005-09-01  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h,
	  Atlas/Objects/Entity.h, Atlas/Objects/Root.cpp, Atlas/Objects/Root.h,
	  Atlas/Objects/RootEntity.cpp, Atlas/Objects/RootEntity.h,
	  Atlas/Objects/RootEntityChildren.cpp,
	  Atlas/Objects/RootOperation.cpp, Atlas/Objects/RootOperation.h,
	  Atlas/Objects/Anonymous.cpp, Atlas/Objects/RootEntityChildren.cpp,
	  Atlas/Objects/RootOperationChildren1.cpp,
	  Atlas/Objects/RootOperationChildren2.cpp,
	  Atlas/Objects/RootOperationChildren3.cpp,
	  Atlas/Objects/RootOperationChildren4.cpp,
	  Atlas/Objects/RootOperationChildren5.cpp:
	  Add protected getAttrFlag() virtual method to all objects
	  classes with static attributes, which returns the flag for a
	  given attribute name string. Re-implement getAttrClass using
	  getAttrFlag so it is more efficient. Use it to implement hasAttr
	  more efficiently, and correctly.

	* tests/Objects/attributes.cpp: New check for hasAttr.

2005-08-31  Al Riddoch  <alriddoch@zepler.org>

	* TODO: Add a bunch more TODO items.

	* Atlas/Objects/BaseObject.h, Atlas/Objects/BaseObject.cpp,
	  Atlas/Objects/gen_cpp.py, Atlas/Objects/flag.cpp,
	  Atlas/Objects/Entity.h, Atlas/Objects/Root.cpp,
	  Atlas/Objects/Root.h, Atlas/Objects/RootEntity.cpp,
	  Atlas/Objects/RootEntity.h, Atlas/Objects/RootEntityChildren.cpp,
	  Atlas/Objects/RootOperation.cpp, Atlas/Objects/RootOperation.h:
	  Make getAttr(string) non-virtual, and remove overriding
	  implementations, as all the work is now done by
	  getAttr(string, value). Rename getAttr(string, value) to
	  copyAttr(...) to avoid masking.

2005-08-29  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py, Atlas/Objects/RootEntity.h:
	  Accept integers when floats are required.

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.cpp: Return a null smart pointer when
	  no class exists, rather than throwing.

2005-08-27  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Anonymous.h, Atlas/Objects/Dispatcher.cpp,
	  Atlas/Objects/Dispatcher.h, Atlas/Objects/ObjectsFwd.h,
	  Atlas/Objects/Operation.h, Atlas/Objects/RootOperationChildren2.cpp,
	  Atlas/Objects/RootOperationChildren3.cpp,
	  Atlas/Objects/RootOperationChildren4.cpp,
	  Atlas/Objects/RootOperationChildren5.cpp,
	  Atlas/Objects/flag.cpp, Atlas/Objects/objectFactory.cpp:
	  Re-generate sources with updated spec, to include Affect operation.
	  Add new Objects getAttr method version, which avoids return by
	  value.

2005-06-14  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py,
	  Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/RootOperation.h, Atlas/Objects/flag.cpp,
	  Atlas/Objects/objectFactory.cpp, Atlas/Objects/objectFactory.h,
	  tests/Objects/objects2.cpp: Remove obsolete
	  messageElement2ClassObject().

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac, NEWS: Increment version to 0.5.96, add news entry.

	* Release 0.5.96, Interface version 0.

2005-06-10  Al Riddoch  <alriddoch@zepler.org>

	* Makefile.am, configure.ac, Atlas/Makefile.am,
	  Atlas/Utilities/Makefile.am, Atlas/Utilities/atlas_convert.cpp,
	  tools/Makefile.am, tools/atlas_convert.cpp: Move atlas_convert
	  out of the library tree into a tools directory of its own.

	* atlas-cpp.spec.in: Remove dependency on libstdc++ package.

2005-05-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Anonymous.h, Atlas/Objects/Dispatcher.cpp,
	  Atlas/Objects/Dispatcher.h, Atlas/Objects/ObjectsFwd.h,
	  Atlas/Objects/Operation.h, Atlas/Objects/RootOperationChildren2.cpp,
	  Atlas/Objects/RootOperationChildren3.cpp,
	  Atlas/Objects/RootOperationChildren4.cpp,
	  Atlas/Objects/RootOperationChildren5.cpp,
	  Atlas/Objects/flag.cpp, Atlas/Objects/objectFactory.cpp:
	  Re-generate objects included new Wield and Use ops from
	  the updated spec.

2005-05-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Makefile.am: Move objectFactory.cpp into the generated
	  sources section as it should be.

	* Atlas/Objects/SmartPtr.h: Remove the factory() method as it clutters
	  the API, and causes a problem with gcc 4.

	* Atlas/Objects/objectFactory.cpp, Atlas/Objects/objectFactory.h,
	  Atlas/Objects/GenerateObjectFactory.py: Use an inlined template
	  factory function rather than the one removed from SmartPtr.

	* tests/Objects/custom_ops.cpp: Update the code demonstrating how
	  to create and install custom op types.

	* tests/Objects/objects2.cpp: Modify code that tested using factory
	  method to create instances.

2005-05-07  Al Riddoch  <alriddoch@zepler.org>

	* Release 0.5.95, Interface version 0.

2005-05-07  Al Riddoch  <alriddoch@zepler.org>

	* NEWS: Update for upcoming release.

	* atlas-cpp.spec.in: Tweak BuildRoot to match fedora guidelines.

2005-05-03  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/BaseObject.h, Atlas/Objects/BaseObject.cpp:
	  Provide hasAttrFlag() method to check whether a known
	  hard coded attribute has been set.

2005-05-03  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.cpp: When creating a new object,
	  initialise the SmartPtr to 0 to start with, for efficiency
	  and to be sure we really have got a new object.

	* Atlas/Objects/GenerateDecoder.py, Atlas/Objects/Decoder.h,
	  Atlas/Objects/Decoder.cpp: Remove unknownMessageArrived()
	  as it was never called.

2005-05-02  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Makefile.am, Atlas/Objects/flag.cpp: Store the
	  date in flag.cpp to make sure its modified mtime gets commited
	  to cvs each time it is updated.

2005-05-01  Al Riddoch  <alriddoch@zepler.org>

	* NEWS: Update NEWS from transitional branch.

	* tests/Objects/Makefile.am, tests/Objects/objects2.cpp,
	  tests/Objects/DebugBridge.h: Include required DebugBridge
	  class in the tests dir.

	* tutorial/Makefile.am, tutorial/example/COPYING,
	  tutorial/example/autogen.sh: Include the tutorial example in
	  the distribution.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Increment version to 0.5.95 as the API has now
	  changed. Many cleanups.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Decoder.cpp, Atlas/Objects/Decoder.h,
	  Atlas/Objects/GenerateDecoder.py: Modify decoder so it
	  has a pointer to a Factories instance, which is by default the
	  global shared instance.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Anonymous.cpp, Anonymous.h, Decoder.cpp, Decoder.h, Dispatcher.cpp,
	  Dispatcher.h, Entity.h, ObjectsFwd.h, Operation.h, Root.cpp, Root.h,
	  RootEntity.cpp, RootEntity.h, RootEntityChildren.cpp,
	  RootOperation.cpp, RootOperation.h, RootOperationChildren1.cpp,
	  RootOperationChildren2.cpp, RootOperationChildren3.cpp,
	  RootOperationChildren4.cpp, RootOperationChildren5.cpp,
	  flag.cpp, objectFactory.cpp: Check in generated files to make it
	  easier for people to track latest changes.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py: Fix the test on empty parents so
	  it uses the defaults for the instance, not the defaults for the
	  Root class.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/objectFactory.h,
	  Atlas/Objects/GenerateObjectFactory.py: Make Factories an singleton
	  and get rid of the static instance. Add constructors to ensure
	  it can be copied correctly.

	* Atlas/Objects/loadDefaults.cpp, tests/Objects/custom_ops.cpp:
	  Convert code from using the static objectFactory to using
	  the Factories::instance().

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/SmartPtr.h, Atlas/Objects/GenerateObjectFactory.py:
	  Make the footprint of SmartPtr factory the same, and get rid
	  of the nasty C cast from the factory code. Make conversion more
	  efficient by using iterators better.

	* Atlas/Objects/GenerateDecoder.py: Clean up formatting.

2005-04-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateDecoder.py: Cleanups.

	* Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.h: Embed the code to convert a message
	  into an Object into the Factories class, making the function
	  just a stub.

	* Atlas/Objects/loadDefaults.cpp: Fix some misleading variable names,
	  left over from when we called everything an Object.

2005-04-26  Al Riddoch  <alriddoch@zepler.org>

	* benchmark/Objects_iterator.cpp: New test and benchmark for Objects
	  iterators.

2005-04-25  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py: Don't encode objtype or parents
	  of anonymous entities.

2005-04-19  Al Riddoch  <alriddoch@zepler.org>

	* benchmark/Objects_asMessage.cpp: New benchmark for converting
	  Objects into Messages.

	* Atlas/Objects/gen_cpp.py: Remove explicit Element constructor
	  when converting Objects to Messages as operator= means that it
	  is not required.

2005-04-18  Al Riddoch  <alriddoch@zepler.org>

	* Release 0.5.94, Interface version 0.

2005-04-18  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Utilities/atlas_convert.cpp: Add header required for getopt
	  by some systems.

2005-04-18  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py: Improve the efficiency of addToMessage()
	  by avoiding a call to getFoo() when we already have checked the
	  flag.

	* Atlas/Objects/AttributeInfo.py: Improve the efficiency of
	  sendFoo() by avoiding a call to getFoo() when we already have
	  checked the flag.

	* configure.ac: Increment the version for a bugfix release.

2005-04-17  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py: Force parents and objtype to be included
	  when converting an Objects instance to a Message instance.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* Release 0.5.93, Interface version 0.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* atlas-cpp.spec.in: Include the atlas-convert tool in the rpm spec.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* atlas-cpp.spec.in: rpm spec cleanups, including using system
	  defined compiler optimisations.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Remove some obsolete code relating to version.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py: Make some local veriable in the C++ iterate
	  method static for efficiency.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* configure.ac: Update AC_INIT args to tarball name is set correctly.

2005-04-16  Al Riddoch  <alriddoch@zepler.org>

	* tutorial/example/DebugBridge.h, tutorial/example/configure.ac,
	  tutorial/example/simple_client.cpp,
	  tutorial/example/simple_server.cpp: Bring the tutorial code up to
	  date.

	* configure.ac: Make the autoconf macros a little cleaner, and
	  increment version for release.

2005-04-13  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Formatter.h, Atlas/Formatter.cpp: Implement simple formatting
	  and add an API for specifying the indent spacing.

	* Atlas/Utilities/atlas_convert.cpp: Clean up command line processing,
	  handle codec options better, and add options to control formatting
	  if required.

2005-04-12  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/Element.h, configure.ac: Make Atlas::Message::Element
	  typedefs private permanently.

	* Atlas/Formatter.cpp, Atlas/Formatter.h, Atlas/Makefile.am: New
	  class that acts as an adaptor to a Bridge and a stream, outputing
	  formatting characters to the stream as messages are passed through
	  it.

2005-03-03  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Bridge.h, Atlas/Bridge.cpp,
	  Atlas/Negotiate.h, Atlas/Negotiate.cpp: Add virtual destructors
	  to Bridge and Negotiate.

	* tests/Objects/objects2.cpp: Fix some messy casts, and replace
	  with the correct casts or conversions.

2005-01-12  Al Riddoch  <alriddoch@zepler.org>

	* Release 0.5.92, Interface version 0.

2004-12-31  Al Riddoch  <alriddoch@zepler.org>

	* atlas-cpp.spec.in: Update spec with License URL Package Vendor
	  and Distribution tags.

2004-12-23  Al Riddoch  <alriddoch@zepler.org>

	* benchmark/Makefile.am: Remove SmartPtr_Move benchmark from the
	  tests, as its no longer relevant, and does not build.

2004-11-19  Ron Steinke <rsteinke@w-link.net>

	* Atlas/Codecs/Bach.cpp, Atlas/Codecs/Bach.h: Made
	  comment parsing properly part of the codec state.

2004-11-04  Al Riddoch  <alriddoch@zepler.org>

	* tests/Objects/custom_ops.cpp: Correctly set parents of custom
	  wield op to "wield" not "action".

2004-11-04  Al Riddoch  <alriddoch@zepler.org>

	* tests/Objects/objects1.cpp: Fix a redundant include.

	* tests/Objects/custom_ops.cpp: Add a test demonstrating the
	  definition of a custom op class.

2004-10-13  Al Riddoch  <alriddoch@zepler.org>

	* Release 0.5.91.

2004-10-12  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/Element.h: Add operator== for comparing to C
	  strings, to avoid the ambiguity problem.

2004-10-12  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/BaseObject.h: Add pure virtual copy method to
	  BaseObjectData to help solve the problems which occur
	  when modifying objects using smart pointers.

	* Atlas/Objects/gen_cpp.py: Implement the copy() method in all
	  the generated classes.

	* Atlas/Objects/SmartPtr.h: Add a copy() method to the SmartPtr
	  to ensure everything happens in an efficient and type safe way.

	* Atlas/Objects/common.py, Atlas/Objects/GenerateObjectFactory.py:
	  Update the copyright statements in the generated code.

2004-10-11  Ron Steinke <rsteinke@w-link.net>

	* Atlas/Codecs/Bach.cpp, Atlas/Codecs/Bach.h: Fixed a possible
	  blocking read of string escaped characters to check whether
	  data was available between reading the escape and the escaped
	  character.

2004-08-09  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Codecs/Bach.cpp, Atlas/Codecs/Bach.h, Atlas/Codecs/Packed.cpp,
	  Atlas/Codecs/Packed.h, Atlas/Codecs/XML.cpp, Atlas/Codecs/XML.h,
	  Atlas/Net/Stream.cpp, Atlas/Net/Stream.h, Atlas/Objects/BaseObject.h,
	  Atlas/Objects/loadDefaults.cpp, Atlas/Utilities/atlas_convert.cpp,
	  tests/Objects/objects2.cpp: Convert pointer to decode Bridge
	  in codecs and negotiation code to a reference for cleaner looking
	  code.

2004-08-06  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Bridge.h, Atlas/Exception.cpp, Atlas/Exception.h:
	  Move virtual method implementation into the body.

	* Atlas/Task.h: Mark class as obsolete.

	* Atlas/Net/Stream.h: Quick comment about the purpose of these
	  classes.

	* Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h:
	  Move virtual functions into the body, and stop trying to
	  inline them.

	* Atlas/Objects/GenerateDispatcher.py: Clean up the generated
	  dispatcher class.

	* Atlas/Objects/gen_cpp.py: Remove some debugging output from the
	  code generation process.

2004-07-31  Al Riddoch  <alriddoch@zepler.org>

	* Update NEWS and README.

	* Release 0.5.90.

2004-07-31  Al Riddoch  <alriddoch@zepler.org>

	* Increment version to 0.5.90.

2004-07-31  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py: Clear extra attributes of objects in pool
	  when the object is reused.

2004-07-16  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Exception.h: Implement what() from base exception class, to
	  allow description to be queried.

2004-07-08  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/BaseObject.h: Don't use friend on class definitions
	  as its forbidden in gcc 3.4.1.

2004-06-06  Al Riddoch  <alriddoch@zepler.org>

	* Fix devel dependencies in rpm spec.

2004-05-11  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateObjectFactory.py: Modify factory so behavoir
	  for unknown objects is less confusing.

2004-05-07  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/objectFactory.h: Remove redundant include.

	* Atlas/Objects/AttributeInfo.py: Implement recursive
	  Objects level encoding of operation args.

2004-05-04  James Turner  <james@worldforge.org>

	* Atlas/Net/Stream.cpp: make negotiation state transitions
	  explicit, rather than using ++.
	  
	* Add X-code project
	
	* Fixup a missing include in objectFactory that breaks Mac

2004-05-01  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateObjectFactory.py: Tolerate old objtype
	  from the other end.

2004-04-24  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/DecoderBase.cpp: Eliminate a second deep copy
	  before calling messageArrived() with a complete message.

2004-03-08  Al Riddoch  <alriddoch@zepler.org>

	* tests/Objects/objects2.cpp: Fix use of std namespace.

	* benchmark/Objects3_Move.cpp: Fix use of std::cout instead
	  of std::endl.

	* benchmark/Objects3_Move.cpp, tests/Objects/decoder1.cpp,
	  tests/Objects/encoder1.cpp, tests/Objects/objects1.cpp,
	  tests/Objects/objects2.cpp: Don't bail out if xml file
	  can't be loaded, as defaults are now already set.

	* benchmark/timer.h: Ensure this file is included in the
	  distribution.

	* Atlas/Version.h: Add new header with API version as defines
	  and static variables.

2004-02-27  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/AttributeInfo.py:
	  Complete work to set default values for objects at build
	  time. It is no longer necessary to load atlas.xml into
	  applications.

2004-02-27  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py:
	  Work in progress to set default values for objects at build
	  time.

2004-02-26  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py: Add some debugging output to
	  the default initialiser generation code.

	* Atlas/Message/Element.h: Add a flag allowing us to make typedefs
	  private already for apps that want it already.

	* Atlas/Objects/BaseObject.h: Fix a comment.

	* Atlas/Objects/SmartPtr.h: Add typedefs for iterator and
	  const_iterator, and replace operator! with a explicit
	  isValid() method for testing for a null pointer.

	* benchmark/Message_Move.cpp, benchmark/Objects3_Move.cpp,
	  tests/Objects/encoder1.cpp, tests/Objects/objects2.cpp:
	  Fix up tests to use the right Message typedefs.

2004-02-24  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/AttributeInfo.py:
	  Work in progress to set default values for objects at build
	  time.

2004-02-23  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/common.py: Add one more useless attribute.

	* tests/Objects/objects2.cpp: Fix the tests.

2004-02-23  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py, Atlas/Objects/common.py: Add a list
	  of atlas attributes used for description in the spec, or only
	  very occaisionally in the field, which should not be implemented
	  as hard coded attributes.

2004-02-22  Al Riddoch  <alriddoch@zepler.org>

	* tests/Objects/encoder1.cpp: Add extra required include.

2004-02-17  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/QueuedDecoder.cpp, Atlas/Message/QueuedDecoder.h,
	  Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h:
	  Shuffle headers around a little to solve problems in recent
	  gcc.

2004-02-17  Al Riddoch  <alriddoch@zepler.org>

	* Fix detection and flagging for zlib and libbz2.

	* Atlas/Filters/Bzip2.cpp, Atlas/Filters/Bzip2.h, Atlas/Filters/Gzip.h:
	  Fix building of filters. Typos broke it.

	* Atlas/Factory.cpp, Atlas/Codecs/Bach.cpp, Atlas/Codecs/Bach.h,
	  Atlas/Codecs/Packed.cpp, Atlas/Codecs/Packed.h,
	  Atlas/Codecs/XML.cpp, Atlas/Codecs/XML.h, Atlas/Net/Stream.h,
	  Atlas/Objects/loadDefaults.cpp: Remove unnecessary includes
	  and use forward declarations where apropriate.

	* Atlas/Objects/GenerateDecoder.py, Atlas/Objects/gen_cpp.py:
	  Use forward declarations to minimise use of includes in Objects
	  headers.

2004-02-16  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py: Make sure setFooAsList() methods
	  takes arguments as const & rather than by value.

2004-02-16  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Codecs/Utility.h: Eliminate using ..; directives from
	  headers.

	* Atlas/Message/Element.h: Deprecate typedefs inside
	  Element class in favour if similar typedefs in Message
	  namespace. Makes forward declarations easier.

	* Turn off -Werror to allow the deprecation warning.

	* Atlas/Message/DecoderBase.cpp, Atlas/Message/DecoderBase.h,
	  Atlas/Message/MEncoder.cpp, Atlas/Message/MEncoder.h,
	  Atlas/Message/QueuedDecoder.cpp, Atlas/Message/QueuedDecoder.h:
	  Adjust Message layer to use the new typedefs.

	* Atlas/Objects/AttributeInfo.py, Atlas/Objects/GenerateDecoder.py,
	  Atlas/Objects/GenerateObjectFactory.py, Atlas/Objects/common.py,
	  Atlas/Objects/gen_cpp.py, 
	  Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h,
	  Atlas/Objects/SmartPtr.cpp, Atlas/Objects/loadDefaults.cpp,
	  Atlas/Objects/objectFactory.h: Adjust the objects layer
	  to use the new typdefs.

	* Atlas/Utilities/atlas_convert.cpp: Fix the convert utility
	  to use the new typedefs.

2004-02-15  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/Encoder.h, Atlas/Objects/AttributeInfo.py:
	  Replace methods that take a const Root & with templates
	  that can take any kind of SmartPtr.

2004-01-01  Al Riddoch  <alriddoch@zepler.org>

	* benchmark/Makefile.am: Use INCLUDES as CPPFLAGS is reserved.

2003-12-19  Al Riddoch  <alriddoch@zepler.org>

	* Remove Serial from rpm spec as it is not required, and messes up
	  deps.

2003-12-08  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Atlas.h, Atlas/Debug.h: Move Atlas.h to Debug.h and
	  modify macro to use file specific flag, to curb the flood
	  of debug output.

	* Atlas/Codecs/Bach.cpp, Atlas/Message/DecoderBase.cpp: Add
	  local debug flag, and disable excessive output.

2003-12-06  Al Riddoch  <alriddoch@zepler.org>

	* benchmark/SmartPtr_Move.cpp: Sort out DEBUG definition clash.

2003-12-04  Al Riddoch  <alriddoch@zepler.org>

	* Clean up and canonicalise configure.ac.

	* Fix link order issues with atlas_convert.

	* Use suffix define in pkgconfig spec.

2003-12-03  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Utilities/Makefile.am: Ensure atlas_convert builds
	  correctly, especially important when using cross compiler.

2003-11-11  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/gen_cpp.py: Re-work default object code so it is
	  not a static instance, and is instead a kind of singleton.

	* Atlas/Objects/gen_cpp.py: Make object constructors protected
	  so it is clear that these objects should not be directly
	  instanced.

2003-10-28  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/SmartPtr.h: Modified explicit casts so they are
	  easier to use.

	* Atlas/Objects/GenerateDispatcher.py: Updated usage of casts in
	  Atlas::Objects::Dispatcher.

2003-10-27  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/loadDefaults.cpp: Modify LoadDefaultsDecoder
	  so it no longer uses Dispatcher, which it didn't really require
	  anyway. Tweak the API and its usage for efficiency.

2003-10-26  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateDispatcher.py: Final attempt to get
	  OSX's weird gcc to take this code.

2003-10-14  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateForward.py: Make forward header a true
	  forward header by forward declaring SmartPtr instead of
	  including SmartPtr.h.

2003-08-10  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/Element.h: Add an explicit operator!= for gccs 
	  before 3, which get confused by the template version.

2003-08-10  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateDispatcher.py: Correctness tweak
	  of the way data class member is generated.

	* Atlas/Objects/GenerateForward.py, Atlas/Objects/gen_cpp.py:
	  Add code to generate a forward declarations header which
	  includes forward declarations for most of the classes
	  in the Objects namespace, and the related typedefs.

	* tests/Objects/objects_fwd.cpp: A check to ensure the contents
	  of the forward header are valid and correct.

2003-08-08  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateDispatcher.py: Use insert to
	  add new dispatch methods.

2003-08-08  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Net/Stream.cpp: Enclose debugging output with a macro.

2003-08-06  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/SmartPtr.h: Fix null pointer checks.

	* Atlas/Net/Stream.h, Atlas/Net/Stream.cpp: Remove filter
	  stage from negotiation state.

2003-08-03  Ron Steinke <rsteinke@w-link.net>

	* configure.ac: changed AM_CONFIG_HEADER([config.h]) to
	  AM_CONFIG_HEADER(config.h), since automake 1.4 was interpreting
	  [config.h] as a literal.

2003-08-03  Ron Steinke <rsteinke@w-link.net>

	* Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h,
	  Atlas/Objects/gen_cpp.py: Added new function BaseObjectData::find().
	  In the process replaced virtual public hasAttr() function
	  with virtual protected getAttrClass() function, which
	  returns the class_no of the class that has the attribute
	  instead of just bool. The (now non-virtual) hasAttr()
	  in BaseObjectData wraps getAttrClass().
	* Atlas/Objects/BaseObject.h: Added a const_iterator
	  constructor from iterator.

2003-08-05  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/GenerateDispatcher.py: Fix generated dispatcher
	  code for new SmartPtr casts.

2003-08-04  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/SmartPtr.h, Atlas/Objects/SmartPtr.cpp:
	  Allow SmartPtr to be NULL, so we can use it for return values
	  less clumsily.

2003-07-30  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Negotiate.h: Removed unused Debug() macro. It was polluting
	  the global namespace.

2003-07-23  Al Riddoch  <alriddoch@zepler.org>

	* Ensure configure.ac does the important tests in C++.

2003-07-23  Al Riddoch  <alriddoch@zepler.org>

	* Switch to a cleaned up configure.ac.

2003-07-22  Ron Steinke <rsteinke@w-link.net>

	* Added internal refcounting to Atlas::Message::Element,
	  it should be user-transparent as long as you don't
	  hold a non-const reference to Element internals
	  across code that makes a copy of the same element.
	* Added iterator and const_iterator classes to BaseObjectData.

2003-07-03  Al Riddoch  <alriddoch@zepler.org>

	* Tweaks to the updated rpm spec.

2003-07-03  Al Riddoch  <alriddoch@zepler.org>

	* Update rpm spec to be cleaner, and make the technical sections
	  more generic.

2003-07-02  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Filter.h: Sort out streambuf.h problems by including
	  iostream instead.

2003-06-23  Al Riddoch  <alriddoch@zepler.org>

	* Changes to Makefile.ams to try and get distcheck to work.

	* tutorial/simple_client.cpp, tutorial/simple_server.cpp,
	  tutorial/DebugBridge.h: Include the library headers correctly.

2003-06-04  Al Riddoch  <alriddoch@zepler.org>

	* Add rpm spec.

2003-05-04  Al Riddoch  <alriddoch@zepler.org>

	* Fix linking tests with the right other libraries.

2003-05-04  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Message/Element.h, Atlas/Message/Element.cpp: Move over to
	  calling Atlas::Message::Object Atlas::Message::Element instead.

	* Atlas/Bindings/Python/wrapperObject.cpp, Atlas/Message/DecoderBase.h,
	  Atlas/Message/MEncoder.cpp, Atlas/Message/MEncoder.h,
	  Atlas/Message/QueuedDecoder.h, Atlas/Objects/BaseObject.h:
	  Update everything to make use of the newly re-named Element
	  class.

2003-04-15  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/BaseObject.cpp: Re-implement asMessage() in terms of
	  addToMessage() and make it non-virtual.

	* Atlas/Objects/AttributeInfo.py, Atlas/Objects/gen_cpp.py: Move
	  send*() functions into the implementation, while keeping them
	  inlined, as there is no need for them to be exposed as inlined.

	* Atlas/Objects/gen_cpp.py: Remove asMessage().

2003-04-14  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Objects/AttributeInfo.py: Add explicit send members for
	  the more complex sequence types, to avoid having
	  to use a Message::Encoder.

2003-04-14  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/EncoderBase.cpp, Atlas/EncoderBase.h,
	  Atlas/Message/MEncoder.cpp, Atlas/Message/MEncoder.h,
	  Atlas/Objects/AttributeInfo.py, Atlas/Objects/BaseObject.cpp,
	  Atlas/Objects/BaseObject.h, Atlas/Objects/Encoder.h,
	  Atlas/Objects/gen_cpp.py, Atlas/Utilities/atlas_convert.cpp,
	  tests/Objects/encoder1.cpp, tests/Objects/objects2.cpp:
	  Clean up and de-virtualised encoders for performance.

2003-04-13  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/Exception.h, Atlas/Exception.cpp,
	  Atlas/Message/DecoderBase.cpp, Atlas/Message/DecoderBase.h,
	  Atlas/Message/MEncoder.cpp, Atlas/Message/MEncoder.h,
	  Atlas/Net/Stream.cpp, Atlas/Net/Stream.h,
	  Atlas/Objects/BaseObject.cpp, Atlas/Objects/BaseObject.h,
	  Atlas/Objects/Encoder.h, Atlas/Objects/Encoder.cpp,
	  Atlas/Objects/GenerateDecoder.py,
	  Atlas/Objects/GenerateObjectFactory.py,
	  Atlas/Objects/objectFactory.h:
	  Take more virtual functions out of headers.

2003-04-13  Al Riddoch  <alriddoch@zepler.org>

	* Atlas/EncoderBase.h, Atlas/EncoderBase.cpp,
	  Atlas/Objects/gen_cpp.py:
	  Take virtual functions out of headers, as they can't be inlined.

	* Atlas/Codecs/Bach.cpp: Fix some botched headers.

	* Atlas/Message/MEncoder.h: Remove the hack which solved a problem
	  with overloaded methods hiding virtual methods.

	* benchmark/Message_Move.cpp, benchmark/Objects2_Move.cpp,
	  benchmark/Objects3_Move.cpp, benchmark/Objects_Move.cpp,
	  benchmark/SmartPtr_Move.cpp, benchmark/Static_Move.cpp,
	  tests/Objects/decoder1.cpp, tests/Objects/encoder1.cpp,
	  tests/Objects/objects1.cpp, tests/Objects/objects2.cpp:
	  Bring benchmark and tests headers into line.

2003-04-10  Al Riddoch  <alriddoch@zepler.org>

	* Rename src to Atlas for portability

2003-04-10  Al Riddoch  <alriddoch@zepler.org>

	* src/Codec.cpp, src/Codec.h, src/Codec_impl.h,
	  src/Negotiate.h, src/Negotiate.h, src/Codecs/Bach.h,
	  src/Codecs/Packed.h, src/Codecs/XML.h,
	  src/Net/Stream.cpp, src/Net/Stream.h,
	  src/Objects/loadDefaults.cpp, src/Utilities/atlas_convert.cpp,
	  tests/Objects/objects2.cpp: Get rid of pointless Task interface
	  and make Codec and Negotiate base classes no longer templates,
	  as it makes no difference.

2003-04-09  Al Riddoch  <alriddoch@zepler.org>

	* src/Message/MEncoder.h, src/Objects/Encoder.h: Make Encoder
	  constructors explicit for safety.

	* src/Message/Object.cpp, src/Message/Object.h: Add assignment
	  operators for all the possible types for efficiency.
	  Move long functions out of header, so they are not
	  inlined.

	* src/Objects/gen_cpp.py, src/Objects/BaseObject.cpp,
	  src/Objects/BaseObject.h: Add new method for more efficient
	  conversion of Objects into Messages.

	* src/Objects/AttributeInfo.py: Make use of more efficient
	  conversion methods.

	* Make sure the tests and benchmarks are picking up the right
	  libraries.

2003-03-22  Al Riddoch  <alriddoch@zepler.org>

	* src/Message/DecoderBase.cpp, src/Message/DecoderBase.h,
	  src/Message/QueuedDecoder.cpp, src/Message/QueuedDecoder.h,
	  src/Objects/loadDefaults.cpp, tests/Objects/encoder1.cpp:
	  Rename objectArrived methods to avoid overloading.

	* src/Objects/GenerateDecoder.py, src/Objects/gen_cpp.py,
	  src/Objects/loadDefaults.cpp, tests/Objects/decoder1.cpp,
	  tests/Objects/objects2.cpp: Remove dispatch functionality from
	  decoder, and implement it in a new class.

2003-03-16  Al Riddoch  <alriddoch@zepler.org>

	* Added pkgconfig macro, and put installed headers into a subdir.
	  Use version suffix on library names.

2002-11-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/GenerateDecoder.py: Rename Objects::Decoder
	  methods so no overloading.

	* tests/Objects/decoder1.cpp, tests/Objects/objects2.cpp:
	  Get the tests working again.

2002-11-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Bridge.cpp, src/Bridge.h, src/EncoderBase.h,
	  src/Codecs/Bach.cpp, src/Codecs/Bach.h,
	  src/Codecs/Packed.cpp, src/Codecs/Packed.h,
	  src/Codecs/XML.cpp, src/Codecs/XML.h,
	  src/Codecs/XMLish.cpp, src/Funky/FEncoder.h,
	  src/Message/DecoderBase.cpp, src/Message/DecoderBase.h,
	  src/Message/MEncoder.cpp, src/Message/MEncoder.h,
	  src/Net/Loopback.cpp, src/Objects/AttributeInfo.py,
	  src/Objects/BaseObject.cpp, src/Objects/Encoder.h,
	  src/Utilities/atlas_convert.cpp, tests/Objects/decoder1.cpp,
	  tests/Objects/encoder1.cpp, tests/Objects/objects2.cpp,
	  tutorial/DebugBridge.h, tutorial/simple_client.cpp,
	  tutorial/example/DebugBridge.h, tutorial/example/simple_client.cpp:
	  Rename methods so overloading is not being used, to prevent
	  the problems that seems to cause with virtual functions.

2002-11-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Message/MEncoder.cpp, src/Message/MEncoder.h,
	  src/Objects/BaseObject.cpp, src/Objects/BaseObject.h,
	  src/Objects/GenerateObjectFactory.py, src/Objects/gen_cpp.py
	  src/Objects/objectFactory.h, src/Utilities/atlas_convert.cpp:
	  Change argument type from Element to Element::MapType for
	  efficiency.

	* src/Message/QueuedDecoder.cpp, src/Message/QueuedDecoder.h:
	  Make method names a little more distinctive, and inline
	  the short ones.

	* src/Objects/AttributeInfo.py, src/Objects/BaseObject.cpp,
	  src/Objects/BaseObject.h: Change asObject methods to
	  asElement.

2002-11-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/GenerateObjectFactory.py,
	  src/Objects/GenerateDecoder.py,
	  src/Objects/AttributeInfo.py: Fix method name change in generated
	  code.

	* benchmark/timer.h, benchmark/Objects3_Move.cpp,
	  benchmark/Message_Move.cpp, benchmark/Call_Move.cpp:
	  Get the benchmarks building again.

2002-11-30  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/BaseObject.h, src/Objects/gen_cpp.py: Make class numbers
	  static.

	* src/Objects/objectFactory.h, tests/Objects/objects2.cpp: Change
	  function name to match new type names.

	* tests/Objects/objects2.cpp: Switch to using ISO C++ compliant
	  stringstream.

2002-11-29  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/GenerateDecoder.py, src/Objects/SmartPtr.h: Modify
	  decoder to use type safe conversions.

2002-11-29  Al Riddoch  <alriddoch@zepler.org>

	* tests/Objects: Get the tests compiling again.

2002-11-29  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/SmartPtr.h: Clean up constructors so member pointer is
	  directly initialised. Add type conversion template for const
	  objects. Make methods const as apropriate.

	* gen_cpp.py: Make Objects classes allocation routines return pointers
	  to their type rather than to the base class, to make writing type
	  safe code easier.

2002-11-29  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/SmartPtr.h: Added member templates for type
	  conversion up and down the tree.

2002-11-19  Al Riddoch  <alriddoch@zepler.org>

	* src/Exception.h, src/Objects/BaseObject.h,
	  src/Objects/GenerateDecoder.py, src/Objects/objectFactory.h:
	  Have the base Atlas-C++ exception class inherit from
	  std::exception. Fix destructor throw specifier.

	* src/Message/DecoderBase.h, src/Message/QueuedDecoder.cpp,
	  src/Message/QueuedDecoder.h, src/Objects/loadDefaults.cpp:
	  Pass Element::MapType to the objectArrived() method as atlas
	  requires the top level element to be a map.

	* src/Objects/objectFactory.h: Modified NoSuchFactoryException
	  so that it inherits from Atlas::Exception.

	* src/Objects/objectFactory.h, src/Objects/objectFactory.cpp,
	  src/Objects/GenerateObjectFactory.py:
	  addFactory now returns an integer which is the type value
	  which will be used to identify objects of the class
	  produced by this factory.

	* src/Objects/Decoder.h, src/Objects/Decoder.cpp,
	  src/Objects/GenerateDecoder.py:
	  Added addMethod() function to Decoder class, which allows the
	  application to register methods for custom classes using
	  the integer value returned by Factories::addFactory().

2002-11-08  Al Riddoch  <alriddoch@zepler.org>

	* src/Message/DecoderBase.cpp, src/Message/DecoderBase.h,
	  src/Message/MEncoder.cpp, src/Message/MEncoder.h,
	  src/Message/Object.h, src/Message/QueuedDecoder.cpp:
	  Rename Atlas::Message::Object to Atlas::Message::Element to
	  avoid confusion, and namespace clashes.
	  
	* src/Objects/AttributeInfo.py, src/Objects/GenerateDecoder.py,
	  src/Objects/GenerateObjectFactory.py, src/Objects/common.py,
	  src/Objects/gen_cpp.py, 
	  src/Objects/BaseObject.cpp, src/Objects/BaseObject.h,
	  src/Objects/Encoder.h, src/Objects/loadDefaults.cpp,
	  src/Objects/objectFactory.h, src/Utilities/atlas_convert.cpp:
	  Update the Objects API to use the new Message class.

	* configure.in, tests/Objects/Makefile.am:
	  Fix handling of compression libs by filters.

	* tests/Objects/decoder1.cpp, tests/Objects/encoder1.cpp,
	  tests/Objects/objects1.cpp, tests/Objects/objects2.cpp,
	  tutorial/DebugBridge.h:
	  Update tests so they build again.

2002-06-20  Al Riddoch  <alriddoch@zepler.org>

	* src/Codecs/Bach.cpp, src/Message/DecoderBase.cpp,
	  src/Utilities/atlas_convert.cpp: Strict ISO C++ fixes.

2002-06-05  Michael Koch  <konqueror@gmx.de>

	* src/Codecs/Bach.*: fix allowed characters for names

2002-06-01  AIR-IX SUUNNITTELU/Ahiplan Oy  <aloril@iki.fi>

	* src/Objects/common.py, gen_cpp.py: both Python 1.5.* and Python 2.*
	  supported

2002-05-21  Michael Koch  <konqueror@gmx.de>

	* configure.in: fixed --enable-debug

2002-05-19  Al Riddoch  <alriddoch@zepler.org>

	* src/Objects/common.py: Back off to supporting older more common
	  versions of python.

	* src/Codecs/Bach.cpp, src/Codecs/Packed.cpp, src/Codecs/XML.cpp,
	  src/Net/Stream.cpp:
	  Work around the problem that in_avail() sometimes returns < 0 on
	  some systems.

2002-05-18  Michael Koch  <konqueror@gmx.de>

	* all Makefile.am: 
	  fixes for builddir != srcdir

2002-05-17  Michael Koch  <konqueror@gmx.de>

        * atlas-config.in:
	  - dont output /usr/lib when called with --libs
	  - return real version instean of the string @ATLAS_VERSION@

2002-05-15  Michael Koch  <konqueror@gmx.de>

        * atlas-config.in: dont output /usr/include when called with --cflags

2002-05-15  Michael Koch  <konqueror@gmx.de>

	* src/Bridge.h: added documentation.

2002-05-14  Michael Koch  <konqueror@gmx.de>

	* src/Codecs: fixed encodeString

2002-05-14  Michael Koch  <konqueror@gmx.de>

	* src/Makefile.am: added Atlas.h
	* src/Objects/BaseObject.h: remove debugging code

2002-05-14  Michael Koch  <konqueror@gmx.de>

        * src/Objects/SmartPtr.h:
	  removed DEBUG code: it doesnt compiles and aloril
	  said its not needed.
	* configure.in: added --enable-debug
	  by default debugging is disabled
	* src/Atlas.h:
	  new file for gobal definitions
	  currently used for the definition of ATLAS_DEBUG
	* src/Codecs/Bach.cpp,
	  src/Bindings/Python/wrapperObject.cpp:
	  use ATLAS_DEBUG macro
	* src/Message/DecoderBase.cpp:
	  added some asserts
	  use ATLAS_DEBUG macro

2002-05-13  Michael Koch  <konqueror@gmx.de>

	* src/*, configure.in:
	  added Bach Codec officially to Atlas-C++
	
2002-05-12  Michael Koch  <konqueror@gmx.de>

	* adjusted all member variables to use the prefix m_

2002-05-12  Michael Koch  <konqueror@gmx.de>

	* src/Utititlies/*:
	  Added new utility to convert ATLAS files using another codec.

	  This doesnt get compiled currently.

2002-05-10  Michael Koch  <konqueror@gmx.de>

	* src/Codecs/Bach.cpp/h:
	  New class implementing the BACH codec.

2002-05-07  Michael Koch  <konqueror@gmx.de>

	* src/Objects/common.py, src/Objects/gen_cpp.py:
	  Use latest API from Atlas-Python

2002-11-04  Al Riddoch  <alriddoch@zepler.org>

	* src/Filter.h, src/Funky/FEncoder.cpp, src/Funky/FEncoder.h,
	  src/Message/MEncoder.cpp, src/Message/MEncoder.h,
	  src/Objects/BaseObject.cpp, src/Objects/BaseObject.h:
	  Rename Encoder.* files so that IDE's don't get confused by
	  the duplicate object file names.

	* src/Objects/common.py: Default to recent python version.
	  Users of older versions of python may have to hack this file.

2001-10-07  Al Riddoch  <alriddoch@zepler.org>

This entry covers the changes made by Jesse Jones for which no ChangeLog
entries were commited. It also includes further changes made by myself.

	* src/Objects/BaseObject.cpp: Re-ordered includes.

	* src/Objects/BaseObject.h: Added include to ensure header is stand
	  alone. Make accessor method const.  Make sure non-callable
	  function returns something when asserts are not compiled in.

	* src/Bridge.h: Fixed malformed declarations for mapBegin and
	  listBegin.

	* src/Codec.cpp, src/Objects/loadDefaults.cpp: Re-ordered includes to
	  ensure that respective headers are stand alone.

	* src/Net/Stream.cpp: Re-ordered includes to ensure that header is
	  stand alone. Made some functions static. Removed invalid default
	  arguements as these belong in the headers. Removed stage style
	  TODO as these are not used in the Atlas-C++ code. Added some
	  casts.

	* src/Codecs/XML.cpp: Added some casts.

	* src/Message/Encoder.h: Added a bunch of inherited methods to
	  prevent them from being hidden by the new overloaded methods.
	  Removed confusing "Inherited" typedef. Re-styled inherited
	  methods.

	* src/Exception.h: Fixed misspelled "UNKNOW". Made getDescription a
	  const method.

	* src/Filter.h: Removed an extra comma from the Type declaration.
	  Added some casts. Moved inline virtual methods to cpp file.

	* src/Filter.cpp: Added virtual filterbuf methods from header file.

	* src/Negotiate.h: Removed an extra comma from the declaration.

	* src/Message/Layer.h: Removed duplicate constructor.

	* src/Codecs/Packed.cpp, src/Codecs/Utility.h: Added a cast.

	* src/Codecs/Packed.h: Removed a comma from the declaration.

	* src/Codecs/XML.h: Removed commas from declarations.

	* src/Net/Stream.h: Forward references Bridge so header stands alone.

2001-10-02  Al Riddoch  <alriddoch@zepler.org>

	* Cleaned up some unnecessary includes.

	* src/Net/Stream.cpp: Re-wrote client greeting code so it is more
          efficient, as described by Damien McGinnes.

2001-07-17  Al Riddoch  <alriddoch@zepler.org>

	* src/Exception.h: Added exception base class, with string
	  description.

	* src/Objects/loadDefaults.h, src/Objects/BaseObject.h,
	  src/Message/Object.h: Modify exception classes to derive from
	  exception base class.

	* src/Objects/loadDefaults.cpp, src/Objects/BaseObject.cpp: Re-style
	  code for consistancy and readability.

	* src/Message/Object.h: Added feature to Message::Object so it
	  can store pointers properlly.

	* src/Objects/GenerateObjectFactory.py: Make generated code ISO
	  conformant, and more readable.

	* src/Objects/common.py: Updated copyright date for generated files.

2001-07-15  Al Riddoch  <alriddoch@zepler.org>

	* Added interface and library versioning.

2001-07-15  Al Riddoch  <alriddoch@zepler.org>

	* src/Net/Stream.cpp, src/Objects/BaseObject.cpp,
	  src/Objects/loadDefaults.cpp: Fixed code for strict ISO
	  conformance; mainly strict use of std:: namespace.

2001-07-15  Al Riddoch  <alriddoch@zepler.org>

	* src/Message/Object.h, src/Message/Object.cpp: Removed buggy and
	  largely unused memory pool code.

	* src/Objects/loadDefaults.cpp: Removed double use of find()
	  method, and re-styled code to fit in with the rest of Atlas-C++.

	* src/Net/Stream.cpp: Switched negotiation code over to picking
	  Packed by default.

	* src/Filters/Bzip2.cpp: Modified code to use latest Bzip2 API.

	* src/Codecs/Packed.cpp: Fixed beginning and ending of stream,
	  which does not have an encoding in Packed.

	* NEWS, HACKING: updated.

2001-05-06  Al Riddoch  <alriddoch@zepler.org>

        * src/Message/Object.cpp: Added true cpp file so that class static
          member is handled cleanly.

        * src/Message/Object.h: Moved clear and operator new/delete()
          functions around so they can be inlined.

        * src/Net/Stream.cc: Added ATLAS to greeting message as required
          by the Atlas protocol.

        * src/Net/Stream.*: Made header in NegotiateHelper pass by reference.

2001-03-22  Al Riddoch  <alriddoch@zepler.org>

        * configure.in: Changed package name to Atlas-C++ to ensure it
	  is distinguishable from the other versions.

	* configure.in: Added rule to make atlas-config script.

2001-03-14  Al Riddoch  <alriddoch@zepler.org>

	* src/Codecs/Makefile.am: Install Codec header files, so codecs can
	  be used directly.

	* src/Codecs/*.cpp: Removed default value for can_read parameter from
	  definition as it is only required in declaration.

	* Added some std:: prefixes as required.

2001-03-12  Al Riddoch  <alriddoch@zepler.org>

	* Updated ROADMAP and NEWS to latest versions from stable branch.

	* Modified docs to indicate new maintainer.

2001-03-10  Al Riddoch  <alriddoch@zepler.org>

	* src/Codec.*, src/Codecs/*: Ported across simplified ISO compliant
	  Codec classes from stable branch. Removed Metrics and Parameters.
	  
	* src/Filter.*, src/Filters/*: Removed Metrics and Parameters.

	* src/Factory.*: Removed Factory mechanism, changes copied from
	  stable branch.

	* src/Net/Stream.*: Changed negotiation classes to simplified but
	  ISO compliant version from stable branch, with placeholder
	  code for Filter negotiation.

	* HACKING: Copied across from stable branch, and modified to reflect
	  status of this branch.

	* README: Updated contents from the stable branch.

	* tutorial/example/*: Created similar tutorial to that on stable
	  branch. The only differences are differences to the API.

	* src/Filter.h, Makefile.am: Sorted out using config.h in Filter.h.

	* src/Filters/*: Moved filters into their own namespace,
	  in accordance with the convention used throughout this
	  library.

	* src/*: Removed all "using namespace .." directives.

2001-03-08  Al Riddoch  <alriddoch@zepler.org>

	* src/*: Removed "using namespace std;" throughout code, as all
	  uses of symbols in this namespace are now fully qualified.

2001-03-07  Al Riddoch  <alriddoch@zepler.org>

	* src/*: Backed off changes to namespaces and template classes with
	  Stream parameter, as they proved to be of no benefit to portability.

	* src/*: Finished off a bit more ISO conformance. (all std:: additions).

	* src/Message/Object.h: Copied changes from stable branch
	  including memory pool optimisation, asNum() and isNum() methods, and
	  change of ListType from std::list to std::vector.

	* src/*: Replaced int with long throughout code for compatability
	  with changes type in Message::Object

2001-01-05  Stefanus Du Toit  <sjdutoit@uwaterloo.ca>

	* src/Filter.h: added filterbuf. Input filtering is not
	    implemented yet.
	* configure.am: added check for <streambuf>. You will need an
	    automike with a C++ check for this.
	* configure.in: regenerated from new configure.am.
	* TODO: updated todo list.
	* src/Net/Stream.h: identified a problem. Look for XXX.

2001-01-04  Stefanus Du Toit  <sjdutoit@uwaterloo.ca>

	* src/*: made everything ISO C++ conforming, from what I can see
	    (mainly a great number of std:: additions).

2000-12-22  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Removed dependency on socket++ in test programs.

	* Added atlas.m4 autoconf macro script.

2000-12-21  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Split filters into header and cpp file in the same model
	  as Codecs.

	* Re-worked tutorial, test and benchmarks so they compile without
	  installing the library.

2000-12-20  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Removed hierarchical namespaces, leaving single flat Atlas
	  namespace.

	* Reduced template usage, especially removing all Stream
	  templates.

	* Split codecs into header and cpp file, and removed static Codec
	  instances.

	* Re-worked factories() static member function in Factory
	  so it now uses portable static list pointer instead of static
	  list.

2000-12-19  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Added atlas-config script.

2000-12-13  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Added first attempt at a UML class diagram.

2000-12-09  Aloril  <aloril@iki.fi>

	* added bool instanceOf(int classNo) const; method

2000-12-08  Aloril  <aloril@iki.fi>

	* Decoder::unknownObjectArrived(const Entity::Empty&); ->
	Decoder::objectArrived(const Entity::Anonymous&);

	* s/Empty/Anonymous/

	* added Atlas::Objects::Entity::Empty class which is used when
 	unknown object has arrived (usually unknown objects have pos
 	attribute, which is dynamic in Root):
	Decoder::unknownObjectArrived(const Entity::Empty&);
	and for args: if(op->getArgs()[0]->getClassNo() == Entity::EMPTY_NO) ...

2000-12-02  Aloril  <aloril@iki.fi>

	* changed method names: FooMethod -> fooMethod

	* optimized src/Objects: now few hundred times faster than earlier

2000-11-17  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Removed .cc files

2000-11-09  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Renamed all cc files to cpp for Visual studio. Old .cc files still
	  remain. Will be removed once we are sure this is stable.
	
2000-11-01  Al Riddoch  <ajr@ecs.soton.ac.uk>

	* Fixed negotiation so it is now possible for packed to get picked.
	  (Packed decoder appears to segfault though)