1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef INCLUDED_HANDLER_HXX
24 #define INCLUDED_HANDLER_HXX
25 
26 #include <resourcemodel/WW8ResourceModel.hxx>
27 #include "OOXMLFastContextHandler.hxx"
28 
29 namespace writerfilter {
30 namespace ooxml
31 {
32 class OOXMLFootnoteHandler : public Properties
33 {
34     OOXMLFastContextHandler * mpFastContext;
35 
36 public:
37     OOXMLFootnoteHandler(OOXMLFastContextHandler * pContext);
38     virtual ~OOXMLFootnoteHandler();
39 
40     virtual void attribute(Id name, Value & val);
41     virtual void sprm(Sprm & sprm);
42 };
43 
44 class OOXMLEndnoteHandler : public Properties
45 {
46     OOXMLFastContextHandler * mpFastContext;
47 public:
48     OOXMLEndnoteHandler(OOXMLFastContextHandler * pContext);
49     virtual ~OOXMLEndnoteHandler();
50 
51     virtual void attribute(Id name, Value & val);
52     virtual void sprm(Sprm & sprm);
53 };
54 
55 class OOXMLFooterHandler : public Properties
56 {
57     OOXMLFastContextHandler * mpFastContext;
58     ::rtl::OUString msStreamId;
59     sal_Int32 mnType;
60 public:
61     OOXMLFooterHandler(OOXMLFastContextHandler * pContext);
62     virtual ~OOXMLFooterHandler();
63     virtual void attribute(Id name, Value & val);
64     virtual void sprm(Sprm & sprm);
65 };
66 
67 class OOXMLHeaderHandler : public Properties
68 {
69     OOXMLFastContextHandler * mpFastContext;
70     ::rtl::OUString msStreamId;
71     sal_Int32 mnType;
72 public:
73     OOXMLHeaderHandler(OOXMLFastContextHandler * pContext);
74     virtual ~OOXMLHeaderHandler();
75     virtual void attribute(Id name, Value & val);
76     virtual void sprm(Sprm & sprm);
77 };
78 
79 class OOXMLCommentHandler : public Properties
80 {
81     OOXMLFastContextHandler * mpFastContext;
82     ::rtl::OUString msStreamId;
83 public:
84     OOXMLCommentHandler(OOXMLFastContextHandler * pContext);
85     virtual ~OOXMLCommentHandler();
86     virtual void attribute(Id name, Value & val);
87     virtual void sprm(Sprm & sprm);
88 };
89 
90 class OOXMLOLEHandler : public Properties
91 {
92     OOXMLFastContextHandler * mpFastContext;
93 
94 public:
95     OOXMLOLEHandler(OOXMLFastContextHandler * pContext);
96     virtual ~OOXMLOLEHandler();
97 
98     virtual void attribute(Id name, Value & val);
99     virtual void sprm(Sprm & sprm);
100 };
101 
102 class OOXMLBreakHandler : public Properties
103 {
104     OOXMLFastContextHandler * mpFastContext;
105     sal_Int32 mnType, mnClear;
106     Stream & mrStream;
107 public:
108     OOXMLBreakHandler(Stream & rStream, OOXMLFastContextHandler * pContext);
109     virtual ~OOXMLBreakHandler();
110     virtual void attribute(Id name, Value & val);
111     virtual void sprm(Sprm & sprm);
112 };
113 
114 class OOXMLPictureHandler : public Properties
115 {
116     OOXMLFastContextHandler * mpFastContext;
117 public:
118     OOXMLPictureHandler(OOXMLFastContextHandler * pContext);
119     virtual ~OOXMLPictureHandler();
120 
121     virtual void attribute(Id name, Value & val);
122     virtual void sprm(Sprm & sprm);
123 };
124 
125 class OOXMLHyperlinkHandler : public Properties
126 {
127     OOXMLFastContextHandler * mpFastContext;
128     ::rtl::OUString mFieldCode;
129     ::rtl::OUString mURL;
130 
131 public:
132     OOXMLHyperlinkHandler(OOXMLFastContextHandler * pContext);
133     virtual ~OOXMLHyperlinkHandler();
134 
135     virtual void attribute(Id name, Value & val);
136     virtual void sprm(Sprm & sprm);
137 };
138 
139 
140 }}
141 #endif // INCLUDED_HANDLER_HXX
142