It compiles on Linux without problem. I still need to compile on other platforms and do some further testing.
I have attached a number of minor comments and questions to the end of this email.
Reply with comments, or take action, at your discretion.
Jim Trainor
Schemasoft->main merge notes/comments/questions:
1) AAFi686Linux/g++/sss-impl/debug/libSSRW2C.a was present in the main branch,
but not in the schemasoft branch. Presumably, debug builds in the schemasoft
branch were using the release library. Perhaps that should be fixed in main.
2) This macro is used in a few places (well.. at least one that I recall):
Is this correct, or is this left over debug/test code? It is defined
in AAFFileMode.h
3) -DOM_PERMIT_ZERO_LENGTH and -DOM_STACK_TRACE_ON_ASSERT are added to
CFLAGS in AAF/ref-impl/src/OM/GNUmakefile. Was that intended to be a
permanent addition, or is it a left over? The macros are used in
several source files.
4) OM_USE_STORAGE_EX - Should that come through to main?
... has an "ASSERT("Unimplemented code not reached", false)" where
formerly there was a call to OMMSSStoredObject::createWrite(...) The
former call is commented out in the schemasoft branch, with the
comment "MSS writable files must also be readable." Another, latter,
createWrite() method is similar.
I think, the old code should simply be removed rather than
commented out.
6) In OMProperty.cpp, I see use of the OM_KLUDGE_TYPEDEFRECORD macro.
Is that a left over? Should that have come through to the main branch?
7) OMSSSStoredStream.cpp throws ( OMException(status | 0x80000000L ).
This could use the MAKE_AAFHRESULT() macro.
8) OMStream::size() has the new stat() call surrounded by "#if 1".
The old code is lingering in there. I think it should be removed
unless it is being kept for a reason, in which case a comment would
be useful.
9) OMXMLStoredObjectFactory.cpp - (unsigned char) cast would be
better implemented using a reinterpret_cast<unsigned char>() in order
follow conventions in the rest of the OM code.
10) What is AAF_FILE_MODE_USE_ALTERNATE_LIBRARY? Should that remain?
11) The changes to ImplAAFTypeDefRecord.cpp don't seem to have
anything to do with the schemasoft integration. If those changes fix
a bug, it would be good to enter the bug on Source Forge so that a
comment, referencing the bug, can be inserted in the log.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
[ from Jim Trainor ]
Hello all,
The schemasoft branch is now merged into main.
It compiles on Linux without problem. I still need to compile on other platforms and do some further testing.
I have attached a number of minor comments and questions to the end of this email.
Reply with comments, or take action, at your discretion.
Jim Trainor
Schemasoft->main merge notes/comments/questions:
1) AAFi686Linux/g++/sss-impl/debug/libSSRW2C.a was present in the main branch,
but not in the schemasoft branch. Presumably, debug builds in the schemasoft
branch were using the release library. Perhaps that should be fixed in main.
2) This macro is used in a few places (well.. at least one that I recall):
#define AAF_FILE_MODE_USE_ALTERNATE_LIBRARY (1 << 27)
Is this correct, or is this left over debug/test code? It is defined
in AAFFileMode.h
3) -DOM_PERMIT_ZERO_LENGTH and -DOM_STACK_TRACE_ON_ASSERT are added to
CFLAGS in AAF/ref-impl/src/OM/GNUmakefile. Was that intended to be a
permanent addition, or is it a left over? The macros are used in
several source files.
4) OM_USE_STORAGE_EX - Should that come through to main?
5) OMMSSStoredObjectFactory::createWrite(OMRawStorage* rawStorage,
const OMByteOrder byteOrder)
... has an "ASSERT("Unimplemented code not reached", false)" where
formerly there was a call to OMMSSStoredObject::createWrite(...) The
former call is commented out in the schemasoft branch, with the
comment "MSS writable files must also be readable." Another, latter,
createWrite() method is similar.
I think, the old code should simply be removed rather than
commented out.
6) In OMProperty.cpp, I see use of the OM_KLUDGE_TYPEDEFRECORD macro.
Is that a left over? Should that have come through to the main branch?
7) OMSSSStoredStream.cpp throws ( OMException(status | 0x80000000L ).
This could use the MAKE_AAFHRESULT() macro.
8) OMStream::size() has the new stat() call surrounded by "#if 1".
The old code is lingering in there. I think it should be removed
unless it is being kept for a reason, in which case a comment would
be useful.
9) OMXMLStoredObjectFactory.cpp - (unsigned char) cast would be
better implemented using a reinterpret_cast<unsigned char>() in order
follow conventions in the rest of the OM code.
10) What is AAF_FILE_MODE_USE_ALTERNATE_LIBRARY? Should that remain?
11) The changes to ImplAAFTypeDefRecord.cpp don't seem to have
anything to do with the schemasoft integration. If those changes fix
a bug, it would be good to enter the bug on Source Forge so that a
comment, referencing the bug, can be inserted in the log.
I took care of number 9. Oh yeah... it was a static_cast<> not reinterpret :)
I have commited changes addressing items (1), (5) and (8):
- v1.12 ref-impl/src/com-api/GNUmakefile (1)
- v1.10 DevUtils/Dump/GNUmakefile (1)
- v1.14 ref-impl/src/OM/OMMSSStoredObjectFactory.cpp (5)
- v1.6 ref-impl/src/OM/OMStream.cpp (8)