summaryrefslogtreecommitdiff
path: root/autodoc/inc
diff options
context:
space:
mode:
authorNikolai Pretzell <np@openoffice.org>2002-03-08 13:45:36 +0000
committerNikolai Pretzell <np@openoffice.org>2002-03-08 13:45:36 +0000
commitd566f38f8a38739595fd8edb89eaa48c1c4b8f9b (patch)
treecbf47b13e83d60334fcd68872bd4c26791a39a0e /autodoc/inc
parent1710683406e72de5458733231636e8fdb2c2c0bc (diff)
Moving Autodoc to OpenOffice.org, module autodoc: sourcecode repository and documentation generator
Diffstat (limited to 'autodoc/inc')
-rw-r--r--autodoc/inc/ary/ary.hxx158
-rw-r--r--autodoc/inc/ary/ary_disp.hxx145
-rw-r--r--autodoc/inc/ary/arygroup.hxx132
-rw-r--r--autodoc/inc/ary/ceslot.hxx165
-rw-r--r--autodoc/inc/ary/cessentl.hxx142
-rw-r--r--autodoc/inc/ary/cpp/c_class.hxx253
-rw-r--r--autodoc/inc/ary/cpp/c_define.hxx122
-rw-r--r--autodoc/inc/ary/cpp/c_enum.hxx150
-rw-r--r--autodoc/inc/ary/cpp/c_enuval.hxx136
-rw-r--r--autodoc/inc/ary/cpp/c_funct.hxx184
-rw-r--r--autodoc/inc/ary/cpp/c_macro.hxx125
-rw-r--r--autodoc/inc/ary/cpp/c_namesp.hxx192
-rw-r--r--autodoc/inc/ary/cpp/c_osigna.hxx149
-rw-r--r--autodoc/inc/ary/cpp/c_slntry.hxx127
-rw-r--r--autodoc/inc/ary/cpp/c_tydef.hxx140
-rw-r--r--autodoc/inc/ary/cpp/c_vari.hxx159
-rw-r--r--autodoc/inc/ary/cpp/c_vfflag.hxx177
-rw-r--r--autodoc/inc/ary/cpp/inpcontx.hxx245
-rw-r--r--autodoc/inc/ary/cpp/usedtype.hxx212
-rw-r--r--autodoc/inc/ary/info/all_dts.hxx194
-rw-r--r--autodoc/inc/ary/info/all_tags.hxx300
-rw-r--r--autodoc/inc/ary/info/ci_attag.hxx135
-rw-r--r--autodoc/inc/ary/info/ci_text.hxx119
-rw-r--r--autodoc/inc/ary/info/docstore.hxx153
-rw-r--r--autodoc/inc/ary/info/infodisp.hxx150
-rw-r--r--autodoc/inc/ary/info/inftypes.hxx155
-rw-r--r--autodoc/inc/ary/loc/loc_dir.hxx156
-rw-r--r--autodoc/inc/ary/loc/loc_file.hxx115
-rw-r--r--autodoc/inc/ary/loc/loc_root.hxx109
-rw-r--r--autodoc/inc/ary_i/ci_atag2.hxx112
-rw-r--r--autodoc/inc/ary_i/ci_text2.hxx124
-rw-r--r--autodoc/inc/ary_i/disdocum.hxx133
-rw-r--r--autodoc/inc/autodoc/displaying.hxx107
-rw-r--r--autodoc/inc/autodoc/dsp_html_std.hxx213
-rw-r--r--autodoc/inc/autodoc/dsp_txt_flist.hxx99
-rw-r--r--autodoc/inc/autodoc/filecoli.hxx106
-rw-r--r--autodoc/inc/autodoc/parsing.hxx112
-rw-r--r--autodoc/inc/autodoc/prs_code.hxx113
-rw-r--r--autodoc/inc/autodoc/prs_docu.hxx93
-rw-r--r--autodoc/inc/autodoc/x_parsing.hxx109
-rw-r--r--autodoc/inc/parser/parser.hxx91
-rw-r--r--autodoc/inc/parser/unoidl.hxx114
42 files changed, 6225 insertions, 0 deletions
diff --git a/autodoc/inc/ary/ary.hxx b/autodoc/inc/ary/ary.hxx
new file mode 100644
index 000000000000..85210c470239
--- /dev/null
+++ b/autodoc/inc/ary/ary.hxx
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * $RCSfile: ary.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_ARY_HXX
+#define ARY_ARY_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+ namespace cpp
+ {
+ class RwGate;
+ class DisplayGate;
+ }
+ namespace uidl
+ {
+ class Gate;
+ }
+// namespace java
+// {
+// class RwGate;
+// }
+
+ class IdGenerator;
+
+/** Starting point for work with the repository.
+
+ @short
+ From here you get handles for all work on the
+ repository.
+
+ @descr
+ In the whole repository interface the abbreviation
+ "Ce" means "CodeEntity". A CodeEntity is
+ one of the items that can be found in the repository
+ and that is able to have a documentation.
+**/
+
+class Repository
+{
+ public:
+ // LIFECYCLE
+ virtual ~Repository() { }
+ static Repository & Create_(
+ const udmstri & i_sName,
+ DYN IdGenerator * let_dpIds ); /// May be 0. Then a default is used.
+ static Repository & The_();
+ static void Destroy_(); /// Destroys the Repository.
+
+ // INQUIRY
+ const cpp::DisplayGate &
+ DisplayGate_Cpp() const;
+ const udmstri & Name() const;
+
+ // ACCESS
+ cpp::RwGate & RwGate_Cpp();
+ uidl::Gate & RwGate_Idl();
+
+
+ private:
+ virtual const cpp::DisplayGate &
+ inq_DisplayGate_Cpp() const = 0;
+ virtual const udmstri &
+ inq_Name() const = 0;
+ virtual cpp::RwGate &
+ access_RwGate_Cpp() = 0;
+ virtual uidl::Gate &
+ access_RwGate_Idl() = 0;
+};
+
+
+
+// IMPLEMENTATION
+inline const cpp::DisplayGate &
+Repository::DisplayGate_Cpp() const
+ { return inq_DisplayGate_Cpp(); }
+inline const udmstri &
+Repository::Name() const
+ { return inq_Name(); }
+inline cpp::RwGate &
+Repository::RwGate_Cpp()
+ { return access_RwGate_Cpp(); }
+inline uidl::Gate &
+Repository::RwGate_Idl()
+ { return access_RwGate_Idl(); }
+
+
+} // namespace ary
+
+
+#endif
+
+
+
diff --git a/autodoc/inc/ary/ary_disp.hxx b/autodoc/inc/ary/ary_disp.hxx
new file mode 100644
index 000000000000..292b49c24599
--- /dev/null
+++ b/autodoc/inc/ary/ary_disp.hxx
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * $RCSfile: ary_disp.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_ARY_DISP_HXX
+#define ARY_ARY_DISP_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/ids.hxx>
+
+namespace ary
+{
+ class DisplayGate;
+
+class Display
+{
+ public:
+ virtual ~Display() {}
+
+ // OPERATIONS
+ void StartSlot();
+ void FinishSlot();
+
+ /** This method depends on the result of Get_ReFinder().
+ If Get_ReFinder() != 0, then DisplayGate::Find_Re() is called
+ and if valid, RepositoryEntity::StoreAt( *this ) is called.
+ If Get_ReFinder() == 0, simply do_DisplaySlot_Rid() is called
+ with just the id as parameter.
+ */
+ void DisplaySlot_Rid(
+ ary::Rid i_nId );
+ void DisplaySlot_Lid(
+ ary::Lid i_nId );
+ /** This method depends on the result of Get_ReFinder().
+ If Get_ReFinder() != 0, then DisplayGate::Find_Re() is called
+ and if valid, RepositoryEntity::StoreAt( *this ) is called.
+ If Get_ReFinder() == 0, simply do_DisplaySlot_LocalCe() is called
+ with just the id as parameter.
+ */
+ void DisplaySlot_LocalCe(
+ ary::Rid i_nId,
+ const udmstri & i_sName );
+ // INQUIRY
+ const DisplayGate * Get_ReFinder() const;
+
+ private:
+ virtual void do_StartSlot();
+ virtual void do_FinishSlot();
+
+
+ virtual void do_DisplaySlot_Rid(
+ ary::Rid i_nId );
+ virtual void do_DisplaySlot_Lid(
+ ary::Lid i_nId );
+ virtual void do_DisplaySlot_LocalCe(
+ ary::Rid i_nId,
+ const udmstri & i_sName );
+ virtual const DisplayGate *
+ inq_Get_ReFinder() const;
+};
+
+
+// IMPLEMENTATION
+
+
+inline void
+Display::StartSlot()
+ { do_StartSlot(); }
+inline void
+Display::FinishSlot()
+ { do_FinishSlot(); }
+inline void
+Display::DisplaySlot_Lid( ary::Lid i_nId )
+ { do_DisplaySlot_Lid( i_nId ); }
+inline const DisplayGate *
+Display::Get_ReFinder() const
+ { return inq_Get_ReFinder(); }
+
+
+} // namespace ary
+
+
+#endif
+
+
diff --git a/autodoc/inc/ary/arygroup.hxx b/autodoc/inc/ary/arygroup.hxx
new file mode 100644
index 000000000000..c893fb233699
--- /dev/null
+++ b/autodoc/inc/ary/arygroup.hxx
@@ -0,0 +1,132 @@
+/*************************************************************************
+ *
+ * $RCSfile: arygroup.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_ARYGROUP_HXX
+#define ARY_ARYGROUP_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/ids.hxx>
+
+namespace ary
+{
+ class RepositoryEntity;
+ class Slot;
+
+namespace group
+{
+ typedef std::vector< SlotAccessId > SlotList;
+}
+
+class AryGroup
+{
+ public:
+ // LIFECYCLE
+ virtual ~AryGroup() {}
+
+ // INQUIRY
+ Gid Id_Group() const;
+ const RepositoryEntity &
+ RE_Group() const;
+ const group::SlotList &
+ Slots() const;
+ DYN Slot * Create_Slot(
+ SlotAccessId i_nSlot ) const;
+
+
+ private:
+ virtual Gid inq_Id_Group() const = 0;
+ virtual const RepositoryEntity &
+ inq_RE_Group() const = 0;
+ virtual const group::SlotList &
+ inq_Slots() const = 0;
+ virtual DYN Slot * inq_Create_Slot(
+ SlotAccessId i_nSlot ) const = 0;
+};
+
+
+// IMPLEMENTATION
+
+inline Gid
+AryGroup::Id_Group() const
+ { return inq_Id_Group(); }
+inline const RepositoryEntity &
+AryGroup::RE_Group() const
+ { return inq_RE_Group(); }
+inline const group::SlotList &
+AryGroup::Slots() const
+ { return inq_Slots(); }
+inline DYN Slot *
+AryGroup::Create_Slot( SlotAccessId i_nSlot ) const
+ { return inq_Create_Slot(i_nSlot); }
+
+
+
+} // namespace ary
+
+
+#endif
+
+
+
diff --git a/autodoc/inc/ary/ceslot.hxx b/autodoc/inc/ary/ceslot.hxx
new file mode 100644
index 000000000000..bc62dff47c92
--- /dev/null
+++ b/autodoc/inc/ary/ceslot.hxx
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * $RCSfile: ceslot.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CESLOT_HXX
+#define ARY_CESLOT_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+namespace ary
+{
+
+class Display;
+
+/** Unterscheidungen von Slots
+
+ Slots:
+ - ReadWrite or ReadOnly
+ - ContentType
+ - Groups
+ - MemberLink 'EnumValue from Enum' or 'Class from Namespace'
+ - MemberData 'Parameter from Operation'
+ - SimpleLink
+ - CommentedLink 'Baseclass from Class'
+ - DefaultCommentedLink 'Class from GlobaIndex'
+*/
+
+class Slot
+{
+ public:
+ virtual ~Slot() {}
+
+ virtual void StoreAt(
+ Display & o_rDestination ) const;
+ virtual uintt Size() const = 0;
+
+ private:
+ virtual void StoreEntries(
+ Display & o_rDestination ) const = 0;
+};
+
+class Slot_AutoPtr
+{
+ public:
+ Slot_AutoPtr(
+ Slot * i_pSlot = 0 )
+ : pSlot(i_pSlot) {}
+ ~Slot_AutoPtr() { if (pSlot != 0) delete pSlot; }
+
+ Slot_AutoPtr & operator=(
+ Slot * i_pSlot )
+ { if (pSlot != 0) delete pSlot;
+ pSlot = i_pSlot;
+ return *this; }
+ operator bool() const { return pSlot != 0; }
+
+ const Slot & operator*() { csv_assert(pSlot != 0);
+ return *pSlot; }
+ const Slot * operator->() { csv_assert(pSlot != 0);
+ return pSlot; }
+
+ private:
+ // Forbidden functions
+ Slot_AutoPtr(const Slot_AutoPtr &);
+ Slot_AutoPtr & operator=(const Slot_AutoPtr &);
+
+ // DATA
+ Slot * pSlot;
+};
+
+
+#if 0
+/*
+class CeIteratingSlot
+{
+ public:
+
+ // LIFECYCLE
+ virtual ~CeIteratingSlot() {}
+
+ // OPERATORS
+ virtual CeIteratingSlot &
+ operator++() = 0;
+ virtual operator bool() const = 0;
+
+ // OPERATIONS
+ virtual void Start() = 0;
+ virtual void StoreCurrentElementAt(
+ Display & o_rDestination ) const = 0;
+ private:
+ // Forbidden
+ void operator++(int) const {}
+};
+*/
+#endif // 0
+
+
+} // namespace ary
+
+
+#endif
+
+
+
diff --git a/autodoc/inc/ary/cessentl.hxx b/autodoc/inc/ary/cessentl.hxx
new file mode 100644
index 000000000000..22b23c9d8bf8
--- /dev/null
+++ b/autodoc/inc/ary/cessentl.hxx
@@ -0,0 +1,142 @@
+/*************************************************************************
+ *
+ * $RCSfile: cessentl.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CESSENTL_HXX
+#define ARY_CESSENTL_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/ids.hxx>
+#include <ary/docu.hxx>
+
+namespace udm
+{
+class Agent;
+}
+
+
+
+
+namespace ary
+{
+
+
+class CeEssentials
+{ // Non inline functions are implemented in ceworker.cxx .
+ public:
+ // LIFECYCLE
+ CeEssentials();
+ CeEssentials(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ Lid i_nLocation );
+ ~CeEssentials();
+ // INQUIRY
+ Cid Id() const;
+ const udmstri & LocalName() const;
+ Cid Owner() const;
+ Lid Location() const;
+ const ary::Documentation &
+ Info() const;
+
+ // ACCESS
+ void SetInfo(
+ DYN ary::Documentation &
+ let_drInfo )
+ { pInfo = &let_drInfo; }
+ private:
+ udmstri sLocalName;
+ Cid nId;
+ Cid nOwner;
+ Lid nLocation;
+ Dyn<ary::Documentation>
+ pInfo;
+};
+
+
+
+inline Cid
+CeEssentials::Id() const
+ { return nId; }
+inline const udmstri &
+CeEssentials::LocalName() const
+ { return sLocalName; }
+inline Cid
+CeEssentials::Owner() const
+ { return nOwner; }
+inline Lid
+CeEssentials::Location() const
+ { return nLocation; }
+inline const ary::Documentation &
+CeEssentials::Info() const
+ { return pInfo ? *pInfo : ary::Documentation::Null_(); }
+
+
+} // namespace ary
+
+
+#endif
+
+
diff --git a/autodoc/inc/ary/cpp/c_class.hxx b/autodoc/inc/ary/cpp/c_class.hxx
new file mode 100644
index 000000000000..be9ecba529da
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_class.hxx
@@ -0,0 +1,253 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_class.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_CLASS_HXX
+#define ARY_CPP_C_CLASS_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+#include <ary/cpp/ca_type.hxx>
+#include <ary/arygroup.hxx>
+#include <ary/re.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/cpp/c_idlist.hxx>
+#include <ary/opertype.hxx>
+#include <ary/cpp/c_etypes.hxx>
+ // PARAMETERS
+#include <ary/idlists.hxx>
+
+
+
+namespace ary
+{
+namespace cpp
+{
+ class Enum;
+ class Typedef;
+ class Function;
+ class Variable;
+
+
+
+class Class : public CodeEntity,
+ public AryGroup
+{
+ public:
+ enum E_Slots
+ {
+ SLOT_Bases = 1,
+ SLOT_NestedClasses,
+ SLOT_Enums,
+ SLOT_Typedefs,
+ SLOT_Operations,
+ SLOT_StaticOperations,
+ SLOT_Data,
+ SLOT_StaticData,
+ SLOT_FriendClasses,
+ SLOT_FriendOperations
+ };
+
+ // LIFECYCLE
+ Class();
+ Class(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ E_Protection i_eProtection,
+ Lid i_nFile,
+ E_ClassKey i_eClassKey );
+ ~Class();
+
+ // OPERATIONS
+ void Add_BaseClass(
+ const S_Classes_Base &
+ i_rBaseClass );
+ void Add_TemplateParameterType(
+ const udmstri & i_sLocalName,
+ Tid i_nIdAsType );
+ void Add_KnownDerivative(
+ Rid i_nId )
+ { aKnownDerivatives.push_back(i_nId); }
+
+ void Add_LocalClass(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalEnum(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalTypedef(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalOperation(
+ const udmstri & i_sLocalName,
+ OSid i_nOS,
+ Cid i_nId );
+ void Add_LocalStaticOperation(
+ const udmstri & i_sLocalName,
+ OSid i_nOS,
+ Cid i_nId );
+ void Add_LocalData(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalStaticData(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+
+ void UpdateVirtuality(
+ E_Virtuality i_eVirtuality )
+ { if ( int(i_eVirtuality) > int(eVirtuality) )
+ eVirtuality = i_eVirtuality; }
+ const List_TplParam &
+ TemplateParameters() const
+ { return aTemplateParameterTypes; }
+ const List_Bases & BaseClasses() const { return aBaseClasses; }
+ const List_Rid & KnownDerivatives() const
+ { return aKnownDerivatives; }
+
+ // INQUIRY
+ static RCid RC_() { return 0x1002; }
+
+ E_ClassKey ClassKey() const;
+ E_Protection Protection() const;
+ E_Virtuality Virtuality() const { return eVirtuality; }
+
+ Rid Search_LocalClass(
+ const udmstri & i_sName ) const;
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const ary::Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN ary::Documentation &
+ let_drInfo );
+ // Interface ary::AryGroup
+ virtual Gid inq_Id_Group() const;
+ virtual const RepositoryEntity &
+ inq_RE_Group() const;
+ virtual const group::SlotList &
+ inq_Slots() const;
+ virtual DYN Slot * inq_Create_Slot(
+ SlotAccessId i_nSlot ) const;
+ // Local
+ typedef List_LocalCe::const_iterator CIterator_Locals;
+ typedef List_LocalCe::iterator Iterator_Locals;
+
+ CIterator_Locals PosOfName(
+ const List_LocalCe& i_rList,
+ const udmstri & i_sName ) const;
+ Iterator_Locals PosOfName(
+ List_LocalCe & io_rList,
+ const udmstri & i_sName );
+ // DATA
+ CeEssentials aEssentials;
+
+ List_Bases aBaseClasses;
+ List_TplParam aTemplateParameterTypes;
+
+ List_LocalCe aClasses;
+ List_LocalCe aEnums;
+ List_LocalCe aTypedefs;
+ List_LocalOperation aOperations;
+ List_LocalOperation aStaticOperations;
+ List_LocalCe aData;
+ List_LocalCe aStaticData;
+ List_Rid aFriendClasses;
+ List_Rid aFriendOperations;
+ List_Rid aKnownDerivatives;
+
+ E_ClassKey eClassKey;
+ E_Protection eProtection;
+ E_Virtuality eVirtuality;
+};
+
+
+
+// IMPLEMENTATION
+
+inline E_ClassKey
+Class::ClassKey() const
+ { return eClassKey; }
+inline E_Protection
+Class::Protection() const
+ { return eProtection; }
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_define.hxx b/autodoc/inc/ary/cpp/c_define.hxx
new file mode 100644
index 000000000000..dcfc6ec66e21
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_define.hxx
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_define.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_DEFINE_HXX
+#define ARY_CPP_C_DEFINE_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/cpp/cpp_defs.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+/** Describes a C/C++ #define <DEFINE_BUT_NO_MACRO> statement.
+*/
+class Define : public CppDefinition
+{
+ public:
+ Define( /// Used for: #define DEFINE xyz
+ Did i_nId,
+ const udmstri & i_sName,
+ const str_vector & i_rDefinition,
+ Lid i_nDeclaringFile );
+ ~Define();
+
+ // INQUIRY
+ void GetText(
+ csv::StreamStr & o_rText ) const;
+
+ private:
+ // Interface RepositoryEntity:
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+
+ // Interface CppDefinition:
+ virtual const str_vector &
+ inq_DefinitionText() const;
+
+ // DATA
+ str_vector aDefinition;
+};
+
+
+
+// IMPLEMENTATION
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_enum.hxx b/autodoc/inc/ary/cpp/c_enum.hxx
new file mode 100644
index 000000000000..ee8c89050adb
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_enum.hxx
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_enum.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_ENUM_HXX
+#define ARY_CPP_C_ENUM_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+#include <ary/arygroup.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/idlists.hxx>
+#include <ary/cpp/c_etypes.hxx>
+ // PARAMETERS
+
+namespace ary
+{
+namespace cpp
+{
+
+
+class Enum : public CodeEntity,
+ public AryGroup
+{
+ public:
+ enum E_Slots
+ {
+ SLOT_Values = 1
+ };
+
+ // LIFECYCLE
+ Enum();
+ Enum(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ E_Protection i_eProtection,
+ Lid i_nFile );
+ ~Enum();
+
+ // OPERATIONS
+ void Add_Value(
+ Cid i_nId );
+
+ // INQUIRY
+ static RCid RC_() { return 0x1003; }
+
+ E_Protection Protection() const { return eProtection; }
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const ary::Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN ary::Documentation &
+ let_drInfo );
+ // Interface ary::AryGroup
+ virtual Gid inq_Id_Group() const;
+ virtual const RepositoryEntity &
+ inq_RE_Group() const;
+ virtual const group::SlotList &
+ inq_Slots() const;
+ virtual DYN Slot * inq_Create_Slot(
+ SlotAccessId i_nSlot ) const;
+
+ // DATA
+ CeEssentials aEssentials;
+ List_Rid aValues;
+ E_Protection eProtection;
+};
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_enuval.hxx b/autodoc/inc/ary/cpp/c_enuval.hxx
new file mode 100644
index 000000000000..909c96549d13
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_enuval.hxx
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_enuval.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_ENUVAL_HXX
+#define ARY_CPP_C_ENUVAL_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/cpp/c_etypes.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+class EnumValue : public CodeEntity
+{
+ public:
+ // LIFECYCLE
+ EnumValue();
+ EnumValue(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ udmstri i_sInitialisation );
+ ~EnumValue();
+ // INQUIRY
+ static RCid RC_() { return 0x1007; }
+
+ const udmstri & Initialisation() const;
+
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const ary::Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN ary::Documentation &
+ let_drInfo );
+
+ // DATA
+ CeEssentials aEssentials;
+ udmstri sInitialisation;
+};
+
+
+
+// IMPLEMENTATION
+
+inline const udmstri &
+EnumValue::Initialisation() const
+ { return sInitialisation; }
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_funct.hxx b/autodoc/inc/ary/cpp/c_funct.hxx
new file mode 100644
index 000000000000..70f7393aec58
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_funct.hxx
@@ -0,0 +1,184 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_funct.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_FUNCT_HXX
+#define ARY_CPP_C_FUNCT_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+ // COMPONENTS
+#include <ary/ids.hxx>
+#include <ary/cessentl.hxx>
+#include <ary/cpp/c_etypes.hxx>
+#include <ary/cpp/c_vfflag.hxx>
+#include <ary/cpp/c_osigna.hxx>
+#include <ary/cpp/c_idlist.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+class Function : public CodeEntity
+{
+ public:
+ Function();
+ Function(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ E_Protection i_eProtection,
+ Lid i_nFile,
+ Tid i_nReturnType,
+ OSid i_nSignature,
+ StringVector &
+ i_rNonType_ParameterInfos, /// Is non const, because the contents are swap'ped with aParameterInfos.
+ E_Virtuality i_eVirtuality,
+ FunctionFlags i_aFlags,
+ bool i_bThrowExists,
+ const std::vector<Tid> &
+ i_rExceptions );
+ ~Function();
+
+ // OPERATIONS
+ void Add_TemplateParameterType(
+ const udmstri & i_sLocalName,
+ Tid i_nIdAsType );
+
+ // INQUIRY
+ static RCid RC_() { return 0x1005; }
+
+ OSid Signature() const;
+ Tid ReturnType() const;
+ E_Protection Protection() const { return eProtection; }
+ E_Virtuality Virtuality() const { return eVirtuality; }
+ const FunctionFlags &
+ Flags() const { return aFlags; }
+ const StringVector &
+ ParamInfos() const { return aParameterInfos; }
+ const std::vector<Tid> *
+ Exceptions() const { return pExceptions.Ptr(); }
+
+ const List_TplParam &
+ TemplateParameters() const
+ { return aTemplateParameterTypes; }
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN Documentation & let_drInfo );
+
+ // Local Types
+ typedef StringVector ParameterInfoList;
+ typedef std::vector<Tid> ExceptionTypeList;
+
+ // DATA
+ CeEssentials aEssentials;
+
+ List_TplParam aTemplateParameterTypes;
+
+ OSid nSignature;
+ Tid nReturnType;
+ E_Protection eProtection;
+ E_Virtuality eVirtuality;
+ FunctionFlags aFlags;
+ ParameterInfoList aParameterInfos;
+ Dyn<ExceptionTypeList>
+ pExceptions; // if (NOT pExceptions) there is no throw,
+ // else, there is one, but the list still may be empty.
+};
+
+
+
+// IMPLEMENTATION
+inline OSid
+Function::Signature() const
+ { return nSignature; }
+inline Tid
+Function::ReturnType() const
+ { return nReturnType; }
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_macro.hxx b/autodoc/inc/ary/cpp/c_macro.hxx
new file mode 100644
index 000000000000..994377ae27fb
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_macro.hxx
@@ -0,0 +1,125 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_macro.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_MACRO_HXX
+#define ARY_CPP_C_MACRO_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/cpp/cpp_defs.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+
+
+namespace ary
+{
+
+namespace cpp
+{
+
+
+
+/** Describes a C/C++ #define MACRO(a,b, ...) statement.
+*/
+class Macro : public CppDefinition
+{
+ public:
+ Macro();
+ Macro( /// Used for: #define DEFINE xyz
+ Did i_nId,
+ const udmstri & i_sName,
+ const str_vector & i_rParams,
+ const str_vector & i_rDefinition,
+ Lid i_nDeclaringFile );
+ ~Macro();
+ // INQUIRY
+ void GetText(
+ csv::StreamStr & o_rText,
+ const StringVector &
+ i_rGivenArguments ) const;
+ const str_vector & Params() const { return aParams; }
+
+ private:
+ // Interface RepositoryEntity:
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+
+ // Interface CppDefinition:
+ virtual const str_vector &
+ inq_DefinitionText() const;
+
+ // DATA
+ str_vector aParams;
+ str_vector aDefinition;
+};
+
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_namesp.hxx b/autodoc/inc/ary/cpp/c_namesp.hxx
new file mode 100644
index 000000000000..edbca54b5e0e
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_namesp.hxx
@@ -0,0 +1,192 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_namesp.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_NAMESP_HXX
+#define ARY_CPP_C_NAMESP_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+#include <ary/arygroup.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/opertype.hxx>
+#include <ary/cpp/c_idlist.hxx>
+ // PARAMETERS
+#include <ary/idlists.hxx>
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+class Namespace : public CodeEntity,
+ public AryGroup
+{
+ public:
+ enum E_Slots
+ {
+ SLOT_SubNamespaces = 1,
+ SLOT_Classes,
+ SLOT_Enums,
+ SLOT_Typedefs,
+ SLOT_Operations,
+ SLOT_Variables,
+ SLOT_Constants
+ };
+ Namespace();
+ Namespace( /// Used only for the global namespace.
+ Rid i_nId );
+ Namespace(
+ Cid i_nId,
+ const udmstri & i_sName,
+ Namespace & i_rParent );
+ ~Namespace();
+ // OPERATIONS
+ void Add_LocalNamespace(
+ Namespace & io_rLocalNamespace );
+ void Add_LocalClass(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalEnum(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalTypedef(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalOperation(
+ const udmstri & i_sLocalName,
+ OSid i_nOS,
+ Cid i_nId );
+ void Add_LocalVariable(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ void Add_LocalConstant(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+
+ // INQUIRY
+ static RCid RC_() { return 0x1001; }
+ virtual uintt Depth() const;
+ Namespace * Parent() const;
+
+ Namespace * Search_LocalNamespace(
+ const udmstri & i_sLocalName ) const;
+ uintt Get_SubNamespaces(
+ std::vector< const Namespace* > &
+ o_rResultList ) const;
+ Rid Search_LocalClass(
+ const udmstri & i_sName ) const;
+ private:
+ // Interface CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const ary::Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN ary::Documentation &
+ let_drInfo );
+ // Interface AryGroup
+ virtual Gid inq_Id_Group() const;
+ virtual const RepositoryEntity &
+ inq_RE_Group() const;
+ virtual const ary::group::SlotList &
+ inq_Slots() const;
+ virtual DYN Slot * inq_Create_Slot(
+ SlotAccessId i_nSlot ) const;
+
+ // Local
+
+ // DATA
+ CeEssentials aEssentials;
+
+ Map_NamespacePtr aLocalNamespaces;
+ Map_LocalCe aLocalClasses;
+ Map_LocalCe aLocalEnums;
+ Map_LocalCe aLocalTypedefs;
+ Set_LocalOperation aLocalOperations;
+ Map_LocalCe aLocalVariables;
+ Map_LocalCe aLocalConstants;
+
+ Namespace * pParent;
+ uintt nDepth;
+};
+
+
+} // namespace cpp
+} // ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_osigna.hxx b/autodoc/inc/ary/cpp/c_osigna.hxx
new file mode 100644
index 000000000000..f3f84fcbe6d1
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_osigna.hxx
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_osigna.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_OSIGNA_HXX
+#define ARY_CPP_C_OSIGNA_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+#include <ary/ids.hxx>
+#include <ary/cpp/c_etypes.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+
+namespace cpp
+{
+
+class OperationSignature
+{
+ public:
+ typedef std::vector<Tid> ParameterTypeList;
+
+ OperationSignature();
+ OperationSignature(
+ std::vector<Tid> & i_rParameterTypes, // Non const, because it will be swapped with aParameterTypes.
+ E_ConVol i_eConVol );
+
+ bool operator<(
+ const OperationSignature &
+ i_rSig ) const;
+
+ // INQUIRY
+ const ParameterTypeList &
+ Parameters() const;
+ E_ConVol ConVol() const;
+
+ /** Compares the signatures by length an then by ids of
+ parameter types. So the result is not always human
+ reconstructable.
+ @return like in strcmp().
+ */
+ int Compare(
+ const OperationSignature &
+ i_rSig ) const;
+ private:
+
+ // DATA
+ ParameterTypeList aParameterTypes;
+ E_ConVol eConVol;
+};
+
+#if 0 // Vielleicht noch gebraucht, vielleicht auch nicht. DO NOT delete!
+struct S_VariableInfo
+{
+ udmstri sName;
+ udmstri sSizeExpression;
+ udmstri sInitExpression;
+
+ void Empty()
+ { sName.clear();
+ sSizeExpression.clear();
+ sInitExpression.clear(); }
+};
+#endif
+
+
+// IMPLEMENTATION
+
+inline bool
+OperationSignature::operator<( const OperationSignature & i_rSign ) const
+ { return Compare(i_rSign) < 0; }
+inline const OperationSignature::ParameterTypeList &
+OperationSignature::Parameters() const
+ { return aParameterTypes; }
+inline E_ConVol
+OperationSignature::ConVol() const
+ { return eConVol; }
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_slntry.hxx b/autodoc/inc/ary/cpp/c_slntry.hxx
new file mode 100644
index 000000000000..e98c129ec3b4
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_slntry.hxx
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_slntry.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_SLNTRY_HXX
+#define ARY_CPP_C_SLNTRY_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/ids.hxx>
+#include <ary/cpp/c_etypes.hxx>
+
+
+namespace ary
+{
+namespace cpp
+{
+ class Namespace;
+
+
+typedef Namespace * NamespacePtr;
+struct Less_NamespacePtr
+{
+ bool operator()( /// @return true if (i_p1->Name() < i_p2->Name()) .
+ const NamespacePtr& i_p1,
+ const NamespacePtr& i_p2 );
+};
+
+
+
+
+struct S_Classes_Base
+{
+ Tid nId;
+ E_Protection eProtection;
+ E_Virtuality eVirtuality;
+ udmstri sComment;
+
+ S_Classes_Base()
+ : nId(0),
+ eProtection(PROTECT_global),
+ eVirtuality(VIRTUAL_none)
+ // sComent
+ { }
+};
+
+struct S_TplParam
+{
+ udmstri sName;
+ Tid nId;
+
+ S_TplParam(
+ udmstri i_sName,
+ Tid i_nId )
+ : sName(i_sName), nId(i_nId) {}
+ const udmstri & Name() const { return sName; }
+
+};
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_tydef.hxx b/autodoc/inc/ary/cpp/c_tydef.hxx
new file mode 100644
index 000000000000..dbf94ed212f0
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_tydef.hxx
@@ -0,0 +1,140 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_tydef.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_TYDEF_HXX
+#define ARY_CPP_C_TYDEF_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/cpp/c_etypes.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+class Typedef : public CodeEntity
+{
+ public:
+ // LIFECYCLE
+ Typedef();
+ Typedef(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ E_Protection i_eProtection,
+ Lid i_nFile,
+ Tid i_nDescribingType );
+ ~Typedef();
+ // INQUIRY
+ static RCid RC_() { return 0x1004; }
+
+ Tid DescribingType() const;
+ E_Protection Protection() const { return eProtection; }
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN Documentation & let_drInfo );
+
+ // DATA
+ CeEssentials aEssentials;
+ Tid nDescribingType;
+ E_Protection eProtection;
+};
+
+
+
+// IMPLEMENTATION
+
+inline Tid
+Typedef::DescribingType() const
+ { return nDescribingType; }
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_vari.hxx b/autodoc/inc/ary/cpp/c_vari.hxx
new file mode 100644
index 000000000000..08d333de49ee
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_vari.hxx
@@ -0,0 +1,159 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_vari.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_VARI_HXX
+#define ARY_CPP_C_VARI_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/ce.hxx>
+ // COMPONENTS
+#include <ary/cessentl.hxx>
+#include <ary/cpp/c_etypes.hxx>
+#include <ary/cpp/c_vfflag.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+
+namespace cpp
+{
+
+
+class Variable : public CodeEntity
+{
+ public:
+ // LIFECYCLE
+ Variable();
+ Variable(
+ Cid i_nId,
+ const udmstri & i_sLocalName,
+ Cid i_nOwner,
+ E_Protection i_eProtection,
+ Lid i_nFile,
+ Tid i_nType,
+ VariableFlags i_aFlags,
+ const udmstri & i_sArraySize,
+ const udmstri & i_sInitValue );
+ ~Variable();
+
+
+ // INQUIRY
+ static RCid RC_() { return 0x1006; }
+
+ Tid Type() const;
+ const udmstri & ArraySize() const;
+ const udmstri & Initialisation() const;
+ E_Protection Protection() const { return eProtection; }
+
+ // ACCESS
+
+ private:
+ // Interface ary::CodeEntity
+ virtual Cid inq_Id() const;
+ virtual const udmstri &
+ inq_LocalName() const;
+ virtual Cid inq_Owner() const;
+ virtual Lid inq_Location() const;
+
+ // Interface ary::RepositoryEntity
+ virtual void do_StoreAt(
+ ary::Display & o_rOut ) const;
+ virtual RCid inq_RC() const;
+ virtual const ary::Documentation &
+ inq_Info() const;
+ virtual void do_Add_Documentation(
+ DYN ary::Documentation &
+ let_drInfo );
+
+ // DATA
+ CeEssentials aEssentials;
+ Tid nType;
+ E_Protection eProtection;
+ VariableFlags aFlags;
+ udmstri sArraySize;
+ udmstri sInitialisation;
+};
+
+
+
+// IMPLEMENTATION
+
+inline Tid
+Variable::Type() const
+ { return nType; }
+inline const udmstri &
+Variable::ArraySize() const
+ { return sArraySize; }
+inline const udmstri &
+Variable::Initialisation() const
+ { return sInitialisation; }
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/c_vfflag.hxx b/autodoc/inc/ary/cpp/c_vfflag.hxx
new file mode 100644
index 000000000000..ef67a63f330b
--- /dev/null
+++ b/autodoc/inc/ary/cpp/c_vfflag.hxx
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * $RCSfile: c_vfflag.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:14 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_C_VFFLAG_HXX
+#define ARY_CPP_C_VFFLAG_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace cpp
+{
+
+
+struct VariableFlags
+{
+ public:
+ enum E_Flags
+ {
+ f_static_local = 0x0001,
+ f_static_member = 0x0002,
+ f_extern = 0x0004,
+ f_mutable = 0x0008
+ };
+
+ VariableFlags(
+ UINT16 i_nFlags = 0 )
+ : nFlags(i_nFlags) {}
+
+ void Reset() { nFlags = 0; }
+
+ void SetStaticLocal() { nFlags |= f_static_local; }
+ void SetStaticMember() { nFlags |= f_static_member; }
+ void SetExtern() { nFlags |= f_extern; }
+ void SetMutable() { nFlags |= f_mutable; }
+
+ bool IsStaticLocal() const { return (nFlags & f_static_local) != 0; }
+ bool IsStaticMember() const { return (nFlags & f_static_member) != 0; }
+ bool IsExtern() const { return (nFlags & f_extern) != 0; }
+ bool IsMutable() const { return (nFlags & f_mutable) != 0; }
+
+ private:
+ UINT16 nFlags;
+};
+
+
+struct FunctionFlags
+{
+ public:
+ enum E_Flags
+ {
+ f_static_local = 0x0001,
+ f_static_member = 0x0002,
+ f_extern = 0x0004,
+ f_externC = 0x0008,
+ f_mutable = 0x0010,
+ f_inline = 0x0100,
+ f_register = 0x0200,
+ f_explicit = 0x0400
+ };
+
+ FunctionFlags(
+ UINT16 i_nFlags = 0 )
+ : nFlags(i_nFlags) {}
+
+ void Reset() { nFlags = 0; }
+
+ void SetStaticLocal() { nFlags |= f_static_local; }
+ void SetStaticMember() { nFlags |= f_static_member; }
+ void SetExtern() { nFlags |= f_extern; }
+ void SetExternC() { nFlags |= f_externC; }
+ void SetMutable() { nFlags |= f_mutable; }
+ void SetInline() { nFlags |= f_inline; }
+ void SetRegister() { nFlags |= f_register; }
+ void SetExplicit() { nFlags |= f_explicit; }
+
+ bool IsStaticLocal() const { return (nFlags & f_static_local) != 0; }
+ bool IsStaticMember() const { return (nFlags & f_static_member) != 0; }
+ bool IsExtern() const { return (nFlags & f_extern) != 0; }
+ bool IsExternC() const { return (nFlags & f_externC) != 0; }
+ bool IsMutable() const { return (nFlags & f_mutable) != 0; }
+ bool IsInline() const { return (nFlags & f_inline) != 0; }
+ bool IsRegister() const { return (nFlags & f_register) != 0; }
+ bool IsExplicit() const { return (nFlags & f_explicit) != 0; }
+
+ private:
+ UINT16 nFlags;
+};
+
+struct S_Parameter
+{
+ udmstri sName;
+ udmstri sSizeExpression;
+ udmstri sInitExpression;
+ Tid nType;
+
+ S_Parameter() : nType(0) {}
+ ~S_Parameter() {}
+ void Empty() { nType = 0;
+ sName.clear();
+ sSizeExpression.clear();
+ sInitExpression.clear(); }
+};
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/inpcontx.hxx b/autodoc/inc/ary/cpp/inpcontx.hxx
new file mode 100644
index 000000000000..f26b9afae704
--- /dev/null
+++ b/autodoc/inc/ary/cpp/inpcontx.hxx
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * $RCSfile: inpcontx.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_INPCONTX_HXX
+#define ARY_CPP_INPCONTX_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/ids.hxx>
+#include <ary/cpp/c_etypes.hxx>
+
+
+
+namespace ary
+{
+namespace cpp
+{
+ class Namespace;
+ class Class;
+ class Enum;
+
+ class ProjectGroup;
+ class FileGroup;
+
+/** This class provides information about the context of an
+ CodeEntity, which is going to be stored in the repository.
+ The information is used mainly by class ary::cpp::Gate.
+*/
+class InputContext
+{
+ public:
+ class Owner
+ {
+ public:
+ // LIFECYCLE
+ virtual ~Owner() {}
+
+ // OPERATIONS
+ /// Adds Class data to current inner scope (Namespace or Class).
+ void Add_Class(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ /// Adds Enum data to current inner scope (Namespace or Class).
+ void Add_Enum(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ /// Adds Typedef data to current inner scope (Namespace or Class).
+ void Add_Typedef(
+ const udmstri & i_sLocalName,
+ Cid i_nId );
+ /// Adds Operation data to current inner scope (Namespace or Class).
+ void Add_Operation(
+ const udmstri & i_sLocalName,
+ OSid i_nSignature,
+ Cid i_nId,
+ bool i_bIsStaticMember ); /// True only for static class members.
+ /// Adds Variable data to current inner scope (Namespace or Class).
+ void Add_Variable(
+ const udmstri & i_sLocalName,
+ Cid i_nId,
+ bool i_bIsConst,
+ bool i_bIsStaticMember ); /// True only for static class members.
+ // INQUIRY
+ Cid Id() const;
+
+ private:
+ virtual void do_Add_Class(
+ const udmstri & i_sLocalName,
+ Cid i_nId ) = 0;
+ virtual void do_Add_Enum(
+ const udmstri & i_sLocalName,
+ Cid i_nId ) = 0;
+ virtual void do_Add_Typedef(
+ const udmstri & i_sLocalName,
+ Cid i_nId ) = 0;
+ virtual void do_Add_Operation(
+ const udmstri & i_sLocalName,
+ OSid i_nSignature,
+ Cid i_nId,
+ bool i_bIsStatic ) = 0;
+ virtual void do_Add_Variable(
+ const udmstri & i_sLocalName,
+ Cid i_nId,
+ bool i_bIsConst,
+ bool i_bIsStatic ) = 0;
+ virtual Cid inq_Id() const = 0;
+ };
+
+ // LIFECYCLE
+ virtual ~InputContext() {}
+
+ // OPERATIONS
+
+ // INQUIRY
+ ProjectGroup & CurProjectGroup() const;
+ FileGroup & CurFileGroup() const;
+
+ Namespace & CurNamespace() const;
+ Class * CurClass() const;
+ Enum * CurEnum() const;
+
+ Owner & CurOwner() const;
+ E_Protection CurProtection() const;
+
+ private:
+ virtual ProjectGroup &
+ inq_CurProjectGroup() const = 0;
+ virtual FileGroup & inq_CurFileGroup() const = 0;
+
+ virtual Namespace & inq_CurNamespace() const = 0;
+ virtual Class * inq_CurClass() const = 0;
+ virtual Enum * inq_CurEnum() const = 0;
+
+ virtual Owner & inq_CurOwner() const = 0;
+ virtual E_Protection
+ inq_CurProtection() const = 0;
+};
+
+
+
+// IMPLEMENTATION
+
+inline ProjectGroup &
+InputContext::CurProjectGroup() const
+ { return inq_CurProjectGroup(); }
+inline FileGroup &
+InputContext::CurFileGroup() const
+ { return inq_CurFileGroup(); }
+
+inline Namespace &
+InputContext::CurNamespace() const
+ { return inq_CurNamespace(); }
+inline Class *
+InputContext::CurClass() const
+ { return inq_CurClass(); }
+inline Enum *
+InputContext::CurEnum() const
+ { return inq_CurEnum(); }
+inline InputContext::Owner &
+InputContext::CurOwner() const
+ { return inq_CurOwner(); }
+inline E_Protection
+InputContext::CurProtection() const
+ { return inq_CurProtection(); }
+
+
+inline void
+InputContext::Owner::Add_Class( const udmstri & i_sLocalName,
+ Cid i_nId )
+ { do_Add_Class(i_sLocalName, i_nId); }
+inline void
+InputContext::Owner::Add_Enum( const udmstri & i_sLocalName,
+ Cid i_nId )
+ { do_Add_Enum(i_sLocalName, i_nId); }
+inline void
+InputContext::Owner::Add_Typedef( const udmstri & i_sLocalName,
+ Cid i_nId )
+ { do_Add_Typedef(i_sLocalName, i_nId); }
+inline void
+InputContext::Owner::Add_Operation( const udmstri & i_sLocalName,
+ OSid i_nSignature,
+ Cid i_nId,
+ bool i_bIsStatic )
+ { do_Add_Operation( i_sLocalName, i_nSignature, i_nId, i_bIsStatic ); }
+inline void
+InputContext::Owner::Add_Variable( const udmstri & i_sLocalName,
+ Cid i_nId,
+ bool i_bIsConst,
+ bool i_bIsStatic )
+ { do_Add_Variable( i_sLocalName, i_nId, i_bIsConst, i_bIsStatic ); }
+inline Cid
+InputContext::Owner::Id() const
+ { return inq_Id(); }
+
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/cpp/usedtype.hxx b/autodoc/inc/ary/cpp/usedtype.hxx
new file mode 100644
index 000000000000..845639db09b7
--- /dev/null
+++ b/autodoc/inc/ary/cpp/usedtype.hxx
@@ -0,0 +1,212 @@
+/*************************************************************************
+ *
+ * $RCSfile: usedtype.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CPP_USEDTYPE_HXX
+#define ARY_CPP_USEDTYPE_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/cpp/ca_type.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace cpp
+{
+ namespace ut
+ {
+ class List_TplParameter;
+ }
+
+ class DisplayGate;
+ class Gate;
+
+/** This class represents a type in textual form, like it is parsed out of
+ source code as a variable type or function return type.
+*/
+class UsedType : public Type
+{
+ public:
+ UsedType();
+ ~UsedType();
+ // OPERATORS
+ bool operator<(
+ const UsedType & i_rType ) const;
+ // OPERATIONS
+
+ // Operations to build up the used type from parsing:
+ void Set_Id(
+ Tid i_nId );
+ void Set_Absolute(); /// "::" is in front.
+ void Add_NameSegment(
+ const char * i_sSeg );
+ ut::List_TplParameter &
+ Enter_Template();
+ void LeaveTemplate();
+
+ void Set_Unsigned();
+ void Set_Signed();
+ void Set_BuiltIn(
+ const char * i_sType );
+ void Set_Const(); /// Sets CV to the type or the present pointer level, whatever is highest.
+ void Set_Volatile(); /// Sets CV to the type or the present pointer level, whatever is highest.
+ void Add_PtrLevel(); /// For an '*'.
+ void Set_Reference(); /// For an '&'.
+
+ // Operations to find the relating CodeEntity:
+ /** This needs to be called only one time. After that
+ RelatedCe() will return the value.
+ */
+ Rid Connect2Ce(
+ const Gate & i_rGate );
+
+ // INQUIRY
+ /** @return True, if type consists of one built-in typename and
+ nothing else.
+ */
+ bool IsBuiltInType() const;
+ /** @return the full local name, including template instantiation, but without
+ '*','&' or modifiers.
+ */
+ const udmstri & LocalName() const;
+ E_TypeSpecialisation
+ TypeSpecialisation() const;
+
+ private:
+ // Forbidden functions
+ UsedType(
+ const UsedType & i_rType );
+ bool operator=(
+ const UsedType & i_rType );
+
+ // Interface ary::cpp::Type
+ virtual Tid inq_Id_Type() const;
+ virtual Rid inq_RelatedCe() const;
+ virtual bool inq_IsConst() const;
+ virtual void inq_Get_Text(
+ StreamStr & o_rPreName,
+ StreamStr & o_rName,
+ StreamStr & o_rPostName,
+ const ary::cpp::DisplayGate &
+ i_rGate ) const;
+ // Local
+ struct CheshireCat;
+
+ bool DoesMatch_Ce(
+ Rid i_nId,
+ const Gate & i_rGate ) const;
+
+ // DATA
+ Dyn<CheshireCat> pi;
+};
+
+
+namespace ut
+{
+ class TemplateParameter;
+
+class List_TplParameter
+{
+ public:
+ typedef std::vector< DYN TemplateParameter * >::const_iterator const_iterator;
+
+ List_TplParameter();
+ ~List_TplParameter();
+
+ void AddParam_Type(
+ Tid i_nType );
+ void AddParam_Constant(
+ const udmstri & i_sConst );
+
+ const_iterator Begin() const;
+ const_iterator End() const;
+
+ /// puts "< " TemplateArgumentList " >" to o_rOut.
+ void Get_Text(
+ StreamStr & o_rOut,
+ const ary::cpp::DisplayGate &
+ i_rGate ) const;
+ /// @return as strcmp().
+ intt Compare(
+ const List_TplParameter &
+ i_rOther ) const;
+
+ private:
+ typedef std::vector< DYN TemplateParameter * > Vector_TplArgument;
+
+ Vector_TplArgument aTplParameters;
+};
+
+
+} // namespace ut
+
+
+
+} // namespace cpp
+} // namespace ary
+
+
+
+#endif
+
diff --git a/autodoc/inc/ary/info/all_dts.hxx b/autodoc/inc/ary/info/all_dts.hxx
new file mode 100644
index 000000000000..c4d8d122fb44
--- /dev/null
+++ b/autodoc/inc/ary/info/all_dts.hxx
@@ -0,0 +1,194 @@
+/*************************************************************************
+ *
+ * $RCSfile: all_dts.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_ALL_DTS_HXX
+#define ARY_INFO_ALL_DTS_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace info
+{
+
+class DocuDisplay;
+
+class DocuToken
+{
+ public:
+ virtual ~DocuToken() {}
+
+ void StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ bool IsWhite() const;
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const = 0;
+ virtual bool inq_IsWhite() const = 0;
+};
+
+class DT_Text : public DocuToken
+{
+ public:
+ DT_Text(
+ const char * i_sText )
+ : sText( i_sText ) {}
+
+ const udmstri & Text() const { return sText; }
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual bool inq_IsWhite() const;
+
+ udmstri sText;
+};
+
+class DT_MaybeLink : public DocuToken
+{
+ public:
+ DT_MaybeLink(
+ const char * i_sText,
+ bool i_bIsGlobal,
+ bool i_bIsFunction )
+ : sText( i_sText ),
+ bIsGlobal(i_bIsGlobal),
+ bIsFunction(i_bIsFunction) { }
+
+ const udmstri & Text() const { return sText; }
+ bool IsAbsolute() const { return bIsGlobal; }
+ bool IsFunction() const { return bIsFunction; }
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual bool inq_IsWhite() const;
+
+ udmstri sText;
+ bool bIsGlobal;
+ bool bIsFunction;
+};
+
+class DT_Whitespace : public DocuToken
+{
+ public:
+ DT_Whitespace(
+ UINT8 i_nLength )
+ : nLength( i_nLength ) {}
+ UINT8 Length() const { return nLength; }
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual bool inq_IsWhite() const;
+
+ UINT8 nLength;
+};
+
+
+class DT_Eol : public DocuToken
+{
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual bool inq_IsWhite() const;
+};
+
+class DT_Xml : public DocuToken
+{
+ public:
+ DT_Xml(
+ const char * i_sText )
+ : sText( i_sText ) {}
+
+ const udmstri & Text() const { return sText; }
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual bool inq_IsWhite() const;
+
+ udmstri sText;
+};
+
+
+// IMPLEMENTATION
+
+inline void
+DocuToken::StoreAt( DocuDisplay & o_rDisplay ) const
+ { do_StoreAt(o_rDisplay); }
+inline bool
+DocuToken::IsWhite() const
+ { return inq_IsWhite(); }
+
+
+
+}
+}
+
+#endif
+
diff --git a/autodoc/inc/ary/info/all_tags.hxx b/autodoc/inc/ary/info/all_tags.hxx
new file mode 100644
index 000000000000..e33da7d1cf0a
--- /dev/null
+++ b/autodoc/inc/ary/info/all_tags.hxx
@@ -0,0 +1,300 @@
+/*************************************************************************
+ *
+ * $RCSfile: all_tags.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_ALL_TAGS_HXX
+#define ARY_INFO_ALL_TAGS_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/info/ci_attag.hxx>
+ // COMPONENTS
+#include <ary/info/inftypes.hxx>
+#include <ary/info/ci_text.hxx>
+#include <ary/quname.hxx>
+ // PARAMETERS
+#include <ary/ids.hxx>
+
+
+
+namespace ary
+{
+namespace info
+{
+
+
+class StdTag : public AtTag
+{
+ public:
+ StdTag(
+ E_AtTagId i_eId );
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ void ChangeId2(
+ E_AtTagId i_eId )
+ { eId = i_eId; }
+
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ E_AtTagId Std_Id() const { return eId; }
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual DocuText * Text();
+
+ E_AtTagId eId;
+ DocuText aText;
+ StdTag * pNext;
+};
+
+class BaseTag : public AtTag
+{
+ public:
+ BaseTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual DocuText * Text();
+
+ QualifiedName sBase;
+ DocuText aText;
+ AtTag * pNext;
+};
+
+class ExceptionTag : public AtTag
+{
+ public:
+ ExceptionTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual DocuText * Text();
+
+ QualifiedName sException;
+ DocuText aText;
+ AtTag * pNext;
+};
+
+class ImplementsTag : public AtTag
+{
+ public:
+ ImplementsTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual DocuText * Text();
+
+ QualifiedName sName;
+ AtTag * pNext;
+};
+
+class KeywordTag : public AtTag
+{
+ public:
+ KeywordTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual DocuText * Text();
+
+ StringVector sKeys;
+};
+
+class ParameterTag : public AtTag
+{
+ public:
+ ParameterTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+
+ const udmstri & ParamName() const { return sName; }
+ const DocuText & CText() const { return aText; }
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual const ParameterTag *
+ GetNext() const { return dynamic_cast< ParameterTag* >(pNext); }
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual DocuText * Text();
+
+ udmstri sName;
+ udmstri sValidRange;
+ DocuText aText;
+ AtTag * pNext;
+};
+
+class SeeTag : public AtTag
+{
+ public:
+ SeeTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ const std::vector< QualifiedName > &
+ References() const { return sReferences; }
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual DocuText * Text();
+
+ std::vector< QualifiedName >
+ sReferences;
+};
+
+class TemplateTag : public AtTag
+{
+ public:
+ TemplateTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ const DocuText & CText() const { return aText; }
+ virtual const char *
+ Title() const;
+ const udmstri & TplParamName() const { return sName; }
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual const TemplateTag *
+ GetNext() const { return dynamic_cast< TemplateTag* >(pNext); }
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ virtual DocuText * Text();
+
+ udmstri sName;
+ DocuText aText;
+ AtTag * pNext;
+};
+
+class LabelTag : public AtTag
+{
+ public:
+ LabelTag();
+
+ virtual bool Add_SpecialMeaningToken(
+ const char * i_sText,
+ intt i_nNr );
+ virtual const char *
+ Title() const;
+ virtual UINT8 NrOfSpecialMeaningTokens() const;
+ virtual AtTag * GetFollower();
+
+ private:
+ virtual DocuText * Text();
+
+ udmstri sLabel;
+};
+
+
+
+// IMPLEMENTATION
+
+
+}
+}
+
+#endif
+
diff --git a/autodoc/inc/ary/info/ci_attag.hxx b/autodoc/inc/ary/info/ci_attag.hxx
new file mode 100644
index 000000000000..2bc1ac6f5241
--- /dev/null
+++ b/autodoc/inc/ary/info/ci_attag.hxx
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * $RCSfile: ci_attag.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_CI_ATTAG_HXX
+#define ARY_INFO_CI_ATTAG_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace info
+{
+
+class DocuText;
+class DocuDisplay;
+
+class AtTag
+{
+ public:
+ virtual ~AtTag() {}
+
+ void Set_HtmlUseInDocuText(
+ bool i_bUseIt );
+ virtual bool Add_SpecialMeaningToken( /// @return false, if token was not spüecial.
+ const char * i_sText,
+ intt i_nNr ) = 0;
+ virtual void Add_Token(
+ const char * i_sText );
+ virtual void Add_PotentialLink(
+ const char * i_sText,
+ bool i_bIsGlobal,
+ bool i_bIsFunction );
+ virtual void Add_Whitespace(
+ UINT8 i_nLength );
+ virtual void Add_Eol();
+
+ virtual UINT8 NrOfSpecialMeaningTokens() const = 0;
+ virtual AtTag * GetFollower() = 0;
+
+ void StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ const DocuText & CText() const;
+
+ private:
+ virtual void do_StoreAt(
+ DocuDisplay & o_rDisplay ) const; // later becoming abstract
+
+ virtual DocuText * Text() = 0;
+};
+
+
+
+// IMPLEMENTATION
+
+inline void
+AtTag::StoreAt( DocuDisplay & o_rDisplay ) const
+ { do_StoreAt(o_rDisplay); }
+inline const DocuText &
+AtTag::CText() const
+ { DocuText * ret = const_cast< AtTag* >(this)->Text();
+ csv_assert( ret != 0 );
+ return *ret;
+ }
+
+
+}
+}
+
+#endif
+
diff --git a/autodoc/inc/ary/info/ci_text.hxx b/autodoc/inc/ary/info/ci_text.hxx
new file mode 100644
index 000000000000..fb821205d494
--- /dev/null
+++ b/autodoc/inc/ary/info/ci_text.hxx
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * $RCSfile: ci_text.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_CI_TEXT_HXX
+#define ARY_INFO_CI_TEXT_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace info
+{
+
+class DocuToken;
+class DocuDisplay;
+
+
+class DocuText
+{
+ public:
+ typedef std::vector< DocuToken * > TokenList;
+
+ DocuText();
+ ~DocuText();
+
+ void Set_HtmlUse(
+ bool i_bUseIt )
+ { bUsesHtml = i_bUseIt; }
+ void Add_Token(
+ DYN DocuToken & let_drToken )
+ { aTokens.push_back(&let_drToken); }
+ const TokenList & Tokens() const { return aTokens; }
+ void StoreAt(
+ DocuDisplay & o_rDisplay ) const;
+ bool IsNoHtml() const { return NOT bUsesHtml; }
+ bool IsEmpty() const { return aTokens.size() == 0; }
+
+ private:
+ TokenList aTokens;
+ bool bUsesHtml;
+};
+
+
+
+
+
+
+// IMPLEMENTATION
+
+
+}
+}
+
+#endif
+
diff --git a/autodoc/inc/ary/info/docstore.hxx b/autodoc/inc/ary/info/docstore.hxx
new file mode 100644
index 000000000000..eeee4002ee11
--- /dev/null
+++ b/autodoc/inc/ary/info/docstore.hxx
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * $RCSfile: docstore.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_DOCSTORE_HXX
+#define ARY_INFO_DOCSTORE_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+#include <ary/info/inftypes.hxx>
+
+namespace ary
+{
+ class Documentation;
+
+namespace info
+{
+
+class DocuStore
+{
+ public:
+ virtual ~DocuStore() {}
+
+ void Store2CurProject(
+ DYN Documentation & let_drDocu );
+ void Store2CurFile(
+ DYN Documentation & let_drDocu );
+ void Store2CurNamespace(
+ DYN Documentation & let_drDocu );
+
+ void Store2ConnectedDeclaration(
+ DYN Documentation & let_drDocu );
+
+ void Store2Glossary(
+ DYN Documentation & let_drDocu,
+ const udmstri & i_sExplainedTerm );
+ void Store2GlobalTexts(
+ DYN Documentation & let_drDocu,
+ ary::info::GlobalTextId
+ i_nId );
+ private:
+ virtual void do_Store2CurProject(
+ DYN Documentation & let_drDocu ) = 0;
+ virtual void do_Store2CurFile(
+ DYN Documentation & let_drDocu ) = 0;
+ virtual void do_Store2CurNamespace(
+ DYN Documentation & let_drDocu ) = 0;
+
+ virtual void do_Store2ConnectedDeclaration(
+ DYN Documentation & let_drDocu ) = 0;
+
+ virtual void do_Store2Glossary(
+ DYN Documentation & let_drDocu,
+ const udmstri & i_sExplainedTerm ) = 0;
+ virtual void do_Store2GlobalTexts(
+ DYN Documentation & let_drDocu,
+ ary::info::GlobalTextId
+ i_nId ) = 0;
+};
+
+
+// IMPLEMENTATION
+
+
+inline void
+DocuStore::Store2CurProject( DYN Documentation & let_drDocu )
+ { do_Store2CurProject(let_drDocu); }
+inline void
+DocuStore::Store2CurFile( DYN Documentation & let_drDocu )
+ { do_Store2CurFile(let_drDocu); }
+inline void
+DocuStore::Store2CurNamespace( DYN Documentation & let_drDocu )
+ { do_Store2CurNamespace(let_drDocu); }
+inline void
+DocuStore::Store2ConnectedDeclaration( DYN Documentation & let_drDocu )
+ { do_Store2ConnectedDeclaration(let_drDocu); }
+inline void
+DocuStore::Store2Glossary( DYN Documentation & let_drDocu,
+ const udmstri & i_sExplainedTerm )
+ { do_Store2Glossary(let_drDocu, i_sExplainedTerm); }
+inline void
+DocuStore::Store2GlobalTexts( DYN Documentation & let_drDocu,
+ ary::info::GlobalTextId i_nId )
+ { do_Store2GlobalTexts(let_drDocu, i_nId); }
+
+
+} // namespace info
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/info/infodisp.hxx b/autodoc/inc/ary/info/infodisp.hxx
new file mode 100644
index 000000000000..8125ed6dceda
--- /dev/null
+++ b/autodoc/inc/ary/info/infodisp.hxx
@@ -0,0 +1,150 @@
+/*************************************************************************
+ *
+ * $RCSfile: infodisp.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_INFODISP_HXX
+#define ARY_INFO_INFODISP_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+// #include <udm/display.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+namespace ary
+{
+namespace info
+{
+
+class CodeInfo;
+class StdTag;
+class BaseTag;
+class ExceptionTag;
+class ImplementsTag;
+class KeywordTag;
+class ParameterTag;
+class SeeTag;
+class TemplateTag;
+class LabelTag;
+class DT_Text;
+class DT_MaybeLink;
+class DT_Whitespace;
+class DT_Eol;
+class DT_Xml;
+
+
+
+/** Displaying an ary::info::CodeInfo.
+
+ @descr
+ This class is an interface, but the functions are defaulted,
+ to do nothing. so a derived class needn't implement all of them.
+*/
+class DocuDisplay
+{
+ public:
+ virtual ~DocuDisplay() {}
+
+ virtual void Display_CodeInfo(
+ const CodeInfo & i_rData );
+
+ virtual void Display_StdTag(
+ const StdTag & i_rData );
+ virtual void Display_BaseTag(
+ const BaseTag & i_rData );
+ virtual void Display_ExceptionTag(
+ const ExceptionTag &
+ i_rData );
+ virtual void Display_ImplementsTag(
+ const ImplementsTag &
+ i_rData );
+ virtual void Display_KeywordTag(
+ const KeywordTag & i_rData );
+ virtual void Display_ParameterTag(
+ const ParameterTag &
+ i_rData );
+ virtual void Display_SeeTag(
+ const SeeTag & i_rData );
+ virtual void Display_TemplateTag(
+ const TemplateTag & i_rData );
+ virtual void Display_LabelTag(
+ const LabelTag & i_rData );
+
+ virtual void Display_DT_Text(
+ const DT_Text & i_rData );
+ virtual void Display_DT_MaybeLink(
+ const DT_MaybeLink& i_rData );
+ virtual void Display_DT_Whitespace(
+ const DT_Whitespace &
+ i_rData );
+ virtual void Display_DT_Eol(
+ const DT_Eol & i_rData );
+ virtual void Display_DT_Xml(
+ const ary::info::DT_Xml &
+ i_rData );
+};
+
+
+}
+}
+
+#endif
+
+
diff --git a/autodoc/inc/ary/info/inftypes.hxx b/autodoc/inc/ary/info/inftypes.hxx
new file mode 100644
index 000000000000..19ee4be34300
--- /dev/null
+++ b/autodoc/inc/ary/info/inftypes.hxx
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * $RCSfile: inftypes.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_INFO_INFTYPES_HXX
+#define ARY_INFO_INFTYPES_HXX
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace info
+{
+
+
+
+
+typedef uintt GlobalTextId;
+
+
+
+/** Because this enum is used as index list for displayed
+ tag headlines, the items must neither be moved nor deleted.
+ Only adding to the end is allowed. atid_MAX always has to exist
+ and to be the last used value.
+ Also assigning numbers to the values is forbidden.
+*/
+enum E_AtTagId
+{
+ atid_ATT = 0,
+ atid_author,
+ atid_change,
+ atid_collab,
+ atid_contact,
+
+ atid_copyright,
+ atid_deprecated,
+ atid_descr,
+ atid_docdate,
+ atid_derive,
+
+ atid_dyn,
+ atid_instance,
+ atid_interface,
+ atid_invariant,
+ atid_life,
+
+ atid_multi,
+ atid_onerror,
+ atid_persist,
+ atid_postcond,
+ atid_precond,
+
+ atid_resp,
+ atid_return,
+ atid_short,
+ atid_todo,
+ atid_version,
+
+ atid_MAX
+};
+
+/** Because this enum is used as index list for displayed
+ tag headlines, the items must neither be moved nor deleted.
+ Only adding to the end is allowed. C_eAtTag_NrOfClasses always has to exist
+ and to be the last used value.
+ Also assigning other numbers to the values, than in this
+ existing scheme, is forbidden.
+*/
+enum E_AtTagClass
+{
+ atc_std = 0,
+
+ atc_base = atid_MAX,
+ atc_exception = atid_MAX + 1,
+ atc_implements = atid_MAX + 2,
+ atc_keyword = atid_MAX + 3,
+ atc_parameter = atid_MAX + 4,
+
+ atc_see = atid_MAX + 5,
+ atc_template = atid_MAX + 6,
+ atc_label = atid_MAX + 7,
+ C_eAtTag_NrOfClasses
+};
+
+
+
+} // namespace info
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary/loc/loc_dir.hxx b/autodoc/inc/ary/loc/loc_dir.hxx
new file mode 100644
index 000000000000..6e7b9be9ae2c
--- /dev/null
+++ b/autodoc/inc/ary/loc/loc_dir.hxx
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * $RCSfile: loc_dir.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_LOC_LOC_DIR_HXX
+#define ARY_LOC_LOC_DIR_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+#include <ary/ids.hxx>
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace loc
+{
+
+
+class Directory
+{
+ public:
+ typedef std::map< udmstri, Lid > Map_Children;
+
+ // LIFECYCLE
+ virtual ~Directory() {}
+
+
+ // OPERATIONS
+ void Add_ChildDir(
+ const udmstri & i_sName,
+ Lid i_nId );
+ void Add_File(
+ const udmstri & i_sName,
+ Lid i_nId );
+ //INQUIRY
+ Lid Id() const;
+ const Map_Children &
+ ChildDirs() const;
+
+ const Map_Children &
+ Files() const;
+ // ACCESS
+ Map_Children & ChildDirs();
+ Map_Children & Files();
+
+ protected:
+ Directory(
+ Lid i_nId );
+ private:
+ Map_Children aChildDirs;
+ Map_Children aFiles;
+ Lid nId;
+};
+
+class SubDirectory : public Directory
+{
+ public:
+ SubDirectory(
+ Lid i_nId,
+ const udmstri & i_sName,
+ Lid i_nParentDirectory );
+ //INQUIRY
+ const udmstri & Name() const;
+
+ private:
+ udmstri sName;
+ Lid nParentDirectory;
+};
+
+
+// IMPLEMENTATION
+
+inline Lid
+Directory::Id() const
+ { return nId; }
+inline const Directory::Map_Children &
+Directory::ChildDirs() const
+ { return aChildDirs; }
+inline const Directory::Map_Children &
+Directory::Files() const
+ { return aFiles; }
+inline Directory::Map_Children &
+Directory::ChildDirs()
+ { return aChildDirs; }
+inline Directory::Map_Children &
+Directory::Files()
+ { return aFiles; }
+inline const udmstri &
+SubDirectory::Name() const
+ { return sName; }
+
+
+} // namespace loc
+} // namespace ary
+
+#endif
+
diff --git a/autodoc/inc/ary/loc/loc_file.hxx b/autodoc/inc/ary/loc/loc_file.hxx
new file mode 100644
index 000000000000..3feb05fc82db
--- /dev/null
+++ b/autodoc/inc/ary/loc/loc_file.hxx
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * $RCSfile: loc_file.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_LOC_LOC_FILE_HXX
+#define ARY_LOC_LOC_FILE_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+#include <ary/ids.hxx>
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace loc
+{
+
+
+class SourceCodeFile
+{
+ public:
+ SourceCodeFile(
+ Lid i_nId,
+ Lid i_nRoot,
+ Lid i_nDirectory,
+ const udmstri & i_sName );
+ //INQUIRY
+ Lid Id() const;
+ Lid Root() const;
+ const udmstri & Name() const;
+
+ private:
+ Lid nId;
+ Lid nRoot;
+ Lid nDirectory;
+ udmstri sName;
+};
+
+// IMPLEMENTATION
+
+inline Lid
+SourceCodeFile::Id() const
+ { return nId; }
+inline Lid
+SourceCodeFile::Root() const
+ { return nRoot; }
+inline const udmstri &
+SourceCodeFile::Name() const
+ { return sName; }
+
+
+} // namespace loc
+} // namespace ary
+
+#endif
+
diff --git a/autodoc/inc/ary/loc/loc_root.hxx b/autodoc/inc/ary/loc/loc_root.hxx
new file mode 100644
index 000000000000..984dcc7e302f
--- /dev/null
+++ b/autodoc/inc/ary/loc/loc_root.hxx
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * $RCSfile: loc_root.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_LOC_PROJECT_HXX
+#define ARY_LOC_PROJECT_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+#include <ary/loc/loc_dir.hxx>
+ // COMPONENTS
+#include <ary/ids.hxx>
+#include <cosv/ploc.hxx>
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace loc
+{
+
+
+class LocationRoot : public Directory
+{
+ public:
+ LocationRoot(
+ Lid i_nId,
+ const csv::ploc::Path &
+ i_rRootDirectoryPath );
+ // INQUIRY
+ const csv::ploc::Path &
+ RootDirectoryPath() const;
+
+ private:
+ csv::ploc::Path aRootDirectoryPath;
+};
+
+
+
+// IMPLEMENTATION
+
+inline const csv::ploc::Path &
+LocationRoot::RootDirectoryPath() const
+ { return aRootDirectoryPath; }
+
+
+
+} // namespace loc
+} // namespace ary
+
+#endif
+
diff --git a/autodoc/inc/ary_i/ci_atag2.hxx b/autodoc/inc/ary_i/ci_atag2.hxx
new file mode 100644
index 000000000000..3456882ce159
--- /dev/null
+++ b/autodoc/inc/ary_i/ci_atag2.hxx
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * $RCSfile: ci_atag2.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CI_ATAG2_HXX
+#define ARY_CI_ATAG2_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+#include <ary_i/ci_text2.hxx>
+ // PARAMETERS
+
+
+
+namespace ary
+{
+namespace info
+{
+
+
+class DocumentationDisplay;
+
+class AtTag2
+{
+ public:
+ virtual ~AtTag2() {}
+
+ virtual void DisplayAt(
+ DocumentationDisplay &
+ o_rDisplay ) const = 0;
+
+ const char * Title() const { return sTitle; }
+ const DocuTex2 & Text() const { return aText; }
+
+ protected:
+ AtTag2(
+ const char * i_sTitle)
+ : sTitle(i_sTitle) {}
+ udmstri sTitle;
+ DocuTex2 aText;
+};
+
+
+
+// IMPLEMENTATION
+
+} // namespace info
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary_i/ci_text2.hxx b/autodoc/inc/ary_i/ci_text2.hxx
new file mode 100644
index 000000000000..25c8e8b4f6e9
--- /dev/null
+++ b/autodoc/inc/ary_i/ci_text2.hxx
@@ -0,0 +1,124 @@
+/*************************************************************************
+ *
+ * $RCSfile: ci_text2.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_CINFO_CI_TEXT2_HXX
+#define ARY_CINFO_CI_TEXT2_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+namespace info
+{
+
+
+class DocumentationDisplay;
+
+
+class DocuToken
+{
+ public:
+ virtual ~DocuToken() {}
+ virtual void DisplayAt(
+ DocumentationDisplay &
+ o_rDisplay ) const = 0;
+};
+
+
+class DocuTex2
+{
+ public:
+ typedef std::vector< DocuToken * > TokenList;
+
+ DocuTex2();
+ ~DocuTex2();
+
+ virtual void DisplayAt(
+ DocumentationDisplay &
+ o_rDisplay ) const;
+
+ void AddToken(
+ DYN DocuToken & let_drToken )
+ { aTokens.push_back(&let_drToken); }
+ const TokenList & Tokens() const { return aTokens; }
+ bool IsEmpty() const;
+
+
+ private:
+ TokenList aTokens;
+};
+
+
+
+// IMPLEMENTATION
+
+} // namespace info
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/ary_i/disdocum.hxx b/autodoc/inc/ary_i/disdocum.hxx
new file mode 100644
index 000000000000..63eb62ab7dfc
--- /dev/null
+++ b/autodoc/inc/ary_i/disdocum.hxx
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * $RCSfile: disdocum.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ARY_DISDOCUM_HXX
+#define ARY_DISDOCUM_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace csi
+{
+namespace dsapi
+{
+class DT_TextToken;
+class DT_MupType;
+class DT_MupMember;
+class DT_MupConst;
+class DT_Style;
+class DT_EOL;
+class DT_StdAtTag;
+class DT_SeeAlsoAtTag;
+class DT_ParameterAtTag;
+} // namespace dsapi
+} // namespace csi
+
+
+namespace ary
+{
+namespace info
+{
+
+
+
+class DocumentationDisplay
+{
+ public:
+
+ virtual ~DocumentationDisplay() { }
+
+ virtual void Display_TextToken(
+ const csi::dsapi::DT_TextToken &
+ i_rToken ) = 0;
+ virtual void Display_MupType(
+ const csi::dsapi::DT_MupType & i_rToken ) = 0;
+ virtual void Display_MupMember(
+ const csi::dsapi::DT_MupMember &
+ i_rToken ) = 0;
+ virtual void Display_MupConst(
+ const csi::dsapi::DT_MupConst &
+ i_rToken ) = 0;
+ virtual void Display_Style(
+ const csi::dsapi::DT_Style & i_rToken ) = 0;
+ virtual void Display_EOL() = 0;
+ virtual void Display_StdAtTag(
+ const csi::dsapi::DT_StdAtTag &
+ i_rToken ) = 0;
+ virtual void Display_SeeAlsoAtTag(
+ const csi::dsapi::DT_SeeAlsoAtTag &
+ i_rToken ) = 0;
+ virtual void Display_ParameterAtTag(
+ const csi::dsapi::DT_ParameterAtTag &
+ i_rToken ) = 0;
+};
+
+} // namespace info
+} // namespace ary
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/displaying.hxx b/autodoc/inc/autodoc/displaying.hxx
new file mode 100644
index 000000000000..e49f54609b07
--- /dev/null
+++ b/autodoc/inc/autodoc/displaying.hxx
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * $RCSfile: displaying.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_DISPLAYING_HXX
+#define AUTODOC_DISPLAYING_HXX
+
+
+namespace display
+{
+ class CorporateFrame;
+}
+
+
+
+namespace autodoc
+{
+
+class HtmlDisplay_UdkStd;
+// class TextDisplay_FunctionList_Ifc;
+
+
+/** Interface for parsing code of a programming language and
+ delivering the information into an Autodoc Repository.
+**/
+class DisplayToolsFactory_Ifc
+{
+ public:
+ virtual ~DisplayToolsFactory_Ifc() {}
+ static DisplayToolsFactory_Ifc &
+ GetIt_();
+
+// virtual DYN autodoc::TextDisplay_FunctionList_Ifc *
+// Create_TextDisplay_FunctionList() const = 0;
+
+
+ virtual DYN autodoc::HtmlDisplay_UdkStd *
+ Create_HtmlDisplay_UdkStd() const = 0;
+
+ virtual const display::CorporateFrame &
+ Create_StdFrame() const = 0;
+};
+
+
+} // namespace autodoc
+
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/dsp_html_std.hxx b/autodoc/inc/autodoc/dsp_html_std.hxx
new file mode 100644
index 000000000000..c913cabd46f4
--- /dev/null
+++ b/autodoc/inc/autodoc/dsp_html_std.hxx
@@ -0,0 +1,213 @@
+/*************************************************************************
+ *
+ * $RCSfile: dsp_html_std.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_DSP_HTML_STD_HXX
+#define AUTODOC_DSP_HTML_STD_HXX
+
+
+
+namespace ary
+{
+ namespace cpp
+ {
+ class DisplayGate;
+ }
+}
+
+namespace display
+{
+ class CorporateFrame;
+}
+
+
+namespace autodoc
+{
+
+
+class HtmlDisplay_UdkStd
+{
+ public:
+ virtual ~HtmlDisplay_UdkStd() {}
+
+ /** Displays the names of several C++ code entities within the
+ given namespace (or the global namespace as default). All
+ subnamespaces are included.
+
+ Output has following format:
+
+ =========================================================================
+ OutputDirectory
+ index.html
+ def-all.html
+ prj\
+ sal\
+ index.html // Overview about project
+
+ f-FileName[1,2,...] // Overview about file
+ f-OtherFileName[1,2,...]
+ ...
+ def-FileName[1,2,...] // #defines and macros in file
+ def-OtherFileName[1,2,...]
+ ...
+ rtl\
+ ...
+ cppu\
+ ...
+ cppuhelper\
+ ...
+ ...
+ ix\
+ ix-a.html
+ ix-b.html
+ ...
+ ix-z.html
+ ix-_.html
+ ix-other.html
+
+ cpp\
+ index.html // Overview about global namespace
+
+ Namespace_A\
+ Namespace_C\
+ index.html // Overview about namespace C
+ ...
+ ...
+
+ index.html // Overview about namespace A
+
+ c-ClassName_X.html // Description of class
+ ...
+ e-EnumName.html // Description of enum
+ ...
+ t-TypedefName.html // Description of typedef
+ ...
+ o-Filename.html // Descriptions of operations in this file in this namespace
+ ...
+ d-Filename.html // Descriptions of data in this file in this namespace
+ ...
+
+ ClassName_X\
+ c-ClassName_Y.html
+ e-EnumName.html
+ t-TypedefName.html
+ o.html // Descriptions of operations in class X
+ d.html // Descriptions of data in class X
+
+ ClassName_Y\
+ ...
+ ...
+
+ idl\
+ ...
+ java\
+ ...
+ =========================================================================
+
+
+ @param i_sOutputDirectory
+ Directory for output. Path must be given in correct
+ syntax for the actual operating system without final
+ path delimiter. If this is 0 or "", the current
+ working directory is chosen.
+ @param i_rAryGate
+ The access to the Autodoc Repository.
+ @param i_rLayout
+ Gives parameters for the appearance of the HTML output.
+ @param i_pProjectList
+ If this is != 0, then only code entities which are declared
+ in this projects are displayed.
+ */
+ void Run(
+ const char * i_sOutputDirectory,
+ const ary::cpp::DisplayGate &
+ i_rAryGate,
+ const display::CorporateFrame &
+ i_rLayout,
+ const StringVector *
+ i_pProjectList = 0 );
+ private:
+ virtual void do_Run(
+ const char * i_sOutputDirectory,
+ const ary::cpp::DisplayGate &
+ i_rAryGate,
+ const display::CorporateFrame &
+ i_rLayout,
+ const StringVector *
+ i_pProjectList ) = 0;
+};
+
+// IMPLEMENTATION
+
+inline void
+HtmlDisplay_UdkStd::Run( const char * i_sOutputDirectory,
+ const ary::cpp::DisplayGate & i_rAryGate,
+ const display::CorporateFrame & i_rLayout,
+ const StringVector * i_pProjectList )
+ { do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout, i_pProjectList ); }
+
+
+
+} // namespace autodoc
+
+
+#endif
+
+
diff --git a/autodoc/inc/autodoc/dsp_txt_flist.hxx b/autodoc/inc/autodoc/dsp_txt_flist.hxx
new file mode 100644
index 000000000000..343ea0d4e044
--- /dev/null
+++ b/autodoc/inc/autodoc/dsp_txt_flist.hxx
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * $RCSfile: dsp_txt_flist.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_DSP_TXT_FLIST_HXX
+#define AUTODOC_DSP_TXT_FLIST_HXX
+
+#include <iostream>
+
+
+namespace ary
+{
+ namespace cpp
+ {
+ class DisplayGate;
+ }
+}
+
+
+namespace autodoc
+{
+
+class TextDisplay_FunctionList_Ifc
+{
+ public:
+ virtual ~TextDisplay_FunctionList_Ifc() {}
+
+ /** Displays the names of all C++ functions and methods within the
+ given namespace (or the global namespace as default). All
+ subnamespaces are included.
+ */
+ virtual void Run(
+ ostream & o_rStream,
+ const ary::cpp::DisplayGate &
+ i_rAryGate ) = 0; /// If i_pNamespace == 0, the global namespace is displayed.
+};
+
+
+} // namespace autodoc
+
+#endif
+
diff --git a/autodoc/inc/autodoc/filecoli.hxx b/autodoc/inc/autodoc/filecoli.hxx
new file mode 100644
index 000000000000..710ae8930fd7
--- /dev/null
+++ b/autodoc/inc/autodoc/filecoli.hxx
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * $RCSfile: filecoli.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADC_PARSER_FILECOLI_HXX
+#define ADC_PARSER_FILECOLI_HXX
+
+
+namespace autodoc
+{
+
+class FileCollector_Ifc
+{
+ public:
+ // TYPES
+ typedef StringVector::const_iterator const_iterator;
+
+ enum E_SearchMode
+ {
+ flat,
+ recursive
+ };
+
+ // LIFECYCLE
+ virtual ~FileCollector_Ifc() {}
+
+ // OPERATIONS
+ virtual uintt AddFilesFrom(
+ const char * i_sRootDir,
+ const char * i_sFilter,
+ E_SearchMode i_eSearchMode ) = 0;
+ virtual uintt AddFile(
+ const char * i_sFilePath ) = 0;
+ virtual void EraseAll() = 0;
+
+ // INQUIRY
+ virtual const_iterator
+ Begin() const = 0;
+ virtual const_iterator
+ End() const = 0;
+ virtual uintt Size() const = 0;
+};
+
+
+} // namespace autodoc
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/parsing.hxx b/autodoc/inc/autodoc/parsing.hxx
new file mode 100644
index 000000000000..988583bf4f83
--- /dev/null
+++ b/autodoc/inc/autodoc/parsing.hxx
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * $RCSfile: parsing.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_PARSING_HXX
+#define AUTODOC_PARSING_HXX
+
+
+
+namespace autodoc
+{
+
+class CodeParser_Ifc;
+class DocumentationParser_Ifc;
+class FileCollector_Ifc;
+
+
+/** Interface for parsing code of a programming language and
+ delivering the information into an Autodoc Repository.
+**/
+class ParseToolsFactory_Ifc
+{
+ public:
+ virtual ~ParseToolsFactory_Ifc() {}
+ static ParseToolsFactory_Ifc &
+ GetIt_();
+
+ virtual DYN autodoc::CodeParser_Ifc *
+ Create_Parser_Cplusplus() const = 0;
+
+// virtual DYN autodoc::CodeParser_Ifc *
+// CreateParser_UnoIDL() const = 0;
+// virtual DYN autodoc::CodeParser_Ifc *
+// CreateParser_Java() const = 0;
+// virtual DYN autodoc::CodeParser_Ifc *
+// CreateParser_StoredProcedures() const = 0;
+
+ virtual DYN autodoc::DocumentationParser_Ifc *
+ Create_DocuParser_AutodocStyle() const = 0;
+
+// virtual DYN autodoc::DocumentationParser_Ifc *
+// CreateDocuParser_StarOfficeAPIStyle() const = 0;
+
+ virtual DYN autodoc::FileCollector_Ifc *
+ Create_FileCollector(
+ uintt i_nEstimatedNrOfFiles ) const = 0; /// Should be somewhat larger than the maximal estimated number of files.
+};
+
+
+} // namespace autodoc
+
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/prs_code.hxx b/autodoc/inc/autodoc/prs_code.hxx
new file mode 100644
index 000000000000..9c4ede5c90ba
--- /dev/null
+++ b/autodoc/inc/autodoc/prs_code.hxx
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * $RCSfile: prs_code.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_PRS_CODE_HXX
+#define AUTODOC_PRS_CODE_HXX
+
+
+
+namespace csv
+{
+ namespace ploc
+ {
+ class Path;
+ }
+}
+
+namespace ary
+{
+ class Repository;
+}
+
+namespace autodoc
+{
+
+class FileCollector_Ifc;
+class DocumentationParser_Ifc;
+
+
+/** Interface for parsing code of a programming language and
+ delivering the information into an Autodoc Repository.
+**/
+class CodeParser_Ifc
+{
+ public:
+ virtual ~CodeParser_Ifc() {}
+
+ virtual void Setup(
+ ary::Repository & o_rRepository,
+ const autodoc::DocumentationParser_Ifc &
+ i_rDocumentationInterpreter ) = 0;
+
+ virtual void Run(
+ const udmstri & i_sProjectName,
+ csv::ploc::Path & i_rProjectRootDirectory,
+ const autodoc::FileCollector_Ifc &
+ i_rFiles ) = 0;
+};
+
+
+} // namespace autodoc
+
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/prs_docu.hxx b/autodoc/inc/autodoc/prs_docu.hxx
new file mode 100644
index 000000000000..257b8f8b6321
--- /dev/null
+++ b/autodoc/inc/autodoc/prs_docu.hxx
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * $RCSfile: prs_docu.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADC_PARSER_PRS_DOCU_HXX
+#define ADC_PARSER_PRS_DOCU_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+
+
+namespace autodoc
+{
+
+class TkpDocuContext;
+
+class DocumentationParser_Ifc
+{
+ public:
+ virtual ~DocumentationParser_Ifc() {}
+
+ virtual DYN TkpDocuContext *
+ Create_DocuContext() const = 0;
+};
+
+
+} // namespace autodoc
+
+
+#endif
+
diff --git a/autodoc/inc/autodoc/x_parsing.hxx b/autodoc/inc/autodoc/x_parsing.hxx
new file mode 100644
index 000000000000..6624f4a3ced0
--- /dev/null
+++ b/autodoc/inc/autodoc/x_parsing.hxx
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * $RCSfile: x_parsing.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:16 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef AUTODOC_X_PARSING_HXX
+#define AUTODOC_X_PARSING_HXX
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+#include <iostream>
+
+
+namespace autodoc
+{
+
+class X_Parser_Ifc
+{
+ public:
+ // TYPES
+ enum E_Event
+ {
+ x_Any = 0,
+ x_InvalidChar,
+ x_UnexpectedToken,
+ x_UnexpectedEOF,
+ x_UnspecifiedSyntaxError
+ };
+
+ // LIFECYCLE
+ virtual ~X_Parser_Ifc() {}
+
+ // INQUIRY
+ virtual E_Event GetEvent() const = 0;
+ virtual void GetInfo(
+ ostream & o_rOutputMedium ) const = 0;
+};
+
+
+} // namespace autodoc
+
+ostream & operator<<(
+ ostream & o_rOut,
+ const autodoc::X_Parser_Ifc &
+ i_rException );
+
+
+
+#endif
+
diff --git a/autodoc/inc/parser/parser.hxx b/autodoc/inc/parser/parser.hxx
new file mode 100644
index 000000000000..51f8a6a6c395
--- /dev/null
+++ b/autodoc/inc/parser/parser.hxx
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * $RCSfile: parser.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:17 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADC_PARSER_HXX
+#define ADC_PARSER_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+ // COMPONENTS
+ // PARAMETERS
+
+namespace autodoc
+{
+ class FileCollector_Ifc;
+}
+
+
+class CodeParser
+{
+ public:
+ virtual ~CodeParser() {}
+
+ virtual void Run(
+ const autodoc::FileCollector_Ifc &
+ i_rFiles ) = 0;
+};
+
+
+
+#endif
+
diff --git a/autodoc/inc/parser/unoidl.hxx b/autodoc/inc/parser/unoidl.hxx
new file mode 100644
index 000000000000..d4683297fb3e
--- /dev/null
+++ b/autodoc/inc/parser/unoidl.hxx
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * $RCSfile: unoidl.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-03-08 14:45:17 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 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
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef ADC_UNOIDL_HXX
+#define ADC_UNOIDL_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <parser/parser.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+
+namespace ary
+{
+ class Repository;
+}
+namespace autodoc
+{
+ class FileCollector_Ifc;
+}
+
+namespace csi
+{
+namespace uidl
+{
+
+
+class Uidl_Parser : public ::CodeParser
+{
+ public:
+ Uidl_Parser(
+ ary::Repository & io_rRepository );
+
+ virtual void Run(
+ const autodoc::FileCollector_Ifc &
+ i_rFiles );
+
+ private:
+ // DATA
+ ary::Repository * pRepository;
+};
+
+
+
+// IMPLEMENTATION
+
+
+} // namespace uidl
+} // namespace csi
+
+
+#endif
+