Re: Help Required In Writing a New SDBC Driver For LDAP
Rohit Kulkarni <[email protected]> Sat, 12 Mar 2011 11:47:07 +0530
| Newsgroups | gmane.comp.openoffice.dba.devel |
|---|---|
| Message-ID | <[email protected]> |
--0016e65a08602e864c049e430747 Content-Type: text/plain; charset=ISO-8859-1 As a first step, I copied the folder DriverSkeleton to "../connectivity/drivers/" .I created .xcu and .xml files.To run dmake I must have makefile.mk in my driver folder. So, I checked a makefile.mk in calc folder and made same for DriverSkeleton driver. Also, I copied exports.dxp and .map files from calc to DriverSkeleton. Finally, my DriverSkeleton folder contains following files-- [root@localhost drivers]# cd DriverSkeleton/ [root@localhost DriverSkeleton]# ls DriverSkeleton.map Makefile propertyids.hxx SDriver.cxx SResultSet.hxx SStatement.hxx DriverSkeleton.xcu makefile.mk SConnection.cxx SDriver.hxx SResultSetMetaData.cxx DriverSkeleton.xml OSubComponent.hxx SConnection.hxx SPreparedStatement.cxx SResultSetMetaData.hxx exports.dxp OTypeInfo.hxx SDatabaseMetaData.cxx SPreparedStatement.hxx SServices.cxx How_to_write_my_own_driver.txt propertyids.cxx SDatabaseMetaData.hxx SResultSet.cxx SStatement.cxx After running dmake in the same folder it give me the following output-- ../../../unxlngi6.pro/slo/SResultSet.o: In function `connectivity::skeleton::OResultSet::createArrayHelper() const': SResultSet.cxx:(.text+0x439): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SResultSet.cxx:(.text+0x49d): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SResultSet.cxx:(.text+0x501): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SResultSet.cxx:(.text+0x55f): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SResultSet.cxx:(.text+0x5c3): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' ../../../unxlngi6.pro/slo/SResultSet.o:SResultSet.cxx:(.text+0x627): more undefined references to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow ../../../unxlngi6.pro/slo/SResultSet.o: In function `connectivity::skeleton::OResultSet::getMetaData()': SResultSet.cxx:(.text+0x1f9f): undefined reference to `vtable for connectivity::skeleton::OResultSetMetaData' ../../../unxlngi6.pro/slo/SResultSet.o: In function `connectivity::skeleton::OPropertyMap::getPropMap()': SResultSet.cxx:(.text._ZN12connectivity8skeleton12OPropertyMap10getPropMapEv[connectivity::skeleton::OPropertyMap::getPropMap()]+0x9b): undefined reference to `connectivity::skeleton::OPropertyMap::~OPropertyMap()' ../../../unxlngi6.pro/slo/SStatement.o: In function `connectivity::skeleton::OStatement_Base::createArrayHelper() const': SStatement.cxx:(.text+0x58d): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SStatement.cxx:(.text+0x5f1): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SStatement.cxx:(.text+0x658): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SStatement.cxx:(.text+0x6bf): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' SStatement.cxx:(.text+0x726): undefined reference to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' ../../../unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.text+0x78d): more undefined references to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow ../../../unxlngi6.pro/slo/SPreparedStatement.o: In function `connectivity::skeleton::OPreparedStatement::getMetaData()': SPreparedStatement.cxx:(.text+0xc05): undefined reference to `vtable for connectivity::skeleton::OResultSetMetaData' collect2: ld returned 1 exit status dmake: Error code 1, while making '../../../ unxlngi6.pro/lib/libDriverSkeletonli.so' I am building the Skeleton Driver and I dont know how to solve this problem. Could you please help to solve this problem? Am I doing anything wrong ? Thanks, Rohit On Fri, Mar 11, 2011 at 11:35 AM, Ocke Janssen <[email protected]>wrote: > Hi Rohit, > > > On 10.03.2011 16:58, Rohit Kulkarni wrote: > >> Hi, >> >> Thanks for your reply. I really appreciate the help. >> >> I could find the skeleton files at the location you have >> mentioned. Currently we are planning to develop the SDBC driver which >> will not be an extension. So, we will have to build the skeleton driver >> first, get it in the list of available drivers and then make it work for >> LDAP. >> >> Could you please elaborate the point where you mentioned to search >> for macab key on the website? >> How does the open office dmake understand that it has to build this new >> driver? >> > I guess you place your driver in connectivity. So in that module you find a > file named prj/build.lst that is read when call the "build" command. But for > the start you could simply go in your folder and call dmake. Each driver has > a xcu file which must be "deliver"ed. Which files are needed to copy/deliver > is defined in prj/d.lst > So when you have built your driver with dmake you must call deliver. > After that go to the module scp2 and call "build" and deliver again. > Then you have to build the module instsetoo_native and voila your OOo ist > to install. > Below follows a simple list of todo's: > 1. Create the driver files (Driver,Connection,Statement,ResultSet,...) > 2. Create the xcu and xml file, take a look at the other drivers for > inspiration ;-) > 3. dmake > 4. Adjust d.lst to fit your new driver > 5. deliver > 6. Search for the word macab or jdbc in the module scp2 and create the same > for your new driver > 7. build > 8. deliver > 9. go to instsetoo_native and build > 10. Install your new OOo and enjoy your new driver. > 11. Debug issues ;-) > > - oj > > > >> Thanks, >> Rohit >> >> On Thu, Mar 10, 2011 at 12:38 PM, Ocke Janssen <[email protected] >> <mailto:[email protected]>> wrote: >> >> Hi Rohit, >> >> First of all you have to decide if the driver should be an extension >> or not. I would first try it as extension because you could look at >> the mysql driver. >> >> Not an extension: >> The best and easiest way to start I guess is to simply copy the >> skeleton files in a folder beside the other database drivers in >> connectivity. Further on you should copy e.g. the macab.xml and >> macab.xcu file and rename it to your driver in the same directory. >> Search with opengrok http://svn.services.openoffice.org/opengrok/ >> the macab key inside the other projects e.g. scp2 to include the >> files into the OOo installation. Build OOo. >> >> As extension: >> Here the best way is to look at the mysqlc/source where the mysql >> extension is build and copy the files you need to build the oxt. But >> please be aware to replace all occurrences of mysql with your name ;-) >> >> >> Best regards, >> >> Ocke >> >> >> On 09.03.2011 19:21, Ocke Janssen wrote: >> >> Hi, >> >> The driver can be found here >> ooo\odk\examples\DevelopersGuide\Database\DriverSkeleton >> >> - oj >> >> PS: I'll write more tomorrow. ;-) >> >> On 09.03.2011 16:37, Rohit Kulkarni wrote: >> >> Currently I am writing an SDBC driver for LDAP directories. I >> am >> following the guidelines given at >> >> http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Database/SDBC_Driver >> >> This includes writing Driver, connection, statement and >> resultset >> services. >> >> I want to compile the skeleton driver code and have an entry >> in the list >> of available drivers. This driver will be a pseudo driver >> and will not >> have any functionality. This will help in developing the >> actual driver. >> >> I am not able to find skeleton driver related source files. >> I could >> locate a folder named skeleton in >> "/OOO320_m19/connectivity/workben/skeleton" but could not >> find actual >> source files. >> >> Could anyone please give me any pointers regarding >> >> 1. Where can I find the source files for the skeleton driver? >> 2. How to build a skeleton driver? >> 3. How to make an entry in available drivers list? >> >> Thanks for your time. I really appreciate the help. >> >> Regards, >> Rohit >> >> >> -- >> ----------------------------------------------------------------- >> 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] >> <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 --0016e65a08602e864c049e430747 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable As a first step, I copied the folder DriverSkeleton to "../connectivit= y/drivers/" .I created .xcu and .xml files.To run dmake I must have <a= href=3D"http://makefile.mk">makefile.mk</a> in my driver folder. So, I che= cked a <a href=3D"http://makefile.mk">makefile.mk</a> in calc folder and ma= de same for DriverSkeleton driver. Also, I copied exports.dxp and .map file= s from calc to DriverSkeleton.<br> Finally, my DriverSkeleton folder contains following files--<br><br>[root@l= ocalhost drivers]# cd DriverSkeleton/<br>[root@localhost DriverSkeleton]# l= s<br>DriverSkeleton.map=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Makefile=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>propertyids.hxx=A0=A0=A0=A0=A0=A0 =A0 =A0 = =A0 =A0 =A0 =A0=A0 SDriver.cxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br> SResultSet.hxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 SSt= atement.hxx<br>DriverSkeleton.xcu=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= <a href=3D"http://makefile.mk">makefile.mk</a>=A0=A0=A0=A0=A0=A0=A0 <br>SC= onnection.cxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 SDriver.hx= x=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 <br>SResultSetMetaData.cxx=A0=A0=A0= =A0=A0 DriverSkeleton.xml<br> OSubComponent.hxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 SConnection.hxx<br>SPrep= aredStatement.cxx=A0=A0=A0=A0=A0 SResultSetMetaData.hxx<br>exports.dxp=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 OT= ypeInfo.hxx<br>SDatabaseMetaData.cxx=A0=A0=A0=A0=A0=A0 SPreparedStatement.h= xx<br>SServices.cxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 How_to_write_my_own_driver.txt<br> propertyids.cxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= SDatabaseMetaData.hxx<br>SResultSet.cxx=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0 SStatement.cxx<br><br>After running dmake in th= e same folder it give me the following output--<br><br>../../../<a href=3D"= http://unxlngi6.pro/slo/SResultSet.o">unxlngi6.pro/slo/SResultSet.o</a>: In= function `connectivity::skeleton::OResultSet::createArrayHelper() const= 9;:<br> SResultSet.cxx:(.text+0x439): undefined reference to `connectivity::skeleto= n::OPropertyMap::getNameByIndex(long) const'<br>SResultSet.cxx:(.text+0= x49d): undefined reference to `connectivity::skeleton::OPropertyMap::getNam= eByIndex(long) const'<br> SResultSet.cxx:(.text+0x501): undefined reference to `connectivity::skeleto= n::OPropertyMap::getNameByIndex(long) const'<br>SResultSet.cxx:(.text+0= x55f): undefined reference to `connectivity::skeleton::OPropertyMap::getNam= eByIndex(long) const'<br> SResultSet.cxx:(.text+0x5c3): undefined reference to `connectivity::skeleto= n::OPropertyMap::getNameByIndex(long) const'<br>../../../<a href=3D"htt= p://unxlngi6.pro/slo/SResultSet.o:SResultSet.cxx:(.text+0x627)">unxlngi6.pr= o/slo/SResultSet.o:SResultSet.cxx:(.text+0x627)</a>: more undefined referen= ces to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const= 9; follow<br> ../../../<a href=3D"http://unxlngi6.pro/slo/SResultSet.o">unxlngi6.pro/slo/= SResultSet.o</a>: In function `connectivity::skeleton::OResultSet::getMetaD= ata()':<br>SResultSet.cxx:(.text+0x1f9f): undefined reference to `vtabl= e for connectivity::skeleton::OResultSetMetaData'<br> ../../../<a href=3D"http://unxlngi6.pro/slo/SResultSet.o">unxlngi6.pro/slo/= SResultSet.o</a>: In function `connectivity::skeleton::OPropertyMap::getPro= pMap()':<br>SResultSet.cxx:(.text._ZN12connectivity8skeleton12OProperty= Map10getPropMapEv[connectivity::skeleton::OPropertyMap::getPropMap()]+0x9b)= : undefined reference to `connectivity::skeleton::OPropertyMap::~OPropertyM= ap()'<br> ../../../<a href=3D"http://unxlngi6.pro/slo/SStatement.o">unxlngi6.pro/slo/= SStatement.o</a>: In function `connectivity::skeleton::OStatement_Base::cre= ateArrayHelper() const':<br>SStatement.cxx:(.text+0x58d): undefined ref= erence to `connectivity::skeleton::OPropertyMap::getNameByIndex(long) const= '<br> SStatement.cxx:(.text+0x5f1): undefined reference to `connectivity::skeleto= n::OPropertyMap::getNameByIndex(long) const'<br>SStatement.cxx:(.text+0= x658): undefined reference to `connectivity::skeleton::OPropertyMap::getNam= eByIndex(long) const'<br> SStatement.cxx:(.text+0x6bf): undefined reference to `connectivity::skeleto= n::OPropertyMap::getNameByIndex(long) const'<br>SStatement.cxx:(.text+0= x726): undefined reference to `connectivity::skeleton::OPropertyMap::getNam= eByIndex(long) const'<br> ../../../<a href=3D"http://unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.t= ext+0x78d)">unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.text+0x78d)</a>:= more undefined references to `connectivity::skeleton::OPropertyMap::getNam= eByIndex(long) const' follow<br> ../../../<a href=3D"http://unxlngi6.pro/slo/SPreparedStatement.o">unxlngi6.= pro/slo/SPreparedStatement.o</a>: In function `connectivity::skeleton::OPre= paredStatement::getMetaData()':<br>SPreparedStatement.cxx:(.text+0xc05)= : undefined reference to `vtable for connectivity::skeleton::OResultSetMeta= Data'<br> collect2: ld returned 1 exit status<br>dmake:=A0 Error code 1, while making= '../../../<a href=3D"http://unxlngi6.pro/lib/libDriverSkeletonli.so">u= nxlngi6.pro/lib/libDriverSkeletonli.so</a>'<br><br> I am building the S= keleton Driver and I dont know how to solve this problem.<br> Could you please help to solve this problem? Am I doing anything wrong ?<br= ><br>Thanks,<br>Rohit<br><div class=3D"gmail_quote">On Fri, Mar 11, 2011 at= 11:35 AM, Ocke Janssen <span dir=3D"ltr"><<a href=3D"mailto:Ocke.Jansse= [email protected]">[email protected]</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; borde= r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Rohit,<div cla= ss=3D"im"><br> <br> On 10.03.2011 16:58, Rohit Kulkarni wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; borde= r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Hi,<br> <br> Thanks for your reply. I really appreciate the help.<br> <br> I could find the skeleton files at the location you have<br> mentioned. Currently we are planning to develop the SDBC driver which<br> will not be an extension. So, we will have to build the skeleton driver<br> first, get it in the list of available drivers and then make it work for<br> LDAP.<br> <br> Could you please elaborate the point where you mentioned to search<br> for macab key on the website?<br> How does the open office dmake understand that it has to build this new<br> driver?<br> </blockquote></div> I guess you place your driver in connectivity. So in that module you find a= file named prj/build.lst that is read when call the "build" comm= and. But for the start you could simply go in your folder and call dmake. E= ach driver has a xcu file which must be "deliver"ed. Which files = are needed to copy/deliver is defined in prj/d.lst<br> So when you have built your driver with dmake you must call deliver.<br> After that go to the module scp2 and call "build" and deliver aga= in.<br> Then you have to build the module instsetoo_native and voila your OOo ist t= o install.<br> Below follows a simple list of todo's:<br> 1. Create the driver files (Driver,Connection,Statement,ResultSet,...)<br> 2. Create the xcu and xml file, take a look at the other drivers for inspir= ation ;-)<br> 3. dmake<br> 4. Adjust d.lst to fit your new driver<br> 5. deliver<br> 6. Search for the word macab or jdbc in the module scp2 and create the same= for your new driver<br> 7. build<br> 8. deliver<br> 9. go to instsetoo_native and build<br> 10. Install your new OOo and enjoy your new driver.<br> 11. Debug issues ;-)<br> <br> - oj<br> <br> <br> <blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; borde= r-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class=3D"im"> <br> Thanks,<br> Rohit<br> <br> On Thu, Mar 10, 2011 at 12:38 PM, Ocke Janssen <<a href=3D"mailto:Ocke.J= [email protected]" target=3D"_blank">[email protected]</a><br></div><= div><div></div><div class=3D"h5"> <mailto:<a href=3D"mailto:[email protected]" target=3D"_blank">Ock= [email protected]</a>>> wrote:<br> <br> =A0 =A0Hi Rohit,<br> <br> =A0 =A0First of all you have to decide if the driver should be an extensio= n<br> =A0 =A0or not. I would first try it as extension because you could look at= <br> =A0 =A0the mysql driver.<br> <br> =A0 =A0Not an extension:<br> =A0 =A0The best and easiest way to start I guess is to simply copy the<br> =A0 =A0skeleton files in a folder beside the other database drivers in<br> =A0 =A0connectivity. Further on you should copy e.g. the macab.xml and<br> =A0 =A0macab.xcu file and rename it to your driver in the same directory.<= br> =A0 =A0Search with opengrok <a href=3D"http://svn.services.openoffice.org/= opengrok/" target=3D"_blank">http://svn.services.openoffice.org/opengrok/</= a><br> =A0 =A0the macab key inside the other projects e.g. scp2 to include the<br> =A0 =A0files into the OOo installation. Build OOo.<br> <br> =A0 =A0As extension:<br> =A0 =A0Here the best way is to look at the mysqlc/source where the mysql<b= r> =A0 =A0extension is build and copy the files you need to build the oxt. Bu= t<br> =A0 =A0please be aware to replace all occurrences of mysql with your name = ;-)<br> <br> <br> =A0 =A0Best regards,<br> <br> =A0 =A0Ocke<br> <br> <br> =A0 =A0On 09.03.2011 19:21, Ocke Janssen wrote:<br> <br> =A0 =A0 =A0 =A0Hi,<br> <br> =A0 =A0 =A0 =A0The driver can be found here<br> =A0 =A0 =A0 =A0ooo\odk\examples\DevelopersGuide\Database\DriverSkeleton<br> <br> =A0 =A0 =A0 =A0- oj<br> <br> =A0 =A0 =A0 =A0PS: I'll write more tomorrow. ;-)<br> <br> =A0 =A0 =A0 =A0On 09.03.2011 16:37, Rohit Kulkarni wrote:<br> <br> =A0 =A0 =A0 =A0 =A0 =A0Currently I am writing an SDBC driver for LDAP dire= ctories. I am<br> =A0 =A0 =A0 =A0 =A0 =A0following the guidelines given at<br> =A0 =A0 =A0 =A0 =A0 =A0<a href=3D"http://wiki.services.openoffice.org/wiki= /Documentation/DevGuide/Database/SDBC_Driver" target=3D"_blank">http://wiki= .services.openoffice.org/wiki/Documentation/DevGuide/Database/SDBC_Driver</= a><br> <br> =A0 =A0 =A0 =A0 =A0 =A0This includes writing Driver, connection, statement= and<br> =A0 =A0 =A0 =A0 =A0 =A0resultset<br> =A0 =A0 =A0 =A0 =A0 =A0services.<br> <br> =A0 =A0 =A0 =A0 =A0 =A0I want to compile the skeleton driver code and have= an entry<br> =A0 =A0 =A0 =A0 =A0 =A0in the list<br> =A0 =A0 =A0 =A0 =A0 =A0of available drivers. This driver will be a pseudo = driver<br> =A0 =A0 =A0 =A0 =A0 =A0and will not<br> =A0 =A0 =A0 =A0 =A0 =A0have any functionality. This will help in developin= g the<br> =A0 =A0 =A0 =A0 =A0 =A0actual driver.<br> <br> =A0 =A0 =A0 =A0 =A0 =A0I am not able to find skeleton driver related sourc= e files.<br> =A0 =A0 =A0 =A0 =A0 =A0I could<br> =A0 =A0 =A0 =A0 =A0 =A0locate a folder named skeleton in<br> =A0 =A0 =A0 =A0 =A0 =A0"/OOO320_m19/connectivity/workben/skeleton&quo= t; but could not<br> =A0 =A0 =A0 =A0 =A0 =A0find actual<br> =A0 =A0 =A0 =A0 =A0 =A0source files.<br> <br> =A0 =A0 =A0 =A0 =A0 =A0Could anyone please give me any pointers regarding<= br> <br> =A0 =A0 =A0 =A0 =A0 =A01. Where can I find the source files for the skelet= on driver?<br> =A0 =A0 =A0 =A0 =A0 =A02. How to build a skeleton driver?<br> =A0 =A0 =A0 =A0 =A0 =A03. How to make an entry in available drivers list?<= br> <br> =A0 =A0 =A0 =A0 =A0 =A0Thanks for your time. I really appreciate the help.= <br> <br> =A0 =A0 =A0 =A0 =A0 =A0Regards,<br> =A0 =A0 =A0 =A0 =A0 =A0Rohit<br> <br> <br> =A0 =A0 =A0 =A0--<br> =A0 =A0 =A0 =A0-----------------------------------------------------------= ------<br> =A0 =A0 =A0 =A0To unsubscribe send email to <a href=3D"mailto:dev-unsubscr= [email protected]" target=3D"_blank">[email protected]= g</a><br></div></div> =A0 =A0 =A0 =A0<mailto:<a href=3D"mailto:[email protected]= .org" target=3D"_blank">[email protected]</a>><div clas= s=3D"im"><br> =A0 =A0 =A0 =A0For additional commands send email to <a href=3D"mailto:sym= [email protected]" target=3D"_blank">[email protected]</a><br></= div> =A0 =A0 =A0 =A0<mailto:<a href=3D"mailto:[email protected]" targ= et=3D"_blank">[email protected]</a>><div class=3D"im"><br> =A0 =A0 =A0 =A0with Subject: help<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= ></div> =A0 =A0<mailto:<a href=3D"mailto:[email protected]" ta= rget=3D"_blank">[email protected]</a>><div class=3D"im"= ><br> =A0 =A0For additional commands send email to <a href=3D"mailto:[email protected]= penoffice.org" target=3D"_blank">[email protected]</a><br></div> =A0 =A0<mailto:<a href=3D"mailto:[email protected]" target=3D"_b= lank">[email protected]</a>><br> =A0 =A0with Subject: help<br> <br> <br> </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> --0016e65a08602e864c049e430747--