summaryrefslogtreecommitdiffstats
path: root/autodoc/source/ary/cpp/ca_type.hxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2007-11-02 14:29:50 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2007-11-02 14:29:50 +0000
commit1fdd3ac1481cc35f5d29b0b8b2c2a3eaad546aa9 (patch)
treeb0e16428e198409efd9a6ed3c4eb43023f2d2f62 /autodoc/source/ary/cpp/ca_type.hxx
parentINTEGRATION: CWS adc18 (1.6.2); FILE MERGED (diff)
downloadcore-1fdd3ac1481cc35f5d29b0b8b2c2a3eaad546aa9.tar.gz
core-1fdd3ac1481cc35f5d29b0b8b2c2a3eaad546aa9.zip
INTEGRATION: CWS adc18 (1.1.2); FILE ADDED
2007/10/18 15:01:25 np 1.1.2.1: #i81775#
Diffstat (limited to 'autodoc/source/ary/cpp/ca_type.hxx')
-rw-r--r--autodoc/source/ary/cpp/ca_type.hxx135
1 files changed, 135 insertions, 0 deletions
diff --git a/autodoc/source/ary/cpp/ca_type.hxx b/autodoc/source/ary/cpp/ca_type.hxx
new file mode 100644
index 000000000000..46f5cf4b7b37
--- /dev/null
+++ b/autodoc/source/ary/cpp/ca_type.hxx
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ca_type.hxx,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: hr $ $Date: 2007-11-02 15:29:50 $
+ *
+ * The Contents of this file are made available subject to
+ * the terms of GNU Lesser General Public License Version 2.1.
+ *
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2005 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_CA_TYPE_HXX
+#define ARY_CPP_CA_TYPE_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/cpp/cp_type.hxx>
+ // OTHER
+#include "cs_type.hxx"
+
+
+
+namespace ary
+{
+namespace cpp
+{
+ class RepositoryPartition;
+}
+}
+
+
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+
+/** Administrates all C++ types as uses in user declarations
+ as return-, parameter- or variable-types.
+*/
+class TypeAdmin : public TypePilot
+{
+ public:
+ // LIFECYCLE
+ TypeAdmin(
+ RepositoryPartition &
+ io_myReposyPartition );
+ virtual ~TypeAdmin();
+
+ // INQUIRY
+ /// @return A list of all stored types that are not C++ or STL builtin types.
+ const Type_Storage &
+ Storage() const;
+
+ // ACCESS
+ Type_Storage & Storage();
+
+ // INHERITED
+ // Interface TypePilot:
+ virtual const Type &
+ CheckIn_UsedType(
+ const InputContext &
+ i_context,
+ DYN UsedType & pass_type );
+ virtual const Type &
+ Find_Type(
+ Type_id i_type ) const;
+ virtual bool Get_TypeText(
+ StreamStr & o_result,
+ Type_id i_type ) const;
+ virtual bool Get_TypeText(
+ StreamStr & o_preName, /// ::ary::cpp::
+ StreamStr & o_name, /// MyClass
+ StreamStr & o_postName, /// <TplArgument> * const &
+ Type_id i_type ) const;
+ virtual Type_id Tid_Ellipse() const;
+
+ private:
+ // DATA
+ Type_Storage aStorage;
+ RepositoryPartition *
+ pCppRepositoryPartition;
+};
+
+
+
+
+// IMPLEMENTATION
+inline const Type_Storage &
+TypeAdmin::Storage() const
+{
+ return aStorage;
+}
+
+inline Type_Storage &
+TypeAdmin::Storage()
+{
+ return aStorage;
+}
+
+
+
+
+
+} // namespace cpp
+} // namespace ary
+#endif