writerperfect/StaticLibrary_writerperfect.mk            |   26 
 writerperfect/source/common/DocumentElement.cxx         |   55 
 writerperfect/source/common/DocumentElement.hxx         |   86 
 writerperfect/source/common/DocumentHandler.cxx         |   64 
 writerperfect/source/common/DocumentHandler.hxx         |   48 
 writerperfect/source/common/FilterInternal.cxx          |   29 
 writerperfect/source/common/FilterInternal.hxx          |   63 
 writerperfect/source/common/FontStyle.cxx               |   74 
 writerperfect/source/common/FontStyle.hxx               |   65 
 writerperfect/source/common/InternalHandler.cxx         |   44 
 writerperfect/source/common/InternalHandler.hxx         |   38 
 writerperfect/source/common/ListStyle.cxx               |  178 +
 writerperfect/source/common/ListStyle.hxx               |   69 
 writerperfect/source/common/OdfDocumentHandler.hxx      |   28 
 writerperfect/source/common/OdgGenerator.cxx            | 1756 ++++++++++++++++
 writerperfect/source/common/OdgGenerator.hxx            |   56 
 writerperfect/source/common/OdtGenerator.cxx            | 1482 +++++++++++++
 writerperfect/source/common/OdtGenerator.hxx            |  105 
 writerperfect/source/common/PageSpan.cxx                |  247 ++
 writerperfect/source/common/PageSpan.hxx                |   48 
 writerperfect/source/common/SectionStyle.cxx            |   75 
 writerperfect/source/common/SectionStyle.hxx            |   35 
 writerperfect/source/common/Style.hxx                   |   77 
 writerperfect/source/common/TableStyle.cxx              |  156 +
 writerperfect/source/common/TableStyle.hxx              |   78 
 writerperfect/source/common/TextRunStyle.cxx            |  279 ++
 writerperfect/source/common/TextRunStyle.hxx            |  116 +
 writerperfect/source/common/WPXSvStream.cxx             |  303 ++
 writerperfect/source/common/WPXSvStream.hxx             |   42 
 writerperfect/source/draw/CDRImportFilter.cxx           |    6 
 writerperfect/source/draw/CMXImportFilter.cxx           |    6 
 writerperfect/source/draw/MSPUBImportFilter.cxx         |    6 
 writerperfect/source/draw/VisioImportFilter.cxx         |    6 
 writerperfect/source/draw/WPGImportFilter.cxx           |    6 
 writerperfect/source/filter/DocumentElement.cxx         |   55 
 writerperfect/source/filter/DocumentElement.hxx         |   86 
 writerperfect/source/filter/DocumentHandler.cxx         |   82 
 writerperfect/source/filter/DocumentHandler.hxx         |   48 
 writerperfect/source/filter/FilterInternal.cxx          |   29 
 writerperfect/source/filter/FilterInternal.hxx          |   63 
 writerperfect/source/filter/FontStyle.cxx               |   74 
 writerperfect/source/filter/FontStyle.hxx               |   65 
 writerperfect/source/filter/InternalHandler.cxx         |   44 
 writerperfect/source/filter/InternalHandler.hxx         |   38 
 writerperfect/source/filter/ListStyle.cxx               |  178 -
 writerperfect/source/filter/ListStyle.hxx               |   69 
 writerperfect/source/filter/OdfDocumentHandler.hxx      |   28 
 writerperfect/source/filter/OdgGenerator.cxx            | 1756 ----------------
 writerperfect/source/filter/OdgGenerator.hxx            |   56 
 writerperfect/source/filter/OdtGenerator.cxx            | 1482 -------------
 writerperfect/source/filter/OdtGenerator.hxx            |  105 
 writerperfect/source/filter/PageSpan.cxx                |  247 --
 writerperfect/source/filter/PageSpan.hxx                |   48 
 writerperfect/source/filter/SectionStyle.cxx            |   75 
 writerperfect/source/filter/SectionStyle.hxx            |   35 
 writerperfect/source/filter/Style.hxx                   |   77 
 writerperfect/source/filter/TableStyle.cxx              |  156 -
 writerperfect/source/filter/TableStyle.hxx              |   78 
 writerperfect/source/filter/TextRunStyle.cxx            |  279 --
 writerperfect/source/filter/TextRunStyle.hxx            |  116 -
 writerperfect/source/stream/WPXSvStream.cxx             |  303 --
 writerperfect/source/stream/WPXSvStream.h               |   42 
 writerperfect/source/writer/MSWorksImportFilter.cxx     |    8 
 writerperfect/source/writer/MWAWImportFilter.cxx        |    8 
 writerperfect/source/writer/WordPerfectImportFilter.cxx |   10 
 65 files changed, 5737 insertions(+), 5755 deletions(-)

New commits:
commit e1ffd555b5c70e4bdc693711917ebffbb2423579
Author: Fridrich Å trba <fridrich.st...@bluewin.ch>
Date:   Thu May 2 15:04:05 2013 +0200

    simplify writerperfect structure and prepare for libodfgen
    
    Change-Id: Ib2e56280a5a6bfdfee18a5b213dd67b9fbfc8949

diff --git a/writerperfect/StaticLibrary_writerperfect.mk 
b/writerperfect/StaticLibrary_writerperfect.mk
index a936e4e..e82fd0e 100644
--- a/writerperfect/StaticLibrary_writerperfect.mk
+++ b/writerperfect/StaticLibrary_writerperfect.mk
@@ -36,19 +36,19 @@ $(eval $(call gb_StaticLibrary_use_api,writerperfect,\
 ))
 
 $(eval $(call gb_StaticLibrary_add_exception_objects,writerperfect,\
-       writerperfect/source/filter/DocumentElement \
-       writerperfect/source/filter/DocumentHandler \
-       writerperfect/source/filter/FilterInternal \
-       writerperfect/source/filter/FontStyle \
-       writerperfect/source/filter/InternalHandler \
-       writerperfect/source/filter/ListStyle \
-       writerperfect/source/filter/OdgGenerator \
-       writerperfect/source/filter/OdtGenerator \
-       writerperfect/source/filter/PageSpan \
-       writerperfect/source/filter/SectionStyle \
-       writerperfect/source/filter/TableStyle \
-       writerperfect/source/filter/TextRunStyle \
-       writerperfect/source/stream/WPXSvStream \
+       writerperfect/source/common/DocumentElement \
+       writerperfect/source/common/DocumentHandler \
+       writerperfect/source/common/FilterInternal \
+       writerperfect/source/common/FontStyle \
+       writerperfect/source/common/InternalHandler \
+       writerperfect/source/common/ListStyle \
+       writerperfect/source/common/OdgGenerator \
+       writerperfect/source/common/OdtGenerator \
+       writerperfect/source/common/PageSpan \
+       writerperfect/source/common/SectionStyle \
+       writerperfect/source/common/TableStyle \
+       writerperfect/source/common/TextRunStyle \
+       writerperfect/source/common/WPXSvStream \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/writerperfect/source/filter/DocumentElement.cxx 
b/writerperfect/source/common/DocumentElement.cxx
similarity index 100%
rename from writerperfect/source/filter/DocumentElement.cxx
rename to writerperfect/source/common/DocumentElement.cxx
diff --git a/writerperfect/source/filter/DocumentElement.hxx 
b/writerperfect/source/common/DocumentElement.hxx
similarity index 100%
rename from writerperfect/source/filter/DocumentElement.hxx
rename to writerperfect/source/common/DocumentElement.hxx
diff --git a/writerperfect/source/filter/DocumentHandler.cxx 
b/writerperfect/source/common/DocumentHandler.cxx
similarity index 83%
rename from writerperfect/source/filter/DocumentHandler.cxx
rename to writerperfect/source/common/DocumentHandler.cxx
index f3c6a35..67d1b5e 100644
--- a/writerperfect/source/filter/DocumentHandler.cxx
+++ b/writerperfect/source/common/DocumentHandler.cxx
@@ -15,8 +15,6 @@
 
 #include <xmloff/attrlist.hxx>
 
-// #define DEBUG_XML 1
-
 using com::sun::star::xml::sax::XAttributeList;
 
 DocumentHandler::DocumentHandler(Reference < XDocumentHandler > &xHandler) :
@@ -36,9 +34,6 @@ void DocumentHandler::endDocument()
 
 void DocumentHandler::startElement(const char *psName, const WPXPropertyList 
&xPropList)
 {
-#ifdef DEBUG_XML
-    printf("<%s", psName);
-#endif
     SvXMLAttributeList *pAttrList = new SvXMLAttributeList();
     Reference < XAttributeList > xAttrList(pAttrList);
     WPXPropertyList::Iter i(xPropList);
@@ -49,33 +44,20 @@ void DocumentHandler::startElement(const char *psName, 
const WPXPropertyList &xP
         {
             pAttrList->AddAttribute(OUString::createFromAscii(i.key()),
                                     
OUString::createFromAscii(i()->getStr().cstr()));
-#ifdef DEBUG_XML
-            printf(" %s=\"%s\"", i.key(), i()->getStr().cstr());
-#endif
         }
     }
-#ifdef DEBUG_XML
-    printf(">");
-#endif
 
     mxHandler->startElement(OUString::createFromAscii(psName), xAttrList);
 }
 
 void DocumentHandler::endElement(const char *psName)
 {
-#ifdef DEBUG_XML
-    printf("</%s>", psName);
-#endif
     mxHandler->endElement(OUString::createFromAscii(psName));
 }
 
 void DocumentHandler::characters(const WPXString &sCharacters)
 {
     OUString sCharU16(sCharacters.cstr(), strlen(sCharacters.cstr()), 
RTL_TEXTENCODING_UTF8);
-#ifdef DEBUG_XML
-    WPXString sEscapedCharacters(sCharacters, true);
-    printf("%s", sEscapedCharacters.cstr());
-#endif
     mxHandler->characters(sCharU16);
 }
 
diff --git a/writerperfect/source/filter/DocumentHandler.hxx 
b/writerperfect/source/common/DocumentHandler.hxx
similarity index 94%
rename from writerperfect/source/filter/DocumentHandler.hxx
rename to writerperfect/source/common/DocumentHandler.hxx
index d781f30..381b091 100644
--- a/writerperfect/source/filter/DocumentHandler.hxx
+++ b/writerperfect/source/common/DocumentHandler.hxx
@@ -17,8 +17,8 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef _OODOCUMENTHANDLER_HXX_
-#define _OODOCUMENTHANDLER_HXX_
+#ifndef _DOCUMENTHANDLER_HXX_
+#define _DOCUMENTHANDLER_HXX_
 
 #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
 
@@ -43,6 +43,6 @@ private:
     Reference < XDocumentHandler > mxHandler;
 };
 
-#endif // _OODOCUMENTHANDLER_HXX_
+#endif // _DOCUMENTHANDLER_HXX_
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerperfect/source/filter/FilterInternal.cxx 
b/writerperfect/source/common/FilterInternal.cxx
similarity index 100%
rename from writerperfect/source/filter/FilterInternal.cxx
rename to writerperfect/source/common/FilterInternal.cxx
diff --git a/writerperfect/source/filter/FilterInternal.hxx 
b/writerperfect/source/common/FilterInternal.hxx
similarity index 100%
rename from writerperfect/source/filter/FilterInternal.hxx
rename to writerperfect/source/common/FilterInternal.hxx
diff --git a/writerperfect/source/filter/FontStyle.cxx 
b/writerperfect/source/common/FontStyle.cxx
similarity index 100%
rename from writerperfect/source/filter/FontStyle.cxx
rename to writerperfect/source/common/FontStyle.cxx
diff --git a/writerperfect/source/filter/FontStyle.hxx 
b/writerperfect/source/common/FontStyle.hxx
similarity index 100%
rename from writerperfect/source/filter/FontStyle.hxx
rename to writerperfect/source/common/FontStyle.hxx
diff --git a/writerperfect/source/filter/InternalHandler.cxx 
b/writerperfect/source/common/InternalHandler.cxx
similarity index 100%
rename from writerperfect/source/filter/InternalHandler.cxx
rename to writerperfect/source/common/InternalHandler.cxx
diff --git a/writerperfect/source/filter/InternalHandler.hxx 
b/writerperfect/source/common/InternalHandler.hxx
similarity index 100%
rename from writerperfect/source/filter/InternalHandler.hxx
rename to writerperfect/source/common/InternalHandler.hxx
diff --git a/writerperfect/source/filter/ListStyle.cxx 
b/writerperfect/source/common/ListStyle.cxx
similarity index 100%
rename from writerperfect/source/filter/ListStyle.cxx
rename to writerperfect/source/common/ListStyle.cxx
diff --git a/writerperfect/source/filter/ListStyle.hxx 
b/writerperfect/source/common/ListStyle.hxx
similarity index 100%
rename from writerperfect/source/filter/ListStyle.hxx
rename to writerperfect/source/common/ListStyle.hxx
diff --git a/writerperfect/source/filter/OdfDocumentHandler.hxx 
b/writerperfect/source/common/OdfDocumentHandler.hxx
similarity index 100%
rename from writerperfect/source/filter/OdfDocumentHandler.hxx
rename to writerperfect/source/common/OdfDocumentHandler.hxx
diff --git a/writerperfect/source/filter/OdgGenerator.cxx 
b/writerperfect/source/common/OdgGenerator.cxx
similarity index 100%
rename from writerperfect/source/filter/OdgGenerator.cxx
rename to writerperfect/source/common/OdgGenerator.cxx
diff --git a/writerperfect/source/filter/OdgGenerator.hxx 
b/writerperfect/source/common/OdgGenerator.hxx
similarity index 100%
rename from writerperfect/source/filter/OdgGenerator.hxx
rename to writerperfect/source/common/OdgGenerator.hxx
diff --git a/writerperfect/source/filter/OdtGenerator.cxx 
b/writerperfect/source/common/OdtGenerator.cxx
similarity index 100%
rename from writerperfect/source/filter/OdtGenerator.cxx
rename to writerperfect/source/common/OdtGenerator.cxx
diff --git a/writerperfect/source/filter/OdtGenerator.hxx 
b/writerperfect/source/common/OdtGenerator.hxx
similarity index 100%
rename from writerperfect/source/filter/OdtGenerator.hxx
rename to writerperfect/source/common/OdtGenerator.hxx
diff --git a/writerperfect/source/filter/PageSpan.cxx 
b/writerperfect/source/common/PageSpan.cxx
similarity index 100%
rename from writerperfect/source/filter/PageSpan.cxx
rename to writerperfect/source/common/PageSpan.cxx
diff --git a/writerperfect/source/filter/PageSpan.hxx 
b/writerperfect/source/common/PageSpan.hxx
similarity index 100%
rename from writerperfect/source/filter/PageSpan.hxx
rename to writerperfect/source/common/PageSpan.hxx
diff --git a/writerperfect/source/filter/SectionStyle.cxx 
b/writerperfect/source/common/SectionStyle.cxx
similarity index 100%
rename from writerperfect/source/filter/SectionStyle.cxx
rename to writerperfect/source/common/SectionStyle.cxx
diff --git a/writerperfect/source/filter/SectionStyle.hxx 
b/writerperfect/source/common/SectionStyle.hxx
similarity index 100%
rename from writerperfect/source/filter/SectionStyle.hxx
rename to writerperfect/source/common/SectionStyle.hxx
diff --git a/writerperfect/source/filter/Style.hxx 
b/writerperfect/source/common/Style.hxx
similarity index 100%
rename from writerperfect/source/filter/Style.hxx
rename to writerperfect/source/common/Style.hxx
diff --git a/writerperfect/source/filter/TableStyle.cxx 
b/writerperfect/source/common/TableStyle.cxx
similarity index 100%
rename from writerperfect/source/filter/TableStyle.cxx
rename to writerperfect/source/common/TableStyle.cxx
diff --git a/writerperfect/source/filter/TableStyle.hxx 
b/writerperfect/source/common/TableStyle.hxx
similarity index 100%
rename from writerperfect/source/filter/TableStyle.hxx
rename to writerperfect/source/common/TableStyle.hxx
diff --git a/writerperfect/source/filter/TextRunStyle.cxx 
b/writerperfect/source/common/TextRunStyle.cxx
similarity index 100%
rename from writerperfect/source/filter/TextRunStyle.cxx
rename to writerperfect/source/common/TextRunStyle.cxx
diff --git a/writerperfect/source/filter/TextRunStyle.hxx 
b/writerperfect/source/common/TextRunStyle.hxx
similarity index 100%
rename from writerperfect/source/filter/TextRunStyle.hxx
rename to writerperfect/source/common/TextRunStyle.hxx
diff --git a/writerperfect/source/stream/WPXSvStream.cxx 
b/writerperfect/source/common/WPXSvStream.cxx
similarity index 99%
rename from writerperfect/source/stream/WPXSvStream.cxx
rename to writerperfect/source/common/WPXSvStream.cxx
index 81d6b1b..234b399 100644
--- a/writerperfect/source/stream/WPXSvStream.cxx
+++ b/writerperfect/source/common/WPXSvStream.cxx
@@ -7,8 +7,8 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include "WPXSvStream.h"
-#include "filter/FilterInternal.hxx"
+#include "WPXSvStream.hxx"
+#include "FilterInternal.hxx"
 #include <tools/stream.hxx>
 #include <unotools/streamwrap.hxx>
 #include <unotools/ucbstreamhelper.hxx>
diff --git a/writerperfect/source/stream/WPXSvStream.h 
b/writerperfect/source/common/WPXSvStream.hxx
similarity index 100%
rename from writerperfect/source/stream/WPXSvStream.h
rename to writerperfect/source/common/WPXSvStream.hxx
diff --git a/writerperfect/source/draw/CDRImportFilter.cxx 
b/writerperfect/source/draw/CDRImportFilter.cxx
index 1a66c98..10cdcad 100644
--- a/writerperfect/source/draw/CDRImportFilter.cxx
+++ b/writerperfect/source/draw/CDRImportFilter.cxx
@@ -26,10 +26,10 @@
 #include <xmloff/attrlist.hxx>
 
 #include <libcdr/libcdr.h>
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
 #include "CDRImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/draw/CMXImportFilter.cxx 
b/writerperfect/source/draw/CMXImportFilter.cxx
index 6065354..7290acd 100644
--- a/writerperfect/source/draw/CMXImportFilter.cxx
+++ b/writerperfect/source/draw/CMXImportFilter.cxx
@@ -26,10 +26,10 @@
 #include <xmloff/attrlist.hxx>
 
 #include <libcdr/libcdr.h>
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
 #include "CMXImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/draw/MSPUBImportFilter.cxx 
b/writerperfect/source/draw/MSPUBImportFilter.cxx
index 2ad210b..8200160 100644
--- a/writerperfect/source/draw/MSPUBImportFilter.cxx
+++ b/writerperfect/source/draw/MSPUBImportFilter.cxx
@@ -22,10 +22,10 @@
 #include <xmloff/attrlist.hxx>
 
 #include <libmspub/libmspub.h>
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
 #include "MSPUBImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/draw/VisioImportFilter.cxx 
b/writerperfect/source/draw/VisioImportFilter.cxx
index d2b0dc0..11d2c0c 100644
--- a/writerperfect/source/draw/VisioImportFilter.cxx
+++ b/writerperfect/source/draw/VisioImportFilter.cxx
@@ -22,10 +22,10 @@
 #include <xmloff/attrlist.hxx>
 
 #include <libvisio/libvisio.h>
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
 #include "VisioImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/draw/WPGImportFilter.cxx 
b/writerperfect/source/draw/WPGImportFilter.cxx
index d7629c5..f29ff5d 100644
--- a/writerperfect/source/draw/WPGImportFilter.cxx
+++ b/writerperfect/source/draw/WPGImportFilter.cxx
@@ -27,10 +27,10 @@
 #include <comphelper/componentcontext.hxx>
 #include <xmloff/attrlist.hxx>
 
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
 #include "WPGImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/writer/MSWorksImportFilter.cxx 
b/writerperfect/source/writer/MSWorksImportFilter.cxx
index 27112eb..c1d63c7 100644
--- a/writerperfect/source/writer/MSWorksImportFilter.cxx
+++ b/writerperfect/source/writer/MSWorksImportFilter.cxx
@@ -26,11 +26,11 @@
 
 #include <libwps/libwps.h>
 
-#include "filter/FilterInternal.hxx"
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdtGenerator.hxx"
+#include "common/FilterInternal.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdtGenerator.hxx"
 #include "MSWorksImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/writer/MWAWImportFilter.cxx 
b/writerperfect/source/writer/MWAWImportFilter.cxx
index b00accde..ebd1b19 100644
--- a/writerperfect/source/writer/MWAWImportFilter.cxx
+++ b/writerperfect/source/writer/MWAWImportFilter.cxx
@@ -26,11 +26,11 @@
 
 #include <libmwaw/libmwaw.hxx>
 
-#include "filter/FilterInternal.hxx"
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdtGenerator.hxx"
+#include "common/FilterInternal.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdtGenerator.hxx"
 #include "MWAWImportFilter.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/WPXSvStream.hxx"
 
 #include <iostream>
 
diff --git a/writerperfect/source/writer/WordPerfectImportFilter.cxx 
b/writerperfect/source/writer/WordPerfectImportFilter.cxx
index d5cd0ca..1c1e56c 100644
--- a/writerperfect/source/writer/WordPerfectImportFilter.cxx
+++ b/writerperfect/source/writer/WordPerfectImportFilter.cxx
@@ -27,11 +27,11 @@
 
 #include <libwpd/libwpd.h>
 
-#include "filter/FilterInternal.hxx"
-#include "filter/DocumentHandler.hxx"
-#include "filter/OdgGenerator.hxx"
-#include "filter/OdtGenerator.hxx"
-#include "stream/WPXSvStream.h"
+#include "common/FilterInternal.hxx"
+#include "common/DocumentHandler.hxx"
+#include "common/OdgGenerator.hxx"
+#include "common/OdtGenerator.hxx"
+#include "common/WPXSvStream.hxx"
 #include "WordPerfectImportFilter.hxx"
 
 using ::ucbhelper::Content;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to