Commit fc9a5e8180e3875d65bba28e15d99f48988c64aa

Authored by perry.werneck@gmail.com
1 parent 92608608

Work in progress

src/oxt/Makefile.in
... ... @@ -74,12 +74,17 @@ CXXFLAGS=@CXXFLAGS@ -Wno-strict-aliasing -I./include -I$(includedir)/libreoffice
74 74 @$(MKDIR) `dirname $@`
75 75 @$(IDLC) -C -I$(OO_SDK_HOME)/idl -O`dirname $@` $<
76 76  
  77 +%.urd: /usr/share/idl/libreoffice/com/sun/star/uno/%.idl
  78 + @echo $@ ...
  79 + @$(MKDIR) `dirname $@`
  80 + @$(IDLC) -C -I$(OO_SDK_HOME)/idl -O`dirname $@` $<
  81 +
77 82 %.rdb: %.urd
78 83 @echo $@ ...
79 84 @$(MKDIR) `dirname $@`
80 85 @$(REGMERGE) $@ /UCR $<
81 86  
82   -$(OBJDBG)/%.o: %.cc include/pw3270/lib3270.hpp Makefile
  87 +$(OBJDBG)/%.o: %.cc include/pw3270/lib3270.hpp include/com/sun/star/uno/XWeak.hpp *.hpp Makefile
83 88 @echo $< ...
84 89 @mkdir -p `dirname $@`
85 90 $(CXX) -DDEBUG=1 $(CXXFLAGS) -o $@ $<
... ... @@ -93,6 +98,11 @@ include/pw3270/lib3270.hpp: pw3270.rdb
93 98 @$(MKDIR) `dirname $@`
94 99 @$(CPPUMAKER) -O./include -Tpw3270.lib3270 $(TYPES_RDB) $<
95 100  
  101 +include/com/sun/star/uno/%.hpp: %.rdb
  102 + @echo $@ ...
  103 + @$(MKDIR) `dirname $@`
  104 + @$(CPPUMAKER) -O./include $(TYPES_RDB) $<
  105 +
96 106  
97 107 #---[ Debug targets ]----------------------------------------------------------
98 108  
... ...
src/oxt/globals.hpp
... ... @@ -47,12 +47,10 @@
47 47 #endif
48 48  
49 49  
50   - #include <cppuhelper/supportsservice.hxx>
51   -
52 50 #include <cppuhelper/implbase2.hxx> // "3" implementing three interfaces
53   -// #include <cppuhelper/factory.hxx>
  51 + #include <cppuhelper/factory.hxx>
54 52 // #include <cppuhelper/implementationentry.hxx>
55   -// #include <com/sun/star/lang/XServiceInfo.hpp>
  53 + #include <com/sun/star/lang/XServiceInfo.hpp>
56 54 // #include <com/sun/star/lang/IllegalArgumentException.hpp>
57 55  
58 56 #include <pw3270/lib3270.hpp>
... ... @@ -66,29 +64,9 @@
66 64 namespace pw3270_impl
67 65 {
68 66 // https://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/C%2B%2B/Class_Definition_with_Helper_Template_Classes
69   - class sessionImpl
70   - // : public lang::XServiceInfo
71   - // ::cppu::WeakImplHelper2< ::pw3270::lib3270, lang::XServiceInfo >
72   - {
73   - };
74   -
75   - /*
76   - // https://wiki.openoffice.org/wiki/Documentation/DevGuide/WritingUNO/C%2B%2B/Implementing_without_Helpers
77   - class sessionImpl
  67 + class session_impl : public ::cppu::WeakImplHelper2< ::pw3270::lib3270, lang::XServiceInfo >
78 68 {
79   - oslInterlockedCount m_refcount;
80   -
81   - public:
82   - inline sessionImpl() throw () : m_refcount( 0 )
83   - {
84   - }
85   -
86   - // XInterface
87   - virtual Any SAL_CALL queryInterface( Type const & type ) throw (RuntimeException);
88   - virtual void SAL_CALL acquire() throw ();
89   - virtual void SAL_CALL release() throw ();
90 69 };
91   - */
92 70  
93 71 };
94 72  
... ...
src/oxt/research.sh
... ... @@ -11,6 +11,7 @@ if [ &quot;$?&quot; != &quot;0&quot; ]; then
11 11 exit -1
12 12 fi
13 13  
  14 +
14 15 $REGMERGE pw3270.rdb /UCR pw3270.urd
15 16 if [ "$?" != "0" ]; then
16 17 exit -1
... ... @@ -22,5 +23,22 @@ if [ &quot;$?&quot; != &quot;0&quot; ]; then
22 23 exit -1
23 24 fi
24 25  
  26 +# XWeak
  27 +$IDLC -C -I$OO_SDK_HOME/idl -O. /usr/share/idl/libreoffice/com/sun/star/uno/XWeak.idl
  28 +if [ "$?" != "0" ]; then
  29 + exit -1
  30 +fi
  31 +
  32 +$REGMERGE XWeak.rdb /UCR XWeak.urd
  33 +if [ "$?" != "0" ]; then
  34 + exit -1
  35 +fi
  36 +
  37 +$CPPUMAKER -O./include $TYPES_RDB XWeak.rdb
  38 +if [ "$?" != "0" ]; then
  39 + exit -1
  40 +fi
  41 +
  42 +
25 43 echo ok
26 44  
... ...