summaryrefslogtreecommitdiffstats
path: root/src/cite/ooo/interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cite/ooo/interface.h')
-rw-r--r--src/cite/ooo/interface.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/cite/ooo/interface.h b/src/cite/ooo/interface.h
new file mode 100644
index 0000000..c1a0f33
--- /dev/null
+++ b/src/cite/ooo/interface.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+ copyright : (C) 2005-2006 by Robby Stephenson
+ email : robby@periapsis.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of version 2 of the GNU General Public License as *
+ * published by the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+#ifndef TELLICO_CITE_OOOHANDLER_INTERFACE_H
+#define TELLICO_CITE_OOOHANDLER_INTERFACE_H
+
+#include "ooohandler.h"
+
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
+#include <com/sun/star/text/XDocumentIndex.hpp>
+#include <com/sun/star/text/XTextViewCursor.hpp>
+
+namespace Tellico {
+ namespace Cite {
+
+class OOOHandler::Interface {
+ friend class OOOHandler;
+
+ Interface();
+ ~Interface();
+
+ bool isConnected() const;
+ bool connect(const std::string& host, int port, const std::string& pipe);
+ bool disconnect();
+ bool createDocument();
+ bool updateBibliography();
+ bool insertCitations(Cite::Map& fields);
+ bool insertRecords(Cite::Map& fields);
+
+private:
+ void createBibliography();
+ com::sun::star::beans::PropertyValue propValue(const std::string& field, const std::string& value);
+ com::sun::star::uno::Any fieldValue(const std::string& field, const std::string& value);
+ com::sun::star::uno::Any typeValue(const std::string& value);
+
+ // global service manager
+ com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> m_gsmgr;
+ // document service manager
+ com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> m_dsmgr;
+ com::sun::star::uno::Reference<com::sun::star::text::XTextDocument> m_doc;
+ com::sun::star::uno::Reference<com::sun::star::text::XDocumentIndex> m_bib;
+ com::sun::star::uno::Reference<com::sun::star::text::XTextViewCursor> m_cursor;
+
+ class EventListener;
+ EventListener* m_listener;
+};
+
+ } // end namespace
+} // end namespace
+
+#endif