Cynthia Qu wrote:
hi, Stephan,

Thank you very much for your kindness reply! I got it ,then. :) I also have other questions: 1.How to make sure I have moved out all of the C++ stuff we need to move?

First and foremost (even though you probably will not like to hear that), I personally think the "Clear Separation of C and Cpp and Core Components" thing is nothing we should waste our time with. (I know, Kay Ramme thinks differently, hence he put that on the todo list.) Too much potential to break existing client code, with only very little (IMO) to gain.

2.What is the workflow of the task described here: http://wiki.services.openoffice.org/wiki/Uno/Todo/Clear_Separation_of_C_and_Cpp_and_Core_Components . Well, I mean how to get you know what I have done about the task, if I thought I have completed it ? Shall I need to do all of the tasks described in the link page and then inform you, or inform you after each task I have done and let you check out if I have done it right,then move on?
3.I don't understand what has done in the fuction "_defaultConstructUnion" :
****************
inline void _defaultConstructUnion(
        void * pMem,
        typelib_TypeDescription * pTypeDescr )
        SAL_THROW( () )
{
        ::uno_type_constructData(
                (char *)pMem + ((typelib_UnionTypeDescription 
*)pTypeDescr)->nValueOffset,
                ((typelib_UnionTypeDescription *)pTypeDescr)->pDefaultTypeRef );
        *(sal_Int64 *)pMem = ((typelib_UnionTypeDescription 
*)pTypeDescr)->nDefaultDiscriminant;
}
*******************

At some places in the UNO code, there is provision for a union (aka sum) data type construct, which obviously was planned for at the beginning of UNO, but never implemented completely nor removed completely.

4.Can I just move out the code "class Enterable" in cppu/inc/cppu/Enterable.hxx and put it into a 
file in cppuhelper/inc/Enterable.hxx (new created in this folder), but keep the other "extern 
"C" inline" stuff without moving?

No. At compile time, client code expects #include "cppu/Enterable.hxx" to define class cppu::Enterable. We have a policy in place to not break (legal) client code, neither at compile time nor at runtime.

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to