forked from amazingfate/loongoffice
...as there are typically no direct calls to it anyway. What is apparently needed is to decorate the cppumaker-generated headers instead: * cppumaker obtains deprecation-information from the documentation strings in .rdb files. As these are normally generated by idlc without documentation included (no -C), idlc got changed to nevertheless contain documentation consisting of just "@deprecated" in this case, to allow to easily tunnel this information to cppumaker always. * The mechanism of parsing for "@deprecated" in documentation strings is somewhat crude, of course. * For now, cppumaker only decorates C++ functions that correspond to UNOIDL interface attributes and methods. More should be possible (but, e.g., being able to decorate a complete C++ class corresponding to a deprecated UNOIDL interface type depends on whether all platforms would accept SAL_DEPRECATED_INTERNAL at the same position in a C++ class declaration. * This could also be extended to other languages than C++/cppumaker. * Always using SAL_DEPRECATED_INERNAL instead of SAL_DEPRECATED for decoration is to keep things simple and our codebase working. Improvements are possible here, too, of course. Change-Id: Ia2917892f780d477652e4cd9f286588a6898c3f5
UNO interface declaration/stub generators for: - C++: cppumaker generates headers (.hpp and .hdl files) that provide the UNO API C++ binding - Java: javamaker generates class files that provide the JVM UNO API binding - the one for .Net is in module cli_ure Note the different terminology used by cppumaker vs. gbuild for the three variants that can be generated by cppumaker for some of the inline functions: (10:21:49) sberg: tml_, switch: -L; cpputype.cxx: light; gbuild: normal (10:22:02) sberg: tml_, switch: none; cpputype.cxx: normal; gbuild: bootstrap (10:22:20) sberg: tml_, switch: -C; cpputype.cxx: comprehensive; gbuild: comprehensive (10:22:45) sberg: ...a recipe for confusion