Re: Help Required In Writing a New SDBC Driver For LDAP

Rohit Kulkarni <[email protected]> Tue, 29 Mar 2011 20:01:36 -0500
Newsgroups gmane.comp.openoffice.dba.devel
Message-ID <[email protected]>
--0016e6d624f8fe4499049fa8b7c5
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello Oj,

I an not writing the sdbcx driver, also I can debug everything else but my
driver code. I am guessing I am not registering the driver properly.

I have written the .xml file for the driver and also made changes to
DataAccess.xcu. Should this be sufficient to register the driver? if not
what else do I need to do ?

Here are excerpts from those files:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DriverSkeleton.xml =3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

<?xml version=3D'1.0' encoding=3D"UTF-8"?>
<!DOCTYPE COMPONENTDESCRIPTION PUBLIC "-//W3C//DTD HTML 3.2//EN"
"module-description.dtd">
<module-description xmlns:xlink=3D"http://www.w3.org/1999/xlink">
        <module-name>   skeleton1       </module-name>
        <component-description>
                <Author>rohit</Author>

 <Name>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</Name>
                <description>This library implements the database driver for
Skeleton.</description>
                <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
                <language>c++</language>
                <status value=3D"alpha"/>

 <supported-service>com.sun.star.sdbc.Driver</supported-service>
                <service-dependency>    ...     </service-dependency>
        </component-description>
        <project-build-dependency>cppuhelper</project-build-dependency>
        <project-build-dependency>cppu</project-build-dependency>
        <project-build-dependency>sal</project-build-dependency>
        <project-build-dependency>vos</project-build-dependency>
        <runtime-module-dependency>cppuhelper</runtime-module-dependency>
        <runtime-module-dependency>cppu1</runtime-module-dependency>
        <runtime-module-dependency>sal1 </runtime-module-dependency>
        <runtime-module-dependency>vos</runtime-module-dependency>
</module-description>

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DataAccess.xcu =3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

<!DOCTYPE oor:component-data SYSTEM "../../../../component-update.dtd">
<oor:component-data oor:name=3D"DataAccess"
oor:package=3D"org.openoffice.Office" xmlns:oor=3D"
http://openoffice.org/2001/registry" xmlns:xs=3D"
http://www.w3.org/2001/XMLSchema" xmlns:xsi=3D"
http://www.w3.org/2001/XMLSchema-instance">
  <node oor:name=3D"UserDefinedDriverSettings">
       <node oor:name=3D"Driver Skeleton" oor:op=3D"replace">
           <prop oor:name=3D"DriverTypeDisplayName">
               <value>Driver Skeleton</value>
           </prop>
           <prop oor:name=3D"DriverPageDisplayName">
               <value>Driver Skeleton Page</value>
           </prop>
           <prop oor:name=3D"DriverDsnPrefix">
               <value>sdbc:skeleton:</value>
           </prop>
       </node>
  </node>
  <node oor:name=3D"ConnectionPool">
    <node oor:name=3D"DriverSettings">
      <node
oor:name=3D"org.openoffice.comp.connectivity.skeleton.SkeletonDriver"
oor:op=3D"replace">
        <prop oor:name=3D"DriverName">

<value>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</value>
        </prop>
        <prop oor:name=3D"Enable">
           <value>false</value>
        </prop>
        <prop oor:name=3D"Timeout">
           <value>60</value>
        </prop>
      </node>
      <node oor:name=3D"com.sun.star.comp.sdbcx.adabas.ODriver"
oor:op=3D"replace">
        <prop oor:name=3D"DriverName">
          <value>com.sun.star.comp.sdbcx.adabas.ODriver</value>
        </prop> ...........
          :

----------

there is also a DriverSkeleton.xcu as below:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DriverSkeleton.xcu =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
<oor:component-data oor:name=3D"Drivers"
oor:package=3D"org.openoffice.Office.DataAccess" xmlns:oor=3D"
http://openoffice.org/2001/registry" xmlns:xs=3D"
http://www.w3.org/2001/XMLSchema">
  <node oor:name=3D"Installed">
    <node oor:name=3D"sdbc:skeleton:*" oor:op=3D"replace">
      <prop oor:name=3D"Driver">

 <value>org.openoffice.comp.connectivity.skeleton.SkeletonDriver</value>
      </prop>
      <prop oor:name=3D"DriverTypeDisplayName" oor:type=3D"xs:string">
        <value xml:lang=3D"en-US">Skeleton Driver</value>
      </prop>
      <node oor:name=3D"Features">
        <node oor:name=3D"EscapeDateTime" oor:op=3D"replace">
          <prop oor:name=3D"Value" oor:type=3D"xs:boolean">
            <value>true</value>
          </prop>
        </node>
      </node>
    </node>
  </node>
</oor:component-data>

as for this I have updated the "build.lst and d.lst" files so that it builds
the "libDriverSkeletonli.so" file and copies it into the installation set.
But when I debug this I can see that my driver is not returned as part of
enumeration by "createContentEnumeration()"

Could you suggest any way I can fix this?
thanks in advance.

-Rohit

On Tue, Mar 29, 2011 at 12:06 AM, Ocke Janssen <[email protected]>wro=
te:

> Hi Rohit,
>
>
> On 28.03.2011 17:43, Rohit Kulkarni wrote:
>
>>    Hello,
>>    1) I built whole openoffice and installed it.(normal build i.e build
>>    --all)
>>    2) I built only dbaccess and connectivity modules with debug=3Dtrue
>>    dbglevel=3D2
>>    3) Copied .so files from ../connectivity/unxlngi6.pro/lib/*
>>    <http://unxlngi6.pro/lib/*> and ../dbaccess/unxlngi6.pr/lib/*
>>    <http://unxlngi6.pr/lib/*>  to ../../openoffice3/basis-link/program/
>>
>>    4) Now I set breakpoint to " b
>>    connectivity::flat::ODriver::acceptsURL "
>>    5) Run base through gdb.
>>    6) Execution stopped at breakpoint, whatever I select flat or
>>    skeleton driver or any other from available driver list.
>>    7) When I set breakpoint at " b
>>    connectivity::skeleton::SkeletonDriver::acceptsURL ", it wont stop
>>    at breakpoint.
>>    8) That means execution of program never goes to SDriver.cxx
>>    (skeleton driver file) file which has acceptsURL function.
>>
>>    The things I have noticed after some more debugging in gdb are --
>>
>>    1) I saw the function named OSDBCDriverManager::bootstrapDrivers()
>>    2) I think this is the function where it populates the list of all
>>    drivers using
>>    " createContentEnumeration " function.
>>    3) And this function is not returning my driver.
>>    4) I saw this after watching the value of " aDriverDescriptor "
>>    variable which is used for pushback in vector " m_aDriverBS " , I
>>    saw various strings for example , for flat it is
>>    "com.sun.star.comp.sdbc.flat.ODriver" but not my driver name.
>>
>> What do I need to do so that createContentEnumeration will return my
>> driver object in the list ?
>>
>
> Do you register the driver as an extension? If so the lib are not located
> in basis-link/program they are located in your user folder
> 3/user/uno_package/cache/uno_package/...
> That would also explain why you can't set any breakpoint.
> Another reason could be that your driver doesn't support
> "com.sun.star.sdbc.Driver" or the driver was not registered.
>
> If that doesn't work I could look at the code if you want to.
>
> Best regards,
>
> Ocke
>
>
>
>> Regards,
>> Rohit
>>
>>
>> On Mon, Mar 28, 2011 at 1:16 PM, Ocke Janssen <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>    Hi,
>>
>>
>>    On 26.03.2011 06:47, Rohit Kulkarni wrote:
>>
>>        Hello,
>>        I have successfully built skeleton driver and I can see it in
>>        available
>>        list.
>>        Now , I tried to debug it using gdb. For this I followed
>>        instructions on
>>        http://wiki.services.openoffice.org/wiki/Debugging
>>        Build using debug=3Dtrue and copied .so files to installation set.
>>
>>        I added a breakpoint at
>>        connectivity::skeleton::SkeletonDriver::acceptsURL then,
>>        run base -> select Skeleton Driver -> Datasource url window appea=
rs
>>        (typed any string in it) -> saved ->finish
>>        In this process debugger wont stop at breakpoint.
>>
>>        Another thing is that I added breakpoint at
>>        connectivity::flat::ODriver::acceptsURL then, all same steps abov=
e.
>>        Debugger stopped at breakpoint where I can see flat file
>> EDriver.cxx
>>        code with acceptsURL function.
>>
>>        So, do you have any idea why it wouldn't call
>>        connectivity::skeleton::SkeletonDriver::acceptsURL function?
>>
>>    May be you copied the wrong files or you built them not with debug=3Dt
>>    ? When you can set a break point for flat it should also work for
>>    your driver. No guess so far. Or may be set the break point when the
>>    library was loaded. I'm not the gdb expert.
>>
>>    - oj
>>
>>
>>        Regards,
>>        Rohit
>>        On Tue, Mar 15, 2011 at 11:53 AM, Ocke Janssen
>>        <[email protected] <mailto:[email protected]>
>>        <mailto:[email protected]
>>        <mailto:[email protected]>>> wrote:
>>
>>            On 14.03.2011 18:45, Rohit Kulkarni wrote:
>>
>>                I could successfully built the skeleton driver and now I
>>        can see
>>                it in
>>                the list of available drivers as well!
>>                Thanks a lot for your help. I really appreciate it.
>>
>>            :-)
>>
>>
>>                I have a quick question.
>>
>>
>>
>>                Any idea on how to solve this?
>>
>>            No, sorry. I think that's a question for the normal
>>        [email protected] <mailto:[email protected]>
>>        <mailto:[email protected] <mailto:[email protected]>> list.
>>
>>        May be a build
>>
>>            problem or a bug.
>>
>>
>>                Also, Now, if I make any changes to the skeleton driver,
>>        do I
>>                have to
>>                build and install open office every time?
>>
>>            No, just replace your copy of the .so file in your office
>>        installation.
>>
>>            - oj
>>
>>
>>            --
>>
>>
>>            Ocke Janssen | Software Developer
>>            Phone: +40 23646500
>>            Oracle Office
>>
>>            ORACLE Deutschland B.V. & Co. KG | Nagelsweg 55 | 20097 Hambu=
rg
>>
>>            ORACLE Deutschland B.V. & Co. KG
>>            Hauptverwaltung: Riesstr. 25, D-80992 M=FCnchen
>>            Registergericht: Amtsgericht M=FCnchen, HRA 95603
>>
>>            Komplement=E4rin: ORACLE Deutschland Verwaltung B.V.
>>            Rijnzathe 6, 3454PV De Meern, Niederlande
>>            Handelsregister der Handelskammer Midden-Niederlande, Nr.
>>        30143697
>>            Gesch=E4ftsf=FChrer: J=FCrgen Kunz, Marcel van de Molen, Alex=
ander
>>        van der Ven
>>
>>
>>
>>            Oracle is committed to developing practices and products
>>        that help
>>            protect the environment
>>
>>            --
>>
>>          ---------------------------------------------------------------=
--
>>            To unsubscribe send email to
>>        [email protected]
>>        <mailto:[email protected]>
>>        <mailto:[email protected]
>>        <mailto:[email protected]>>
>>
>>            For additional commands send email to
>>        [email protected] <mailto:[email protected]>
>>        <mailto:[email protected] <mailto:[email protected]
>> >>
>>
>>            with Subject: help
>>
>>
>>
>>    --
>>    -----------------------------------------------------------------
>>    To unsubscribe send email to [email protected]
>>    <mailto:[email protected]>
>>    For additional commands send email to [email protected]
>>    <mailto:[email protected]>
>>    with Subject: help
>>
>>
>>
> --
> -----------------------------------------------------------------
> To unsubscribe send email to [email protected]
> For additional commands send email to [email protected]
> with Subject: help
>
--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help

--0016e6d624f8fe4499049fa8b7c5
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hello Oj,<div><br></div><div>I an not writing the sdbcx driver, also I can =
debug everything else but my driver code. I am guessing I am not registerin=
g the driver properly.</div><div><br></div><div>I have written the .xml fil=
e for the driver and also made changes to DataAccess.xcu. Should this be=A0=
sufficient=A0to register the driver? if not what else do I need to do ?</di=
v>
<div><br></div><div>Here are excerpts from those files:</div><div><br></div=
><div>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DriverSkeleton.xml =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div><br></div><div><div>&l=
t;?xml version=3D&#39;1.0&#39; encoding=3D&quot;UTF-8&quot;?&gt;</div>
<div>&lt;!DOCTYPE COMPONENTDESCRIPTION PUBLIC &quot;-//W3C//DTD HTML 3.2//E=
N&quot; &quot;module-description.dtd&quot;&gt;</div><div>&lt;module-descrip=
tion xmlns:xlink=3D&quot;<a href=3D"http://www.w3.org/1999/xlink">http://ww=
w.w3.org/1999/xlink</a>&quot;&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;module-name&gt; =A0 skeleton1 =A0 =A0 =A0 &lt;/m=
odule-name&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;component-description&gt;</d=
iv><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;Author&gt;rohit&lt;/Author&gt=
;</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;Name&gt;org.openoffice.co=
mp.connectivity.skeleton.SkeletonDriver&lt;/Name&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;description&gt;This library impl=
ements the database driver for Skeleton.&lt;/description&gt;</div><div>=A0=
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;loader-name&gt;com.sun.star.loader.Share=
dLibrary&lt;/loader-name&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;language&gt;c++&lt;/language&gt;=
</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;status value=3D&quot;alpha=
&quot;/&gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;supported-servi=
ce&gt;com.sun.star.sdbc.Driver&lt;/supported-service&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0&lt;service-dependency&gt; =A0 =A0..=
. =A0 =A0 &lt;/service-dependency&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;/comp=
onent-description&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;project-build-depende=
ncy&gt;cppuhelper&lt;/project-build-dependency&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;project-build-dependency&gt;cppu&lt;/project-bui=
ld-dependency&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;project-build-dependency&=
gt;sal&lt;/project-build-dependency&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;pro=
ject-build-dependency&gt;vos&lt;/project-build-dependency&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;runtime-module-dependency&gt;cppuhelper&lt;/runt=
ime-module-dependency&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;runtime-module-de=
pendency&gt;cppu1&lt;/runtime-module-dependency&gt;</div><div>=A0=A0 =A0 =
=A0 =A0&lt;runtime-module-dependency&gt;sal1 &lt;/runtime-module-dependency=
&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;runtime-module-dependency&gt;vos&lt;/runtime-mod=
ule-dependency&gt;</div><div>&lt;/module-description&gt;</div><div><br></di=
v><div>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DataAccess.xcu =3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div><br></div><div><div>
&lt;!DOCTYPE oor:component-data SYSTEM &quot;../../../../component-update.d=
td&quot;&gt;</div><div>&lt;oor:component-data oor:name=3D&quot;DataAccess&q=
uot; oor:package=3D&quot;org.openoffice.Office&quot; xmlns:oor=3D&quot;<a h=
ref=3D"http://openoffice.org/2001/registry">http://openoffice.org/2001/regi=
stry</a>&quot; xmlns:xs=3D&quot;<a href=3D"http://www.w3.org/2001/XMLSchema=
">http://www.w3.org/2001/XMLSchema</a>&quot; xmlns:xsi=3D&quot;<a href=3D"h=
ttp://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-=
instance</a>&quot;&gt;</div>
<div>=A0=A0&lt;node oor:name=3D&quot;UserDefinedDriverSettings&quot;&gt;</d=
iv><div>=A0=A0 =A0 =A0 &lt;node oor:name=3D&quot;Driver Skeleton&quot; oor:=
op=3D&quot;replace&quot;&gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0 &lt;prop oor:=
name=3D&quot;DriverTypeDisplayName&quot;&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 &lt;value&gt;Driver Skeleton&lt;/value&=
gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0 &lt;/prop&gt;</div><div>=A0=A0 =A0 =A0=
 =A0 =A0 &lt;prop oor:name=3D&quot;DriverPageDisplayName&quot;&gt;</div><di=
v>=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 &lt;value&gt;Driver Skeleton Page&lt;/valu=
e&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 &lt;/prop&gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0 =
&lt;prop oor:name=3D&quot;DriverDsnPrefix&quot;&gt;</div><div>=A0=A0 =A0 =
=A0 =A0 =A0 =A0 =A0 &lt;value&gt;sdbc:skeleton:&lt;/value&gt;</div><div>=A0=
=A0 =A0 =A0 =A0 =A0 &lt;/prop&gt;</div><div>=A0=A0 =A0 =A0 &lt;/node&gt;</d=
iv>
<div>=A0=A0&lt;/node&gt;</div><div>=A0=A0&lt;node oor:name=3D&quot;Connecti=
onPool&quot;&gt;</div><div>=A0=A0 =A0&lt;node oor:name=3D&quot;DriverSettin=
gs&quot;&gt;</div><div>=A0=A0 =A0 =A0&lt;node oor:name=3D&quot;org.openoffi=
ce.comp.connectivity.skeleton.SkeletonDriver&quot; oor:op=3D&quot;replace&q=
uot;&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;prop oor:name=3D&quot;DriverName&quot;&gt;</div>=
<div>=A0=A0 =A0 =A0 =A0 =A0 &lt;value&gt;org.openoffice.comp.connectivity.s=
keleton.SkeletonDriver&lt;/value&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;/prop&=
gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;prop oor:name=3D&quot;Enable&quot;&gt;<=
/div>
<div>=A0=A0 =A0 =A0 =A0 =A0 &lt;value&gt;false&lt;/value&gt;</div><div>=A0=
=A0 =A0 =A0 =A0&lt;/prop&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;prop oor:name=
=3D&quot;Timeout&quot;&gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0 &lt;value&gt;60=
&lt;/value&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;/prop&gt;</div>
<div>=A0=A0 =A0 =A0&lt;/node&gt;</div><div>=A0=A0 =A0 =A0&lt;node oor:name=
=3D&quot;com.sun.star.comp.sdbcx.adabas.ODriver&quot; oor:op=3D&quot;replac=
e&quot;&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;prop oor:name=3D&quot;DriverNam=
e&quot;&gt;</div><div>=A0=A0 =A0 =A0 =A0 =A0&lt;value&gt;com.sun.star.comp.=
sdbcx.adabas.ODriver&lt;/value&gt;</div>
<div>=A0=A0 =A0 =A0 =A0&lt;/prop&gt; ...........</div></div><div>=A0=A0 =A0=
 =A0 =A0 =A0:</div><div><br></div><div>----------</div></div><div><br></div=
><div>there is also a DriverSkeleton.xcu as below:</div><div><br></div><div=
>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=A0DriverSkeleton.xcu =3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D</div>
<div><div>&lt;oor:component-data oor:name=3D&quot;Drivers&quot; oor:package=
=3D&quot;org.openoffice.Office.DataAccess&quot; xmlns:oor=3D&quot;<a href=
=3D"http://openoffice.org/2001/registry">http://openoffice.org/2001/registr=
y</a>&quot; xmlns:xs=3D&quot;<a href=3D"http://www.w3.org/2001/XMLSchema">h=
ttp://www.w3.org/2001/XMLSchema</a>&quot;&gt;</div>
<div>=A0=A0&lt;node oor:name=3D&quot;Installed&quot;&gt;</div><div>=A0=A0 =
=A0&lt;node oor:name=3D&quot;sdbc:skeleton:*&quot; oor:op=3D&quot;replace&q=
uot;&gt;</div><div>=A0=A0 =A0 =A0&lt;prop oor:name=3D&quot;Driver&quot;&gt;=
</div><div>=A0=A0 =A0 =A0 =A0&lt;value&gt;org.openoffice.comp.connectivity.=
skeleton.SkeletonDriver&lt;/value&gt;</div>
<div>=A0=A0 =A0 =A0&lt;/prop&gt;</div><div>=A0=A0 =A0 =A0&lt;prop oor:name=
=3D&quot;DriverTypeDisplayName&quot; oor:type=3D&quot;xs:string&quot;&gt;</=
div><div>=A0=A0 =A0 =A0 =A0&lt;value xml:lang=3D&quot;en-US&quot;&gt;Skelet=
on Driver&lt;/value&gt;</div>
<div>=A0=A0 =A0 =A0&lt;/prop&gt;</div><div>=A0=A0 =A0 =A0&lt;node oor:name=
=3D&quot;Features&quot;&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;node oor:name=
=3D&quot;EscapeDateTime&quot; oor:op=3D&quot;replace&quot;&gt;</div><div>=
=A0=A0 =A0 =A0 =A0 =A0&lt;prop oor:name=3D&quot;Value&quot; oor:type=3D&quo=
t;xs:boolean&quot;&gt;</div>
<div>=A0=A0 =A0 =A0 =A0 =A0 =A0&lt;value&gt;true&lt;/value&gt;</div><div>=
=A0=A0 =A0 =A0 =A0 =A0&lt;/prop&gt;</div><div>=A0=A0 =A0 =A0 =A0&lt;/node&g=
t;</div><div>=A0=A0 =A0 =A0&lt;/node&gt;</div><div>=A0=A0 =A0&lt;/node&gt;<=
/div><div>=A0=A0&lt;/node&gt;</div><div>&lt;/oor:component-data&gt;</div>
<div><br></div><div>as for this I have updated the &quot;build.lst and d.ls=
t&quot; files so that it builds the &quot;libDriverSkeletonli.so&quot; file=
 and copies it into the installation set.</div><div>But when I debug this I=
 can see that my driver is not returned as part of enumeration by &quot;cre=
ateContentEnumeration()&quot;</div>
<div><br></div><div>Could you suggest any way I can fix this?</div><div>tha=
nks in advance.</div><div><br></div><div>-Rohit</div><div><br></div><div cl=
ass=3D"gmail_quote">On Tue, Mar 29, 2011 at 12:06 AM, Ocke Janssen <span di=
r=3D"ltr">&lt;<a href=3D"mailto:[email protected]">Ocke.Janssen@oracl=
e.com</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex;">Hi Rohit,<div class=3D"im"><br>
<br>
On 28.03.2011 17:43, Rohit Kulkarni wrote:<br>
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div class=3D"im">
 =A0 =A0Hello,<br>
 =A0 =A01) I built whole openoffice and installed it.(normal build i.e buil=
d<br>
 =A0 =A0--all)<br>
 =A0 =A02) I built only dbaccess and connectivity modules with debug=3Dtrue=
<br>
 =A0 =A0dbglevel=3D2<br>
 =A0 =A03) Copied .so files from ../connectivity/<a href=3D"http://unxlngi6=
.pro/lib/*" target=3D"_blank">unxlngi6.pro/lib/*</a><br></div>
 =A0 =A0&lt;<a href=3D"http://unxlngi6.pro/lib/*" target=3D"_blank">http://=
unxlngi6.pro/lib/*</a>&gt; and ../dbaccess/<a href=3D"http://unxlngi6.pr/li=
b/*" target=3D"_blank">unxlngi6.pr/lib/*</a><br>
 =A0 =A0&lt;<a href=3D"http://unxlngi6.pr/lib/*" target=3D"_blank">http://u=
nxlngi6.pr/lib/*</a>&gt; =A0to ../../openoffice3/basis-link/program/<div cl=
ass=3D"im"><br>
 =A0 =A04) Now I set breakpoint to &quot; b<br>
 =A0 =A0connectivity::flat::ODriver::acceptsURL &quot;<br>
 =A0 =A05) Run base through gdb.<br>
 =A0 =A06) Execution stopped at breakpoint, whatever I select flat or<br>
 =A0 =A0skeleton driver or any other from available driver list.<br>
 =A0 =A07) When I set breakpoint at &quot; b<br>
 =A0 =A0connectivity::skeleton::SkeletonDriver::acceptsURL &quot;, it wont =
stop<br>
 =A0 =A0at breakpoint.<br>
 =A0 =A08) That means execution of program never goes to SDriver.cxx<br>
 =A0 =A0(skeleton driver file) file which has acceptsURL function.<br>
<br>
 =A0 =A0The things I have noticed after some more debugging in gdb are --<b=
r>
<br>
 =A0 =A01) I saw the function named OSDBCDriverManager::bootstrapDrivers()<=
br>
 =A0 =A02) I think this is the function where it populates the list of all<=
br>
 =A0 =A0drivers using<br>
 =A0 =A0&quot; createContentEnumeration &quot; function.<br>
 =A0 =A03) And this function is not returning my driver.<br>
 =A0 =A04) I saw this after watching the value of &quot; aDriverDescriptor =
&quot;<br>
 =A0 =A0variable which is used for pushback in vector &quot; m_aDriverBS &q=
uot; , I<br>
 =A0 =A0saw various strings for example , for flat it is<br>
 =A0 =A0&quot;com.sun.star.comp.sdbc.flat.ODriver&quot; but not my driver n=
ame.<br>
<br>
What do I need to do so that createContentEnumeration will return my<br>
driver object in the list ?<br>
</div></blockquote>
<br>
Do you register the driver as an extension? If so the lib are not located i=
n basis-link/program they are located in your user folder 3/user/uno_packag=
e/cache/uno_package/...<br>
That would also explain why you can&#39;t set any breakpoint.<br>
Another reason could be that your driver doesn&#39;t support &quot;com.sun.=
star.sdbc.Driver&quot; or the driver was not registered.<br>
<br>
If that doesn&#39;t work I could look at the code if you want to.<br>
<br>
Best regards,<br>
<br>
Ocke<br>
<br>
<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div class=3D"im">
<br>
Regards,<br>
Rohit<br>
<br>
<br>
On Mon, Mar 28, 2011 at 1:16 PM, Ocke Janssen &lt;<a href=3D"mailto:Ocke.Ja=
[email protected]" target=3D"_blank">[email protected]</a><br></div><d=
iv><div></div><div class=3D"h5">
&lt;mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">Ock=
[email protected]</a>&gt;&gt; wrote:<br>
<br>
 =A0 =A0Hi,<br>
<br>
<br>
 =A0 =A0On <a href=3D"tel:26.03.2011%2006" target=3D"_blank">26.03.2011 06<=
/a>:47, Rohit Kulkarni wrote:<br>
<br>
 =A0 =A0 =A0 =A0Hello,<br>
 =A0 =A0 =A0 =A0I have successfully built skeleton driver and I can see it =
in<br>
 =A0 =A0 =A0 =A0available<br>
 =A0 =A0 =A0 =A0list.<br>
 =A0 =A0 =A0 =A0Now , I tried to debug it using gdb. For this I followed<br>
 =A0 =A0 =A0 =A0instructions on<br>
 =A0 =A0 =A0 =A0<a href=3D"http://wiki.services.openoffice.org/wiki/Debuggi=
ng" target=3D"_blank">http://wiki.services.openoffice.org/wiki/Debugging</a=
><br>
 =A0 =A0 =A0 =A0Build using debug=3Dtrue and copied .so files to installati=
on set.<br>
<br>
 =A0 =A0 =A0 =A0I added a breakpoint at<br>
 =A0 =A0 =A0 =A0connectivity::skeleton::SkeletonDriver::acceptsURL then,<br>
 =A0 =A0 =A0 =A0run base -&gt; select Skeleton Driver -&gt; Datasource url =
window appears<br>
 =A0 =A0 =A0 =A0(typed any string in it) -&gt; saved -&gt;finish<br>
 =A0 =A0 =A0 =A0In this process debugger wont stop at breakpoint.<br>
<br>
 =A0 =A0 =A0 =A0Another thing is that I added breakpoint at<br>
 =A0 =A0 =A0 =A0connectivity::flat::ODriver::acceptsURL then, all same step=
s above.<br>
 =A0 =A0 =A0 =A0Debugger stopped at breakpoint where I can see flat file ED=
river.cxx<br>
 =A0 =A0 =A0 =A0code with acceptsURL function.<br>
<br>
 =A0 =A0 =A0 =A0So, do you have any idea why it wouldn&#39;t call<br>
 =A0 =A0 =A0 =A0connectivity::skeleton::SkeletonDriver::acceptsURL function=
?<br>
<br>
 =A0 =A0May be you copied the wrong files or you built them not with debug=
=3Dt<br>
 =A0 =A0? When you can set a break point for flat it should also work for<b=
r>
 =A0 =A0your driver. No guess so far. Or may be set the break point when th=
e<br>
 =A0 =A0library was loaded. I&#39;m not the gdb expert.<br>
<br>
 =A0 =A0- oj<br>
<br>
<br>
 =A0 =A0 =A0 =A0Regards,<br>
 =A0 =A0 =A0 =A0Rohit<br>
 =A0 =A0 =A0 =A0On Tue, Mar 15, 2011 at 11:53 AM, Ocke Janssen<br>
 =A0 =A0 =A0 =A0&lt;<a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a> &lt;mailto:<a href=3D"mailto:Ocke.Janssen=
@oracle.com" target=3D"_blank">[email protected]</a>&gt;<br>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a><br>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a>&gt;&gt;&gt; wrote:<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0On 14.03.2011 18:45, Rohit Kulkarni wrote:<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0I could successfully built the skeleton dri=
ver and now I<br>
 =A0 =A0 =A0 =A0can see<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0it in<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0the list of available drivers as well!<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Thanks a lot for your help. I really apprec=
iate it.<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0:-)<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0I have a quick question.<br>
<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Any idea on how to solve this?<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0No, sorry. I think that&#39;s a question for the no=
rmal<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email protected]" target=3D"_blank">dev=
@openoffice.org</a> &lt;mailto:<a href=3D"mailto:[email protected]" target=
=3D"_blank">[email protected]</a>&gt;<br></div></div>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" target=3D"=
_blank">[email protected]</a> &lt;mailto:<a href=3D"mailto:dev@openoffice.=
org" target=3D"_blank">[email protected]</a>&gt;&gt; list.<div><div></div>=
<div class=3D"h5">
<br>
 =A0 =A0 =A0 =A0May be a build<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0problem or a bug.<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Also, Now, if I make any changes to the ske=
leton driver,<br>
 =A0 =A0 =A0 =A0do I<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0have to<br>
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0build and install open office every time?<b=
r>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0No, just replace your copy of the .so file in your =
office<br>
 =A0 =A0 =A0 =A0installation.<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0- oj<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0--<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0Ocke Janssen | Software Developer<br>
 =A0 =A0 =A0 =A0 =A0 =A0Phone: +40 23646500<br>
 =A0 =A0 =A0 =A0 =A0 =A0Oracle Office<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0ORACLE Deutschland B.V. &amp; Co. KG | Nagelsweg 55=
 | 20097 Hamburg<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0ORACLE Deutschland B.V. &amp; Co. KG<br>
 =A0 =A0 =A0 =A0 =A0 =A0Hauptverwaltung: Riesstr. 25, D-80992 M=FCnchen<br>
 =A0 =A0 =A0 =A0 =A0 =A0Registergericht: Amtsgericht M=FCnchen, HRA 95603<b=
r>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0Komplement=E4rin: ORACLE Deutschland Verwaltung B.V=
.<br>
 =A0 =A0 =A0 =A0 =A0 =A0Rijnzathe 6, 3454PV De Meern, Niederlande<br>
 =A0 =A0 =A0 =A0 =A0 =A0Handelsregister der Handelskammer Midden-Niederland=
e, Nr.<br>
 =A0 =A0 =A0 =A030143697<br>
 =A0 =A0 =A0 =A0 =A0 =A0Gesch=E4ftsf=FChrer: J=FCrgen Kunz, Marcel van de M=
olen, Alexander<br>
 =A0 =A0 =A0 =A0van der Ven<br>
<br>
<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0Oracle is committed to developing practices and pro=
ducts<br>
 =A0 =A0 =A0 =A0that help<br>
 =A0 =A0 =A0 =A0 =A0 =A0protect the environment<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0--<br>
<br>
 =A0 =A0 =A0 =A0 =A0-------------------------------------------------------=
----------<br>
 =A0 =A0 =A0 =A0 =A0 =A0To unsubscribe send email to<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a><br>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]=
.org" target=3D"_blank">[email protected]</a>&gt;<br>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]=
.org" target=3D"_blank">[email protected]</a><br>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]=
.org" target=3D"_blank">[email protected]</a>&gt;&gt;<br>
<br>
 =A0 =A0 =A0 =A0 =A0 =A0For additional commands send email to<br>
 =A0 =A0 =A0 =A0<a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a> &lt;mailto:<a href=3D"mailto:[email protected]=
office.org" target=3D"_blank">[email protected]</a>&gt;<br></div></d=
iv>
 =A0 =A0 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" targ=
et=3D"_blank">[email protected]</a> &lt;mailto:<a href=3D"mailto:sym=
[email protected]" target=3D"_blank">[email protected]</a>&gt;&g=
t;<div class=3D"im">
<br>
 =A0 =A0 =A0 =A0 =A0 =A0with Subject: help<br>
<br>
<br>
<br>
 =A0 =A0--<br>
 =A0 =A0-----------------------------------------------------------------<b=
r>
 =A0 =A0To unsubscribe send email to <a href=3D"mailto:dev-unsubscribe@dba.=
openoffice.org" target=3D"_blank">[email protected]</a><br>
 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" ta=
rget=3D"_blank">[email protected]</a>&gt;<br>
 =A0 =A0For additional commands send email to <a href=3D"mailto:[email protected]=
penoffice.org" target=3D"_blank">[email protected]</a><br>
 =A0 =A0&lt;mailto:<a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a>&gt;<br>
 =A0 =A0with Subject: help<br>
<br>
<br>
</div></blockquote><div><div></div><div class=3D"h5">
<br>
--<br>
-----------------------------------------------------------------<br>
To unsubscribe send email to <a href=3D"mailto:[email protected]=
ce.org" target=3D"_blank">[email protected]</a><br>
For additional commands send email to <a href=3D"mailto:[email protected]=
e.org" target=3D"_blank">[email protected]</a><br>
with Subject: help<br>
</div></div></blockquote></div><br></div>

--0016e6d624f8fe4499049fa8b7c5--