diff options
Diffstat (limited to 'autodoc/inc/ary/doc')
-rw-r--r-- | autodoc/inc/ary/doc/d_boolean.hxx | 96 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_docu.hxx | 106 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_node.hxx | 109 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_oldcppdocu.hxx | 130 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_oldidldocu.hxx | 111 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_parametrized.hxx | 121 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/d_types4doc.hxx | 70 | ||||
-rw-r--r-- | autodoc/inc/ary/doc/ht/dht_interpreter.hxx | 76 |
8 files changed, 819 insertions, 0 deletions
diff --git a/autodoc/inc/ary/doc/d_boolean.hxx b/autodoc/inc/ary/doc/d_boolean.hxx new file mode 100644 index 000000000000..58dd45008919 --- /dev/null +++ b/autodoc/inc/ary/doc/d_boolean.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_BOOLEAN_HXX +#define ARY_DOC_D_BOOLEAN_HXX + +// BASE CLASSES +#include <ary/doc/d_node.hxx> + +// USED SERVICES + + + + +namespace ary +{ +namespace doc +{ + + +/** Repesents a boolean documentation item like "optional" or "not optional". +*/ +class Boolean : public Node +{ + public: + // LIFECYCLE + explicit Boolean( + nodetype::id i_type ); + virtual ~Boolean(); + + // OPERATIONS + void Set( + bool i_b ); + // INQUIRY + bool IsTrue() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // DATA + bool b; +}; + + + + +// IMPLEMENTATION +inline +Boolean::Boolean(nodetype::id i_type) + : Node(i_type), + b(false) +{ +} + +inline bool +Boolean::IsTrue() const +{ + return b; +} + +inline void +Boolean::Set( bool i_b ) +{ + b = i_b; +} + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_docu.hxx b/autodoc/inc/ary/doc/d_docu.hxx new file mode 100644 index 000000000000..ad9c895a2a6e --- /dev/null +++ b/autodoc/inc/ary/doc/d_docu.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_DOCU_HXX +#define ARY_DOC_D_DOCU_HXX + +// BASE CLASSES +#include <cosv/tpl/processor.hxx> + +// USED SERVICES +#include <ary/doc/d_node.hxx> + + + + +namespace ary +{ +namespace doc +{ + + +/** Represents a documentation which is assigned to an Autodoc + repository entity. +*/ +class Documentation : public csv::ConstProcessorClient +{ + public: + Documentation(); + ~Documentation(); + // OPERATIONS + void Clear(); + + // INQUIRY + const Node * Data() const; + + // ACCESS + Node * Data(); + void Set_Data( + ary::doc::Node & i_data ); + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // DATA + Dyn<Node> pData; +}; + + + + +// IMPLEMENTATION +inline void +Documentation::Clear() +{ + pData = 0; +} + +inline const Node * +Documentation::Data() const +{ + return pData.Ptr(); +} + +inline Node * +Documentation::Data() +{ + return pData.Ptr(); +} + +inline void +Documentation::Set_Data(ary::doc::Node & i_data) +{ + pData = &i_data; +} + + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_node.hxx b/autodoc/inc/ary/doc/d_node.hxx new file mode 100644 index 000000000000..e5b29d7b5a7f --- /dev/null +++ b/autodoc/inc/ary/doc/d_node.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_NODE_HXX +#define ARY_DOC_D_NODE_HXX + +// BASE CLASSES +#include <cosv/tpl/processor.hxx> +// USED SERVICES +#include <cosv/tpl/vvector.hxx> +#include <ary/doc/d_types4doc.hxx> + + + + +namespace ary +{ +namespace doc +{ + + +/** The abstract base class for any type of documentation content. + + A ->Documentation has as content a hierarchy of Nodes, each can be a + different kind of content, like descriptions of single items or structs + or lists of Nodes. +*/ +class Node : public csv::ConstProcessorClient +{ + public: + // LIFECYCLE + virtual ~Node(); + + // OPERATIONS + void Add_toChain( + DYN Node & pass_nextNode ); + // INQUIRY + nodetype::id Type() const; + const Node * Next() const; + bool IsSingle() const; + uintt ListSize() const; + + protected: + explicit Node( + nodetype::id i_type); + private: + // Forbid copies: + Node(const Node&); + Node & operator=(const Node&); + + // DATA + nodetype::id nType; + Dyn<Node> pNext; /// Next ->Node in same list. +}; + +typedef csv::VirtualVector<Node> NodeList; + + + + +// IMPLEMENTATION +inline nodetype::id +Node::Type() const +{ + return nType; +} + +inline const Node * +Node::Next() const +{ + return pNext.Ptr(); +} + +inline bool +Node::IsSingle() const +{ + return pNext.operator bool(); +} + + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_oldcppdocu.hxx b/autodoc/inc/ary/doc/d_oldcppdocu.hxx new file mode 100644 index 000000000000..79bc4ab33aaf --- /dev/null +++ b/autodoc/inc/ary/doc/d_oldcppdocu.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_OLDCPPDOCU_HXX +#define ARY_DOC_D_OLDCPPDOCU_HXX +// KORR_DEPRECATED_3.0 + +// BASE CLASSES +#include <ary/doc/d_node.hxx> +// USED SERVICES +#include <ary/info/inftypes.hxx> +#include <ary/ary_disp.hxx> + +namespace ary +{ +namespace info +{ + class AtTag; + class DocuStore; +} +} + + + + +namespace ary +{ +namespace doc +{ + using ::ary::info::AtTag; + using ::ary::info::E_AtTagId; + + +/** Wrapper class for old C++ documentation format. + + To be replaced by using the standard format. +*/ +class OldCppDocu : public Node +{ + public: + typedef std::vector< DYN AtTag * > TagList; + + // LIFECYCLE + OldCppDocu(); + virtual ~OldCppDocu(); + + void Store2( + info::DocuStore & o_rDocuStore ); + + virtual AtTag * Create_StdTag( + E_AtTagId i_eId ); + virtual AtTag * CheckIn_BaseTag(); + virtual AtTag * CheckIn_ExceptionTag(); + virtual AtTag * Create_ImplementsTag(); + virtual AtTag * Create_KeywordTag(); + virtual AtTag * CheckIn_ParameterTag(); + virtual AtTag * CheckIn_SeeTag(); + virtual AtTag * CheckIn_TemplateTag(); + virtual AtTag * Create_LabelTag(); + virtual AtTag * Create_DefaultTag(); + virtual AtTag * Create_SinceTag(); /// @return always the first one created. + + virtual void Replace_AtShort_By_AtDescr(); + + virtual void Set_Obsolete(); + virtual void Set_Internal(); + virtual void Set_Interface() { bIsInterface = true; } + + // INQUIRY + const TagList & Tags() const { return aTags; } + const AtTag & Short() const; + bool IsObsolete() const { return bIsObsolete; } + virtual bool IsInternal() const; + virtual bool IsInterface() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // DATA + unsigned char nTags[ary::info::C_eAtTag_NrOfClasses]; + + /** Creates a new AtTag at the end of aTags. + The index of this new AtTag is inserted in nTags at position + i_nIndex. + */ + AtTag * & NewTag( + UINT8 i_nIndex ); + /** Returns the Tag with the position nTags[i_nIndex] + in aTags. + */ + AtTag & GetTag( + UINT8 i_nIndex ); + + TagList aTags; + bool bIsObsolete; + bool bIsInternal; + bool bIsInterface; +}; + + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_oldidldocu.hxx b/autodoc/inc/ary/doc/d_oldidldocu.hxx new file mode 100644 index 000000000000..6c4d2bdc2cc7 --- /dev/null +++ b/autodoc/inc/ary/doc/d_oldidldocu.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_OLDIDLDOCU_HXX +#define ARY_DOC_D_OLDIDLDOCU_HXX + +// BASE CLASSES +#include <ary/doc/d_node.hxx> +// USED SERVICES +#include <ary_i/ci_text2.hxx> + + + + +namespace ary +{ +namespace inf +{ + class AtTag2; + class DocuToken; + class DocuTex2; +} +namespace doc +{ + using ::ary::inf::AtTag2; + using ::ary::inf::DocuToken; + using ::ary::inf::DocuTex2; + + + +/** Wrapper for the old idl documentation format. +*/ +class OldIdlDocu : public Node +{ + public: + OldIdlDocu(); + ~OldIdlDocu(); + + void AddToken2Short( + DYN DocuToken & let_drToken ) + { aShort.AddToken(let_drToken); } + void AddToken2Description( + DYN DocuToken & let_drToken ) + { aDescription.AddToken(let_drToken); } + void AddToken2DeprecatedText( + DYN DocuToken & let_drToken ); + void AddAtTag( + DYN AtTag2 & let_drAtTag ) + { aTags.push_back(&let_drAtTag); } + void SetPublished() { bIsPublished = true; } + void SetDeprecated() { bIsDeprecated = true; } + void SetOptional() { bIsOptional = true; } + void SetExternShort( + const DocuTex2 & i_pExternShort ) + { pExternShort = &i_pExternShort; } + + const DocuTex2 & Short() const { return pExternShort != 0 ? *pExternShort : aShort; } + const DocuTex2 & Description() const { return aDescription; } + const DocuTex2 & DeprecatedText() const { return aDeprecatedText; } + const std::vector< AtTag2* > & + Tags() const { return aTags; } + bool IsPublished() const { return bIsPublished; } + bool IsDeprecated() const { return bIsDeprecated; } + bool IsOptional() const { return bIsOptional; } + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // DATA + DocuTex2 aShort; + DocuTex2 aDescription; + DocuTex2 aDeprecatedText; + std::vector< AtTag2* > + aTags; + const DocuTex2 * pExternShort; + bool bIsPublished; + bool bIsDeprecated; + bool bIsOptional; +}; + + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_parametrized.hxx b/autodoc/inc/ary/doc/d_parametrized.hxx new file mode 100644 index 000000000000..21f699e180d9 --- /dev/null +++ b/autodoc/inc/ary/doc/d_parametrized.hxx @@ -0,0 +1,121 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_PARAMETER_HXX +#define ARY_DOC_D_PARAMETER_HXX + +// USED SERVICES + // BASE CLASSES +#include <ary/doc/d_node.hxx> + +namespace ary +{ +namespace doc +{ + + +/** Documentation unit with Parameter. +*/ +template <class T> +class Parametrized : public Node +{ + public: + // LIFECYCLE + explicit Parametrized( + nodetype::id i_id, + T i_Parameter ); + virtual ~Parametrized(); + + // INQUIRY + const HyperText & Doc() const; + const T & Parameter() const; + + // ACESS + HyperText & Doc(); + void Set_Parameter( + const T & i_param ); + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // DATA + HyperText aDoc; + T aParameter; +}; + + + + +// IMPLEMENTATION +template <class T> +Parametrized<T>::Parametrized( nodetype::id i_id, + T i_Parameter ) + : Node(i_id), + aDoc(), + aParameter(i_Parameter) +{ +} + +template <class T> +Parametrized<T>::~Parametrized() +{ +} + +template <class T> +const HyperText & +Parametrized<T>::Doc() const +{ + return aDoc; +} + +template <class T> +const T & +Parametrized<T>::Parameter() const +{ + return aParameter; +} + +template <class T> +HyperText & +Parametrized<T>::Doc() +{ + return aDoc; +} + +template <class T> +inline void +Parametrized<T>::Set_Parameter(const T & i_param) +{ + aParameter = i_param; +} + + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/d_types4doc.hxx b/autodoc/inc/ary/doc/d_types4doc.hxx new file mode 100644 index 000000000000..754a1b414a1d --- /dev/null +++ b/autodoc/inc/ary/doc/d_types4doc.hxx @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DOC_D_TYPES4DOC_HXX +#define ARY_DOC_D_TYPES4DOC_HXX + +// USED SERVICES + + + +namespace ary +{ +namespace doc +{ + + +/** Type of a documentation: multiple lines or single line. +*/ +enum E_BlockType +{ + dbt_none = 0, + dbt_multiline, + dbt_singleline +}; + +/** Type of documentation text: with html or without. +*/ +enum E_TextType +{ + dtt_none = 0, + dtt_plain, + dtt_html +}; + +namespace nodetype +{ + +typedef int id; + +} // namespace nodetype + + + +} // namespace doc +} // namespace ary +#endif diff --git a/autodoc/inc/ary/doc/ht/dht_interpreter.hxx b/autodoc/inc/ary/doc/ht/dht_interpreter.hxx new file mode 100644 index 000000000000..3659654c03d4 --- /dev/null +++ b/autodoc/inc/ary/doc/ht/dht_interpreter.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_DHT_INTERPRETER_HXX +#define ARY_DHT_INTERPRETER_HXX + + + + +namespace ary +{ +namespace doc +{ +namespace ht +{ + class Processor; + + +/** Interface for all interpreters of a ->Component. +*/ +class Interpreter +{ + public: + virtual ~Interpreter() {} + + void Accept( + Processor & io_processor, + const String & i_data ) const; + private: + virtual void do_Accept( + Processor & io_processor, + const String & i_data ) const = 0; +}; + + + + +// IMPLEMENTATION +inline void +Interpreter::Accept( Processor & io_processor, + const String & i_data ) const +{ + do_Accept(io_processor, i_data); +} + + + + +} // namespace ht +} // namespace doc +} // namespace ary +#endif |