--- connectivity/source/drivers/mozab/defs/wntmsci10 1970-01-01 01:00:00.000000000 +0100 +++ connectivity/source/drivers/mozab/defs/wntmsci10 2004-06-08 05:56:26.000000000 +0200 @@ -0,0 +1,207 @@ +??$getCppuType@VOUString@rtl@@@@YAABVType@uno@star@sun@com@@PBV?$Sequence@VOUString@rtl@@@1234@@Z +??0?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAE@PAVXMultiServiceFactory@lang@234@@Z +??0?$Reference@VXRegistryKey@registry@star@sun@com@@@uno@star@sun@com@@QAE@PAVXRegistryKey@registry@234@@Z +??0?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??0OUString@rtl@@AAE@PAU_rtl_uString@@PAVDO_NOT_ACQUIRE@01@@Z +??0OUString@rtl@@QAE@XZ +??0ProviderRequest@@QAE@PAXPBD@Z +??1?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Reference@VXRegistryKey@registry@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QAE@XZ +??1OUString@rtl@@QAE@XZ +??1ProviderRequest@@QAE@XZ +??4?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAAAAV01234@ABV01234@@Z +??4OUString@rtl@@QAEAAV01@ABV01@@Z +??8rtl@@YAEABVOUString@0@0@Z +??A?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QBAABVOUString@rtl@@J@Z +??C?$Reference@VXRegistryKey@registry@star@sun@com@@@uno@star@sun@com@@QBAPAVXRegistryKey@registry@234@XZ +??C?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QBAPAVXSingleServiceFactory@lang@234@XZ +??YOUString@rtl@@QAEAAV01@ABV01@@Z +??_C@_0BP@EGLBGAIM@?$CD?$CD?$CD?5illegal?5index?5of?5sequence?$CB?$AA@ +??_C@_0DG@GDKJEPCE@o?3?2SRC680?2wntmsci10?2inc?2com?1sun?1@ +??_R0?AVInvalidRegistryException@registry@star@sun@com@@@8 +?CREATE_PROVIDER@ProviderRequest@@QAEEABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@5678@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@5678@@ZP6A?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@5678@2031PAU_rtl_ModuleCount@@@Z@Z +?REGISTER_PROVIDER@@YAXABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@4567@@Z +?compareTo@OUString@rtl@@QBEJABV12@@Z +?cpp_release@uno@star@sun@com@@YAXPAX@Z +?createFromAscii@OUString@rtl@@SA?AV12@PBD@Z +?get@?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QBAPAVXSingleServiceFactory@lang@345@XZ +?getCppuType@@YAABVType@uno@star@sun@com@@PBVOUString@rtl@@@Z +?getLength@?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QBAJXZ +?getLength@OUString@rtl@@QBEJXZ +?getProvider@ProviderRequest@@QBEPAXXZ +?getTypeLibType@Type@uno@star@sun@com@@QBAPAU_typelib_TypeDescriptionReference@@XZ +?is@BaseReference@uno@star@sun@com@@QBAEXZ +?s_pType@?$Sequence@VOUString@rtl@@@uno@star@sun@com@@2PAU_typelib_TypeDescriptionReference@@A +?set@?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAAEPAVXSingleServiceFactory@lang@345@@Z +component_getFactory +component_getImplementationEnvironment +component_writeInfo +??$_Construct@VWeakReferenceHelper@uno@star@sun@com@@V12345@@_STL@@YAXPAVWeakReferenceHelper@uno@star@sun@com@@ABV12345@@Z +??$_Destroy@PAVWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAXPAVWeakReferenceHelper@uno@star@sun@com@@0@Z +??$_Destroy@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAXPAVWeakReferenceHelper@uno@star@sun@com@@@Z +??$__copy@PAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@H@_STL@@YAPAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@00ABUrandom_access_iterator_tag@0@PAH@Z +??$__copy_ptrs@PAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@@_STL@@YAPAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@00ABU__false_type@0@@Z +??$__destroy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@@_STL@@YAXPAVWeakReferenceHelper@uno@star@sun@com@@00@Z +??$__destroy_aux@PAVWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAXPAVWeakReferenceHelper@uno@star@sun@com@@0ABU__false_type@0@@Z +??$__uninitialized_copy@PAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@@_STL@@YAPAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@00ABU__false_type@0@@Z +??$__uninitialized_fill_n@PAVWeakReferenceHelper@uno@star@sun@com@@IV12345@@_STL@@YAPAVWeakReferenceHelper@uno@star@sun@com@@PAV12345@IABV12345@ABU__false_type@0@@Z +??$distance_type@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAPAHPBVWeakReferenceHelper@uno@star@sun@com@@@Z +??$getCppuType@UDriverPropertyInfo@sdbc@star@sun@com@@@@YAABVType@uno@star@sun@com@@PBV?$Sequence@UDriverPropertyInfo@sdbc@star@sun@com@@@1234@@Z +??$iterator_category@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@YA?AUrandom_access_iterator_tag@0@PBVWeakReferenceHelper@uno@star@sun@com@@@Z +??$max@I@_STL@@YAABIABI0@Z +??$swap@PAVWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAXAAPAVWeakReferenceHelper@uno@star@sun@com@@0@Z +??$swap@V?$_STLP_alloc_proxy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@@_STL@@YAXAAV?$_STLP_alloc_proxy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@0@0@Z +??$value_type@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@YAPAVWeakReferenceHelper@uno@star@sun@com@@PBV12345@@Z +??0?$Guard@VMutex@osl@@@osl@@QAE@AAVMutex@1@@Z +??0?$Reference@VXComponent@lang@star@sun@com@@@uno@star@sun@com@@QAE@ABVBaseReference@1234@W4UnoReference_Query@1234@@Z +??0?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@ABV01234@@Z +??0?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@PAVXConnection@sdbc@234@@Z +??0?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??0?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@QAE@ABV01234@@Z +??0?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@QAE@PAVXInterface@1234@@Z +??0?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QAE@ABV01234@@Z +??0?$Sequence@UDriverPropertyInfo@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??0?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QAE@ABV01234@@Z +??0?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QAE@J@Z +??0?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@QAE@AAVMutex@osl@@@Z +??0?$_STLP_alloc_proxy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@ABV01@@Z +??0?$_STLP_alloc_proxy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@ABV?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@1@PAVWeakReferenceHelper@uno@star@sun@com@@@Z +??0?$_Vector_base@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@ABV?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@1@@Z +??0?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@QAE@ABV01@@Z +??0?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@QAE@XZ +??0?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@ABV?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@1@@Z +??0MozabDriver@mozab@connectivity@@QAE@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@@Z +??0Mutex@osl@@QAE@XZ +??0OUString@rtl@@QAE@ABV01@@Z +??0OUString@rtl@@QAE@PBDJGK@Z +??0XDriver@sdbc@star@sun@com@@QAE@XZ +??0XInterface@uno@star@sun@com@@QAE@XZ +??0XServiceInfo@lang@star@sun@com@@QAE@XZ +??0XTypeProvider@lang@star@sun@com@@QAE@XZ +??0bad_alloc@std@@QAE@ABV01@@Z +??0bad_alloc@std@@QAE@PBD@Z +??1?$Guard@VMutex@osl@@@osl@@QAE@XZ +??1?$Reference@VXComponent@lang@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$Sequence@UDriverPropertyInfo@sdbc@star@sun@com@@@uno@star@sun@com@@QAE@XZ +??1?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAE@XZ +??1?$_STLP_alloc_proxy@PAVWeakReferenceHelper@uno@star@sun@com@@V12345@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@XZ +??1?$_Vector_base@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@XZ +??1?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@QAE@XZ +??1?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAE@XZ +??1Any@uno@star@sun@com@@QAE@XZ +??1MozabDriver@mozab@connectivity@@MAE@XZ +??1Mutex@osl@@QAE@XZ +??1bad_alloc@std@@UAE@XZ +??2@YAPAXIPAX@Z +??2WeakComponentImplHelperBase@cppu@@SAPAXI@Z +??3WeakComponentImplHelperBase@cppu@@SAXPAX@Z +??4?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAAAAV01234@PAVXConnection@sdbc@234@@Z +??A?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QAAAAVOUString@rtl@@J@Z +??BOWeakObject@cppu@@QAA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@XZ +??C?$Reference@VXComponent@lang@star@sun@com@@@uno@star@sun@com@@QBAPAVXComponent@lang@234@XZ +??C?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QBAPAVXMultiServiceFactory@lang@234@XZ +??_7MozabDriver@mozab@connectivity@@6BOWeakObject@cppu@@@ +??_7MozabDriver@mozab@connectivity@@6BXComponent@lang@star@sun@com@@@ +??_7MozabDriver@mozab@connectivity@@6BXDriver@sdbc@star@sun@com@@@ +??_7MozabDriver@mozab@connectivity@@6BXServiceInfo@lang@star@sun@com@@@ +??_7MozabDriver@mozab@connectivity@@6BXTypeProvider@lang@star@sun@com@@@ +??_7bad_alloc@std@@6B@ +??_C@_0BK@FIHFNGDO@com?4sun?4star?4sdbc?4XDriver?$AA@ +??_C@_0BN@DBFOLCOP@com?4sun?4star?4lang?4XComponent?$AA@ +??_C@_0BP@PCEDPGBI@com?4sun?4star?4lang?4XServiceInfo?$AA@ +??_C@_0CA@JIGCNJJM@com?4sun?4star?4lang?4XTypeProvider?$AA@ +??_C@_0CF@MEBILDBC@com?4sun?4star?4sdbc?4DriverProperty@ +??_C@_0CI@ENLKGLAJ@o?3?2SRC680?2wntmsci10?2inc?2rtl?1ustr@ +??_C@_0P@GHFPNOJB@bad?5allocation?$AA@ +??_GMozabDriver@mozab@connectivity@@MAEPAXI@Z +??_GWeakReferenceHelper@uno@star@sun@com@@QAEPAXI@Z +??_Gbad_alloc@std@@UAEPAXI@Z +??_R0?AVbad_alloc@std@@@8 +??_R0?AVexception@@@8 +?MozabDriver_CreateInstance@mozab@connectivity@@YA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@4567@@Z +?_M_clear@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@IAEXXZ +?_M_insert_overflow@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@IAEXPAVWeakReferenceHelper@uno@star@sun@com@@ABV34567@ABU__false_type@2@I_N@Z +?_M_set@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@IAEXPAVWeakReferenceHelper@uno@star@sun@com@@00@Z +?acceptsURL@MozabDriver@mozab@connectivity@@UAAEABVOUString@rtl@@@Z +?acceptsURL_Stat@MozabDriver@mozab@connectivity@@SAEABVOUString@rtl@@@Z +?acquire@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAAXXZ +?acquire@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WBA@AAXXZ +?acquire@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCE@AAXXZ +?acquire@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCI@AAXXZ +?acquire@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCM@AAXXZ +?acquire@Mutex@osl@@QAEEXZ +?allocate@?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@QBEPAVWeakReferenceHelper@uno@star@sun@com@@IPBX@Z +?begin@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEPAVWeakReferenceHelper@uno@star@sun@com@@XZ +?clear@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEXXZ +?compareToAscii@OUString@rtl@@QBEJPBD@Z +?connect@MozabDriver@mozab@connectivity@@UAA?AV?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@ABV?$Sequence@UPropertyValue@beans@star@sun@com@@@5678@@Z +?copy@OUString@rtl@@QBE?AV12@J@Z +?copy@OUString@rtl@@QBE?AV12@JJ@Z +?cpp_acquire@uno@star@sun@com@@YAXPAX@Z +?deallocate@?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@QBEXPAVWeakReferenceHelper@uno@star@sun@com@@I@Z +?disposing@MozabDriver@mozab@connectivity@@UAAXXZ +?end@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEPAVWeakReferenceHelper@uno@star@sun@com@@XZ +?equals@OUString@rtl@@QBEEABV12@@Z +?erase@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEPAVWeakReferenceHelper@uno@star@sun@com@@PAV34567@0@Z +?get@?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@QBAPAVXMultiServiceFactory@lang@345@XZ +?get@BaseReference@uno@star@sun@com@@QBAPAVXInterface@2345@XZ +?getArray@?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QAAPAVOUString@rtl@@XZ +?getConstArray@?$Sequence@VOUString@rtl@@@uno@star@sun@com@@QBAPBVOUString@rtl@@XZ +?getCppuType@@YAABVType@uno@star@sun@com@@PBUDriverPropertyInfo@sdbc@345@@Z +?getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXComponent@lang@star@sun@com@@@2345@@Z +?getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXDriver@sdbc@star@sun@com@@@2345@@Z +?getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXServiceInfo@lang@star@sun@com@@@2345@@Z +?getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXTypeProvider@lang@star@sun@com@@@2345@@Z +?getImplementationId@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAA?AV?$Sequence@C@uno@star@sun@com@@XZ +?getImplementationName@MozabDriver@mozab@connectivity@@UAA?AVOUString@rtl@@XZ +?getImplementationName_Static@MozabDriver@mozab@connectivity@@SA?AVOUString@rtl@@XZ +?getMajorVersion@MozabDriver@mozab@connectivity@@UAAJXZ +?getMinorVersion@MozabDriver@mozab@connectivity@@UAAJXZ +?getPropertyInfo@MozabDriver@mozab@connectivity@@UAA?AV?$Sequence@UDriverPropertyInfo@sdbc@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@ABV?$Sequence@UPropertyValue@beans@star@sun@com@@@5678@@Z +?getSDBC_SCHEME_LDAP@MozabDriver@mozab@connectivity@@SAPBDXZ +?getSDBC_SCHEME_MOZILLA@MozabDriver@mozab@connectivity@@SAPBDXZ +?getSDBC_SCHEME_OUTLOOK_EXPRESS@MozabDriver@mozab@connectivity@@SAPBDXZ +?getSDBC_SCHEME_OUTLOOK_MAPI@MozabDriver@mozab@connectivity@@SAPBDXZ +?getSupportedServiceNames@MozabDriver@mozab@connectivity@@UAA?AV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@XZ +?getSupportedServiceNames_Static@MozabDriver@mozab@connectivity@@SA?AV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@XZ +?getTypes@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ +?indexOf@OUString@rtl@@QBEJGJ@Z +?iquery@?$Reference@VXComponent@lang@star@sun@com@@@uno@star@sun@com@@CAPAVXComponent@lang@345@PAVXInterface@2345@@Z +?iquery@BaseReference@uno@star@sun@com@@KAPAVXInterface@2345@PAV62345@ABVType@2345@@Z +?push_back@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEXABVWeakReferenceHelper@uno@star@sun@com@@@Z +?queryInterface@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z +?queryInterface@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WBA@AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z +?queryInterface@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCE@AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z +?queryInterface@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCI@AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z +?queryInterface@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCM@AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z +?registerClient@MozabDriver@mozab@connectivity@@IAEXXZ +?release@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@UAAXXZ +?release@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WBA@AAXXZ +?release@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCE@AAXXZ +?release@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCI@AAXXZ +?release@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@WCM@AAXXZ +?release@Mutex@osl@@QAEEXZ +?s_cd@?$WeakComponentImplHelper2@VXDriver@sdbc@star@sun@com@@VXServiceInfo@lang@345@@cppu@@0Uclass_data2@2@A +?s_pType@?$Sequence@UDriverPropertyInfo@sdbc@star@sun@com@@@uno@star@sun@com@@2PAU_typelib_TypeDescriptionReference@@A +?s_pType_com_sun_star_lang_XComponent@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXComponent@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?s_pType_com_sun_star_lang_XServiceInfo@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXServiceInfo@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?s_pType_com_sun_star_lang_XTypeProvider@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXTypeProvider@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?s_pType_com_sun_star_sdbc_DriverPropertyInfo@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBUDriverPropertyInfo@sdbc@456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?s_pType_com_sun_star_sdbc_XDriver@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXDriver@sdbc@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?set@?$Reference@VXConnection@sdbc@star@sun@com@@@uno@star@sun@com@@QAAEPAVXConnection@sdbc@345@@Z +?size@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QBEIXZ +?supportsService@MozabDriver@mozab@connectivity@@UAAEABVOUString@rtl@@@Z +?swap@?$vector@VWeakReferenceHelper@uno@star@sun@com@@V?$allocator@VWeakReferenceHelper@uno@star@sun@com@@@_STL@@@_STL@@QAEXAAV12@@Z +__CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QAE@ABV01@@Z12 +__CT??_R0?AVexception@@@8??0exception@@QAE@ABV0@@Z12 +__CTA2?AVbad_alloc@std@@ +?iquery@?$Reference@VXComponent@lang@star@sun@com@@@uno@star@sun@com@@CAPAVXInterface@2345@PAV62345@@Z +?the_type@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBUDriverPropertyInfo@sdbc@456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?the_type@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXComponent@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?the_type@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXDriver@sdbc@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?the_type@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXServiceInfo@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A +?the_type@?1??getCppuType@@YAABVType@uno@star@sun@com@@PBV?$Reference@VXTypeProvider@lang@star@sun@com@@@3456@@Z@4PAU_typelib_TypeDescriptionReference@@A --- connectivity/source/drivers/mozab/makefile.mk 2004-11-05 13:25:19.000444816 +0100 +++ connectivity/source/drivers/mozab/makefile.mk 2004-03-24 12:08:09.000000000 +0100 @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.10.46.1 $ +# $Revision: 1.13 $ # -# last change: $Author: hr $ $Date: 2004/01/09 15:00:54 $ +# last change: $Author: kz $ $Date: 2004/03/24 11:08:09 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -79,9 +79,26 @@ #.ENDIF .IF "$(OS)"=="WNT" +.IF "$(USE_SHELL)"=="4nt" +MOZ_EMBED_LIB := $(shell +-dir /ba:f $(MOZ_LIB)$/embed_base_s.lib 2>NUL ) +MOZ_REG_LIB := $(shell +-dir /ba:f $(MOZ_LIB)$/mozreg_s.lib 2>NUL ) +.ELSE #"$(USE_SHELL)"=="4nt" +MOZ_EMBED_LIB := $(shell +-test -f $(MOZ_LIB)$/embed_base_s.lib && echo $(MOZ_LIB)$/embed_base_s.lib ) +MOZ_REG_LIB := $(shell +-test -f $(MOZ_LIB)$/mozreg_s.lib && echo $(MOZ_LIB)$/mozreg_s.lib ) +.ENDIF + +.IF X"$(MOZ_EMBED_LIB)"=="X" +MOZ_EMBED_LIB := $(MOZ_LIB)$/baseembed_s.lib +.ENDIF +.IF X"$(MOZ_REG_LIB)" == "X" +MOZ_REG_LIB := $(MOZ_LIB)$/mozreg.lib +.ENDIF +.ENDIF + +.IF "$(OS)"=="WNT" LIB += $(MOZ_LIB) -MOZ_LIB_XPCOM= $(MOZ_LIB)$/baseembed_s.lib $(MOZ_LIB)$/nspr4.lib $(MOZ_LIB)$/mozreg.lib $(MOZ_LIB)$/xpcom.lib -.ELSE +MOZ_LIB_XPCOM= $(MOZ_EMBED_LIB) $(MOZ_LIB)$/nspr4.lib $(MOZ_REG_LIB) $(MOZ_LIB)$/xpcom.lib +.ELSE "$(OS)"=="WNT" MOZ_LIB_XPCOM= -L$(MOZ_LIB) -lembed_base_s -lnspr4 -lmozreg_s -lxpcom .ENDIF #End of mozilla specific stuff. --- connectivity/source/drivers/mozab/MColumnAlias.cxx 2003-04-15 19:37:35.000000000 +0200 +++ connectivity/source/drivers/mozab/MColumnAlias.cxx 2004-03-17 11:40:30.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MColumnAlias.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:37:35 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:40:30 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -157,7 +157,7 @@ { try { - //°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° + //............................................................. Reference< XNameAccess > xAliasesNode; xDriverNode->getPropertyValue( ::rtl::OUString::createFromAscii("ColumnAliases") ) >>= xAliasesNode; OSL_ENSURE( xAliasesNode.is(), "OColumnAlias::setAlias: missing the aliases node!" ); @@ -167,7 +167,7 @@ if ( xAliasesNode.is() ) aColumnProgrammaticNames = xAliasesNode->getElementNames(); - //°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° + //............................................................. // travel through all the set elements const ::rtl::OUString* pProgrammaticNames = aColumnProgrammaticNames.getConstArray(); const ::rtl::OUString* pProgrammaticNamesEnd = pProgrammaticNames + aColumnProgrammaticNames.getLength(); @@ -191,7 +191,7 @@ if ( 0 == sAssignedAlias.getLength() ) sAssignedAlias = *pProgrammaticNames; - //°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° + //............................................................. // check the value // look up the programmatic indicated by pProgrammaticNames in the known programmatics const ::rtl::OUString* pProgrammatic = sProgrammaticNames + FIRSTNAME; --- connectivity/source/drivers/mozab/MConfigAccess.cxx 2003-03-19 17:38:28.000000000 +0100 +++ connectivity/source/drivers/mozab/MConfigAccess.cxx 2004-03-17 11:40:43.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MConfigAccess.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: hr $ $Date: 2003/03/19 16:38:28 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:40:43 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -160,6 +160,39 @@ } //----------------------------------------------------------------- + ::rtl::OUString getDescription(const sal_Char* sNode,const ::rtl::OUString & sDefault) + { + ::rtl::OUString sPreferredName; + ::rtl::OUString sDescription; + + Reference< XMultiServiceFactory > xFactory = getMozabServiceFactory(); + OSL_ENSURE( xFactory.is(), "getPreferredProfileName: invalid service factory!" ); + if ( xFactory.is() ) + { + try + { + Reference< XPropertySet > xDriverNode = createDriverConfigNode( xFactory ); + Reference< XPropertySet > xMozPrefsNode; + if ( xDriverNode.is() ) + xDriverNode->getPropertyValue( ::rtl::OUString::createFromAscii( "MozillaPreferences" ) ) >>= xMozPrefsNode; + OSL_ENSURE( xMozPrefsNode.is(), "getPreferredProfileName: could not access the node for the mozilla preferences!" ); + if ( xMozPrefsNode.is() ) + xMozPrefsNode->getPropertyValue( ::rtl::OUString::createFromAscii( "ProfileName" ) ) >>= sPreferredName; + if ( xMozPrefsNode.is() ) + xMozPrefsNode->getPropertyValue( ::rtl::OUString::createFromAscii(sNode) ) >>= sDescription; + if (sDescription.getLength() == 0) + sDescription = sDefault; + } + catch( const Exception& ) + { + OSL_ENSURE( sal_False, "getDescription: caught an exception!" ); + } + } + if (sDescription.getLength() == 0) + sDescription = sDefault; + return sDescription; + } + //----------------------------------------------------------------- ::rtl::OUString getPreferredProfileName( ) { ::rtl::OUString sPreferredName; @@ -203,6 +236,45 @@ return sUserProfile.getStr(); } +//------------------------------------------------------------------------ +extern "C" const sal_Char* SAL_CALL getPabDescription( void ) +{ + static sal_Bool bReadConfig = sal_False; + static ::rtl::OUString usPabDescription; + static ::rtl::OString sPabDescription; + + if ( !bReadConfig ) + { + usPabDescription = ::connectivity::mozab::getDescription( + "PabDescription" , + ::rtl::OUString::createFromAscii( "Personal Address Book" )); + sPabDescription = ::rtl::OUStringToOString( usPabDescription, + RTL_TEXTENCODING_ASCII_US); + bReadConfig = sal_True; + } + + return sPabDescription.getStr(); +} + +//------------------------------------------------------------------------- +extern "C" const sal_Char* SAL_CALL getHisDescription( void ) +{ + static sal_Bool bReadConfig = sal_False; + static ::rtl::OUString usHisDescription; + static ::rtl::OString sHisDescription; + + if ( !bReadConfig ) + { + usHisDescription = ::connectivity::mozab::getDescription( + "HisDescription" , + ::rtl::OUString::createFromAscii( "Collected Addresses" )); + sHisDescription = ::rtl::OUStringToOString( usHisDescription, + RTL_TEXTENCODING_ASCII_US); + bReadConfig = sal_True; + } + + return sHisDescription.getStr(); +} //------------------------------------------------------------------------- extern "C" void SAL_CALL setMozabServiceFactory( void* _pFactory ) --- connectivity/source/drivers/mozab/MConfigAccess.hxx 2003-03-19 17:38:29.000000000 +0100 +++ connectivity/source/drivers/mozab/MConfigAccess.hxx 2004-03-17 11:40:56.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MConfigAccess.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: hr $ $Date: 2003/03/19 16:38:29 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:40:56 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -67,5 +67,9 @@ extern "C" const sal_Unicode* SAL_CALL getUserProfile( void ); +extern "C" const sal_Char* SAL_CALL getPabDescription( void ); + +extern "C" const sal_Char* SAL_CALL getHisDescription( void ); + #endif // CONNECTIVITY_MOZAB_MCONFIGACCESS_HXX --- connectivity/source/drivers/mozab/MConnection.cxx 2003-04-15 19:37:44.000000000 +0200 +++ connectivity/source/drivers/mozab/MConnection.cxx 2004-03-17 11:41:09.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MConnection.cxx,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:37:44 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:41:09 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -242,12 +242,15 @@ // * for windows system address book // "sdbc:address:outlookexp:" -> aboutlookdirectory://oe/ // + m_sBindDN = rtl::OUString::createFromAscii(""); + m_sPassword = rtl::OUString::createFromAscii(""); + m_bUseSSL = sal_False; + if ( aAddrbookScheme.compareToAscii( getSDBC_SCHEME_MOZILLA() ) == 0 ) { m_sMozillaURI = rtl::OUString::createFromAscii( MOZ_SCHEME_MOZILLA ); m_eSDBCAddressType = SDBCAddress::Mozilla; } else if ( aAddrbookScheme.compareToAscii( getSDBC_SCHEME_LDAP() ) == 0 ) { - rtl::OUString sHostName; rtl::OUString sBaseDN; sal_Int32 nPortNumber = -1; @@ -263,12 +266,24 @@ if ( 0 == pInfo->Name.compareToAscii("HostName") ) { - pInfo->Value >>= sHostName; + pInfo->Value >>= m_sHostName; } else if ( 0 == pInfo->Name.compareToAscii("BaseDN") ) { pInfo->Value >>= sBaseDN; } + else if ( 0 == pInfo->Name.compareToAscii("user") ) + { + pInfo->Value >>= m_sBindDN; + } + else if ( 0 == pInfo->Name.compareToAscii("password") ) + { + pInfo->Value >>= m_sPassword; + } + else if ( 0 == pInfo->Name.compareToAscii("UseSSL") ) + { + pInfo->Value >>= m_bUseSSL; + } else if ( 0 == pInfo->Name.compareToAscii("PortNumber") ) { pInfo->Value >>= nPortNumber; @@ -278,8 +293,9 @@ pInfo->Value >>= m_nMaxResultRecords; } } - if ( sHostName.getLength() != 0 ) { - m_sMozillaURI += sHostName; + + if ( m_sHostName.getLength() != 0 ) { + m_sMozillaURI += m_sHostName; } else { ::dbtools::throwGenericSQLException( @@ -338,7 +354,8 @@ // Test connection by getting to get the Table Names ::std::vector< ::rtl::OUString > tables; - if ( !_aDbHelper.getTableStrings( this, tables, sal_True ) ) { + ::std::vector< ::rtl::OUString > types; + if ( !_aDbHelper.getTableStrings( this, tables, types,sal_True ) ) { ::dbtools::throwGenericSQLException( _aDbHelper.getErrorString(), NULL); } --- connectivity/source/drivers/mozab/MConnection.hxx 2003-04-11 16:39:58.000000000 +0200 +++ connectivity/source/drivers/mozab/MConnection.hxx 2004-03-17 11:41:21.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MConnection.hxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: vg $ $Date: 2003/04/11 14:39:58 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:41:21 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -142,6 +142,10 @@ rtl::OUString m_sMozillaURI; sal_Int32 m_nAnonABCount; sal_Int32 m_nMaxResultRecords; + sal_Bool m_bUseSSL; + rtl::OUString m_sBindDN; + rtl::OUString m_sPassword; + rtl::OUString m_sHostName; MNameMapper* m_aNameMapper; SDBCAddress::sdbc_address_type m_eSDBCAddressType; @@ -150,7 +154,6 @@ public: virtual void construct( const ::rtl::OUString& url,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info) throw(::com::sun::star::sdbc::SQLException); - OConnection(MozabDriver* _pDriver); virtual ~OConnection(); @@ -188,7 +191,6 @@ virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); virtual void SAL_CALL clearWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); // - ::rtl::OUString getUserName() const { return m_sUser; } MozabDriver* getDriver() const { return m_pDriver;} // Added to enable me to use SQLInterpreter which requires an @@ -199,6 +201,14 @@ // Additions from the land of mozilla rtl::OUString getMozURI() const { return m_sMozillaURI; } + // Get Ldap BindDN (user name) + rtl::OUString getBindDN() const { return m_sBindDN; } + // Get Ldap Password + rtl::OUString getPassword() const { return m_sPassword; } + // Get Ldap Host name + rtl::OUString getHost() const { return m_sHostName; } + // Get whether use ssl to connect to ldap + sal_Bool getUseSSL() const {return m_bUseSSL;} sal_Bool usesFactory(void) const { return (m_eSDBCAddressType == SDBCAddress::Outlook) || (m_eSDBCAddressType == SDBCAddress::OutlookExp); } sal_Bool isLDAP(void) const { return m_eSDBCAddressType == SDBCAddress::LDAP; } --- connectivity/source/drivers/mozab/MDatabaseMetaData.cxx 2003-04-15 19:37:55.000000000 +0200 +++ connectivity/source/drivers/mozab/MDatabaseMetaData.cxx 2004-03-17 11:41:34.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MDatabaseMetaData.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:37:55 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:41:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -142,7 +142,8 @@ ::osl::MutexGuard aGuard( m_aMutex ); ::std::vector< ::rtl::OUString > tables; - if ( !m_pDbMetaDataHelper->getTableStrings( m_pConnection, tables ) ) { + ::std::vector< ::rtl::OUString > types; + if ( !m_pDbMetaDataHelper->getTableStrings( m_pConnection, tables, types) ) { ::dbtools::throwGenericSQLException( m_pDbMetaDataHelper->getErrorString(), NULL ); } @@ -913,10 +914,9 @@ static ::rtl::OUString sTableTypes[] = { ::rtl::OUString::createFromAscii("TABLE"), + ::rtl::OUString::createFromAscii("VIEW") + // Currently we only support a 'TABLE' and 'VIEW' nothing more complex // - // Currently we only support a 'TABLE' nothing more complex - // - // ::rtl::OUString::createFromAscii("VIEW"), // ::rtl::OUString::createFromAscii("SYSTEM TABLE"), // ::rtl::OUString::createFromAscii("GLOBAL TEMPORARY"), // ::rtl::OUString::createFromAscii("LOCAL TEMPORARY"), @@ -1049,7 +1049,7 @@ // aRows = m_pDbMetaDataHelper->getTables( m_pConnection, tableNamePattern ); // pResultSet->setRows( aRows ); ODatabaseMetaDataResultSet::ORows _rRows; - if ( !m_pDbMetaDataHelper->getTables( m_pConnection, tableNamePattern, _rRows ) ) { + if ( !m_pDbMetaDataHelper->getTables( m_pConnection, tableNamePattern, types,_rRows ) ) { ::dbtools::throwGenericSQLException( m_pDbMetaDataHelper->getErrorString(), NULL ); } pResultSet->setRows( _rRows ); --- connectivity/source/drivers/mozab/MDriver.cxx 2002-08-21 15:15:04.000000000 +0200 +++ connectivity/source/drivers/mozab/MDriver.cxx 2003-12-01 19:20:36.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MDriver.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: oj $ $Date: 2002/08/21 13:15:04 $ + * last change: $Author: rt $ $Date: 2003/12/01 18:20:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -287,8 +287,9 @@ // first, we need to announce our service factory to the lib // see the documentation of setMozabServiceFactory for more details const ::rtl::OUString sSetFactoryFuncName( RTL_CONSTASCII_USTRINGPARAM( "setMozabServiceFactory" ) ); + // reinterpret_cast< OSetMozabServiceFactory >>> removed GNU C OSetMozabServiceFactory pSetFactoryFunc = - reinterpret_cast< OSetMozabServiceFactory >( osl_getSymbol( s_hModule, sSetFactoryFuncName.pData ) ); + ( OSetMozabServiceFactory )( osl_getSymbol( s_hModule, sSetFactoryFuncName.pData ) ); OSL_ENSURE( pSetFactoryFunc, "MozabDriver::registerClient: missing an entry point!" ); if ( pSetFactoryFunc && m_xMSFactory.is() ) @@ -301,7 +302,8 @@ // get the symbol for the method creating the factory const ::rtl::OUString sFactoryCreationFunc = ::rtl::OUString::createFromAscii("OMozabConnection_CreateInstance"); - s_pCreationFunc = reinterpret_cast(osl_getSymbol(s_hModule, sFactoryCreationFunc.pData)); + // reinterpret_cast removed GNU C + s_pCreationFunc = (OMozabConnection_CreateInstanceFunction)(osl_getSymbol(s_hModule, sFactoryCreationFunc.pData)); if (NULL == s_pCreationFunc) { // did not find the symbol --- connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx 2003-04-15 19:38:34.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.cxx 2004-03-17 11:42:00.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MDatabaseMetaDataHelper.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:38:34 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:42:00 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -68,9 +68,18 @@ #ifndef _CONNECTIVITY_MAB_CONVERSIONS_HXX_ #include "MTypeConverter.hxx" #endif +#ifndef CONNECTIVITY_MOZAB_MCONFIGACCESS_HXX +#include "MConfigAccess.hxx" +#endif #ifndef _DBHELPER_DBEXCEPTION_HXX_ #include #endif +#ifndef _COMPHELPER_UNO3_HXX_ +#include +#endif +#ifndef _COMPHELPER_SEQUENCE_HXX_ +#include +#endif #ifndef _OSL_MUTEX_HXX_ #include @@ -133,15 +142,92 @@ MDatabaseMetaDataHelper::~MDatabaseMetaDataHelper() { m_aTableNames.clear(); + m_aTableTypes.clear(); sal_Bool rv = MNS_Term(); OSL_TRACE( "IN/OUT MDatabaseMetaDataHelper::~MDatabaseMetaDataHelper()\n" ); } + +//enum all sub folders +static nsresult enumSubs(nsIAbDirectory * parentDir,nsISupportsArray * array) +{ + nsresult rv = NS_OK ; + nsCOMPtr subDirectories; + rv = parentDir->GetChildNodes(getter_AddRefs(subDirectories)); + if (NS_FAILED(rv)) { return rv; } + + while (NS_ENUMERATOR_FALSE == subDirectories->IsDone()) { + nsCOMPtr newDirSupports ; + + rv = subDirectories->CurrentItem(getter_AddRefs(newDirSupports)) ; + NS_ENSURE_SUCCESS(rv, rv); + subDirectories->Next(); + nsCOMPtr childDir = do_QueryInterface(newDirSupports, &rv) ; + NS_ENSURE_SUCCESS(rv, rv); + array->AppendElement(childDir); + + rv = enumSubs(childDir,array); + } + return rv; +} + +#include //need for PR_FREEIF +static nsresult insertPABDescription() +{ + nsresult rv = NS_OK ; + // mozilla loads the descriptions of pab and history from a file named addressbook.properties + // we never deliver it with OOo,so mozab does not auot load personal addressbook and Collected addresses + // If we want to deliver addressbook.properties with OOo,we have to deal with hole mozilla chrome mechanism. + // So I insert the descriptiones as user prefes,they will cover the default value. + + //"Personal Address Book" "Collected Addresses" are loaded from officecfg + nsCOMPtr prefs = do_GetService(NS_PREF_CONTRACTID, &rv); + NS_ENSURE_SUCCESS(rv, rv); + + nsCAutoString pabPrefName(NS_LITERAL_CSTRING("ldap_2.servers.pab.description")); + + sal_Bool bSetted=sal_False; + char *value = nsnull; + if (0 == prefs->CopyCharPref(pabPrefName.get(), &value)) + { + if (!(value == nsnull || value[0] == 0)) + { + bSetted = sal_True; + } + } + PR_FREEIF (value); + value=nsnull; + if (bSetted == sal_True) + { + const char* pPabDescription = static_cast< const char* >( getPabDescription( ) ); + rv = prefs->SetCharPref (pabPrefName.get(), pPabDescription); + NS_ENSURE_SUCCESS(rv, rv); + } + + nsCAutoString hisPrefName(NS_LITERAL_CSTRING("ldap_2.servers.history.description")); + + bSetted=sal_False; + if (0 == prefs->CopyCharPref(hisPrefName.get(), &value)) + { + if (!(value == nsnull || value[0] == 0)) + { + bSetted = sal_True; + } + } + PR_FREEIF (value); + value=nsnull; + if (bSetted == sal_True) + { + const char* pHisDescription = static_cast< const char* >( getHisDescription( ) ); + + rv = prefs->SetCharPref (hisPrefName.get(), pHisDescription); + NS_ENSURE_SUCCESS(rv, rv); + } + return rv; +} // ------------------------------------------------------------------------- // Case where we get a parent uri, and need to list its children. -// We know we are dealing with the top level address book, so we add the personal -// and collected addresses address books by hand. static nsresult getSubsFromParent(const rtl::OString& aParent, nsIEnumerator **aSubs, sal_Bool aProfileExists) { if (aSubs == nsnull) { return NS_ERROR_NULL_POINTER ; } @@ -151,6 +237,10 @@ NS_NewISupportsArray(getter_AddRefs(array)) ; if (aProfileExists) { + + retCode = insertPABDescription(); + NS_ENSURE_SUCCESS(retCode, retCode) ; + nsCOMPtr rdfService(do_GetService(kRDFServiceCID, &retCode)) ; NS_ENSURE_SUCCESS(retCode, retCode) ; nsCOMPtr rdfResource ; @@ -164,40 +254,42 @@ NS_ENSURE_SUCCESS(retCode, retCode) ; retCode = directory->GetChildNodes(getter_AddRefs(tempEnum)) ; NS_ENSURE_SUCCESS(retCode, retCode) ; - nsCOMPtr personalAddressBook ; - nsCOMPtr collectedAddresses ; - retCode = rdfService->GetResource("moz-abmdbdirectory://abook.mab", getter_AddRefs(personalAddressBook)) ; - NS_ENSURE_SUCCESS(retCode, retCode) ; - nsCOMPtr dirPAB = do_QueryInterface(personalAddressBook, &retCode) ; - - NS_ENSURE_SUCCESS(retCode, retCode) ; - nsAutoString nameAB ; - - nameAB.AssignWithConversion("Personal Address Book") ; - dirPAB->SetDirName(nameAB.get()) ; - array->AppendElement(personalAddressBook) ; - retCode = rdfService->GetResource("moz-abmdbdirectory://history.mab", getter_AddRefs(collectedAddresses)) ; - NS_ENSURE_SUCCESS(retCode, retCode) ; - nsCOMPtr dirCA = do_QueryInterface(collectedAddresses, &retCode) ; - - NS_ENSURE_SUCCESS(retCode, retCode) ; - nameAB.AssignWithConversion("Collected Addresses") ; - dirCA->SetDirName(nameAB.get()) ; - array->AppendElement(collectedAddresses) ; if (NS_SUCCEEDED(tempEnum->First())) { do { - nsCOMPtr element ; - + nsCOMPtr element ; retCode = tempEnum->CurrentItem(getter_AddRefs(element)) ; - if (NS_SUCCEEDED(retCode)) { array->AppendElement(element) ; } + if (NS_SUCCEEDED(retCode)) + { + array->AppendElement(element) ; + enumSubs(element,array); + } } while (NS_SUCCEEDED(tempEnum->Next())) ; } + } array->Enumerate(aSubs) ; return retCode ; } +static nsresult enumSubs(nsISimpleEnumerator * subDirs,nsISupportsArray * array) +{ + PRBool hasMore = PR_TRUE ; + nsresult rv = NS_OK ; + while (NS_SUCCEEDED(subDirs->HasMoreElements(&hasMore)) && hasMore) { + nsCOMPtr newDirSupports ; + + rv = subDirs->GetNext(getter_AddRefs(newDirSupports)) ; + NS_ENSURE_SUCCESS(rv, rv); + nsCOMPtr childDir = do_QueryInterface(newDirSupports, &rv) ; + NS_ENSURE_SUCCESS(rv, rv); + array->AppendElement(childDir); + + rv = enumSubs(childDir,array); + } + return rv; +} + // Case where we get a factory uri and need to have it build the directories. static const char *kPropertyName = "uri" ; @@ -223,19 +315,11 @@ nsCOMPtr subDirs ; retCode = dirFactory->CreateDirectory(properties, getter_AddRefs(subDirs)); NS_ENSURE_SUCCESS(retCode, retCode) ; - PRBool hasMore = PR_TRUE ; nsCOMPtr array ; NS_NewISupportsArray(getter_AddRefs(array)) ; - while (NS_SUCCEEDED(subDirs->HasMoreElements(&hasMore)) && hasMore) { - nsCOMPtr newDirSupports ; - - retCode = subDirs->GetNext(getter_AddRefs(newDirSupports)) ; - if (NS_FAILED(retCode)) { continue ; } - nsCOMPtr childDir = do_QueryInterface(newDirSupports, &retCode) ; - if (NS_FAILED(retCode)) { continue ; } - array->AppendElement(childDir); - } + retCode = enumSubs(subDirs,array); + NS_ENSURE_SUCCESS(retCode, retCode) ; array->Enumerate(aSubs) ; return retCode ; } @@ -295,6 +379,7 @@ sal_Bool MDatabaseMetaDataHelper::getTableStrings( OConnection* _pCon, ::std::vector< ::rtl::OUString >& _rStrings, + ::std::vector< ::rtl::OUString >& _rTypes, sal_Bool forceLoad ) { sal_Bool bGivenURI; @@ -307,10 +392,12 @@ // Only do the query if we have to - performance degrades otherwise if ( ! forceLoad && m_aTableNames.size() > 0 ) { _rStrings = m_aTableNames; + _rTypes = m_aTableTypes; return( sal_True ); } m_aTableNames.clear(); + m_aTableTypes.clear(); sAbURI = _pCon->getMozURI(); @@ -386,7 +473,7 @@ ::rtl::OUString aTableName; MNameMapper *nmap = _pCon->getNameMapper(); - + nmap->reset(); do { nsCOMPtr subDirectory; @@ -409,7 +496,7 @@ } MTypeConverter::prUnicharToOUString(name, aTableName); OSL_TRACE("TableName = >%s<\n", OUtoCStr( aTableName ) ); - if (!bIsMailList) { + ODatabaseMetaDataResultSet::ORow aRow(3); // Insert table into map @@ -419,24 +506,36 @@ OSL_TRACE("TableName = >%s<\n", OUtoCStr( aTableName ) ); - nmap->add( aTableName, subDirectory ); - + rv = nmap->add( aTableName, subDirectory); + if (!NS_FAILED(rv)) //failed means we have added this directory + { + //map mailing lists as views m_aTableNames.push_back( aTableName ); // Table name + if (!bIsMailList) { + ::rtl::OUString aTableType(::rtl::OUString::createFromAscii("TABLE")); + m_aTableTypes.push_back( aTableType ); // Table type + } + else + { + ::rtl::OUString aTableType(::rtl::OUString::createFromAscii("VIEW")); + m_aTableTypes.push_back( aTableType ); // Table type + } } - if ( bIsRootDir ) { rv = subDirectories -> Next(); } } while ( bIsRootDir && rv == NS_OK); - // delete pTc; OSL_TRACE( "\tOUT MDatabaseMetaDataHelper::getTableStrings()\n" ); _rStrings = m_aTableNames; + _rTypes = m_aTableTypes; + return( sal_True ); } sal_Bool MDatabaseMetaDataHelper::getTables( OConnection* _pCon, const ::rtl::OUString& tableNamePattern, + const Sequence< ::rtl::OUString >& types, ODatabaseMetaDataResultSet::ORows& _rRows) { static ODatabaseMetaDataResultSet::ORows aRows; @@ -446,29 +545,36 @@ ODatabaseMetaDataResultSet::ORows().swap(aRows); // this makes real clear where memory is freed as well aRows.clear(); - // will not be detected (for now). - ::rtl::OUString aTable(::rtl::OUString::createFromAscii("TABLE")); ::std::vector< ::rtl::OUString > tables; - if ( !getTableStrings( _pCon, tables ) ) + ::std::vector< ::rtl::OUString > tabletypes; + ::rtl::OUString matchAny = rtl::OUString::createFromAscii("%");; + + if ( !getTableStrings( _pCon, tables,tabletypes ) ) return sal_False; + const ::rtl::OUString* pTArray = types.getConstArray(); + for ( sal_Int32 i = 0; i < tables.size(); i++ ) { ODatabaseMetaDataResultSet::ORow aRow(3); ::rtl::OUString aTableName = tables[i]; - + ::rtl::OUString aTableType = tabletypes[i]; OSL_TRACE("TableName = >%s<\n", OUtoCStr( aTableName ) ); - // Insert table into map - if (match( tableNamePattern, aTableName, '\0' ) ) { + + // return tables to caller + if (match( tableNamePattern, aTableName, '\0' ) && + ( 0 == types.getLength() || //types is null or types include aTableType or types include "%" + 0 != ::comphelper::findValue( types, aTableType, sal_True ).getLength() || + 0 != ::comphelper::findValue( types, matchAny, sal_True ).getLength())) { if ( aTableName.getLength() == 0 ) { aTableName = rtl::OUString::createFromAscii("AddressBook"); } - OSL_TRACE( "TableName = %s ; TableType = %s\n", OUtoCStr(aTableName), OUtoCStr(aTable) ); + OSL_TRACE( "TableName = %s ; TableType = %s\n", OUtoCStr(aTableName), OUtoCStr(aTableType) ); aRow.push_back( new ORowSetValueDecorator( aTableName ) ); // Table name - aRow.push_back( new ORowSetValueDecorator( aTable ) ); // Table type + aRow.push_back( new ORowSetValueDecorator( aTableType ) ); // Table type aRow.push_back( ODatabaseMetaDataResultSet::getEmptyValue() ); // Remarks aRows.push_back(aRow); } @@ -496,6 +602,7 @@ ~MLDAPMessageListener(); sal_Bool connected(); + void setPassword( const ::rtl::OUString &aPassword); protected: nsCOMPtr m_LDAPConnection; @@ -504,6 +611,7 @@ sal_Bool m_IsComplete; sal_Bool m_GoodConnection; + rtl::OUString m_sPassword; void setConnectionStatus( sal_Bool _good ); }; @@ -541,6 +649,11 @@ return m_GoodConnection; } +void MLDAPMessageListener::setPassword( const ::rtl::OUString &aPassword) +{ + //::osl::MutexGuard aGuard( m_aMutex ); + m_sPassword = aPassword; +} void MLDAPMessageListener::setConnectionStatus( sal_Bool _good ) { ::osl::MutexGuard aGuard( m_aMutex ); @@ -574,13 +687,18 @@ return rv; } + const sal_Unicode* password=nsnull; + if (m_sPassword.getLength() != 0) + { + password = m_sPassword.getStr(); + } + // Bind - rv = ldapOperation->SimpleBind(NULL); + rv = ldapOperation->SimpleBind(password); if ( NS_FAILED( rv ) ) { setConnectionStatus( sal_False ); return rv; } - // rv = ldapOperation->Abandon(); // NS_ENSURE_SUCCESS(rv, rv); @@ -594,10 +712,18 @@ PRInt32 messageType; rv = aMessage->GetType(&messageType); NS_ENSURE_SUCCESS(rv, rv); - + PRInt32 errCode; switch (messageType) { case nsILDAPMessage::RES_BIND: + rv = aMessage->GetErrorCode(&errCode); + // if the login failed + if (errCode != nsILDAPErrors::SUCCESS) { + setConnectionStatus( sal_False ); + } + else + setConnectionStatus( sal_True ); + break; case nsILDAPMessage::RES_SEARCH_RESULT: setConnectionStatus( sal_True ); break; @@ -614,13 +740,19 @@ MDatabaseMetaDataHelper::testLDAPConnection( OConnection* _pCon ) { const sal_Unicode QUERY_CHAR = '?'; - const sal_Char* MOZ_SCHEMA = "moz-abldapdirectory:"; - const sal_Char* LDAP_SCHEMA = "ldap:"; + const sal_Char* MOZ_SCHEMA = "moz-abldapdirectory://"; + const sal_Char* LDAP_SCHEMA = "ldap://"; rtl::OString sAbURI; + rtl::OUString sAbBindDN; + rtl::OUString sAbPassword; + sal_Bool useSSL = _pCon->getUseSSL(); + nsresult rv; sAbURI = OUStringToOString( _pCon->getMozURI(), RTL_TEXTENCODING_ASCII_US ); + sAbBindDN = _pCon->getBindDN(); + sAbPassword = _pCon->getPassword(); sal_Int32 pos = sAbURI.indexOf( MOZ_SCHEMA ); @@ -658,10 +790,6 @@ if ( NS_FAILED(rv) ) return sal_False; - PRUint32 options; - rv = url->GetOptions(&options); - if ( NS_FAILED(rv) ) - return sal_False; // Get the ldap connection @@ -677,11 +805,16 @@ if (_messageListener == NULL) return sal_False; + _messageListener->setPassword(sAbPassword); messageListener = _messageListener; - // Now lets initialize the LDAP connection properly. We'll kick - // off the bind operation in the callback function, |OnLDAPInit()|. - rv = ldapConnection->Init(host.get(), port, options, nsnull, + const sal_Unicode* bindDN=nsnull; + if (sAbBindDN.getLength() != 0) + { + bindDN = sAbBindDN.getStr(); + } + // Now lets initialize the LDAP connection properly. + rv = ldapConnection->Init(host.get(), port, useSSL, bindDN, messageListener); if ( NS_FAILED(rv) ) return sal_False; --- connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.hxx 2001-12-13 10:34:19.000000000 +0100 +++ connectivity/source/drivers/mozab/mozillasrc/MDatabaseMetaDataHelper.hxx 2004-03-17 11:42:12.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MDatabaseMetaDataHelper.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: dkenny $ $Date: 2001/12/13 09:34:19 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:42:12 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -116,6 +116,9 @@ #ifndef _CONNECTIVITY_MAB_CONNECTION_HXX_ #include #endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_HXX_ +#include +#endif namespace connectivity @@ -130,10 +133,12 @@ sal_Bool getTableStrings( OConnection* _pCon, ::std::vector< ::rtl::OUString >& _rStrings, + ::std::vector< ::rtl::OUString >& _rTypes, sal_Bool forceLoad = sal_False ); sal_Bool getTables( OConnection* _pCon, const ::rtl::OUString& tableNamePattern, + const ::com::sun::star::uno::Sequence< ::rtl::OUString >& types, ODatabaseMetaDataResultSet::ORows& _rRows); const ::rtl::OUString& getErrorString() { return m_aErrorString; } @@ -143,6 +148,7 @@ private: sal_Bool m_bProfileExists ; ::std::vector< ::rtl::OUString > m_aTableNames; + ::std::vector< ::rtl::OUString > m_aTableTypes; ::rtl::OUString m_aErrorString; void setAbSpecificError( OConnection* _pCon, sal_Bool bGivenURI ); --- connectivity/source/drivers/mozab/mozillasrc/MNameMapper.cxx 2003-04-15 19:38:55.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MNameMapper.cxx 2004-03-17 11:42:24.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MNameMapper.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:38:55 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:42:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -81,9 +81,24 @@ MNameMapper::MNameMapper() { mDirMap = new MNameMapper::dirMap; + mUriMap = new MNameMapper::uriMap; } MNameMapper::~MNameMapper() { + clear(); +} + +void MNameMapper::reset() +{ + clear(); + mDirMap = new MNameMapper::dirMap; + mUriMap = new MNameMapper::uriMap; +} +void MNameMapper::clear() +{ + if ( mUriMap != NULL ) { + delete mUriMap; + } if ( mDirMap != NULL ) { MNameMapper::dirMap::iterator iter; for (iter = mDirMap -> begin(); iter != mDirMap -> end(); ++iter) { @@ -92,9 +107,19 @@ delete mDirMap; } } +const char * getURI(const nsIAbDirectory* directory) +{ + nsresult retCode; + nsCOMPtr rdfResource = do_QueryInterface((nsISupports *)directory, &retCode) ; + if (NS_FAILED(retCode)) { return NULL; } + const char * uri; + retCode=rdfResource->GetValueConst(&uri); + if (NS_FAILED(retCode)) { return NULL; } + return uri; +} // May modify the name passed in so that it's unique -void +nsresult MNameMapper::add( ::rtl::OUString& str, nsIAbDirectory* abook ) { MNameMapper::dirMap::iterator iter; @@ -103,15 +128,28 @@ if ( abook == NULL ) { OSL_TRACE( "\tOUT MNameMapper::add() called with null abook\n" ); - return; + return -1; + } + + ::rtl::OUString ouUri=::rtl::OUString::createFromAscii(getURI(abook)); + if ( mUriMap->find (ouUri) != mUriMap->end() ) //There's already an entry with same uri + { + return -1; } + mUriMap->insert( MNameMapper::uriMap::value_type( ouUri, abook ) ); + + ::rtl::OUString tempStr=str; + long count =1; + while ( mDirMap->find( tempStr ) != mDirMap->end() ) { - if ( mDirMap->find( str ) != mDirMap->end() ) { - // TODO - There's already and entry, so make the name unique + tempStr = str + ::rtl::OUString::valueOf(count);; + count ++; } + str = tempStr; NS_IF_ADDREF(abook); mDirMap->insert( MNameMapper::dirMap::value_type( str, abook ) ); OSL_TRACE( "\tOUT MNameMapper::add()\n" ); + return 0; } // Will replace the given dir --- connectivity/source/drivers/mozab/mozillasrc/MNameMapper.hxx 2001-10-11 12:07:55.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MNameMapper.hxx 2004-03-17 11:42:36.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MNameMapper.hxx,v $ * - * $Revision: 1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mmaher $ $Date: 2001/10/11 10:07:55 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:42:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -85,9 +85,14 @@ typedef ::std::multimap< ::rtl::OUString, nsIAbDirectory *, ltstr > dirMap; + typedef ::std::multimap< ::rtl::OUString, nsIAbDirectory *, ltstr > uriMap; static MNameMapper *instance; dirMap *mDirMap; + uriMap *mUriMap; + + //clear dirs + void clear(); public: static MNameMapper* getInstance(); @@ -96,7 +101,10 @@ ~MNameMapper(); // May modify the name passed in so that it's unique - void add( ::rtl::OUString& str, nsIAbDirectory* abook ); + nsresult add( ::rtl::OUString& str, nsIAbDirectory* abook ); + + //reset dirs + void reset(); // Will replace the given dir void replace( const ::rtl::OUString& str, nsIAbDirectory* abook ); --- connectivity/source/drivers/mozab/mozillasrc/MQuery.cxx 2003-04-15 19:39:04.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MQuery.cxx 2004-03-17 11:42:49.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MQuery.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:39:04 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:42:49 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -377,7 +377,61 @@ return( NS_OK ); } +sal_uInt32 MQuery::InsertLoginInfo(OConnection* _pCon) +{ + nsresult rv; // Store return values. + + rtl::OUString nameAB = _pCon->getHost().replace('.','_'); + rtl::OUString bindDN = _pCon->getBindDN(); + rtl::OUString password = _pCon->getPassword(); + sal_Bool useSSL = _pCon->getUseSSL(); + + nsCOMPtr prefs = do_GetService(NS_PREF_CONTRACTID, &rv); + NS_ENSURE_SUCCESS(rv, rv); + + // create the ldap maxHits entry for the preferences file. + // Note: maxHits is applicable to LDAP only in mozilla. + nsCAutoString prefName(NS_LITERAL_CSTRING("ldap_2.servers.")); + const char *pAddressBook = MTypeConverter::ouStringToCCharStringAscii(nameAB.getStr()); + prefName.Append(pAddressBook); + + nsCAutoString bindPrefName=prefName; + bindPrefName.Append(NS_LITERAL_CSTRING(".auth.dn")); + rv = prefs->SetCharPref (bindPrefName.get(), + MTypeConverter::ouStringToCCharStringAscii( bindDN.getStr() ) ); + NS_ENSURE_SUCCESS(rv, rv); + nsCAutoString pwdPrefName=prefName; + pwdPrefName.Append(NS_LITERAL_CSTRING(".auth.pwd")); + rv = prefs->SetCharPref (pwdPrefName.get(), + MTypeConverter::ouStringToCCharStringAscii( password.getStr() ) ); + NS_ENSURE_SUCCESS(rv, rv); + + nsCAutoString sslPrefName=prefName; + sslPrefName.Append(NS_LITERAL_CSTRING(".UseSSL")); + rv = prefs->SetBoolPref (sslPrefName.get(),useSSL); + NS_ENSURE_SUCCESS(rv, rv); +} +// ------------------------------------------------------------------------- +sal_Bool CheckForceQueryProxyUse(const nsIAbDirectory* directory) +{ + nsresult retCode; + nsCOMPtr rdfResource = do_QueryInterface((nsISupports *)directory, &retCode) ; + if (NS_FAILED(retCode)) { return sal_False; } + const char * uri; + retCode=rdfResource->GetValueConst(&uri); + if (NS_FAILED(retCode)) { return sal_False; } + const char *outlookUriPrefix="moz-aboutlookdirectory://"; + if (strncmp(uri,outlookUriPrefix,strlen(outlookUriPrefix)) == 0) + { + return sal_True; + } + else + { + return sal_False; + } + +} // ------------------------------------------------------------------------- sal_Int32 MQuery::executeQuery(OConnection* _pCon) { @@ -399,12 +453,18 @@ if ( nmap->getDir( m_aAddressbook, getter_AddRefs( directory ) ) == sal_False ) return( -1 ); - SDBCAddress::sdbc_address_type eSDBCAddressType = _pCon->getSDBCAddressType(); + + //insert ldap bind info to mozilla profile(in memery,none saved),so we can use it in mozilla part codes + if (_pCon->isLDAP()) + { + rv = InsertLoginInfo(_pCon); + NS_ENSURE_SUCCESS(rv, rv); + } // Since Outlook Express and Outlook in OCL mode support a very limited query capability, // we use the following bool to judge whether we need bypass any use of a DirectoryQuery // interface and instead force the use of the QueryProxy. - sal_Bool forceQueryProxyUse = (eSDBCAddressType == SDBCAddress::Outlook) || (eSDBCAddressType == SDBCAddress::OutlookExp); + sal_Bool forceQueryProxyUse = CheckForceQueryProxyUse(directory); // Initialize directory in cases of LDAP and Mozilla if (!forceQueryProxyUse) m_aQueryDirectory->directory = do_QueryInterface(directory, &rv); @@ -417,6 +477,7 @@ // Need to turn this off for anything using the Query Proxy since it // treats Mailing Lists as directories! + m_bQuerySubDirs = sal_False; rv = directoryQueryProxy->Initiate (directory); --- connectivity/source/drivers/mozab/mozillasrc/MQueryHelper.cxx 2003-04-28 18:02:06.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MQueryHelper.cxx 2004-03-17 11:43:15.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MQueryHelper.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: hr $ $Date: 2003/04/28 16:02:06 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:43:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -230,7 +230,7 @@ sal_Bool MQueryHelper::waitForResultOrComplete( ::rtl::OUString& _rError ) { - TimeValue timeValue = { 20, 0 }; // 20 Seconds 0 NanoSecond timeout + TimeValue timeValue = { 5, 0 }; // 20 Seconds 0 NanoSecond timeout osl::Condition::Result rv = ::osl::Condition::result_ok; OSL_TRACE("In : waitForResultOrComplete()"); @@ -467,9 +467,6 @@ NS_ENSURE_SUCCESS(rv, rv); - - // Need to determine if it's a MailingList, so first find the - // nsIAbCard property and check the boolean isMailList nsCOMPtr item; rv = properties -> GetElementAt(0, getter_AddRefs(item)); NS_ENSURE_SUCCESS(rv, rv); @@ -487,18 +484,7 @@ nsCOMPtr card(do_QueryInterface(cardSupports, &rv)); NS_ENSURE_SUCCESS(rv, rv); - PRBool bIsMailList = PR_FALSE; - card->GetIsMailList( &bIsMailList ); - if ( bIsMailList ) - { - // No just skip, ie. return without inserting. - nsMemory::Free(name); - return(NS_OK); - } - else - { getCardValues(card); - } } nsMemory::Free(name); --- connectivity/source/drivers/mozab/mozillasrc/MQuery.hxx 2003-04-11 16:40:55.000000000 +0200 +++ connectivity/source/drivers/mozab/mozillasrc/MQuery.hxx 2004-03-17 11:43:02.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MQuery.hxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.10 $ * - * last change: $Author: vg $ $Date: 2003/04/11 14:40:55 $ + * last change: $Author: obo $ $Date: 2004/03/17 10:43:02 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -147,7 +147,7 @@ class MQueryExpression : public MQueryExpressionBase { - friend MQuery; + friend class MQuery; public: typedef ::std::vector< MQueryExpressionBase* > ExprVector; @@ -288,7 +288,9 @@ { return m_aErrorOccurred; }; const ::rtl::OUString& getErrorString() const - { return m_aErrorString; } + { return m_aErrorString; }; + + sal_uInt32 InsertLoginInfo(OConnection* _pCon); public: MQuery(); --- connectivity/source/drivers/mozab/MResultSet.cxx 2003-04-15 19:38:15.000000000 +0200 +++ connectivity/source/drivers/mozab/MResultSet.cxx 2003-12-01 19:20:49.000000000 +0100 @@ -2,9 +2,9 @@ * * $RCSfile: MResultSet.cxx,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: vg $ $Date: 2003/04/15 17:38:15 $ + * last change: $Author: rt $ $Date: 2003/12/01 18:20:49 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1238,7 +1238,8 @@ OSortIndex::TKeyTypeVector eKeyType(m_aOrderbyColumnNumber.size()); OValueVector::iterator aRowIter = m_aRow->begin()+1; ::std::vector::iterator aOrderByIter = m_aOrderbyColumnNumber.begin(); - for (::std::vector::size_type i=0;aOrderByIter != m_aOrderbyColumnNumber.end(); ++aOrderByIter,++i) + ::std::vector::size_type i; + for ( i = 0; aOrderByIter != m_aOrderbyColumnNumber.end(); ++aOrderByIter,++i) { OSL_ENSURE((sal_Int32)m_aRow->size() > *aOrderByIter,"Invalid Index"); switch ((m_aRow->begin()+*aOrderByIter)->getTypeKind())