Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /* This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 : #ifndef txRtfHandler_h___
7 : #define txRtfHandler_h___
8 :
9 : #include "mozilla/Attributes.h"
10 : #include "txBufferingHandler.h"
11 : #include "txExprResult.h"
12 : #include "txXPathNode.h"
13 :
14 0 : class txResultTreeFragment : public txAExprResult
15 : {
16 : public:
17 : explicit txResultTreeFragment(nsAutoPtr<txResultBuffer>&& aBuffer);
18 :
19 : TX_DECL_EXPRRESULT
20 :
21 : nsresult flushToHandler(txAXMLEventHandler* aHandler);
22 :
23 0 : void setNode(const txXPathNode* aNode)
24 : {
25 0 : NS_ASSERTION(!mNode, "Already converted!");
26 :
27 0 : mNode = aNode;
28 0 : }
29 0 : const txXPathNode *getNode() const
30 : {
31 0 : return mNode;
32 : }
33 :
34 : private:
35 : nsAutoPtr<txResultBuffer> mBuffer;
36 : nsAutoPtr<const txXPathNode> mNode;
37 : };
38 :
39 0 : class txRtfHandler : public txBufferingHandler
40 : {
41 : public:
42 : nsresult getAsRTF(txAExprResult** aResult);
43 :
44 : nsresult endDocument(nsresult aResult) override;
45 : nsresult startDocument() override;
46 : };
47 :
48 : #endif /* txRtfHandler_h___ */
|