fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / display / inc / toolkit / htmlfactory.hxx
blob8e70a1fc51ed39c4036104d9c714e81df4b29497
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef ADC_DISPLAY_HTMLFACTORY_HXX
21 #define ADC_DISPLAY_HTMLFACTORY_HXX
25 // USED SERVICES
26 // BASE CLASSES
27 // COMPONENTS
28 #include "outputstack.hxx"
29 // PARAMETERS
30 #include <udm/xml/xmlitem.hxx>
31 #include <udm/html/htmlitem.hxx>
33 namespace Xml = ::csi::xml;
34 namespace Html = ::csi::html;
36 /** @resp
37 Base class for HTML page creators (factories) for code entites or
38 similar items.
40 template <class ENV>
41 class HtmlFactory
43 public:
44 // INQUIRY
45 ENV & Env() const { return *pEnv; }
46 Xml::Element & CurOut() const { return aDestination.Out(); }
48 // ACCESS
49 OutputStack & Out() const { return aDestination; }
51 protected:
52 HtmlFactory(
53 ENV & io_rEnv,
54 Xml::Element * o_pOut = 0 )
55 : pEnv(&io_rEnv) { if (o_pOut != 0) aDestination.Enter(*o_pOut); }
56 ~HtmlFactory() {}
57 private:
58 // DATA
59 ENV * pEnv;
60 mutable OutputStack aDestination;
64 /** @resp
65 Base class for HTML paragraph creators, which are to be put into
66 a parent HTML element.
68 class HtmlMaker
70 public:
72 // INQUIRY
73 Xml::Element & CurOut() const { return *pOut; }
75 protected:
76 HtmlMaker(
77 Xml::Element & o_rOut )
78 : pOut(&o_rOut) {}
79 private:
80 // DATA
81 Xml::Element * pOut;
87 // IMPLEMENTATION
92 #endif
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */