diff options
author | Nikolai Pretzell <np@openoffice.org> | 2002-11-01 16:15:51 +0000 |
---|---|---|
committer | Nikolai Pretzell <np@openoffice.org> | 2002-11-01 16:15:51 +0000 |
commit | 18e7b2a7dbc74cd094028e11b0910f1136cce615 (patch) | |
tree | bc1652165f7eb6af956a96cbb2e6408db0da2cbf | |
parent | 7a9d96862db4571421d6eadb314da3c0c67ece2b (diff) |
#103134#
228 files changed, 28720 insertions, 941 deletions
diff --git a/autodoc/inc/ary/actions.hxx b/autodoc/inc/ary/actions.hxx new file mode 100644 index 000000000000..d4b9ba117609 --- /dev/null +++ b/autodoc/inc/ary/actions.hxx @@ -0,0 +1,141 @@ +/************************************************************************* + * + * $RCSfile: actions.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:10:09 $ + * + * 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_ACTIONS_HXX +#define ARY_ACTIONS_HXX + +// VERSION: Autodoc 2.2 + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace n22 +{ + class RepositoryCenter; +} + + +/* +enum E_Action +{ + action_Parse, + action_SecondaryProductions, + action_Save, + action_Load, + action_ReadyForRead +}; +*/ + + +/** @resp + Performs such commands on the repository, which refer to + large parts of it. + + @collab ::ary::Repository + and its components and derivates. + @descr + This class works in kind of double dispatch way: + + // Client code: + Command_Xy aMyCommand; + ary::Repository::The_().PerformCommand( aMyCommand ); + + // Repository_Implementation::PerformCommand() code: + aMyCommand.Run(*this); + + // Command_Xy::Run(Repository_Implementation & rRepository) code: + rRepository.Run_Command_Xy(*this); +*/ +class Command +{ + public: + virtual ~Command() {} + + void Run( + n22::RepositoryCenter & + io_rReposy ); + private: + virtual void do_Run( + n22::RepositoryCenter & + io_rReposy ) = 0; +}; + + +// IMPLEMENTATION + +inline void +Command::Run(n22::RepositoryCenter & io_rReposy) + { do_Run(io_rReposy); } + + +} // namespace ary + + +#endif + + + diff --git a/autodoc/inc/ary/ary.hxx b/autodoc/inc/ary/ary.hxx index 85210c470239..6e0fb9f4b1be 100644 --- a/autodoc/inc/ary/ary.hxx +++ b/autodoc/inc/ary/ary.hxx @@ -2,9 +2,9 @@ * * $RCSfile: ary.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:13 $ + * last change: $Author: np $ $Date: 2002-11-01 17:10:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -62,28 +62,123 @@ #ifndef ARY_ARY_HXX #define ARY_ARY_HXX +// VERSION: Autodoc 2.2 + // USED SERVICES // BASE CLASSES // COMPONENTS // PARAMETERS - namespace ary { + class Command; + +#if 0 // Version 2.2 +// namespace cpp +// { +// class Gate; +// } +#endif // Version 2.2 + namespace idl + { + class Gate; + } + +namespace n22 +{ + +/** Starting point for all work with the + Autodoc Sourcecode Repository. + + @resp + Create and destroy the repository and + give access to the "Gates" for different tasks. + + @collab ::ary::cpp::Gate + @collab ::ary::idl::Gate +*/ + +class Repository +{ + public: + // LIFECYCLE + virtual ~Repository() { } + static Repository & Create_( + const String & i_sName ); /// May be 0. Then a default is used. + static Repository & The_(); + static void Destroy_(); /// Destroys the Repository. + + // OPERATIONS + void Perform( + ::ary::Command & io_rCommand ); + + // INQUIRY + const String & Name() const; + const ::ary::idl::Gate & + Gate_Idl() const; + + // ACCESS + ::ary::idl::Gate & Gate_Idl(); + +#if 0 // Version 2.2 +// const cpp::Gate & Gate_Cpp() const; +// cpp::Gate & Gate_Cpp(); +#endif // Version 2.2 + + private: + // Locals + virtual void do_Perform(::ary::Command & io_rCommand) = 0; + virtual const String & inq_Name() const = 0; + virtual const ::ary::idl::Gate & inq_Gate_Idl() const = 0; + virtual ::ary::idl::Gate & access_Gate_Idl() = 0; + +#if 0 // Version 2.2 +// virtual const cpp::Gate & inq_Gate_Cpp() const = 0; +// virtual cpp::Gate & access_Gate_Cpp() = 0; +#endif // Version 2.2 +}; + + + + +// IMPLEMENTATION +inline void +Repository::Perform( ::ary::Command & io_rCommand ) + { do_Perform(io_rCommand); } + +inline const String & +Repository::Name() const + { return inq_Name(); } + +inline const ::ary::idl::Gate & +Repository::Gate_Idl() const + { return inq_Gate_Idl(); } + +inline ::ary::idl::Gate & +Repository::Gate_Idl() + { return access_Gate_Idl(); } + +#if 0 // Version 2.2 +/* +inline const cpp::Gate & +Repository::Gate_Cpp() const + { return inq_Gate_Cpp(); } +inline cpp::Gate & +Repository::Gate_Cpp() + { return access_Gate_Cpp(); } +*/ +#endif // Version 2.2 + + +} // namespace n22 + + namespace cpp { class RwGate; class DisplayGate; } - namespace uidl - { - class Gate; - } -// namespace java -// { -// class RwGate; -// } class IdGenerator; @@ -118,7 +213,6 @@ class Repository // ACCESS cpp::RwGate & RwGate_Cpp(); - uidl::Gate & RwGate_Idl(); private: @@ -128,8 +222,6 @@ class Repository inq_Name() const = 0; virtual cpp::RwGate & access_RwGate_Cpp() = 0; - virtual uidl::Gate & - access_RwGate_Idl() = 0; }; @@ -144,9 +236,6 @@ Repository::Name() const inline cpp::RwGate & Repository::RwGate_Cpp() { return access_RwGate_Cpp(); } -inline uidl::Gate & -Repository::RwGate_Idl() - { return access_RwGate_Idl(); } } // namespace ary diff --git a/autodoc/inc/ary/idl/i_attribute.hxx b/autodoc/inc/ary/idl/i_attribute.hxx new file mode 100644 index 000000000000..dcc3c0728759 --- /dev/null +++ b/autodoc/inc/ary/idl/i_attribute.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: i_attribute.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:04 $ + * + * 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_IDL_I_ATTRIBUTE_HXX +#define ARY_IDL_I_ATTRIBUTE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_attribute +{ + struct attr; +} + +/* OPEN? +*/ + +/** @resp + Represents an IDL property. +*/ +class Attribute : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2014 }; + + // LIFECYCLE + Attribute( + const String & i_sName, + Ce_id i_nService, + Ce_id i_nModule, + Type_id i_nType, + bool i_bReadonly ); + ~Attribute(); + // INQUIRY + Type_id Type() const; + bool IsReadonly() const; + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_attribute::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + Type_id nType; + bool bReadonly; +}; + + + +// IMPLEMENTATION + +inline Type_id +Attribute::Type() const + { return nType; } + +inline bool +Attribute::IsReadonly() const + { return bReadonly; } + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_ce.hxx b/autodoc/inc/ary/idl/i_ce.hxx new file mode 100644 index 000000000000..da5385c22fa9 --- /dev/null +++ b/autodoc/inc/ary/idl/i_ce.hxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: i_ce.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:06 $ + * + * 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_IDL_I_CE_HXX +#define ARY_IDL_I_CE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/re.hxx> + // COMPONENTS +#include <ary/idl/i_ce2s.hxx> + // PARAMETERS +#include <ary/idl/i_language.hxx> + + +namespace ary +{ + +namespace info +{ + class CodeInformation; +} + +namespace idl +{ + +class CeHost; + + +/** @resp Base class for all IDL code entities. + + A @->CodeEntity is a namespace, type, data or function, which occures in + the parsed UNO IDL code and is described and/or commented within the + Autodoc repository. + + This is a storage base class, where more special classes are + derived from. +*/ +class CodeEntity : public n22::RepositoryEntity +{ + public: + // LIFECYCLE + virtual ~CodeEntity(); + + // OPERATION + + // INQUIRY + Ce_id CeId() const { return Ce_id(Id()); } + const String & LocalName() const; + Ce_id NameRoom() const; + Ce_id Owner() const; + E_SightLevel SightLevel() const; + + const ary::info::CodeInformation * + Docu() const; + const Ce_2s & Secondaries() const; + + static const CodeEntity & + Null_(); + // ACCESS + void Set_Docu( + DYN ary::info::CodeInformation * + pass_dpDocu ); + Ce_2s & Secondaries(); + + protected: + CodeEntity(); + private: + // Interface RepositoryEntity: + virtual void do_Visit(::ary::Host & o_rHost) const; + + // Locals + virtual void do_Visit_CeHost(CeHost & o_rHost) const = 0; + virtual const String & inq_LocalName() const = 0; + virtual Ce_id inq_NameRoom() const = 0; + virtual Ce_id inq_Owner() const = 0; + virtual E_SightLevel inq_SightLevel() const = 0; + + // DATA + Dyn<ary::info::CodeInformation> + pDocu; + Dyn<Ce_2s> p2s; +}; + + +// IMPLEMENTATION + +inline const String & +CodeEntity::LocalName() const + { return inq_LocalName(); } + +inline Ce_id +CodeEntity::NameRoom() const + { return inq_NameRoom(); } + +inline Ce_id +CodeEntity::Owner() const + { return inq_Owner(); } + +inline E_SightLevel +CodeEntity::SightLevel() const + { return inq_SightLevel(); } + +inline const ary::info::CodeInformation * +CodeEntity::Docu() const + { return pDocu ? pDocu.Ptr() : 0; } + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_ce2s.hxx b/autodoc/inc/ary/idl/i_ce2s.hxx new file mode 100644 index 000000000000..aabd63d48e4b --- /dev/null +++ b/autodoc/inc/ary/idl/i_ce2s.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * $RCSfile: i_ce2s.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:08 $ + * + * 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_IDL_I_CE2S_HXX +#define ARY_IDL_I_CE2S_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> + + +namespace ary +{ + +namespace idl +{ + + + +/** Abstract base for all secondary productions of code entities +*/ +class Ce_2s +{ + public: + // LIFECYCLE + virtual ~Ce_2s(); + + static DYN Ce_2s * Create_( + RCid i_nCeClass ); + // OPERATIONS + void Add_Link2DescriptionInManual( + const String & i_link ) + { aDescriptionsInManual.push_back(i_link); } + void Add_Link2RefInManual( + const String & i_link ) + { aRefsInManual.push_back(i_link); } + std::vector<Ce_id> & + Access_List( + int i_indexOfList ); + // INQUIRY + const StringVector & + Links2DescriptionInManual() const + { return aDescriptionsInManual; } + const StringVector & + Links2RefsInManual() const + { return aRefsInManual; } + int CountXrefLists() const { return aXrefLists.size(); } + const std::vector<Ce_id> & + List( + int i_indexOfList ) const; + private: + typedef DYN std::vector<Ce_id> * ListPtr; + + // DATA + StringVector aDescriptionsInManual; + StringVector aRefsInManual; + std::vector<ListPtr> + aXrefLists; +}; + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_constant.hxx b/autodoc/inc/ary/idl/i_constant.hxx new file mode 100644 index 000000000000..2743e72a463f --- /dev/null +++ b/autodoc/inc/ary/idl/i_constant.hxx @@ -0,0 +1,154 @@ +/************************************************************************* + * + * $RCSfile: i_constant.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:10 $ + * + * 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_IDL_I_CONSTANT_HXX +#define ARY_IDL_I_CONSTANT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_constant +{ +struct attr; +} + +/* OPEN? +*/ + +/** @resp + Represents an IDL constant. +*/ +class Constant : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2012 }; + + // LIFECYCLE + Constant( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nType, + const String & i_sInitValue ); + ~Constant(); +#if ENABLE_UDM + static void SetupUdmTraits_( + udm::struct_traits<Constant> & + o_rTraits ); +#endif // ENABLE_UDM + + // INQUIRY + Type_id Type() const; + const String & Value() const; + + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_constant::attr; + + // DATA + String sName; + Ce_id nNameRoom; + Ce_id nOwner; + + Type_id nType; + String sInitValue; +}; + + + +// IMPLEMENTATION + +inline Type_id +Constant::Type() const + { return nType; } + +inline const String & +Constant::Value() const + { return sInitValue; } + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_constgroup.hxx b/autodoc/inc/ary/idl/i_constgroup.hxx new file mode 100644 index 000000000000..7fc4b26f1b6d --- /dev/null +++ b/autodoc/inc/ary/idl/i_constgroup.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: i_constgroup.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11: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_IDL_I_CONSTGROUP_HXX +#define ARY_IDL_I_CONSTGROUP_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_constgroup +{ + struct attr; +} + + + +/* OPEN? +*/ + +/** @resp + Represents an IDL constants group. +*/ +class ConstantsGroup : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2011 }; + + // LIFECYCLE + ConstantsGroup( + const String & i_sName, + Ce_id i_nModule ); + ~ConstantsGroup(); + // OPERATIONS + + // ACCESS + void Add_Constant( + Ce_id i_nConstant ); + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + typedef std::vector<Ce_id> ConstantList; + friend struct ifc_constgroup::attr; + + // DATA + String sName; + Ce_id nModule; + + ConstantList aConstants; +}; + + + +// IMPLEMENTATION + +inline void +ConstantsGroup::Add_Constant( Ce_id i_nConstant ) + { aConstants.push_back(i_nConstant); } + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_enum.hxx b/autodoc/inc/ary/idl/i_enum.hxx new file mode 100644 index 000000000000..37e674d4e031 --- /dev/null +++ b/autodoc/inc/ary/idl/i_enum.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * $RCSfile: i_enum.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11: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_IDL_I_ENUM_HXX +#define ARY_IDL_I_ENUM_HXX + + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + +namespace ifc_enum +{ + struct attr; +} + + + +/* OPEN? +*/ + +/** @resp + Represents an IDL enum. +*/ +class Enum : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2005 }; + // LIFECYCLE + Enum( + const String & i_sName, + Ce_id i_nOwner ); + ~Enum(); + // ACCESS + void Add_Value( + Ce_id i_nValue ); + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + typedef std::vector<Ce_id> ValueList; + friend struct ifc_enum::attr; + + // DATA + String sName; + Ce_id nOwner; + + ValueList aValues; +}; + + + +// IMPLEMENTATION + + +inline void +Enum::Add_Value( Ce_id i_nValue ) + { aValues.push_back(i_nValue); } + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_enumvalue.hxx b/autodoc/inc/ary/idl/i_enumvalue.hxx new file mode 100644 index 000000000000..2ebd2a13286f --- /dev/null +++ b/autodoc/inc/ary/idl/i_enumvalue.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: i_enumvalue.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11: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_IDL_I_ENUMVALUE_HXX +#define ARY_IDL_I_ENUMVALUE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_enumvalue +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL enum value. +*/ +class EnumValue : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2006 }; + + // LIFECYCLE + EnumValue( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + const String & i_sInitValue ); + ~EnumValue(); +#if ENABLE_UDM + static void SetupUdmTraits_( + udm::struct_traits<EnumValue> & + o_rTraits ); +#endif // ENABLE_UDM + + // INQUIRY + const String & Value() const; + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_enumvalue::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + String sValue; +}; + + + +// IMPLEMENTATION + +inline const String & +EnumValue::Value() const + { return sValue; } + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_exception.hxx b/autodoc/inc/ary/idl/i_exception.hxx new file mode 100644 index 000000000000..62b79e7ebdaa --- /dev/null +++ b/autodoc/inc/ary/idl/i_exception.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: i_exception.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:19 $ + * + * 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_IDL_I_EXCEPTION_HXX +#define ARY_IDL_I_EXCEPTION_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_exception +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL exception. +*/ +class Exception : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2010 }; + + // LIFECYCLE + Exception( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ); + ~Exception(); + // INQUIRY + Type_id Base() const { return nBase; } + + // ACCESS + void Add_Member( + Ce_id i_nMember ); + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + typedef std::vector<Ce_id> ElementList; + friend struct ifc_exception::attr; + + // DATA + String sName; + Ce_id nOwner; + + Type_id nBase; + ElementList aElements; +}; + + + +// IMPLEMENTATION + + +inline void +Exception::Add_Member( Ce_id i_nMember ) + { aElements.push_back(i_nMember); } + + +} // namespace idl +} // namespace ary + + +#endif + + diff --git a/autodoc/inc/ary/idl/i_function.hxx b/autodoc/inc/ary/idl/i_function.hxx new file mode 100644 index 000000000000..d01da86f2d23 --- /dev/null +++ b/autodoc/inc/ary/idl/i_function.hxx @@ -0,0 +1,189 @@ +/************************************************************************* + * + * $RCSfile: i_function.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:22 $ + * + * 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_IDL_I_FUNCTION_HXX +#define ARY_IDL_I_FUNCTION_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS +#include <ary/idl/i_param.hxx> + // PARAMETERS +#include <ary/idl/ik_function.hxx> +#include <ary/stdconstiter.hxx> + + + +namespace ary +{ +namespace idl +{ + + +/* OPEN? +*/ + +/** @resp + Represents an IDL module. +*/ +class Function : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2002 }; + + typedef std::vector< Parameter > ParamList; + typedef std::vector< Type_id > ExceptionList; + + // LIFECYCLE + Function( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nReturnType, + bool i_bConst, + bool i_bOneWay ); + ~Function(); + + // OPERATIONS + void Add_Parameter( + const String & i_sName, + Type_id i_nType, + E_ParameterDirection + i_eDirection ); + void Add_Exception( + Type_id i_nException ); + + // INQUIRY + Type_id ReturnType() const; + const ParamList & Parameters() const { return aParameters; } + const ExceptionList & + Exceptions() const { return aExceptions; } + bool IsConst() const; + bool IsOneway() const; + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + friend struct ifc_function::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + Type_id nReturnType; + ParamList aParameters; + ExceptionList aExceptions; + bool bConst; + bool bOneWay; +}; + + + +// IMPLEMENTATION + +inline void +Function::Add_Parameter( const String & i_sName, + Type_id i_nType, + E_ParameterDirection i_eDirection ) +{ + aParameters.push_back( Parameter(i_sName,i_nType,i_eDirection) ); +} + +inline void +Function::Add_Exception( Type_id i_nException ) +{ + aExceptions.push_back(i_nException); +} + +inline Type_id +Function::ReturnType() const + { return nReturnType; } + +inline bool +Function::IsConst() const + { return bConst; } + +inline bool +Function::IsOneway() const + { return bOneWay; } + + + +} // namespace idl +} // namespace ary + + + +#endif + diff --git a/autodoc/inc/ary/idl/i_gate.hxx b/autodoc/inc/ary/idl/i_gate.hxx new file mode 100644 index 000000000000..0237e2f9422b --- /dev/null +++ b/autodoc/inc/ary/idl/i_gate.hxx @@ -0,0 +1,154 @@ +/************************************************************************* + * + * $RCSfile: i_gate.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:25 $ + * + * 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_IDL_I_GATE_HXX +#define ARY_IDL_I_GATE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/common_gate.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ + +namespace idl +{ + +class CePilot; +class TypePilot; +class SecondariesPilot; + + +/** Main entry to access the C++ parts of the repository. +*/ +class Gate : public ::ary::CommonGate +{ + public: + // LIFECYCLE + virtual Gate::~Gate() {} + + // OPERATIONS + + // INQUIRY + const CePilot & Ces() const; + const TypePilot & Types() const; + const SecondariesPilot & + Secondaries() const; + + // ACCESS + CePilot & Ces(); + TypePilot & Types(); + SecondariesPilot & Secondaries(); + + private: + // Locals + Gate & MutableMe() const; + + virtual CePilot & access_Ces() = 0; + virtual TypePilot & access_Types() = 0; + virtual SecondariesPilot & + access_Secondaries() = 0; +}; + + + + +// IMPLEMENTATION + +inline Gate & +Gate::MutableMe() const + { return const_cast< Gate& >(*this); } + +inline const CePilot & +Gate::Ces() const + { return MutableMe().access_Ces(); } + +inline const TypePilot & +Gate::Types() const + { return MutableMe().access_Types(); } + +inline const SecondariesPilot & +Gate::Secondaries() const + { return MutableMe().access_Secondaries(); } + +inline CePilot & +Gate::Ces() + { return access_Ces(); } + +inline TypePilot & +Gate::Types() + { return access_Types(); } + +inline SecondariesPilot & +Gate::Secondaries() + { return access_Secondaries(); } + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_interface.hxx b/autodoc/inc/ary/idl/i_interface.hxx new file mode 100644 index 000000000000..ea6ea5fa8bcc --- /dev/null +++ b/autodoc/inc/ary/idl/i_interface.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * $RCSfile: i_interface.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:27 $ + * + * 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_IDL_I_INTERFACE_HXX +#define ARY_IDL_I_INTERFACE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS +#include <ary/stdconstiter.hxx> + + +namespace ary +{ +namespace idl +{ +namespace ifc_interface +{ + struct attr; +} + +class Interface_2s; + +/** @resp + Represents an IDL interface. +*/ +class Interface : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2001 }; + + + // LIFECYCLE + Interface( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ); + ~Interface(); + // INQUIRY + Type_id Base() const; + + // ACCESS + void Add_Function( + Ce_id i_nId ); + void Add_Attribute( + Ce_id i_nId ); + + private: + // Interface ary::RepositoryEntity: + virtual RCid inq_ClassId() const; + + // Interface CodeEntity: + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Local + typedef std::vector<Ce_id> MemberList; + friend struct ifc_interface::attr; + + // DATA + String sName; + Ce_id nOwner; + Type_id nBase; + MemberList aFunctions; + MemberList aAttributes; + + Dyn<Interface_2s> p2s; +}; + + + +// IMPLEMENTATION + +inline Type_id +Interface::Base() const + { return nBase; } + +inline void +Interface::Add_Function( Ce_id i_nId ) + { aFunctions.push_back(i_nId); } +inline void +Interface::Add_Attribute( Ce_id i_nId ) + { aAttributes.push_back(i_nId); } + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_module.hxx b/autodoc/inc/ary/idl/i_module.hxx new file mode 100644 index 000000000000..399a2d21f0ba --- /dev/null +++ b/autodoc/inc/ary/idl/i_module.hxx @@ -0,0 +1,163 @@ +/************************************************************************* + * + * $RCSfile: i_module.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:29 $ + * + * 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_IDL_I_MODULE_HXX +#define ARY_IDL_I_MODULE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS +#include <ary/stdconstiter.hxx> + + +namespace ary +{ + +template <class> class NameTreeNode; + + +namespace idl +{ + +namespace ifc_module +{ + struct attr; +} + +class Gate; + + +/* OPEN? +*/ + +/** @resp + Represents an IDL module. + + @descr + + "Name" in methods means all code entities which belong into + this namespace (not in a subnamespace of this one), but not + to the subnamespaces. + + "SubNamespace" in method names refers to all direct subnamespaces. +*/ +class Module : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2000 }; + + // LIFECYCLE + Module(); + Module( + const String & i_sName, + const Module & i_rParent ); + ~Module(); + // OPERATIONS + void Add_Name( + const String & i_sName, + Ce_id i_nId ); + // INQUIRY + intt Depth() const; +// void Get_FullName( +// StringVector & o_rText, +// Ce_idList * o_pRelatedCes, +// const Gate & i_rGate ) const; + + Ce_id Search_Name( + const String & i_sName ) const; + void Get_Names( + Dyn_StdConstIterator<Ce_id> & + o_rResult ) const; + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_module::attr; + + // DATA + Dyn< NameTreeNode<Ce_id> > + pImpl; +}; + +inline bool +is_Module( const CodeEntity & i_rCe ) + { return i_rCe.ClassId() == Module::class_id; } + + +// IMPLEMENTATION + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_param.hxx b/autodoc/inc/ary/idl/i_param.hxx new file mode 100644 index 000000000000..82bb67df9f7f --- /dev/null +++ b/autodoc/inc/ary/idl/i_param.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * $RCSfile: i_param.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:30 $ + * + * 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_IDL_I_PARAM_HXX +#define ARY_IDL_I_PARAM_HXX + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_language.hxx> + // COMPONENTS + // PARAMETERS + + + +namespace ary +{ +namespace idl +{ + + + +/* OPEN? +*/ + +/** @resp + Represents an IDL module. +*/ +class Parameter +{ + public: + // LIFECYCLE + Parameter(); + Parameter( + const String & i_sName, + Type_id i_nType, + E_ParameterDirection + i_eDirection ); + ~Parameter(); + + // INQUIRY + const String & Name() const { return sName; } + Type_id Type() const { return nType; } + E_ParameterDirection + Direction() const { return eDirection; } + + private: + // DATA + String sName; + Type_id nType; + E_ParameterDirection + eDirection; +}; + + + +// IMPLEMENTATION + + +} // namespace idl +} // namespace ary + + + +#endif + diff --git a/autodoc/inc/ary/idl/i_property.hxx b/autodoc/inc/ary/idl/i_property.hxx new file mode 100644 index 000000000000..7bb7e15086fd --- /dev/null +++ b/autodoc/inc/ary/idl/i_property.hxx @@ -0,0 +1,180 @@ +/************************************************************************* + * + * $RCSfile: i_property.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:31 $ + * + * 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_IDL_I_PROPERTY_HXX +#define ARY_IDL_I_PROPERTY_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_property +{ + struct attr; +} + +/* OPEN? +*/ + +/** @resp + Represents an IDL property. +*/ +class Property : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2004 }; + + class Stereotypes + { + public: + enum E_Flags + { + readonly = 1, + bound = 2, + constrained = 4, + maybeambigious = 8, + maybedefault = 16, + maybevoid = 32, + removable = 64, + transient = 128, + s_MAX + }; + Stereotypes() : nFlags(0) {} + + bool HasAny() const { return nFlags != 0; } + bool IsReadOnly() const { return (nFlags & UINT32(readonly)) != 0; } + bool IsBound() const { return (nFlags & UINT32(bound)) != 0; } + bool IsConstrained() const + { return (nFlags & UINT32(constrained)) != 0; } + bool IsMayBeAmbigious() const + { return (nFlags & UINT32(maybeambigious)) != 0; } + bool IsMayBeDefault() const + { return (nFlags & UINT32(maybedefault)) != 0; } + bool IsMayBeVoid() const { return (nFlags & UINT32(maybevoid)) != 0; } + bool IsRemovable() const { return (nFlags & UINT32(removable)) != 0; } + bool IsTransient() const { return (nFlags & UINT32(transient)) != 0; } + + void Set_Flag( + E_Flags i_flag ) + { nFlags |= UINT32(i_flag); } + private: + // DATA + UINT32 nFlags; + }; + + + // LIFECYCLE + Property( + const String & i_sName, + Ce_id i_nService, + Ce_id i_nModule, + Type_id i_nType, + Stereotypes i_stereotypes ); + ~Property(); + // INQUIRY + Type_id Type() const; + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_property::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + Type_id nType; + Stereotypes aStereotypes; +}; + + + +// IMPLEMENTATION + +inline Type_id +Property::Type() const + { return nType; } + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_service.hxx b/autodoc/inc/ary/idl/i_service.hxx new file mode 100644 index 000000000000..a4e337e5d211 --- /dev/null +++ b/autodoc/inc/ary/idl/i_service.hxx @@ -0,0 +1,182 @@ +/************************************************************************* + * + * $RCSfile: i_service.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:33 $ + * + * 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_IDL_I_SERVICE_HXX +#define ARY_IDL_I_SERVICE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS +#include <ary/stdconstiter.hxx> +#include <ary/idl/ik_service.hxx> + +namespace ary +{ +namespace info +{ + class CodeInformation; +} +namespace idl +{ +namespace ifc_service +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL service. +*/ +class Service : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2003 }; + + // LIFECYCLE + Service( + const String & i_sName, + Ce_id i_nOwner ); + ~Service(); +#if ENABLE_UDM + static void SetupUdmTraits_( + udm::struct_traits<Service> & + o_rTraits ); +#endif // ENABLE_UDM + + // INQUIRY + void Get_SupportedInterfaces( + Dyn_StdConstIterator<CommentedReference> & + o_rResult ) const; + void Get_IncludedServices( + Dyn_StdConstIterator<CommentedReference> & + o_rResult ) const; + + // ACCESS + void Add_Property( + Ce_id i_nProperty ); + void AddRef_IncludedService( + Type_id i_nService, + DYN info::CodeInformation * + pass_dpDocu ); + void AddRef_SupportedInterface( + Type_id i_nInterface, + DYN info::CodeInformation * + pass_dpDocu ); + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + typedef std::vector< CommentedReference > ReferenceList; + typedef std::vector<Ce_id> PropertyList; + friend struct ifc_service::attr; + + // DATA + String sName; + Ce_id nOwner; + + ReferenceList aIncludedServices; + ReferenceList aSupportedInterfaces; + PropertyList aProperties; +}; + + + +// IMPLEMENTATION + + +inline void +Service::Add_Property( Ce_id i_nProperty ) + { aProperties.push_back(i_nProperty); } + +inline void +Service::AddRef_IncludedService( Type_id i_nService, + DYN info::CodeInformation * pass_dpDocu ) + { aIncludedServices.push_back( + ReferenceList::value_type(i_nService,pass_dpDocu) ); } + +inline void +Service::AddRef_SupportedInterface( Type_id i_nInterface, + DYN info::CodeInformation * pass_dpDocu ) + { aSupportedInterfaces.push_back( + ReferenceList::value_type(i_nInterface,pass_dpDocu) ); } + + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_singleton.hxx b/autodoc/inc/ary/idl/i_singleton.hxx new file mode 100644 index 000000000000..2df1c11a7db6 --- /dev/null +++ b/autodoc/inc/ary/idl/i_singleton.hxx @@ -0,0 +1,140 @@ +/************************************************************************* + * + * $RCSfile: i_singleton.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:34 $ + * + * 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_IDL_I_SINGLETON_HXX +#define ARY_IDL_I_SINGLETON_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + +namespace ary +{ +namespace idl +{ +namespace ifc_singleton +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL singleton. +*/ +class Singleton : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2013 }; + + // LIFECYCLE + Singleton( + const String & i_sName, + Ce_id i_nOwner ); + ~Singleton(); + // INQUIRY + Type_id AssociatedService() const + { return nService; } + + // ACCESS + void Set_Service( + Type_id i_nService ); + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + friend struct ifc_singleton::attr; + + // DATA + String sName; + Ce_id nOwner; + + Type_id nService; +}; + + + +// IMPLEMENTATION + + +inline void +Singleton::Set_Service( Type_id i_nService ) + { nService = i_nService; } + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_struct.hxx b/autodoc/inc/ary/idl/i_struct.hxx new file mode 100644 index 000000000000..6158f54ceaf5 --- /dev/null +++ b/autodoc/inc/ary/idl/i_struct.hxx @@ -0,0 +1,146 @@ +/************************************************************************* + * + * $RCSfile: i_struct.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:35 $ + * + * 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_IDL_I_STRUCT_HXX +#define ARY_IDL_I_STRUCT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_struct +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL struct. +*/ +class Struct : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2008 }; + + // LIFECYCLE + Struct( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ); + ~Struct(); + // INQUIRY + Type_id Base() const { return nBase; } + + // ACCESS + void Add_Member( + Ce_id i_nMember ); + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + // Locals + typedef std::vector<Ce_id> ElementList; + friend struct ifc_struct::attr; + + // DATA + String sName; + Ce_id nOwner; + + Type_id nBase; + ElementList aElements; +}; + + + +// IMPLEMENTATION + +inline void +Struct::Add_Member( Ce_id i_nMember ) + { aElements.push_back(i_nMember); } + + +} // namespace idl +} // namespace ary + + +#endif + + diff --git a/autodoc/inc/ary/idl/i_structelem.hxx b/autodoc/inc/ary/idl/i_structelem.hxx new file mode 100644 index 000000000000..e534487fc094 --- /dev/null +++ b/autodoc/inc/ary/idl/i_structelem.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: i_structelem.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:36 $ + * + * 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_IDL_I_STRUCTELEM_HXX +#define ARY_IDL_I_STRUCTELEM_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_structelement +{ + struct attr; +} + + +/* OPEN? +*/ + +/** @resp + Represents an IDL struct element. +*/ +class StructElement : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2009 }; + + // LIFECYCLE + StructElement( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nType ); + ~StructElement(); +#if ENABLE_UDM + static void SetupUdmTraits_( + udm::struct_traits<StructElement> & + o_rTraits ); +#endif // ENABLE_UDM + + // INQUIRY + Type_id Type() const; + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_structelement::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + Type_id nType; +}; + + + +// IMPLEMENTATION + +inline Type_id +StructElement::Type() const + { return nType; } + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/i_type.hxx b/autodoc/inc/ary/idl/i_type.hxx new file mode 100644 index 000000000000..a9295a476b13 --- /dev/null +++ b/autodoc/inc/ary/idl/i_type.hxx @@ -0,0 +1,149 @@ +/************************************************************************* + * + * $RCSfile: i_type.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:39 $ + * + * 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_IDL_I_TYPE_HXX +#define ARY_IDL_I_TYPE_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <ary/re.hxx> + // PARAMETERS +#include <ary/idl/i_language.hxx> + + +namespace ary +{ +namespace idl +{ + +class Gate; + + +/** Abstract base for all secondary productions of types +*/ +class Type_2s +{ + public: + virtual ~Type_2s() {} + + static DYN Type_2s * + Create_( + RCid i_nCeId ); +}; + + +/** @resp Base of all IDL types. + + @->Type represents the occurence of a type as base, + parameter, return type or element type in UNO IDL code. + Some of them relate to a @->CodeEntity, but + the @->Type "MyInterface" is something different than + the @->CodeEntity "MyInterface". + + This is a storage base class, where more special + classes are derived from. +*/ +class Type : public n22::RepositoryEntity +{ + public: + typedef Type_2s secondary_productions; + + // LIFECYCLE + virtual ~Type() {} + + // INQUIRY + Type_id TypeId() const { return Type_id(Id()); } + + /// @descr Does NOT clear the output-parameters. + void Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequenceCount, + const Gate & i_rGate ) const; + private: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const = 0; +}; + +inline void +Type::Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequenceCount, + const Gate & i_rGate ) const +{ + inq_Get_Text(o_module,o_name,o_nRelatedCe,o_nSequenceCount,i_rGate); +} + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/i_typedef.hxx b/autodoc/inc/ary/idl/i_typedef.hxx new file mode 100644 index 000000000000..9fcee32c5e5f --- /dev/null +++ b/autodoc/inc/ary/idl/i_typedef.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * $RCSfile: i_typedef.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:42 $ + * + * 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_IDL_I_TYPEDEF_HXX +#define ARY_IDL_I_TYPEDEF_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_typedef +{ + struct attr; +} + +/* OPEN? +*/ + +/** @resp + Represents an IDL typedef. +*/ +class Typedef : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2007 }; + + // LIFECYCLE + Typedef( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nDefiningType ); + ~Typedef(); + + Type_id DefiningType() const { return nDefiningType; } + + private: + // Interface ary::RepositoryEntity + virtual RCid inq_ClassId() const; + + // Interface CodeEntity + virtual void do_Visit_CeHost(CeHost & o_rHost) const; + virtual const String & inq_LocalName() const; + virtual Ce_id inq_NameRoom() const; + virtual Ce_id inq_Owner() const; + virtual E_SightLevel inq_SightLevel() const; + + friend struct ifc_typedef::attr; + + // DATA + String sName; + Ce_id nOwner; + + Type_id nDefiningType; +}; + + + +// IMPLEMENTATION + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_attribute.hxx b/autodoc/inc/ary/idl/ik_attribute.hxx new file mode 100644 index 000000000000..5e8c196a668e --- /dev/null +++ b/autodoc/inc/ary/idl/ik_attribute.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: ik_attribute.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:46 $ + * + * 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_IDL_IK_ATTRIBUTE_HXX +#define ARY_IDL_IK_ATTRIBUTE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_attribute +{ + +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static bool IsReadOnly( + const CodeEntity & i_ce ); + static Type_id Type( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_attribute + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_ce.hxx b/autodoc/inc/ary/idl/ik_ce.hxx new file mode 100644 index 000000000000..ff843c91379b --- /dev/null +++ b/autodoc/inc/ary/idl/ik_ce.hxx @@ -0,0 +1,179 @@ +/************************************************************************* + * + * $RCSfile: ik_ce.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:47 $ + * + * 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, +7 * 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_IDL_IK_CE_HXX +#define ARY_IDL_IK_CE_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> +#include <ary/stdconstiter.hxx> + +namespace ary +{ +namespace info +{ + class Text; +} +namespace idl +{ + + +namespace ifc_ce +{ + + +typedef ::ary::Dyn_StdConstIterator<Ce_id> Dyn_CeIterator; +typedef ::ary::Dyn_StdConstIterator<Type_id> Dyn_TypeIterator; +typedef ::ary::info::Text DocText; + + + +struct attr +{ + static Ce_id CeId( + const CodeEntity & i_ce ); + static const String & + LocalName( + const CodeEntity & i_ce ); + static Ce_id NameRoom( + const CodeEntity & i_ce ); + static Rid Owner( + const CodeEntity & i_ce ); + static E_SightLevel SightLevel( + const CodeEntity & i_ce ); + static bool Search_Member( + const CodeEntity & i_ce, + const String & i_memberName ) + { return true; } // KORR_FUTURE +}; + +struct xref +{ +}; + +struct doc +{ + static const DocText & + ShortInfo( /// @return a short description of the CodeEntity + const CodeEntity & i_ce ); + + static const DocText & + TagAuthor( + const CodeEntity & i_ce ); + static const DocText & + TagExample( + const CodeEntity & i_ce ); + static const DocText & + TagDescr( + const CodeEntity & i_ce ); + static const DocText & + TagGuarantees( + const CodeEntity & i_ce ); + static const DocText & + TagKey( + const CodeEntity & i_ce ); + static const DocText & + TagMissing( + const CodeEntity & i_ce ); + static const DocText & + TagSee( + const CodeEntity & i_ce ); + static const DocText & + TagShort( + const CodeEntity & i_ce ); + static const DocText & + TagVersion( + const CodeEntity & i_ce ); + + void Get_UnkownTags( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + + bool IsDeprecated( + const CodeEntity & i_ce ); + bool IsIncomplete( + const CodeEntity & i_ce ); + bool IsInternal( + const CodeEntity & i_ce ); + bool IsNodoc( + const CodeEntity & i_ce ); + bool IsOptional( + const CodeEntity & i_ce ); + bool IsSuspicious( + const CodeEntity & i_ce ); + +}; + + +} // namespace ifc_ce + + +} // namspace idl +} // namspace ary + +#endif + + diff --git a/autodoc/inc/ary/idl/ik_constant.hxx b/autodoc/inc/ary/idl/ik_constant.hxx new file mode 100644 index 000000000000..312de80bb78b --- /dev/null +++ b/autodoc/inc/ary/idl/ik_constant.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * $RCSfile: ik_constant.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:49 $ + * + * 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_IDL_IK_CONSTANT_HXX +#define ARY_IDL_IK_CONSTANT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_constant +{ + +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id Type( + const CodeEntity & i_ce ); + static const String & + Value( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_constant + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_constgroup.hxx b/autodoc/inc/ary/idl/ik_constgroup.hxx new file mode 100644 index 000000000000..0633b39d1cff --- /dev/null +++ b/autodoc/inc/ary/idl/ik_constgroup.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: ik_constgroup.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:50 $ + * + * 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_IDL_IK_CONSTGROUP_HXX +#define ARY_IDL_IK_CONSTGROUP_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_constgroup +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static void Get_Constants( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_constgroup + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_enum.hxx b/autodoc/inc/ary/idl/ik_enum.hxx new file mode 100644 index 000000000000..d4ddaf4d66b7 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_enum.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * $RCSfile: ik_enum.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:51 $ + * + * 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_IDL_IK_ENUM_HXX +#define ARY_IDL_IK_ENUM_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_enum +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static void Get_Values( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_SynonymTypedefs( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_enum + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_enumvalue.hxx b/autodoc/inc/ary/idl/ik_enumvalue.hxx new file mode 100644 index 000000000000..c60be176bc01 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_enumvalue.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: ik_enumvalue.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:52 $ + * + * 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_IDL_IK_ENUMVALUE_HXX +#define ARY_IDL_IK_ENUMVALUE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_enumvalue +{ + +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static const String & + Value( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_enumvalue + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_exception.hxx b/autodoc/inc/ary/idl/ik_exception.hxx new file mode 100644 index 000000000000..75e4b80fcfdd --- /dev/null +++ b/autodoc/inc/ary/idl/ik_exception.hxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * $RCSfile: ik_exception.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:53 $ + * + * 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_IDL_IK_EXCEPTION_HXX +#define ARY_IDL_IK_EXCEPTION_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_exception +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id Base( + const CodeEntity & i_ce ); + static void Get_Elements( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_Derivations( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_RaisingFunctions( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_exception + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_function.hxx b/autodoc/inc/ary/idl/ik_function.hxx new file mode 100644 index 000000000000..df64a9a55930 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_function.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * $RCSfile: ik_function.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:55 $ + * + * 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_IDL_IK_SERVICE_HXX +#define ARY_IDL_IK_SERVICE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_param.hxx> +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + + +namespace ifc_function +{ + +using ::ary::idl::ifc_ce::Dyn_CeIterator; +using ::ary::idl::ifc_ce::Dyn_TypeIterator; +using ::ary::idl::ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id ReturnType( + const CodeEntity & i_ce ); + static bool IsConst( + const CodeEntity & i_ce ); + static bool IsOneway( + const CodeEntity & i_ce ); + static void Get_Parameters( + Dyn_StdConstIterator<ary::idl::Parameter> & + o_result, + const CodeEntity & i_ce ); + static void Get_Exceptions( + Dyn_TypeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +// aStateMachine.AddToken( "@param", nTok_at_param, A_nAtTagDefStatus, finAtTag ); +// aStateMachine.AddToken( "@throws", nTok_at_throws, A_nAtTagDefStatus, finAtTag ); +// aStateMachine.AddToken( "@exception", +// aStateMachine.AddToken( "@return", nTok_at_return, A_nAtTagDefStatus, finAtTag ); +// aStateMachine.AddToken( "@returns", nTok_at_return, A_nAtTagDefStatus, finAtTag ); +}; + + +} // namespace ifc_function + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_interface.hxx b/autodoc/inc/ary/idl/ik_interface.hxx new file mode 100644 index 000000000000..fc3493bfa174 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_interface.hxx @@ -0,0 +1,140 @@ +/************************************************************************* + * + * $RCSfile: ik_interface.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:58 $ + * + * 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_IDL_IK_INTERFACE_HXX +#define ARY_IDL_IK_INTERFACE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +class InheritanceGraph; + +namespace idl +{ + +namespace ifc_interface +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::Dyn_TypeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id Base( + const CodeEntity & i_ce ); + static void Get_Functions( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Attributes( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_Derivations( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_SynonymTypedefs( /// like: typedef i_ce.LocalName() newName; + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_ExportingServices( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + +#if 0 + static void Get_UsingTypedefs( /// like: typedef sequence<i_ce.LocalName()> newNameSeq; + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsIndirectReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsIndirectParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +#endif // 0 +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_interface + +} // namespace idl +} // namespace ary + +#endif diff --git a/autodoc/inc/ary/idl/ik_module.hxx b/autodoc/inc/ary/idl/ik_module.hxx new file mode 100644 index 000000000000..e76eaa011178 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_module.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: ik_module.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:11:59 $ + * + * 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_IDL_IK_MODULE_HXX +#define ARY_IDL_IK_MODULE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +class CePilot; + +namespace ifc_module +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr : public ifc_ce::attr +{ + // KORR + // This has to be changed that way, that the differencing takes place + // within hfi_module.cxx and not here. + // So the class CePilot is not needed here, etc. + // Too much scope pollution. + static void Get_AllChildrenSeparated( + std::vector< const CodeEntity* > & o_nestedModules, + std::vector< const CodeEntity* > & o_services, + std::vector< const CodeEntity* > & o_interfaces, + std::vector< const CodeEntity* > & o_structs, + std::vector< const CodeEntity* > & o_exceptions, + std::vector< const CodeEntity* > & o_enums, + std::vector< const CodeEntity* > & o_typedefs, + std::vector< const CodeEntity* > & o_constantGroups, + std::vector< const CodeEntity* > & o_singletons, + const CePilot & i_pilot, + const CodeEntity & i_ce ); + + static void Get_SubModules( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Services( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Interfaces( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Structs( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Exceptions( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Enums( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_Typedefs( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_ConstantsGroups( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_module + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_property.hxx b/autodoc/inc/ary/idl/ik_property.hxx new file mode 100644 index 000000000000..633721bf839e --- /dev/null +++ b/autodoc/inc/ary/idl/ik_property.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * $RCSfile: ik_property.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:02 $ + * + * 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_IDL_IK_PROPERTY_HXX +#define ARY_IDL_IK_PROPERTY_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_property +{ + +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static bool HasAnyStereotype( + const CodeEntity & i_ce ); + static bool IsReadOnly( + const CodeEntity & i_ce ); + static bool IsBound( + const CodeEntity & i_ce ); + static bool IsConstrained( + const CodeEntity & i_ce ); + static bool IsMayBeAmbigious( + const CodeEntity & i_ce ); + static bool IsMayBeDefault( + const CodeEntity & i_ce ); + static bool IsMayBeVoid( + const CodeEntity & i_ce ); + static bool IsRemovable( + const CodeEntity & i_ce ); + static bool IsTransient( + const CodeEntity & i_ce ); + static Type_id Type( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_property + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_service.hxx b/autodoc/inc/ary/idl/ik_service.hxx new file mode 100644 index 000000000000..5b2ed4ca51e2 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_service.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: ik_service.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:03 $ + * + * 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_IDL_IK_SERVICE_HXX +#define ARY_IDL_IK_SERVICE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_service +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static void Get_IncludedServices( + Dyn_StdConstIterator<CommentedReference> & + o_result, + const CodeEntity & i_ce ); + static void Get_ExportedInterfaces( + Dyn_StdConstIterator<CommentedReference> & + o_result, + const CodeEntity & i_ce ); + static void Get_Properties( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_IncludingServices( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_InstantiatingSingletons( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_service + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_singleton.hxx b/autodoc/inc/ary/idl/ik_singleton.hxx new file mode 100644 index 000000000000..173987e5d280 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_singleton.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: ik_singleton.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:04 $ + * + * 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_IDL_IK_SINGLETON_HXX +#define ARY_IDL_IK_SINGLETON_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_singleton +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id AssociatedService( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_singleton + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_struct.hxx b/autodoc/inc/ary/idl/ik_struct.hxx new file mode 100644 index 000000000000..a67d7a19dc42 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_struct.hxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: ik_struct.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:05 $ + * + * 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_IDL_IK_STRUCT_HXX +#define ARY_IDL_IK_STRUCT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_struct +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id Base( + const CodeEntity & i_ce ); + static void Get_Elements( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_Derivations( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_SynonymTypedefs( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_struct + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/idl/ik_structelem.hxx b/autodoc/inc/ary/idl/ik_structelem.hxx new file mode 100644 index 000000000000..11d9164cfc1e --- /dev/null +++ b/autodoc/inc/ary/idl/ik_structelem.hxx @@ -0,0 +1,106 @@ +/************************************************************************* + * + * $RCSfile: ik_structelem.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:06 $ + * + * 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_IDL_IK_STRUCTELEM_HXX +#define ARY_IDL_IK_STRUCTELEM_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_structelement +{ + +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id Type( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_structelement + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_typedef.hxx b/autodoc/inc/ary/idl/ik_typedef.hxx new file mode 100644 index 000000000000..91269de6070f --- /dev/null +++ b/autodoc/inc/ary/idl/ik_typedef.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * $RCSfile: ik_typedef.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:08 $ + * + * 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_IDL_IK_TYPEDEF_HXX +#define ARY_IDL_IK_TYPEDEF_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + +namespace ary +{ +namespace idl +{ + +namespace ifc_typedef +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id DefiningType( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ + static void Get_SynonymTypedefs( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct doc : public ifc_ce::doc +{ +}; + +} // namespace ifc_typedef + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ip_ce.hxx b/autodoc/inc/ary/idl/ip_ce.hxx new file mode 100644 index 000000000000..8db79d12622b --- /dev/null +++ b/autodoc/inc/ary/idl/ip_ce.hxx @@ -0,0 +1,470 @@ +/************************************************************************* + * + * $RCSfile: ip_ce.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:10 $ + * + * 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_IDL_IP_CE_HXX +#define ARY_IDL_IP_CE_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> +#include <ary/idl/i_property.hxx> + + +namespace ary +{ + +class QualifiedName; + +namespace idl +{ + class Module; + + class ConstantsGroup; + class Enum; + class Exception; + class Interface; + class Service; + class Singleton; + class Struct; + class Typedef; + + class Attribute; + class Constant; + class EnumValue; + class Function; + class Property; + class StructElement; + class Variable; + + +/** @resp + Provides the access logic for all code entities. + + @interface +*/ +class CePilot +{ + public: + // LIFECYCLE + virtual ~CePilot() {} + + // OPERATIONS + Module & CheckIn_Module( + Ce_id i_nParentId, + const String & i_sName ); + Service & Store_Service( + Ce_id i_nOwner, + const String & i_sName ); + Interface & Store_Interface( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ); + Struct & Store_Struct( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ); + Exception & Store_Exception( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ); + Enum & Store_Enum( + Ce_id i_nOwner, + const String & i_sName ); + Typedef & Store_Typedef( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nDefiningType ); + ConstantsGroup & Store_ConstantsGroup( + Ce_id i_nOwner, + const String & i_sName ); + Singleton & Store_Singleton( + Ce_id i_nOwner, + const String & i_sName ); + + Constant & Store_Constant( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + const String & i_sValue ); + Property & Store_Property( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + Property::Stereotypes + i_stereotypes ); + Function & Store_Function( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nReturnType, + bool i_bOneWay, + bool i_bConst ); + StructElement & Store_StructMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ); + StructElement & Store_ExceptionMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ); + EnumValue & Store_EnumValue( + Ce_id i_nOwner, + const String & i_sName, + const String & i_sValue ); + Attribute & Store_Attribute( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + bool i_bReadOnly ); + // INQUIRY + const Module & GlobalNamespace() const; + const CodeEntity & Find_Ce( + Ce_id i_nId ) const; + + const Module & Find_Module( + Ce_id i_nId ) const; + const Module * Search_Module( + Ce_id i_nId ) const; + const Function & Find_Function( + Ce_id i_nId ) const; + const Property & Find_Property( + Ce_id i_nId ) const; + const EnumValue & Find_EnumValue( + Ce_id i_nId ) const; + const Constant & Find_Constant( + Ce_id i_nId ) const; + const StructElement & + Find_StructElement( + Ce_id i_nId ) const; + void Get_Text( + StringVector & o_module, + String & o_ce, + String & o_member, + const CodeEntity & i_ce ) const; + // ACCESS + Module & GlobalNamespace(); + CodeEntity & Find_Ce( + Ce_id i_nId ); + + private: + // Locals + virtual Module & do_CheckIn_Module( + Ce_id i_nParentId, + const String & i_sName ) = 0; + virtual Service & do_Store_Service( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual Interface & do_Store_Interface( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) = 0; + virtual Struct & do_Store_Struct( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) = 0; + virtual Exception & do_Store_Exception( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) = 0; + virtual Enum & do_Store_Enum( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual Typedef & do_Store_Typedef( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nDefiningType ) = 0; + virtual ConstantsGroup & + do_Store_ConstantsGroup( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual Singleton & do_Store_Singleton( + Ce_id i_nOwner, + const String & i_sName ) = 0; + + virtual Constant & do_Store_Constant( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + const String & i_sValue ) = 0; + virtual Property & do_Store_Property( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + Property::Stereotypes + i_stereotypes ) = 0; + virtual Function & do_Store_Function( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nReturnType, + bool i_bOneWay, + bool i_bConst ) = 0; + virtual StructElement & + do_Store_StructMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) = 0; + virtual StructElement & + do_Store_ExceptionMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) = 0; + virtual EnumValue & do_Store_EnumValue( + Ce_id i_nOwner, + const String & i_sName, + const String & i_sValue ) = 0; + virtual Attribute & do_Store_Attribute( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + bool i_bReadOnly ) = 0; + + virtual const Module & + inq_GlobalNamespace() const = 0; + virtual const CodeEntity & + inq_Find_Ce( + Ce_id i_nId ) const = 0; + + virtual const Module & + inq_Find_Module( + Ce_id i_nId ) const = 0; + virtual const Module * + inq_Search_Module( + Ce_id i_nId ) const = 0; + virtual const Function & + inq_Find_Function( + Ce_id i_nId ) const = 0; + virtual const Property & + inq_Find_Property( + Ce_id i_nId ) const = 0; + virtual const EnumValue & + inq_Find_EnumValue( + Ce_id i_nId ) const = 0; + virtual const Constant & + inq_Find_Constant( + Ce_id i_nId ) const = 0; + virtual const StructElement & + inq_Find_StructElement( + Ce_id i_nId ) const = 0; + virtual void inq_Get_Text( + StringVector & o_module, + String & o_ce, + String & o_member, + const CodeEntity & i_ce ) const = 0; + // ACCESS + virtual Module & access_GlobalNamespace() = 0; + virtual CodeEntity & + access_Find_Ce( + Ce_id i_nId ) = 0; +}; + + +// IMPLEMENTATION + +inline Module & +CePilot::CheckIn_Module( Ce_id i_nParentId, + const String & i_sName ) + { return do_CheckIn_Module(i_nParentId, i_sName); } + +inline Service & +CePilot::Store_Service( Ce_id i_nOwner, + const String & i_sName ) + { return do_Store_Service(i_nOwner,i_sName); } + +inline Interface & +CePilot::Store_Interface( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) + { return do_Store_Interface(i_nOwner,i_sName,i_nBase); } + +inline Struct & +CePilot::Store_Struct( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) + { return do_Store_Struct(i_nOwner,i_sName,i_nBase); } + +inline Exception & +CePilot::Store_Exception( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) + { return do_Store_Exception(i_nOwner,i_sName,i_nBase); } + +inline Enum & +CePilot::Store_Enum( Ce_id i_nOwner, + const String & i_sName ) + { return do_Store_Enum(i_nOwner,i_sName); } + +inline Typedef & +CePilot::Store_Typedef( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nDefiningType ) + { return do_Store_Typedef(i_nOwner,i_sName,i_nDefiningType); } + +inline ConstantsGroup & +CePilot::Store_ConstantsGroup( Ce_id i_nOwner, + const String & i_sName ) + { return do_Store_ConstantsGroup(i_nOwner,i_sName); } + +inline Singleton & +CePilot::Store_Singleton( Ce_id i_nOwner, + const String & i_sName ) + { return do_Store_Singleton(i_nOwner,i_sName); } + +inline Constant & +CePilot::Store_Constant( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + const String & i_sValue ) + { return do_Store_Constant(i_nOwner,i_sName,i_nType,i_sValue); } + +inline Property & +CePilot::Store_Property( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + ary::idl::Property::Stereotypes + i_stereotypes ) + { return do_Store_Property(i_nOwner,i_sName,i_nType,i_stereotypes); } + +inline Function & +CePilot::Store_Function( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nReturnType, + bool i_bOneWay, + bool i_bConst ) + { return do_Store_Function(i_nOwner,i_sName,i_nReturnType,i_bOneWay,i_bConst); } + +inline StructElement & +CePilot::Store_StructMember( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) + { return do_Store_StructMember(i_nOwner,i_sName,i_nType); } + +inline StructElement & +CePilot::Store_ExceptionMember( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) + { return do_Store_ExceptionMember(i_nOwner,i_sName,i_nType); } + +inline EnumValue & +CePilot::Store_EnumValue( Ce_id i_nOwner, + const String & i_sName, + const String & i_sValue ) + { return do_Store_EnumValue(i_nOwner,i_sName,i_sValue); } + +inline Attribute & +CePilot::Store_Attribute( Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + bool i_bReadOnly ) + { return do_Store_Attribute(i_nOwner, i_sName, i_nType, i_bReadOnly); } + +inline const Module & +CePilot::GlobalNamespace() const + { return inq_GlobalNamespace(); } +inline const CodeEntity & +CePilot::Find_Ce( Ce_id i_nId ) const + { return inq_Find_Ce(i_nId); } +inline const Module & +CePilot::Find_Module( Ce_id i_nId ) const + { return inq_Find_Module(i_nId); } +inline const Module * +CePilot::Search_Module( Ce_id i_nId ) const + { return inq_Search_Module(i_nId); } +inline const Function & +CePilot::Find_Function( Ce_id i_nId ) const + { return inq_Find_Function(i_nId); } +inline const Property & +CePilot::Find_Property( Ce_id i_nId ) const + { return inq_Find_Property(i_nId); } +inline const EnumValue & +CePilot::Find_EnumValue( Ce_id i_nId ) const + { return inq_Find_EnumValue(i_nId); } +inline const Constant & +CePilot::Find_Constant( Ce_id i_nId ) const + { return inq_Find_Constant(i_nId); } + +inline const StructElement & +CePilot::Find_StructElement( Ce_id i_nId ) const + { return inq_Find_StructElement(i_nId); } +inline void +CePilot::Get_Text( StringVector & o_module, + String & o_ce, + String & o_member, + const CodeEntity & i_ce ) const + { inq_Get_Text(o_module, o_ce, o_member, i_ce); } + + +inline Module & +CePilot::GlobalNamespace() + { return access_GlobalNamespace(); } +inline CodeEntity & +CePilot::Find_Ce( Ce_id i_nId ) + { return access_Find_Ce(i_nId); } + + +} // namespace idl +} // namespace ary + + +#endif + + diff --git a/autodoc/inc/ary/idl/ip_type.hxx b/autodoc/inc/ary/idl/ip_type.hxx new file mode 100644 index 000000000000..540ea12b562d --- /dev/null +++ b/autodoc/inc/ary/idl/ip_type.hxx @@ -0,0 +1,164 @@ +/************************************************************************* + * + * $RCSfile: ip_type.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:11 $ + * + * 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_IDL_IP_TYPE_HXX +#define ARY_IDL_IP_TYPE_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> + + +namespace ary +{ + +class QualifiedName; + +namespace idl +{ + +class Module; +class Type; +class ExplicitNameRoom; + +class TypePilot +{ + public: + // LIFECYCLE + virtual TypePilot::~TypePilot() {} + + // OPERATIONS + const Type & CheckIn_Type( + QualifiedName & i_rFullName, + uintt i_nSequenceCount, + Ce_id i_nModuleOfOccurrence ); + // INQUIRY + void Search_NameAndModuleOfType( + Module & o_rOwner, + String & o_rName, + Type_id i_nType ) const; + + const Type & Find_Type( + Type_id i_nType ) const; + Ce_id Search_CeRelatedTo( + Type_id i_nType ) const; + const ExplicitNameRoom & + Find_XNameRoom( + Type_id i_nType ) const; + bool IsBuiltInOrRelated( + const Type & i_rType ) const; + private: + // Locals + virtual const Type & + do_CheckIn_Type( + QualifiedName & i_rFullName, + uintt i_nSequenceCount, + Ce_id i_nModuleOfOccurrence ) = 0; + virtual const Type & + inq_Find_Type( + Type_id i_nType ) const = 0; + virtual Ce_id inq_Search_CeRelatedTo( + Type_id i_nType ) const = 0; + virtual const ExplicitNameRoom & + inq_Find_XNameRoom( + Type_id i_nType ) const = 0; + virtual bool inq_IsBuiltInOrRelated( + const Type & i_rType ) const = 0; +}; + + + + +// IMPLEMENTATION + +inline const Type & +TypePilot::CheckIn_Type( QualifiedName & i_rFullName, + uintt i_nSequenceCount, + Ce_id i_nModuleOfOccurrence ) + { return do_CheckIn_Type(i_rFullName, i_nSequenceCount, i_nModuleOfOccurrence); } + +inline const Type & +TypePilot::Find_Type( Type_id i_nType ) const + { return inq_Find_Type(i_nType); } + +inline Ce_id +TypePilot::Search_CeRelatedTo( Type_id i_nType ) const + { return inq_Search_CeRelatedTo(i_nType); } + +inline const ExplicitNameRoom & +TypePilot::Find_XNameRoom( Type_id i_nType ) const + { return inq_Find_XNameRoom(i_nType); } + +inline bool +TypePilot::IsBuiltInOrRelated( const Type & i_rType ) const + { return inq_IsBuiltInOrRelated( i_rType ); } + + +} // namespace idl +} // namespace ary + + + +#endif + diff --git a/autodoc/inc/ary/info/all_tags.hxx b/autodoc/inc/ary/info/all_tags.hxx index e33da7d1cf0a..11c73a3396e8 100644 --- a/autodoc/inc/ary/info/all_tags.hxx +++ b/autodoc/inc/ary/info/all_tags.hxx @@ -2,9 +2,9 @@ * * $RCSfile: all_tags.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:15 $ + * last change: $Author: np $ $Date: 2002-11-01 17:12:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,7 @@ // COMPONENTS #include <ary/info/inftypes.hxx> #include <ary/info/ci_text.hxx> -#include <ary/quname.hxx> +#include <ary/qualiname.hxx> // PARAMETERS #include <ary/ids.hxx> diff --git a/autodoc/inc/ary/qualiname.hxx b/autodoc/inc/ary/qualiname.hxx new file mode 100644 index 000000000000..fe9e5bc4a00a --- /dev/null +++ b/autodoc/inc/ary/qualiname.hxx @@ -0,0 +1,142 @@ +/************************************************************************* + * + * $RCSfile: qualiname.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:10:37 $ + * + * 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_QUALINAME_HXX +#define ARY_QUALINAME_HXX + +// VERSION: Autodoc 2.2 + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <cosv/template/tpltools.hxx> + + +namespace ary +{ + +class QualifiedName +{ + public: + typedef StringVector::const_iterator namespace_iterator; + + QualifiedName( + uintt i_nSize = 0); + + /// @see AssignText() + QualifiedName( + const char * i_sText, + const char * i_sSeparator ); + ~QualifiedName(); + + QualifiedName & operator+=( + const String & i_sNamespaceName ) + { if (i_sNamespaceName.length() > 0) + aNamespace.push_back(i_sNamespaceName); + return *this; } + /// @precond i_nIndex < NamespaceDepth(). + String & operator[]( + uintt i_nIndex ) + { csv_assert(i_nIndex < aNamespace.size()); + return aNamespace[i_nIndex]; } + void Init( + bool i_bAbsolute ) + { Empty(); bIsAbsolute = i_bAbsolute; } + /** Reads a qualified name from a string. + If the last two charcters are "()", the inquiry IsFunction() will return + true. + */ + void AssignText( + const char * i_sText, + const char * i_sSeparator ); + void SetLocalName( + const String & i_sLocalName ) + { sLocalName = i_sLocalName; } + void Empty() { csv::erase_container(aNamespace); sLocalName.clear(); bIsAbsolute = false; } + + const String & LocalName() const { return sLocalName; } + namespace_iterator first_namespace() const { return aNamespace.begin(); } + namespace_iterator end_namespace() const { return aNamespace.end(); } + uintt NamespaceDepth() const { return aNamespace.size(); } + + bool IsAbsolute() const { return bIsAbsolute; } + bool IsQualified() const { return aNamespace.size() > 0; } + bool IsFunction() const { return bIsFunction; } + + private: + // DATA + StringVector aNamespace; + String sLocalName; + bool bIsAbsolute; /// true := beginning with "::". + bool bIsFunction; /// true := ending with "()" +}; + +// IMPLEMENTATION + + +} // namespace ary + + + +#endif + diff --git a/autodoc/inc/ary/stdconstiter.hxx b/autodoc/inc/ary/stdconstiter.hxx new file mode 100644 index 000000000000..24d09336cae5 --- /dev/null +++ b/autodoc/inc/ary/stdconstiter.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * $RCSfile: stdconstiter.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:10:43 $ + * + * 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_STDCONSTITER_HXX +#define ARY_STDCONSTITER_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + + +namespace ary +{ + +template <class ELEM> +class StdConstIterator +{ + public: + virtual ~StdConstIterator() {} + + void operator++() { do_Advance(); } + const ELEM & operator*() const { return *inq_CurElement(); } + operator bool() const { return inq_CurElement() != 0; } + + bool IsSorted() const { return inq_IsSorted(); } + + private: + virtual void do_Advance() = 0; + virtual const ELEM * + inq_CurElement() const = 0; + virtual bool inq_IsSorted() const = 0; + + // Forbidden: + // StdConstIterator(const StdConstIterator<ELEM>&); + // StdConstIterator<ELEM> & operator=(const StdConstIterator<ELEM>&); +}; + + +template <class ELEM> +class Dyn_StdConstIterator +{ + public: + typedef StdConstIterator<ELEM> client_type; + + Dyn_StdConstIterator( + DYN client_type * pass_dpIterator = 0 ) + : pClient(pass_dpIterator) {} + Dyn_StdConstIterator<ELEM> & + operator=( + DYN client_type * pass_dpIterator ) + { pClient = pass_dpIterator; + return *this; } + client_type & operator*() const { return *pClient.MutablePtr(); } + + private: + Dyn<client_type> pClient; +}; + + +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/udmhost.hxx b/autodoc/inc/ary/udmhost.hxx new file mode 100644 index 000000000000..a37a2491c415 --- /dev/null +++ b/autodoc/inc/ary/udmhost.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * $RCSfile: udmhost.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:10:47 $ + * + * 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_UDMHOST_HXX +#define ARY_UDMHOST_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/host.hxx> + // COMPONENTS + // PARAMETERS + +namespace ary +{ + + +class UdmHost : public Host +{ + public: + enum E_ClassId { class_id = 1000 }; + + UdmHost(); + virtual ~UdmHost(); + + private: + virtual Host_ClassId + inq_ClassId() const; +}; + + +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary/x_ary.hxx b/autodoc/inc/ary/x_ary.hxx new file mode 100644 index 000000000000..d3bb2c3df211 --- /dev/null +++ b/autodoc/inc/ary/x_ary.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * $RCSfile: x_ary.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:10:50 $ + * + * 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: 2002 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef ARY_X_ARY_HXX +#define ARY_X_ARY_HXX + +// VERSION: Autodoc 2.2 + + +// USED SERVICES + // BASE CLASSES +#include <cosv/x.hxx> + // COMPONENTS + // PARAMETERS + +namespace ary +{ + +class X_Ary : public csv::Exception +{ + public: + enum E_Event + { + x_Any, + x_MultipleRepository, + x_MissingRepository, + x_EntityNotFound, + x_ConflictingNames, + x_InvalidId, + x_UnexpectedTypeOfObject, + x_InvalidCast, + x_CorruptData + }; + + // LIFECYCLE + X_Ary( + E_Event i_eEvent ); + // INQUIRY + E_Event GetEvent() const; + virtual void GetInfo( + ostream & o_rOutputMedium ) const; + private: + E_Event eEvent; +}; + +// IMPLEMENTATION +inline X_Ary::E_Event +X_Ary::GetEvent() const + { return eEvent; } + + +} // namespace ary + + +#endif + diff --git a/autodoc/inc/ary_i/d_token.hxx b/autodoc/inc/ary_i/d_token.hxx new file mode 100644 index 000000000000..6a913a9ea9cc --- /dev/null +++ b/autodoc/inc/ary_i/d_token.hxx @@ -0,0 +1,273 @@ +/************************************************************************* + * + * $RCSfile: d_token.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:27 $ + * + * 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 CSI_DSAPI_D_TOKEN_HXX +#define CSI_DSAPI_D_TOKEN_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary_i/ci_text2.hxx> +#include <ary_i/ci_atag2.hxx> + // COMPONENTS + // PARAMETERS +#include <display/uidldisp.hxx> + + + + +namespace csi +{ +namespace dsapi +{ + +using ary::info::DocumentationDisplay; + + +class DT_Dsapi : public ary::info::DocuToken +{ + public: + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const = 0; +}; + + + +class DT_TextToken : public DT_Dsapi +{ + public: + DT_TextToken( + const char * i_sText ) + : sText(i_sText) {} + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const char * GetText() const { return sText; } + + private: + udmstri sText; +}; + +class DT_MLTag : public DT_Dsapi +{ + public: + enum E_Kind + { + k_unknown = 0, + k_begin, + k_end, + k_single + }; +}; + +class DT_MupType : public DT_MLTag +{ + public: + DT_MupType( /// Constructor for End-Tag + bool i_bEnd ) /// Must be there, but is not evaluated. + : bIsBegin(false) {} + DT_MupType( /// Constructor for Begin-Tag + const udmstri & i_sScope ) + : sScope(i_sScope), bIsBegin(true) {} + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const udmstri & Scope() const { return sScope; } + bool IsBegin() const { return bIsBegin; } + + private: + udmstri sScope; + bool bIsBegin; +}; + +class DT_MupMember : public DT_MLTag +{ + public: + DT_MupMember( /// Constructor for End-Tag + bool i_bEnd ) /// Must be there, but is not evaluated. + : bIsBegin(false) {} + DT_MupMember( /// Constructor for Begin-Tag + const udmstri & i_sScope ) + : sScope(i_sScope), bIsBegin(true) {} + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const udmstri & Scope() const { return sScope; } + bool IsBegin() const { return bIsBegin; } + + private: + udmstri sScope; + bool bIsBegin; +}; + +class DT_MupConst : public DT_Dsapi +{ + public: + DT_MupConst( + const char * i_sConstText ) + : sConstText(i_sConstText) {} + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const char * GetText() const { return sConstText; } + + private: + udmstri sConstText; /// Without HTML. +}; + + +class DT_Style : public DT_MLTag +{ + public: + DT_Style( + const char * i_sPlainHtmlTag, + bool i_bNewLine ) + : sText(i_sPlainHtmlTag), bNewLine(i_bNewLine) {} + + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const char * GetText() const { return sText; } + bool IsStartOfNewLine() const + { return bNewLine; } + private: + udmstri sText; /// With HTML. + E_Kind eKind; + bool bNewLine; +}; + +class DT_EOL : public DT_Dsapi +{ + public: + + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + private: + udmstri sText; +}; + + +class DT_AtTag : public ary::info::AtTag2 +{ + public: + void AddToken( + DYN ary::info::DocuToken & + let_drToken ) + { aText.AddToken(let_drToken); } + void SetName( + const char * i_sName ) + { sTitle = i_sName; } + + protected: + DT_AtTag( + const char * i_sTitle ) + : ary::info::AtTag2(i_sTitle) {} +}; + +class DT_StdAtTag : public DT_AtTag +{ + public: + DT_StdAtTag( + const char * i_sTitle ) + : DT_AtTag(i_sTitle) {} + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; +}; + +class DT_SeeAlsoAtTag : public DT_AtTag +{ + public: + DT_SeeAlsoAtTag() : DT_AtTag("") {} + +// void SetLinkText( +// const char * i_sLinkText ) +// { sLinkText = i_sLinkText; } + + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; + const udmstri & LinkText() const { return sTitle; } // Missbrauch von sTitle + + private: +// udmstri sLinkText; +}; + +class DT_ParameterAtTag : public DT_AtTag +{ + public: + DT_ParameterAtTag() : DT_AtTag("") {} + + void SetTitle( + const char * i_sTitle ); + virtual void DisplayAt( + DocumentationDisplay & + o_rDisplay ) const; +}; + +} // namespace dsapi +} // namespace csi + +#endif + diff --git a/autodoc/inc/autodoc/dsp_html_std.hxx b/autodoc/inc/autodoc/dsp_html_std.hxx index b16494ff626a..445aa846a08b 100644 --- a/autodoc/inc/autodoc/dsp_html_std.hxx +++ b/autodoc/inc/autodoc/dsp_html_std.hxx @@ -2,9 +2,9 @@ * * $RCSfile: dsp_html_std.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:10 $ + * last change: $Author: np $ $Date: 2002-11-01 17:12:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,7 @@ namespace ary { class DisplayGate; } - namespace uidl + namespace idl { class Gate; } @@ -220,14 +220,14 @@ class HtmlDisplay_Idl_Ifc void Run( const char * i_sOutputDirectory, - const ary::uidl::Gate & + const ary::idl::Gate & i_rAryGate, const display::CorporateFrame & i_rLayout ); private: virtual void do_Run( const char * i_sOutputDirectory, - const ary::uidl::Gate & + const ary::idl::Gate & i_rAryGate, const display::CorporateFrame & i_rLayout ) = 0; @@ -237,7 +237,7 @@ class HtmlDisplay_Idl_Ifc inline void HtmlDisplay_Idl_Ifc::Run( const char * i_sOutputDirectory, - const ary::uidl::Gate & i_rAryGate, + const ary::idl::Gate & i_rAryGate, const display::CorporateFrame & i_rLayout ) { do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout ); diff --git a/autodoc/inc/display/corframe.hxx b/autodoc/inc/display/corframe.hxx new file mode 100644 index 000000000000..108025ce8184 --- /dev/null +++ b/autodoc/inc/display/corframe.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * $RCSfile: corframe.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:31 $ + * + * 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_CORFRAME_HXX +#define ADC_CORFRAME_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + +class Html_Image; + + +namespace display +{ + + +class CorporateFrame +{ + public: + virtual ~CorporateFrame() {} + + virtual DYN Html_Image * + LogoSrc() const = 0; + virtual const char * + LogoLink() const = 0; + virtual const char * + CopyrightText() const = 0; + + virtual const char * CssStyle() const = 0; +}; + + + +// IMPLEMENTATION + + +} // namespace display + + +#endif + diff --git a/autodoc/inc/parser/unoidl.hxx b/autodoc/inc/parser/unoidl.hxx index d4683297fb3e..4e085f48059c 100644 --- a/autodoc/inc/parser/unoidl.hxx +++ b/autodoc/inc/parser/unoidl.hxx @@ -2,9 +2,9 @@ * * $RCSfile: unoidl.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:17 $ + * last change: $Author: np $ $Date: 2002-11-01 17:12:32 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -73,16 +73,17 @@ namespace ary { - class Repository; + namespace n22 + { + class Repository; + } } namespace autodoc { class FileCollector_Ifc; } -namespace csi -{ -namespace uidl +namespace autodoc { @@ -90,7 +91,7 @@ class Uidl_Parser : public ::CodeParser { public: Uidl_Parser( - ary::Repository & io_rRepository ); + ary::n22::Repository & io_rRepository ); virtual void Run( const autodoc::FileCollector_Ifc & @@ -98,7 +99,7 @@ class Uidl_Parser : public ::CodeParser private: // DATA - ary::Repository * pRepository; + ary::n22::Repository * pRepository; }; @@ -106,8 +107,7 @@ class Uidl_Parser : public ::CodeParser // IMPLEMENTATION -} // namespace uidl -} // namespace csi +} // namespace autodoc #endif diff --git a/autodoc/prj/build.lst b/autodoc/prj/build.lst index f34040eb7f26..49cda973c31a 100644 --- a/autodoc/prj/build.lst +++ b/autodoc/prj/build.lst @@ -4,18 +4,12 @@ ar autodoc usr1 - all ar_mkout NULL ar autodoc\inc get - all ar_i NULL ar autodoc\inc\ary get - all ar_ir NULL ar autodoc\inc\ary\cpp get - all ar_ir_cpp NULL +ar autodoc\inc\ary\idl get - all ar_ir_idl NULL ar autodoc\inc\ary\info get - all ar_ir_info NULL ar autodoc\inc\ary\loc get - all ar_ir_loc NULL ar autodoc\inc\ary\task get - all ar_ir_task NULL -ar autodoc\inc\ary_i get - all ar_ir2 NULL -ar autodoc\inc\ary_i\uidl get - all ar_ir2_uidl NULL +ar autodoc\inc\ary_i get - all ar_ir_cinfo NULL ar autodoc\inc\autodoc get - all ar_iau NULL -ar autodoc\inc\csi get - all ar_ic NULL -ar autodoc\inc\csi\d_sapi get - all ar_ic_idoc2 NULL -ar autodoc\inc\csi\dis_html get - all ar_ic_html2 NULL -ar autodoc\inc\csi\html get - all ar_ic_html NULL -ar autodoc\inc\csi\l_uidl get - all ar_ic_idl2 NULL -ar autodoc\inc\csi\prl get - all ar_ic_prl2 NULL ar autodoc\inc\display get - all ar_idispl2 NULL ar autodoc\inc\parser get - all ar_iparse2 NULL ar autodoc\source get - all ar_s NULL @@ -27,33 +21,25 @@ ar autodoc\source\inc\utility get - all ar_si_util2 NULL ar autodoc\source\ary get - all ar_sr NULL ar autodoc\source\ary\inc get - all ar_sri NULL ar autodoc\source\ary\inc\cpp get - all ar_sri_cpp NULL +ar autodoc\source\ary\inc\idl get - all ar_sri_idl NULL ar autodoc\source\ary\inc\loc get - all ar_sri_loc NULL ar autodoc\source\ary\inc\store get - all ar_sri_store NULL ar autodoc\source\ary\cpp nmake - all ar_sr_cpp NULL +ar autodoc\source\ary\idl nmake - all ar_sr_idl NULL ar autodoc\source\ary\info nmake - all ar_sr_info NULL ar autodoc\source\ary\kernel nmake - all ar_sr_kernel NULL ar autodoc\source\ary\loc nmake - all ar_sr_loc NULL ar autodoc\source\ary\store nmake - all ar_sr_store NULL -ar autodoc\source\ary_i get - all ar_sr2 NULL -ar autodoc\source\ary_i\inc get - all ar_sr2i_inc NULL -ar autodoc\source\ary_i\inc\uidl get - all ar_sr2i_uidl NULL -ar autodoc\source\ary_i\idl nmake - all ar_sr2_idl NULL -ar autodoc\source\ary_i\kernel nmake - all ar_sr2_krnl NULL -ar autodoc\source\csi get - all ar_sc NULL -ar autodoc\source\csi\html nmake - all ar_sc_html NULL -ar autodoc\source\csi_i get - all ar_sc2 NULL -ar autodoc\source\csi_i\d_sapi nmake - all ar_sc2_idoc NULL -ar autodoc\source\csi_i\dis_html nmake - all ar_sc2_html NULL -ar autodoc\source\csi_i\l_uidl nmake - all ar_sc2_idl NULL -ar autodoc\source\displa_i get - all ar_sd2 NULL -ar autodoc\source\displa_i\idoc nmake - all ar_sd2_idoc NULL +ar autodoc\source\ary_i get - all ar_sr_i NULL +ar autodoc\source\ary_i\kernel nmake - all ar_sr_cinfo NULL ar autodoc\source\display get - all ar_sd NULL ar autodoc\source\display\inc get - all ar_sdi NULL ar autodoc\source\display\inc\funclist get - all ar_sdi_flist NULL ar autodoc\source\display\inc\html get - all ar_sdi_html NULL ar autodoc\source\display\html nmake - all ar_sd_html NULL ar autodoc\source\display\kernel nmake - all ar_sd_kernel NULL -ar autodoc\source\display\udm2html nmake - all ar_sd_u2h NULL +ar autodoc\source\display\idl nmake - all ar_sd_idl NULL +ar autodoc\source\display\toolkit nmake - all ar_sd_tkit NULL ar autodoc\source\parser get - all ar_sp NULL ar autodoc\source\parser\inc get - all ar_spi NULL ar autodoc\source\parser\inc\adoc get - all ar_spi_adoc NULL @@ -79,7 +65,5 @@ ar autodoc\prj get - all ar_prj NULL ar autodoc\source\mkinc get - all ar_smk NULL ar autodoc\util get - all ar_util NULL ar autodoc\source\exes get - all ar_se NULL -ar autodoc\source\exes\adc_uni nmake - all ar_se_uni ar_sr_cpp ar_sr_info ar_sr_kernel ar_sr_loc ar_sr_store ar_sr2_idl ar_sr2_krnl ar_sc_html ar_sc2_idoc ar_sc2_html ar_sc2_idl ar_sd2_idoc ar_sd_html ar_sd_kernel ar_sd_u2h ar_sp_adoc ar_sp_cpp ar_sp_krnl ar_sp_sem ar_sp_tok ar_sp2_idl ar_sp2_idoc ar_sp2_tok ar_st NULL -#==================================================================================== -# ar autodoc\source\exes\comphelp nmake - all ar_se_chelp NULL +ar autodoc\source\exes\adc_uni nmake - all ar_se_uni ar_sr_cpp ar_sr_idl ar_sr_info ar_sr_kernel ar_sr_loc ar_sr_store ar_sr_cinfo ar_sd_html ar_sd_kernel ar_sd_idl ar_sp_adoc ar_sp_cpp ar_sp_krnl ar_sp_sem ar_sp_tok ar_sp2_idl ar_sd_tkit ar_sp2_idoc ar_sp2_tok ar_st NULL diff --git a/autodoc/source/ary/idl/i_attribute.cxx b/autodoc/source/ary/idl/i_attribute.cxx new file mode 100644 index 000000000000..8612d98003ca --- /dev/null +++ b/autodoc/source/ary/idl/i_attribute.cxx @@ -0,0 +1,157 @@ +/************************************************************************* + * + * $RCSfile: i_attribute.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:38 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_attribute.hxx> +#include <ary/idl/ik_attribute.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> + + +namespace ary +{ +namespace idl +{ + + +Attribute::Attribute( const String & i_sName, + Ce_id i_nService, + Ce_id i_nModule, + Type_id i_nType, + bool i_bReadonly ) + : sName(i_sName), + nOwner(i_nService), + nNameRoom(i_nModule), + nType(i_nType), + bReadonly(i_bReadonly) +{ +} + +Attribute::~Attribute() +{ +} + + +void +Attribute::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Attribute(*this); +} + +RCid +Attribute::inq_ClassId() const +{ + return class_id; +} + +const String & +Attribute::inq_LocalName() const +{ + return sName; +} + +Ce_id +Attribute::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +Attribute::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Attribute::inq_SightLevel() const +{ + return sl_Member; +} + +namespace ifc_attribute +{ + +inline const Attribute & +attribute_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Attribute::class_id ); + return static_cast< const Attribute& >(i_ce); +} + +bool +attr::IsReadOnly( const CodeEntity & i_ce ) +{ + return attribute_cast(i_ce).bReadonly; +} + +Type_id +attr::Type( const CodeEntity & i_ce ) +{ + return attribute_cast(i_ce).nType; +} + +} // namespace ifc_attribute + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_ce.cxx b/autodoc/source/ary/idl/i_ce.cxx new file mode 100644 index 000000000000..781931315a8e --- /dev/null +++ b/autodoc/source/ary/idl/i_ce.cxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: i_ce.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:39 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <ary/idl/i_ce.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary_i/codeinf2.hxx> +#include <getncast.hxx> + + +namespace ary +{ +namespace idl +{ + +namespace +{ + const Ce_2s aConstCe2sDummy; +} + + + +CodeEntity::CodeEntity() + : pDocu(0), + p2s(0) +{ +} + +CodeEntity::~CodeEntity() +{ +} + +const Ce_2s & +CodeEntity::Secondaries() const +{ + if (p2s) + return *p2s; + return aConstCe2sDummy; +} + +Ce_2s & +CodeEntity::Secondaries() +{ + if (p2s) + return *p2s; + p2s = Ce_2s::Create_(ClassId()); + return *p2s; +} + +void +CodeEntity::Set_Docu( DYN ary::info::CodeInformation * pass_dpDocu ) +{ + pDocu = pass_dpDocu; +} + +void +CodeEntity::do_Visit(::ary::Host & o_rHost) const +{ + CeHost * + pHost = ptr_cast( &o_rHost, T2T<CeHost>() ); + if ( pHost != 0 ) + do_Visit_CeHost(*pHost); +} + + +} // namespace idl +} // namespace ary + + diff --git a/autodoc/source/ary/idl/i_ce2s.cxx b/autodoc/source/ary/idl/i_ce2s.cxx new file mode 100644 index 000000000000..305e2dc77542 --- /dev/null +++ b/autodoc/source/ary/idl/i_ce2s.cxx @@ -0,0 +1,120 @@ +/************************************************************************* + * + * $RCSfile: i_ce2s.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:40 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <ary/idl/i_ce.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <cosv/template/tpltools.hxx> +#include <ary/idl/ihost_ce.hxx> +#include <ary_i/codeinf2.hxx> +#include <getncast.hxx> + + +namespace ary +{ +namespace idl +{ + +namespace +{ +const std::vector<Ce_id> C_sNullVector_Ce_ids; +} + + +Ce_2s::~Ce_2s() +{ + csv::erase_container_of_heap_ptrs(aXrefLists); +} + +DYN Ce_2s * +Ce_2s::Create_( RCid i_nCeClass) +{ + return new Ce_2s; +} + + +std::vector<Ce_id> & +Ce_2s::Access_List( int i_indexOfList ) +{ + csv_assert(i_indexOfList >= 0 AND i_indexOfList < 1000); + + while (i_indexOfList >= (int) aXrefLists.size()) + { + aXrefLists.push_back(new std::vector<Ce_id>); + } + return *aXrefLists[i_indexOfList]; +} + +const std::vector<Ce_id> & +Ce_2s::List( int i_indexOfList ) const +{ + if (uintt(i_indexOfList) < aXrefLists.size()) + return *aXrefLists[i_indexOfList]; + else + return C_sNullVector_Ce_ids; +} + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_constant.cxx b/autodoc/source/ary/idl/i_constant.cxx new file mode 100644 index 000000000000..826c44e0d690 --- /dev/null +++ b/autodoc/source/ary/idl/i_constant.cxx @@ -0,0 +1,187 @@ +/************************************************************************* + * + * $RCSfile: i_constant.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:42 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_constant.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ik_constant.hxx> + + +namespace ary +{ +namespace idl +{ + +Constant::Constant( const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nType, + const String & i_sInitValue ) + : sName(i_sName), + nOwner(i_nOwner), + nNameRoom(i_nNameRoom), + nType(i_nType), + sInitValue(i_sInitValue) +{ +} + +Constant::~Constant() +{ +} + +#if ENABLE_UDM + +namespace +{ +enum E_Data_Constant +{ + mid_Base = 0, + mid_Name, + mid_Owner, + mid_NameRoom, + mid_Type, + mid_InitValue, + mid_MAX +}; +} + +void +Constant::SetupUdmTraits_( udm::struct_traits<Constant> & o_rTraits ) +{ + o_rTraits.reserve( mid_MAX ); + udm::add_traits_base( o_rTraits, csv::Type2Type<CodeEntity>(), mid_Base ); + udm::add_traits_member( o_rTraits, &Constant::sName, mid_Name ); + udm::add_traits_member( o_rTraits, &Constant::nOwner, mid_Owner ); + udm::add_traits_member( o_rTraits, &Constant::nNameRoom, mid_NameRoom ); + udm::add_traits_member( o_rTraits, &Constant::nType, mid_Type ); + udm::add_traits_member( o_rTraits, &Constant::sInitValue, mid_InitValue ); +} +#endif // ENABLE_UDM + + +void +Constant::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Constant(*this); +} + + +RCid +Constant::inq_ClassId() const +{ + return class_id; +} + +const String & +Constant::inq_LocalName() const +{ + return sName; +} + +Ce_id +Constant::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +Constant::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Constant::inq_SightLevel() const +{ + return sl_Member; +} + + +namespace ifc_constant +{ + +inline const Constant & +constant_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Constant::class_id ); + return static_cast< const Constant& >(i_ce); +} + +Type_id +attr::Type( const CodeEntity & i_ce ) +{ + return constant_cast(i_ce).nType; +} + +const String & +attr::Value( const CodeEntity & i_ce ) +{ + return constant_cast(i_ce).sInitValue; +} + +} // namespace ifc_constant + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_constgroup.cxx b/autodoc/source/ary/idl/i_constgroup.cxx new file mode 100644 index 000000000000..a1c094ebf856 --- /dev/null +++ b/autodoc/source/ary/idl/i_constgroup.cxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * $RCSfile: i_constgroup.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:43 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_constgroup.hxx> +#include <ary/idl/ik_constgroup.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> + + +namespace ary +{ +namespace idl +{ + + +ConstantsGroup::ConstantsGroup( const String & i_sName, + Ce_id i_nModule ) + : sName(i_sName), + nModule(i_nModule), + aConstants() +{ +} + +ConstantsGroup::~ConstantsGroup() +{ +} + +void +ConstantsGroup::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_ConstantsGroup(*this); +} + +RCid +ConstantsGroup::inq_ClassId() const +{ + return class_id; +} + +const String & +ConstantsGroup::inq_LocalName() const +{ + return sName; +} + +Ce_id +ConstantsGroup::inq_NameRoom() const +{ + return nModule; +} + +Ce_id +ConstantsGroup::inq_Owner() const +{ + return nModule; +} + +E_SightLevel +ConstantsGroup::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_constgroup +{ + +inline const ConstantsGroup & +constgroup_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == ConstantsGroup::class_id ); + return static_cast< const ConstantsGroup& >(i_ce); +} + +void +attr::Get_Constants( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(constgroup_cast(i_ce).aConstants); +} + +} // namespace ifc_constgroup + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_enum.cxx b/autodoc/source/ary/idl/i_enum.cxx new file mode 100644 index 000000000000..ba6ff69fd1ad --- /dev/null +++ b/autodoc/source/ary/idl/i_enum.cxx @@ -0,0 +1,170 @@ +/************************************************************************* + * + * $RCSfile: i_enum.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:43 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_enum.hxx> +#include <ary/idl/ik_enum.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + + +namespace ary +{ +namespace idl +{ + +Enum::Enum( const String & i_sName, + Ce_id i_nOwner ) + : sName(i_sName), + nOwner(i_nOwner), + aValues() +{ +} + +Enum::~Enum() +{ +} + +void +Enum::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Enum(*this); +} + +RCid +Enum::inq_ClassId() const +{ + return class_id; +} + +const String & +Enum::inq_LocalName() const +{ + return sName; +} + +Ce_id +Enum::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Enum::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Enum::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_enum +{ + +inline const Enum & +enum_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Enum::class_id ); + return static_cast< const Enum& >(i_ce); +} + +void +attr::Get_Values( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(enum_cast(i_ce).aValues); +} + + +void +xref::Get_SynonymTypedefs( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_SynonymTypedefs)); +} + +void +xref::Get_AsReturns( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_AsReturns)); +} + +void +xref::Get_AsParameters( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(enum_2s_AsParameters)); +} + +} // namespace ifc_enum + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_enumvalue.cxx b/autodoc/source/ary/idl/i_enumvalue.cxx new file mode 100644 index 000000000000..dbaae2300f44 --- /dev/null +++ b/autodoc/source/ary/idl/i_enumvalue.cxx @@ -0,0 +1,150 @@ +/************************************************************************* + * + * $RCSfile: i_enumvalue.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:45 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_enumvalue.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ik_enumvalue.hxx> + + +namespace ary +{ +namespace idl +{ + +EnumValue::EnumValue( const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + const String & i_sInitValue ) + : sName(i_sName), + nOwner(i_nOwner), + nNameRoom(i_nNameRoom), + sValue(i_sInitValue) +{ +} + +EnumValue::~EnumValue() +{ +} + +void +EnumValue::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_EnumValue(*this); +} + +RCid +EnumValue::inq_ClassId() const +{ + return class_id; +} + +const String & +EnumValue::inq_LocalName() const +{ + return sName; +} + +Ce_id +EnumValue::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +EnumValue::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +EnumValue::inq_SightLevel() const +{ + return sl_Member; +} + + + +namespace ifc_enumvalue +{ + +inline const EnumValue & +enumvalue_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == EnumValue::class_id ); + return static_cast< const EnumValue& >(i_ce); +} + +const String & +attr::Value( const CodeEntity & i_ce ) +{ + return enumvalue_cast(i_ce).sValue; +} + + +} // namespace ifc_enumvalue + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_exception.cxx b/autodoc/source/ary/idl/i_exception.cxx new file mode 100644 index 000000000000..4370dfa92b38 --- /dev/null +++ b/autodoc/source/ary/idl/i_exception.cxx @@ -0,0 +1,173 @@ +/************************************************************************* + * + * $RCSfile: i_exception.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:46 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_exception.hxx> +#include <ary/idl/ik_exception.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + +namespace ary +{ +namespace idl +{ + +Exception::Exception( const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ) + : sName(i_sName), + nOwner(i_nOwner), + nBase(i_nBase), + aElements() +{ +} + +Exception::~Exception() +{ +} + +void +Exception::do_Visit_CeHost( CeHost & o_rHost ) const +{ + SCI_Vector<Ce_id> + itElements(aElements); + o_rHost.Do_Exception(*this); +} + +RCid +Exception::inq_ClassId() const +{ + return class_id; +} + +const String & +Exception::inq_LocalName() const +{ + return sName; +} + +Ce_id +Exception::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Exception::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Exception::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_exception +{ + +inline const Exception & +exception_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Exception::class_id ); + return static_cast< const Exception& >(i_ce); +} + +Type_id +attr::Base( const CodeEntity & i_ce ) +{ + return exception_cast(i_ce).nBase; +} + +void +attr::Get_Elements( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>( exception_cast(i_ce).aElements ); +} + + +void +xref::Get_Derivations( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(exception_2s_Derivations)); +} + +void +xref::Get_RaisingFunctions( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(exception_2s_RaisingFunctions)); +} + + +} // namespace ifc_exception + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_function.cxx b/autodoc/source/ary/idl/i_function.cxx new file mode 100644 index 000000000000..0e5bcb8b8d64 --- /dev/null +++ b/autodoc/source/ary/idl/i_function.cxx @@ -0,0 +1,187 @@ +/************************************************************************* + * + * $RCSfile: i_function.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:47 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_function.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> + + + +namespace ary +{ +namespace idl +{ + +Function::Function( const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nReturnType, + bool i_bConst, + bool i_bOneWay ) + : sName(i_sName), + nOwner(i_nOwner), + nNameRoom(i_nNameRoom), + nReturnType(i_nReturnType), + aParameters(), + aExceptions(), + bConst(i_bConst), + bOneWay(i_bOneWay) +{ +} + +Function::~Function() +{ +} + +void +Function::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Function( *this ); +} + + +RCid +Function::inq_ClassId() const +{ + return class_id; +} + +const String & +Function::inq_LocalName() const +{ + return sName; +} + +Ce_id +Function::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +Function::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Function::inq_SightLevel() const +{ + return sl_Member; +} + + +namespace ifc_function +{ + +inline const Function & +function_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Function::class_id ); + return static_cast< const Function& >(i_ce); +} + +Type_id +attr::ReturnType( const CodeEntity & i_ce ) +{ + return function_cast(i_ce).nReturnType; +} + +bool +attr::IsConst( const CodeEntity & i_ce ) +{ + return function_cast(i_ce).bConst; +} + +bool +attr::IsOneway( const CodeEntity & i_ce ) +{ + return function_cast(i_ce).bOneWay; +} + +void +attr::Get_Parameters( Dyn_StdConstIterator<ary::idl::Parameter> & o_result, + const CodeEntity & i_ce ) +{ + o_result + = new SCI_Vector<Parameter>( function_cast(i_ce).aParameters ); +} + +void +attr::Get_Exceptions( Dyn_TypeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result + = new SCI_Vector<Type_id>( function_cast(i_ce).aExceptions ); +} + + + + + +} // namespace ifc_function + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_interface.cxx b/autodoc/source/ary/idl/i_interface.cxx new file mode 100644 index 000000000000..2c9833a77333 --- /dev/null +++ b/autodoc/source/ary/idl/i_interface.cxx @@ -0,0 +1,222 @@ +/************************************************************************* + * + * $RCSfile: i_interface.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:47 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_interface.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ik_interface.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + + +namespace ary +{ +namespace idl +{ + + +class Interface_2s +{ +}; + + +Interface::Interface( const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ) + : sName(i_sName), + nOwner(i_nOwner), + nBase(i_nBase), + aFunctions() +{ +} + +Interface::~Interface() +{ +} + +void +Interface::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Interface(*this); +} + +RCid +Interface::inq_ClassId() const +{ + return class_id; +} + +const String & +Interface::inq_LocalName() const +{ + return sName; +} + +Ce_id +Interface::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Interface::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Interface::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_interface +{ + +inline const Interface & +interface_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Interface::class_id ); + return static_cast< const Interface& >(i_ce); +} + + +Type_id +attr::Base( const CodeEntity & i_ce ) +{ + return interface_cast(i_ce).nBase; +} + + +void +attr::Get_Functions( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(interface_cast(i_ce).aFunctions); +} + +void +attr::Get_Attributes( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(interface_cast(i_ce).aAttributes); +} + +void +xref::Get_Derivations( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(interface_2s_Derivations)); +} + +void +xref::Get_SynonymTypedefs( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(interface_2s_SynonymTypedefs)); +} + +void +xref::Get_ExportingServices( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(interface_2s_ExportingServices)); +} + +void +xref::Get_AsReturns( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(interface_2s_AsReturns)); +} + +void +xref::Get_AsParameters( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(interface_2s_AsParameters)); +} + + +#if 0 + static void Get_UsingTypedefs( /// like: typedef sequence<i_ce.LocalName()> newNameSeq; + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsIndirectReturns( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_AsIndirectParameters( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +#endif // 0 + + + +} // namespace ifc_interface + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/i_module.cxx b/autodoc/source/ary/idl/i_module.cxx new file mode 100644 index 000000000000..4e0ad4123900 --- /dev/null +++ b/autodoc/source/ary/idl/i_module.cxx @@ -0,0 +1,279 @@ +/************************************************************************* + * + * $RCSfile: i_module.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:48 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ik_module.hxx> + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/i_service.hxx> +#include <ary/idl/i_interface.hxx> +#include <ary/idl/i_struct.hxx> +#include <ary/idl/i_exception.hxx> +#include <ary/idl/i_enum.hxx> +#include <ary/idl/i_typedef.hxx> +#include <ary/idl/i_constgroup.hxx> +#include <ary/idl/i_singleton.hxx> +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ip_ce.hxx> +#include <nametreenode.hxx> +#include "i_strconst.hxx" + + +namespace ary +{ +namespace idl +{ + +Module::Module() + : pImpl( new NameTreeNode<Ce_id> ) +{ +} + +Module::Module( const String & i_sName, + const Module & i_rParent ) + : pImpl( new NameTreeNode<Ce_id>( i_sName, + *i_rParent.pImpl, + i_rParent.CeId() ) ) +{ +} + +Module::~Module() +{ +} + +void +Module::Add_Name( const String & i_sName, + Ce_id i_nCodeEntity ) +{ + pImpl->Add_Name(i_sName, i_nCodeEntity); +} + + +//void +//Module::Get_FullName( StringVector & o_rText, +// Ce_idList * o_pRelatedCes, +// const Gate & i_rGate ) const +//{ +// if (pImpl->Depth() < 1) +// return; +// +// if (o_pRelatedCes == 0) +// { +// for ( StringVector::const_iterator it = pImpl->NameChain_Begin(); +// it != pImpl->NameChain_End(); +// ++it ) +// { +// o_rText.push_back(strconst::NamespaceSeparator()); +// o_rText.push_back(*it); +// } +// } +// else +// { +// if (pImpl->Depth() > 1) +// { +// i_rGate.Ces().Find_Module(pImpl->Parent()) +// .Get_FullName( o_rText, +// o_pRelatedCes, +// i_rGate ); +// } +// +// o_rText.push_back(strconst::NamespaceSeparator()); +// o_rText.push_back(pImpl->Name()); +// o_pRelatedCes->push_back(CeId()); +// } +//} + +Ce_id +Module::Search_Name( const String & i_sName ) const +{ + return pImpl->Search_Name(i_sName); +} + +void +Module::Get_Names( Dyn_StdConstIterator<Ce_id> & o_rResult ) const +{ + pImpl->Get_Names( o_rResult ); +} + +intt +Module::Depth() const +{ + return pImpl->Depth(); +} + +void +Module::do_Visit_CeHost( CeHost & o_rHost ) const +{ + Dyn_StdConstIterator<Ce_id> + pLocalNames; + pImpl->Get_Names(pLocalNames); + o_rHost.Do_Module(*this); +} + +RCid +Module::inq_ClassId() const +{ + return class_id; +} + +const String & +Module::inq_LocalName() const +{ + return pImpl->Name(); +} + +Ce_id +Module::inq_NameRoom() const +{ + return pImpl->Parent(); +} + +Ce_id +Module::inq_Owner() const +{ + return pImpl->Parent(); +} + +E_SightLevel +Module::inq_SightLevel() const +{ + return sl_Module; +} + + +namespace ifc_module +{ + +inline const Module & +module_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Module::class_id ); + return static_cast< const Module& >(i_ce); +} + +typedef NameTreeNode<Ce_id>::Map_LocalNames NameMap; + +void +attr::Get_AllChildrenSeparated( std::vector< const CodeEntity* > & o_nestedModules, + std::vector< const CodeEntity* > & o_services, + std::vector< const CodeEntity* > & o_interfaces, + std::vector< const CodeEntity* > & o_structs, + std::vector< const CodeEntity* > & o_exceptions, + std::vector< const CodeEntity* > & o_enums, + std::vector< const CodeEntity* > & o_typedefs, + std::vector< const CodeEntity* > & o_constantGroups, + std::vector< const CodeEntity* > & o_singletons, + const CePilot & i_pilot, + const CodeEntity & i_ce ) +{ + const CodeEntity * + pCe = 0; + NameMap::const_iterator + itEnd = module_cast(i_ce).pImpl->LocalNames().end(); + for ( NameMap::const_iterator + it = module_cast(i_ce).pImpl->LocalNames().begin(); + it != itEnd; + ++it ) + { + pCe = &i_pilot.Find_Ce( (*it).second ); + switch (pCe->ClassId()) + { + case Module::class_id: + o_nestedModules.push_back(pCe); + break; + case Service::class_id: + o_services.push_back(pCe); + break; + case Interface::class_id: + o_interfaces.push_back(pCe); + break; + case Struct::class_id: + o_structs.push_back(pCe); + break; + case Exception::class_id: + o_exceptions.push_back(pCe); + break; + case Enum::class_id: + o_enums.push_back(pCe); + break; + case Typedef::class_id: + o_typedefs.push_back(pCe); + break; + case ConstantsGroup::class_id: + o_constantGroups.push_back(pCe); + break; + case Singleton::class_id: + o_singletons.push_back(pCe); + break; + } + } // end for +} + + +} // namespace ifc_module + + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_nnfinder.hxx b/autodoc/source/ary/idl/i_nnfinder.hxx new file mode 100644 index 000000000000..8824284f9950 --- /dev/null +++ b/autodoc/source/ary/idl/i_nnfinder.hxx @@ -0,0 +1,157 @@ +/************************************************************************* + * + * $RCSfile: i_nnfinder.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:50 $ + * + * 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_IDL_NNFINDER_HXX +#define ARY_IDL_NNFINDER_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <store/st_access.hxx> +#include <store/st_root.hxx> +#include <store/st_unit.hxx> +#include "is_ce.hxx" + +namespace ary +{ +namespace idl +{ + + +/** +*/ +class Find_ModuleNode +{ + public: + typedef Ce_id id_type; + typedef Module node_type; + typedef StringVector::const_iterator name_iterator; + + // LIFECYCLE + Find_ModuleNode( + const Ce_Storage & i_rStorage, + StringVector::const_iterator + it_begin, + StringVector::const_iterator + it_end, + const String & i_sName ) + : rStorage(i_rStorage), + itBegin(it_begin), + itEnd(it_end), + sName2Search(i_sName) { if (itBegin != itEnd ? (*itBegin).empty() : false) ++itBegin; } + // OPERATIONS + const node_type * operator()( + id_type i_nId ) const + { return store::search( rStorage, i_nId, T2T<Module>()); } + + name_iterator Begin() const { return itBegin; } + name_iterator End() const { return itEnd; } + const String & Name2Search() const { return sName2Search; } + + private: + // DATA + const Ce_Storage & rStorage; + name_iterator itBegin; + name_iterator itEnd; + String sName2Search; +}; + + + + +/** Implementation of a node in a namespace-tree. +*/ +class Types_forSetCe_Id +{ + public: + typedef Ce_id element_type; + typedef Ce_Storage find_type; + + struct sort_type + { + sort_type( + const find_type & i_rFinder ) + : rFinder(i_rFinder) {} + + bool operator()( + const element_type & + i_r1, + const element_type & + i_r2 ) const + { + return rFinder[i_r1].Entity().LocalName() + < rFinder[i_r2].Entity().LocalName(); + } + + private: + const find_type & rFinder; + + }; +}; + + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/source/ary/idl/i_param.cxx b/autodoc/source/ary/idl/i_param.cxx new file mode 100644 index 000000000000..5e417a08ddec --- /dev/null +++ b/autodoc/source/ary/idl/i_param.cxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: i_param.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:51 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_param.hxx> + + +// NOT FULLY DEFINED SERVICES +#if ENABLE_UDM +#include <udm/tt_incl.hxx> +#endif // ENABLE_UDM + + + +namespace ary +{ +namespace idl +{ + + +Parameter::Parameter() + : sName(), + nType(0), + eDirection(param_in) +{ +} + + +Parameter::Parameter( const String & i_sName, + Type_id i_nType, + E_ParameterDirection i_eDirection ) + : sName(i_sName), + nType(i_nType), + eDirection(i_eDirection) +{ +} + +Parameter::~Parameter() +{ +} + + +#if ENABLE_UDM +namespace +{ +enum E_Data_Parameter +{ + mid_Name, + mid_Type, + mid_Direction, + mid_MAX +}; +} + +void +Parameter::SetupUdmTraits_( udm::struct_traits<Parameter> & o_rTraits ) +{ + o_rTraits.reserve( mid_MAX ); + udm::add_traits_member( o_rTraits, &Parameter::sName, mid_Name ); + udm::add_traits_member( o_rTraits, &Parameter::nType, mid_Type ); + udm::add_traits_member( o_rTraits, &Parameter::eDirection, mid_Direction ); +} +#endif // ENABLE_UDM + + +} // namespace idl +} // namespace ary + + + +#if ENABLE_UDM +IMPL_UDM_GET_TRAITS( ary::idl::Parameter ); +#endif // ENABLE_UDM diff --git a/autodoc/source/ary/idl/i_property.cxx b/autodoc/source/ary/idl/i_property.cxx new file mode 100644 index 000000000000..88562545e3be --- /dev/null +++ b/autodoc/source/ary/idl/i_property.cxx @@ -0,0 +1,212 @@ +/************************************************************************* + * + * $RCSfile: i_property.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:53 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_property.hxx> +#include <ary/idl/ik_property.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> + + +namespace ary +{ +namespace idl +{ + + +Property::Property( const String & i_sName, + Ce_id i_nService, + Ce_id i_nModule, + Type_id i_nType, + Stereotypes i_stereotypes ) + : sName(i_sName), + nOwner(i_nService), + nNameRoom(i_nModule), + nType(i_nType), + aStereotypes(i_stereotypes) +{ +} + +Property::~Property() +{ +} + + +void +Property::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Property(*this); +} + +RCid +Property::inq_ClassId() const +{ + return class_id; +} + +const String & +Property::inq_LocalName() const +{ + return sName; +} + +Ce_id +Property::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +Property::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Property::inq_SightLevel() const +{ + return sl_Member; +} + +namespace ifc_property +{ + +inline const Property & +property_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Property::class_id ); + return static_cast< const Property& >(i_ce); +} + +bool +attr::HasAnyStereotype( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.HasAny(); +} + +bool +attr::IsReadOnly( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsReadOnly(); +} + +bool +attr::IsBound( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsBound(); +} + +bool +attr::IsConstrained( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsConstrained(); +} + +bool +attr::IsMayBeAmbigious( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsMayBeAmbigious(); +} + +bool +attr::IsMayBeDefault( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsMayBeDefault(); +} + +bool +attr::IsMayBeVoid( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsMayBeVoid(); +} + +bool +attr::IsRemovable( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsRemovable(); +} + +bool +attr::IsTransient( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).aStereotypes.IsTransient(); +} + +Type_id +attr::Type( const CodeEntity & i_ce ) +{ + return property_cast(i_ce).nType; +} + +} // namespace ifc_property + + +} // namespace idl +} // namespace ary + + + + +#if ENABLE_UDM +IMPL_UDM_GET_TRAITS( ary::idl::Property ); +#endif // ENABLE_UDM diff --git a/autodoc/source/ary/idl/i_reposypart.cxx b/autodoc/source/ary/idl/i_reposypart.cxx new file mode 100644 index 000000000000..27010942f1cb --- /dev/null +++ b/autodoc/source/ary/idl/i_reposypart.cxx @@ -0,0 +1,166 @@ +/************************************************************************* + * + * $RCSfile: i_reposypart.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:54 $ + * + * 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 2002 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: 2002 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <idl/i_reposypart.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <commonpart.hxx> +#include "ii_gate.hxx" +#include "ipi_ce.hxx" +#include "ipi_type.hxx" +#include "ipi_2s.hxx" +#include "is_ce.hxx" +#include "is_type.hxx" + + + + +namespace ary +{ +namespace idl +{ + + +//************** CheshireCat *****************// + +struct RepositoryPartition::CheshireCat +{ + public: + // LIFECYCLE + CheshireCat( + const n22::RepositoryCenter & + i_rRepository ); + ~CheshireCat(); + + // DATA + Ce_Storage aCeStorage; + Type_Storage aTypeStorage; + + Dyn<CePilot_Inst> pCePilot; + Dyn<TypePilot_Inst> pTypePilot; + Dyn<SecondariesPilot_Inst> + pSecondariesPilot; + + Dyn<Gate_Inst> pGate; + + const n22::RepositoryCenter * + pCenter; +}; + +RepositoryPartition:: +CheshireCat::CheshireCat( const n22::RepositoryCenter & i_rRepository ) + : aCeStorage(), + aTypeStorage(), + pCePilot(), + pTypePilot(), + pSecondariesPilot(), + pGate(), + pCenter(&i_rRepository) +{ + pCePilot = new CePilot_Inst( aCeStorage ); + pTypePilot = new TypePilot_Inst( aTypeStorage, *pCePilot ); + pSecondariesPilot = new SecondariesPilot_Inst( aCeStorage, aTypeStorage ); + pGate = new Gate_Inst( *pCePilot, *pTypePilot, *pSecondariesPilot ); +} + +RepositoryPartition:: +CheshireCat::~CheshireCat() +{ +} + + +//************** RepositoryPartition *****************// + +RepositoryPartition::RepositoryPartition( const n22::RepositoryCenter & i_rRepository ) + : cat(new CheshireCat(i_rRepository)) +{ +} + +RepositoryPartition::~RepositoryPartition() +{ +} + +const Gate & +RepositoryPartition::TheGate() const +{ + return * cat->pGate; +} + + +Gate & +RepositoryPartition::TheGate() +{ + return * cat->pGate; +} + + + + + + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/i_service.cxx b/autodoc/source/ary/idl/i_service.cxx new file mode 100644 index 000000000000..5d08af347f52 --- /dev/null +++ b/autodoc/source/ary/idl/i_service.cxx @@ -0,0 +1,192 @@ +/************************************************************************* + * + * $RCSfile: i_service.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:55 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_service.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ik_service.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + + +namespace ary +{ +namespace idl +{ + +Service::Service( const String & i_sName, + Ce_id i_nOwner ) + : sName(i_sName), + nOwner(i_nOwner), + aIncludedServices(), + aSupportedInterfaces(), + aProperties() +{ +} + +Service::~Service() +{ +} + +void +Service::Get_SupportedInterfaces( Dyn_StdConstIterator<CommentedReference> & o_rResult ) const +{ + o_rResult = new SCI_Vector<CommentedReference>(aSupportedInterfaces); +} + +void +Service::Get_IncludedServices( Dyn_StdConstIterator<CommentedReference> & o_rResult ) const +{ + o_rResult = new SCI_Vector<CommentedReference>(aIncludedServices); +} + +void +Service::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Service(*this); +} + +RCid +Service::inq_ClassId() const +{ + return class_id; +} + +const String & +Service::inq_LocalName() const +{ + return sName; +} + +Ce_id +Service::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Service::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Service::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_service +{ + +inline const Service & +service_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Service::class_id ); + return static_cast< const Service& >(i_ce); +} + +void +attr::Get_IncludedServices( Dyn_StdConstIterator<CommentedReference> & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<CommentedReference>( service_cast(i_ce).aIncludedServices ); +} + +void +attr::Get_ExportedInterfaces( Dyn_StdConstIterator<CommentedReference> & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<CommentedReference>( service_cast(i_ce).aSupportedInterfaces ); +} + +void +attr::Get_Properties( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>( service_cast(i_ce).aProperties ); +} + +void +xref::Get_IncludingServices( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(service_2s_IncludingServices)); +} + +void +xref::Get_InstantiatingSingletons( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(service_2s_InstantiatingSingletons)); +} + + +} // namespace ifc_service + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/i_singleton.cxx b/autodoc/source/ary/idl/i_singleton.cxx new file mode 100644 index 000000000000..ae5e5ef7d14a --- /dev/null +++ b/autodoc/source/ary/idl/i_singleton.cxx @@ -0,0 +1,147 @@ +/************************************************************************* + * + * $RCSfile: i_singleton.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:56 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_singleton.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <ary/idl/ik_singleton.hxx> +#include <sci_impl.hxx> + + +namespace ary +{ +namespace idl +{ + +Singleton::Singleton( const String & i_sName, + Ce_id i_nOwner ) + : sName(i_sName), + nOwner(i_nOwner), + nService() +{ +} + +Singleton::~Singleton() +{ +} + +void +Singleton::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Singleton(*this); +} + +RCid +Singleton::inq_ClassId() const +{ + return class_id; +} + +const String & +Singleton::inq_LocalName() const +{ + return sName; +} + +Ce_id +Singleton::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Singleton::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Singleton::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_singleton +{ + +inline const Singleton & +singleton_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Singleton::class_id ); + return static_cast< const Singleton& >(i_ce); +} + +Type_id +attr::AssociatedService( const CodeEntity & i_ce ) +{ + return singleton_cast(i_ce).nService; +} + +} // namespace ifc_singleton + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/i_strconst.cxx b/autodoc/source/ary/idl/i_strconst.cxx new file mode 100644 index 000000000000..e1f687a2a905 --- /dev/null +++ b/autodoc/source/ary/idl/i_strconst.cxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: i_strconst.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:57 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +// #include <ary/idl/i_strconst.hxx> + + +// NOT FULLY DECLARED SERVICES + + + + +namespace ary +{ +namespace idl +{ +namespace strconst +{ + + +const String C_sNamespaceSeparator("::"); +const String C_sSequenceBegin("sequence< "); +const String C_sSequenceEnd(" >"); + + +const String & +NamespaceSeparator() +{ + return C_sNamespaceSeparator; +} + +const String & +SequenceBegin() +{ + return C_sSequenceBegin; +} +const String & +SequenceEnd() +{ + return C_sSequenceEnd; +} + + +} // namespace strconst +} // namespace idl +} // namespace ary + + + + diff --git a/autodoc/source/ary/idl/i_strconst.hxx b/autodoc/source/ary/idl/i_strconst.hxx new file mode 100644 index 000000000000..184122abd14f --- /dev/null +++ b/autodoc/source/ary/idl/i_strconst.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: i_strconst.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:58 $ + * + * 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_IDL_I_STRCONST_HXX +#define ARY_IDL_I_STRCONST_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + + + +namespace ary +{ +namespace idl +{ + +namespace strconst +{ + +const String & +NamespaceSeparator(); // "::" +const String & +SequenceBegin(); // "sequence< " +const String & +SequenceEnd(); // " >" + + +} // namespace strconst + + + +} // namespace idl +} // namespace ary + +#endif + + diff --git a/autodoc/source/ary/idl/i_struct.cxx b/autodoc/source/ary/idl/i_struct.cxx new file mode 100644 index 000000000000..14d288a13f66 --- /dev/null +++ b/autodoc/source/ary/idl/i_struct.cxx @@ -0,0 +1,189 @@ +/************************************************************************* + * + * $RCSfile: i_struct.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:12:59 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_struct.hxx> +#include <ary/idl/ik_struct.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + + +namespace ary +{ +namespace idl +{ + +Struct::Struct( const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBase ) + : sName(i_sName), + nOwner(i_nOwner), + nBase(i_nBase), + aElements() +{ +} + +Struct::~Struct() +{ +} + +void +Struct::do_Visit_CeHost( CeHost & o_rHost ) const +{ + SCI_Vector<Ce_id> + itElements(aElements); + o_rHost.Do_Struct(*this); +} + +RCid +Struct::inq_ClassId() const +{ + return class_id; +} + +const String & +Struct::inq_LocalName() const +{ + return sName; +} + +Ce_id +Struct::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Struct::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Struct::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_struct +{ + +inline const Struct & +struct_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Struct::class_id ); + return static_cast< const Struct& >(i_ce); +} + +Type_id +attr::Base( const CodeEntity & i_ce ) +{ + return struct_cast(i_ce).nBase; +} + +void +attr::Get_Elements( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>( struct_cast(i_ce).aElements ); +} + + +void +xref::Get_Derivations( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(struct_2s_Derivations)); +} + +void +xref::Get_SynonymTypedefs( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(struct_2s_SynonymTypedefs)); +} + +void +xref::Get_AsReturns( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(struct_2s_AsReturns)); +} + +void +xref::Get_AsParameters( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(struct_2s_AsParameters)); +} + +} // namespace ifc_struct + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/i_structelem.cxx b/autodoc/source/ary/idl/i_structelem.cxx new file mode 100644 index 000000000000..9a11d24b9804 --- /dev/null +++ b/autodoc/source/ary/idl/i_structelem.cxx @@ -0,0 +1,151 @@ +/************************************************************************* + * + * $RCSfile: i_structelem.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:01 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_structelem.hxx> +#include <ary/idl/ik_structelem.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> + + +namespace ary +{ +namespace idl +{ + + +StructElement::StructElement( const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nType ) + : sName(i_sName), + nOwner(i_nOwner), + nNameRoom(i_nNameRoom), + nType(i_nType) +{ +} + +StructElement::~StructElement() +{ +} + +void +StructElement::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_StructElement(*this); +} + +RCid +StructElement::inq_ClassId() const +{ + return class_id; +} + +const String & +StructElement::inq_LocalName() const +{ + return sName; +} + +Ce_id +StructElement::inq_NameRoom() const +{ + return nNameRoom; +} + +Ce_id +StructElement::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +StructElement::inq_SightLevel() const +{ + return sl_Member; +} + + +namespace ifc_structelement +{ + +inline const StructElement & +selem_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == StructElement::class_id ); + return static_cast< const StructElement& >(i_ce); +} + +Type_id +attr::Type( const CodeEntity & i_ce ) +{ + return selem_cast(i_ce).nType; +} + +} // namespace ifc_structelement + + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/i_typedef.cxx b/autodoc/source/ary/idl/i_typedef.cxx new file mode 100644 index 000000000000..0ce6a8e165af --- /dev/null +++ b/autodoc/source/ary/idl/i_typedef.cxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: i_typedef.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:02 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/idl/i_typedef.hxx> +#include <ary/idl/ik_typedef.hxx> + + +// NOT FULLY DECLARED SERVICES +#include <ary/idl/ihost_ce.hxx> +#include <sci_impl.hxx> +#include "ipi_2s.hxx" + + +namespace ary +{ +namespace idl +{ + + +Typedef::Typedef( const String & i_sName, + Ce_id i_nOwner, + Type_id i_nDefiningType ) + : sName(i_sName), + nOwner(i_nOwner), + nDefiningType(i_nDefiningType) +{ +} + +Typedef::~Typedef() +{ +} + +void +Typedef::do_Visit_CeHost( CeHost & o_rHost ) const +{ + o_rHost.Do_Typedef(*this); +} + +RCid +Typedef::inq_ClassId() const +{ + return class_id; +} + +const String & +Typedef::inq_LocalName() const +{ + return sName; +} + +Ce_id +Typedef::inq_NameRoom() const +{ + return nOwner; +} + +Ce_id +Typedef::inq_Owner() const +{ + return nOwner; +} + +E_SightLevel +Typedef::inq_SightLevel() const +{ + return sl_File; +} + + +namespace ifc_typedef +{ + +inline const Typedef & +typedef_cast( const CodeEntity & i_ce ) +{ + csv_assert( i_ce.ClassId() == Typedef::class_id ); + return static_cast< const Typedef& >(i_ce); +} + +Type_id +attr::DefiningType( const CodeEntity & i_ce ) +{ + return typedef_cast(i_ce).nDefiningType; +} + + +void +xref::Get_SynonymTypedefs( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(typedef_2s_SynonymTypedefs)); +} + +void +xref::Get_AsReturns( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(typedef_2s_AsReturns)); +} + +void +xref::Get_AsParameters( Dyn_CeIterator & o_result, + const CodeEntity & i_ce ) +{ + o_result = new SCI_Vector<Ce_id>(i_ce.Secondaries().List(typedef_2s_AsParameters)); +} + +} // namespace ifc_typedef + + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/is_ce.cxx b/autodoc/source/ary/idl/is_ce.cxx new file mode 100644 index 000000000000..71d2aa99a69f --- /dev/null +++ b/autodoc/source/ary/idl/is_ce.cxx @@ -0,0 +1,113 @@ +/************************************************************************* + * + * $RCSfile: is_ce.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:11 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "is_ce.hxx" + +// NOT FULLY DEFINED SERVICES + + + +namespace ary +{ +namespace idl +{ + + +namespace +{ +const uintt C_nReservedElements = predefined::ce_MAX; // Skipping "0" and the GlobalNamespace +} + + +Ce_Storage::Ce_Storage( uintt i_nBLOCK_SIZE_LOG_2, + uintt i_nInitialNrOfBlocks ) + : aContainer(i_nBLOCK_SIZE_LOG_2, C_nReservedElements, i_nInitialNrOfBlocks) +{ +} + +Ce_Storage::~Ce_Storage() +{ +} + +void +Ce_Storage::EraseAll() +{ + aContainer.EraseAll(); +} + +void +Ce_Storage::Save( PersistenceAdmin & io_rSaver ) const +{ + // KORR_FUTURE +} + +void +Ce_Storage::Load( PersistenceAdmin & io_rLoader ) +{ + // KORR_FUTURE +} + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/is_ce.hxx b/autodoc/source/ary/idl/is_ce.hxx new file mode 100644 index 000000000000..e70db14185ad --- /dev/null +++ b/autodoc/source/ary/idl/is_ce.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: is_ce.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:12 $ + * + * 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_IDL_IS_CE_HXX +#define ARY_IDL_IS_CE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <store/storage.hxx> + // COMPONENTS +#include <ary/idl/i_ce.hxx> +#include <store/st_root.hxx> +#include "is_ce_indices.hxx" + // PARAMETERS + + + +namespace ary +{ +namespace idl +{ + +class PersistenceAdmin; + + +class Ce_Storage : public ::ary::store22::Storage +{ + public: + typedef CodeEntity element_base_type; + typedef ary::store::StorageUnit<element_base_type> unit; + typedef ary::store::Root<unit> container; + typedef TypedId<element_base_type> key; + + // LIFECYCLE + Ce_Storage( + uintt i_nBLOCK_SIZE_LOG_2 = 10, + uintt i_nInitialNrOfBlocks = 2 ); + ~Ce_Storage(); + + // OPERATORS + const unit & operator[]( + key i_nId ) const + { return aContainer[i_nId]; } + unit & operator[]( + key i_nId ) + { return aContainer[i_nId]; } + // OPERATIONS + void EraseAll(); + void Save( + PersistenceAdmin & io_rSaver ) const; + void Load( + PersistenceAdmin & io_rLoader ); + // INQUIRY + const container & Container() const { return aContainer; } + // ACCESS + container & Container() { return aContainer; } + + private: + // DATA + container aContainer; +}; + + + + +namespace predefined +{ + +enum E_CodeEntity +{ + ce_GlobalNamespace = 1, + ce_MAX +}; + +} // namespace predefined + + + +} // namespace idl +} // namespace ary + +#endif + + diff --git a/autodoc/source/ary/idl/is_type.cxx b/autodoc/source/ary/idl/is_type.cxx new file mode 100644 index 000000000000..93305e0b33e0 --- /dev/null +++ b/autodoc/source/ary/idl/is_type.cxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * $RCSfile: is_type.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13: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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "is_type.hxx" + + +// NOT FULLY DEFINED SERVICES + + + +namespace ary +{ +namespace idl +{ + +namespace +{ +const uintt C_nReservedElements = predefined::type_MAX; // Skipping "0" and the GlobalNamespace +} + + +Type_Storage::Type_Storage( uintt i_nBLOCK_SIZE_LOG_2, + uintt i_nInitialNrOfBlocks ) + : aContainer(i_nBLOCK_SIZE_LOG_2, C_nReservedElements, i_nInitialNrOfBlocks) +{ +} + +Type_Storage::~Type_Storage() +{ +} + +void +Type_Storage::EraseAll() +{ + aContainer.EraseAll(); +} + +void +Type_Storage::Save( PersistenceAdmin & io_rSaver ) const +{ + // KORR_FUTURE +} + +void +Type_Storage::Load( PersistenceAdmin & io_rLoader ) +{ + // KORR_FUTURE +} + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/is_type.hxx b/autodoc/source/ary/idl/is_type.hxx new file mode 100644 index 000000000000..ab3ce195ccbe --- /dev/null +++ b/autodoc/source/ary/idl/is_type.hxx @@ -0,0 +1,160 @@ +/************************************************************************* + * + * $RCSfile: is_type.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13: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_IDL_IS_TYPE_HXX +#define ARY_IDL_IS_TYPE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <store/storage.hxx> + // COMPONENTS +#include <ary/idl/i_type.hxx> +#include <store/st_root.hxx> +#include "is_type_indices.hxx" + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + +class PersistenceAdmin; + + +class Type_Storage : public ::ary::store22::Storage +{ + public: + typedef Type element_base_type; + typedef ary::store::StorageUnit<element_base_type> unit; + typedef ary::store::Root<unit> container; + typedef TypedId<element_base_type> key; + + // LIFECYCLE + Type_Storage( + uintt i_nBLOCK_SIZE_LOG_2 = 10, + uintt i_nInitialNrOfBlocks = 2 ); + ~Type_Storage(); + + // OPERATORS + const unit & operator[]( + key i_nId ) const + { return aContainer[i_nId]; } + unit & operator[]( + key i_nId ) + { return aContainer[i_nId]; } + // OPERATIONS + void EraseAll(); + void Save( + PersistenceAdmin & io_rSaver ) const; + void Load( + PersistenceAdmin & io_rLoader ); + // INQUIRY + const container & Container() const { return aContainer; } + // ACCESS + container & Container() { return aContainer; } + Type_StorageIndices & + Indices() { return aIndices; } + private: + // DATA + container aContainer; + Type_StorageIndices aIndices; +}; + + + +namespace predefined +{ + +enum E_Type +{ + type_Root_ofXNameRooms = 1, + type_GlobalXNameRoom, + type_any, + type_boolean, + type_byte, + type_char, + type_double, + type_float, + type_hyper, + type_long, + type_short, + type_string, + type_type, + type_void, + type_u_hyper, + type_u_long, + type_u_short, + type_MAX +}; + + +} // namespace predefined + +} // namespace idl +} // namespace ary + +#endif + + diff --git a/autodoc/source/ary/idl/it_builtin.cxx b/autodoc/source/ary/idl/it_builtin.cxx new file mode 100644 index 000000000000..b2d82325d8be --- /dev/null +++ b/autodoc/source/ary/idl/it_builtin.cxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * $RCSfile: it_builtin.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:19 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "it_builtin.hxx" + + +// NOT FULLY DEFINED SERVICES +#include "i_strconst.hxx" + + + +namespace ary +{ +namespace idl +{ + + + +BuiltInType::BuiltInType( const char * i_sName ) + : Named_Type(i_sName) +{ +} + +BuiltInType::~BuiltInType() +{ +} + +void +BuiltInType::do_Visit( Host & io_rHost ) const +{ + // yet unused. +} + +RCid +BuiltInType::inq_ClassId() const +{ + return class_id; +} + +void +BuiltInType::inq_Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const +{ + o_name = Name(); +} + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/it_builtin.hxx b/autodoc/source/ary/idl/it_builtin.hxx new file mode 100644 index 000000000000..9aec1665ef23 --- /dev/null +++ b/autodoc/source/ary/idl/it_builtin.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: it_builtin.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:20 $ + * + * 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_IDL_IT_BUILTIN_HXX +#define ARY_IDL_IT_BUILTIN_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "it_named.hxx" + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + + +/** A type defined by the IDL language. +*/ +class BuiltInType : public Named_Type +{ + public: + enum E_ClassId { class_id = 2200 }; + + // LIFECYCLE + BuiltInType( + const char * i_sName ); + virtual ~BuiltInType(); + + private: + // Interface RepositoryEntity: + virtual void do_Visit( Host & io_rHost ) const; + virtual RCid inq_ClassId() const; + + // Interface Type: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const; +}; + + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/it_ce.cxx b/autodoc/source/ary/idl/it_ce.cxx new file mode 100644 index 000000000000..013502331585 --- /dev/null +++ b/autodoc/source/ary/idl/it_ce.cxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * $RCSfile: it_ce.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:21 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "it_ce.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ip_ce.hxx> +#include "i_strconst.hxx" + + + +namespace ary +{ +namespace idl +{ + + +Ce_Type::Ce_Type( Ce_id i_nRelatedCe ) + : nRelatedCe(i_nRelatedCe) +{ +} + +Ce_Type::~Ce_Type() +{ +} + +void +Ce_Type::do_Visit( Host & io_rHost ) const +{ + // yet unused. +} + +RCid +Ce_Type::inq_ClassId() const +{ + return class_id; +} + +void +Ce_Type::inq_Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const +{ + String sDummyMember; + + const CodeEntity & + rCe = i_rGate.Ces().Find_Ce(nRelatedCe); + i_rGate.Ces().Get_Text( o_module, + o_name, + sDummyMember, + rCe ); + o_nRelatedCe = nRelatedCe; +} + + + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/it_ce.hxx b/autodoc/source/ary/idl/it_ce.hxx new file mode 100644 index 000000000000..dfd711d8f586 --- /dev/null +++ b/autodoc/source/ary/idl/it_ce.hxx @@ -0,0 +1,121 @@ +/************************************************************************* + * + * $RCSfile: it_ce.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:22 $ + * + * 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_IDL_IT_CE_HXX +#define ARY_IDL_IT_CE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_type.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + + + +/** A named @->Type related to its corresponding + @->CodeEntity. +*/ +class Ce_Type : public Type +{ + public: + enum E_ClassId { class_id = 2201 }; + + // LIFECYCLE + Ce_Type( + Ce_id i_nRelatedCe ); + virtual ~Ce_Type(); + + // INQUIRY + Ce_id RelatedCe() const { return nRelatedCe; } + + private: + // Interface RepositoryEntity: + virtual void do_Visit( Host & io_rHost ) const; + virtual RCid inq_ClassId() const; + + // Interface Type: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const; + // DATA + Ce_id nRelatedCe; +}; + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/it_explicit.cxx b/autodoc/source/ary/idl/it_explicit.cxx new file mode 100644 index 000000000000..cb4c3eaeca3e --- /dev/null +++ b/autodoc/source/ary/idl/it_explicit.cxx @@ -0,0 +1,128 @@ +/************************************************************************* + * + * $RCSfile: it_explicit.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:23 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "it_explicit.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_module.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> +#include <ary/idl/ip_type.hxx> +#include "i_strconst.hxx" +#include "it_xnameroom.hxx" + + + +namespace ary +{ +namespace idl +{ + + +ExplicitType::ExplicitType( const String & i_sName, + Type_id i_nXNameRoom, + Ce_id i_nModuleOfOccurrence ) + : Named_Type(i_sName), + nXNameRoom(i_nXNameRoom), + nModuleOfOccurrence(i_nModuleOfOccurrence) +{ +} + +ExplicitType::~ExplicitType() +{ +} + +void +ExplicitType::do_Visit( Host & io_rHost ) const +{ + // yet unused. +} + +RCid +ExplicitType::inq_ClassId() const +{ + return class_id; +} + +void +ExplicitType::inq_Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequenceCount, + const Gate & i_rGate ) const +{ + const ExplicitNameRoom & + rNameRoom = i_rGate.Types().Find_XNameRoom(nXNameRoom); + rNameRoom.Get_Text(o_module,o_name,o_nRelatedCe,o_nSequenceCount,i_rGate); + + o_name = Name(); +} + + + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/it_explicit.hxx b/autodoc/source/ary/idl/it_explicit.hxx new file mode 100644 index 000000000000..ba1d966b5fc7 --- /dev/null +++ b/autodoc/source/ary/idl/it_explicit.hxx @@ -0,0 +1,125 @@ +/************************************************************************* + * + * $RCSfile: it_explicit.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:23 $ + * + * 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_IDL_IT_EXPLICIT_HXX +#define ARY_IDL_IT_EXPLICIT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "it_named.hxx" + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + + +/** A named @->Type, not yet related to its corresponding + @->CodeEntity. +*/ +class ExplicitType : public Named_Type +{ + public: + enum E_ClassId { class_id = 2203 }; + + // LIFECYCLE + ExplicitType( + const String & i_sName, + Type_id i_nXNameRoom, + Ce_id i_nModuleOfOccurrence ); + virtual ~ExplicitType(); + + // INQUIRY + Ce_id ModuleOfOccurrence() const + { return nModuleOfOccurrence; } + Type_id NameRoom() const { return nXNameRoom; } + + private: + // Interface RepositoryEntity: + virtual void do_Visit( Host & io_rHost ) const; + virtual RCid inq_ClassId() const; + + // Interface Type: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const; + // DATA + Type_id nXNameRoom; // As written in code. + Ce_id nModuleOfOccurrence; +}; + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/it_named.hxx b/autodoc/source/ary/idl/it_named.hxx new file mode 100644 index 000000000000..dc0199e136d3 --- /dev/null +++ b/autodoc/source/ary/idl/it_named.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * $RCSfile: it_named.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:24 $ + * + * 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_IDL_IT_NAMED_HXX +#define ARY_IDL_IT_NAMED_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_type.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + + + +/** Represents types with a name - in opposite to e.g. sequences, + which do not have one. +*/ +class Named_Type : public Type +{ + public: + // LIFECYCLE + virtual ~Named_Type() {} + + // INQUIRY + const String & Name() const { return sName; } + + protected: + Named_Type( + const String & i_sName ) + : sName(i_sName) { } + private: + // DATA + String sName; +}; + + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/it_sequence.cxx b/autodoc/source/ary/idl/it_sequence.cxx new file mode 100644 index 000000000000..5c021e5929cd --- /dev/null +++ b/autodoc/source/ary/idl/it_sequence.cxx @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: it_sequence.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:25 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "it_sequence.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_type.hxx> +#include "i_strconst.hxx" + + + +namespace ary +{ +namespace idl +{ + + +Sequence::Sequence( Type_id i_nRelatedType ) + : nRelatedType(i_nRelatedType) +{ +} + +Sequence::~Sequence() +{ +} + +void +Sequence::do_Visit( Host & io_rHost ) const +{ + // yet unused. +} + +RCid +Sequence::inq_ClassId() const +{ + return class_id; +} + +void +Sequence::inq_Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequenceCount, + const Gate & i_rGate ) const +{ + ++o_nSequenceCount; + + i_rGate.Types().Find_Type(nRelatedType) + .Get_Text( o_module, + o_name, + o_nRelatedCe, + o_nSequenceCount, + i_rGate ); +} + + + +} // namespace idl +} // namespace ary + diff --git a/autodoc/source/ary/idl/it_sequence.hxx b/autodoc/source/ary/idl/it_sequence.hxx new file mode 100644 index 000000000000..9cf9466d33ca --- /dev/null +++ b/autodoc/source/ary/idl/it_sequence.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: it_sequence.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:27 $ + * + * 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_IDL_IT_SEQUENCE_HXX +#define ARY_IDL_IT_SEQUENCE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_type.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + +/** A sequence (an array of a type). +*/ +class Sequence : public Type +{ + public: + enum E_ClassId { class_id = 2202 }; + + // LIFECYCLE + Sequence( + Type_id i_nRelatedType ); + virtual ~Sequence(); + + // INQUIRY + Type_id RelatedType() const { return nRelatedType; } + + private: + // Interface RepositoryEntity: + virtual void do_Visit( Host & io_rHost ) const; + virtual RCid inq_ClassId() const; + + // Interface Type: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const; + // DATA + Type_id nRelatedType; +}; + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/it_xnameroom.cxx b/autodoc/source/ary/idl/it_xnameroom.cxx new file mode 100644 index 000000000000..c3f6fb0072f0 --- /dev/null +++ b/autodoc/source/ary/idl/it_xnameroom.cxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * $RCSfile: it_xnameroom.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:28 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "it_xnameroom.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <cosv/template/tpltools.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_type.hxx> +#include "i_strconst.hxx" + + + +namespace ary +{ +namespace idl +{ + +ExplicitNameRoom::ExplicitNameRoom() + : aImpl() +{ +} + +ExplicitNameRoom::ExplicitNameRoom( const String & i_sName, + const ExplicitNameRoom & i_rParent ) + : aImpl( i_sName, i_rParent.aImpl, i_rParent.TypeId() ) +{ +} + +ExplicitNameRoom::~ExplicitNameRoom() +{ +} + +void +ExplicitNameRoom::do_Visit( Host & //io_rHost + ) const +{ + // yet unused. +} + +RCid +ExplicitNameRoom::inq_ClassId() const +{ + return class_id; +} + +void +ExplicitNameRoom::inq_Get_Text( StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const +{ + StringVector::const_iterator it = NameChain_Begin(); + if ( it != NameChain_End() + ? (*it).empty() + : false ) + { // Don't put out the root global namespace + ++it; + } + + for ( ; + it != NameChain_End(); + ++it ) + { + o_module.push_back(*it); + } +} + + + + +} // namespace idl +} // namespace ary diff --git a/autodoc/source/ary/idl/it_xnameroom.hxx b/autodoc/source/ary/idl/it_xnameroom.hxx new file mode 100644 index 000000000000..419a849a9162 --- /dev/null +++ b/autodoc/source/ary/idl/it_xnameroom.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * $RCSfile: it_xnameroom.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:29 $ + * + * 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_IDL_IT_XNAMEROOM_HXX +#define ARY_IDL_IT_XNAMEROOM_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/i_type.hxx> +#include <nametreenode.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + + +/** A namespace for @->Type s, as they are explicitely written in code. +*/ +class ExplicitNameRoom : public Type +{ + public: + enum E_ClassId { class_id = 2204 }; + + // LIFECYCLE + ExplicitNameRoom(); + ExplicitNameRoom( + const String & i_sName, + const ExplicitNameRoom & + i_rParent ); + virtual ~ExplicitNameRoom(); + + // OPERATIONS + void Add_Name( + const String & i_sName, + Type_id i_nId ) + { aImpl.Add_Name(i_sName,i_nId); } + // INQUIRY + const String & Name() const { return aImpl.Name(); } + intt Depth() const { return aImpl.Depth(); } + void Get_FullName( + StringVector & o_rText, + Ce_idList * o_pRelatedCes, + const Gate & i_rGate ) const; + bool IsAbsolute() const { return Depth() > 0 + ? (*NameChain_Begin()).empty() + : false; } + Type_id Search_Name( + const String & i_sName ) const + { return aImpl.Search_Name(i_sName); } + + StringVector::const_iterator + NameChain_Begin() const + { return aImpl.NameChain_Begin(); } + StringVector::const_iterator + NameChain_End() const + { return aImpl.NameChain_End(); } + private: + // Interface RepositoryEntity: + virtual void do_Visit( Host & io_rHost ) const; + virtual RCid inq_ClassId() const; + + // Interface Type: + virtual void inq_Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequemceCount, + const Gate & i_rGate ) const; + // Locals + NameTreeNode<Type_id> + aImpl; +}; + + +} // namespace idl +} // namespace ary + + +#endif + diff --git a/autodoc/source/ary/idl/makefile.mk b/autodoc/source/ary/idl/makefile.mk new file mode 100644 index 000000000000..e35b16f231be --- /dev/null +++ b/autodoc/source/ary/idl/makefile.mk @@ -0,0 +1,124 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: np $ $Date: 2002-11-01 17:13:30 $ +# +# 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 WARRUNTY OF ANY KIND, EITHER EXPRESS 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): _______________________________________ +# +# +# +#************************************************************************* + +PRJ=..$/..$/.. + +PRJNAME=autodoc +TARGET=ary_idl + + +# --- Settings ----------------------------------------------------- + +ENABLE_EXCEPTIONS=true +PRJINC=$(PRJ)$/source + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk + + +# --- Files -------------------------------------------------------- + + +OBJFILES= \ + $(OBJ)$/i_attribute.obj \ + $(OBJ)$/i_ce.obj \ + $(OBJ)$/i_ce2s.obj \ + $(OBJ)$/i_constant.obj \ + $(OBJ)$/i_constgroup.obj \ + $(OBJ)$/i_enum.obj \ + $(OBJ)$/i_enumvalue.obj \ + $(OBJ)$/i_exception.obj \ + $(OBJ)$/i_function.obj \ + $(OBJ)$/i_interface.obj \ + $(OBJ)$/i_module.obj \ + $(OBJ)$/i_param.obj \ + $(OBJ)$/i_property.obj \ + $(OBJ)$/i_reposypart.obj \ + $(OBJ)$/i_service.obj \ + $(OBJ)$/i_singleton.obj \ + $(OBJ)$/i_strconst.obj \ + $(OBJ)$/i_struct.obj \ + $(OBJ)$/i_structelem.obj \ + $(OBJ)$/i_typedef.obj \ + $(OBJ)$/ihost_ce.obj \ + $(OBJ)$/ii_gate.obj \ + $(OBJ)$/ipi_ce.obj \ + $(OBJ)$/ipi_type.obj \ + $(OBJ)$/ipi_2s.obj \ + $(OBJ)$/is_ce.obj \ + $(OBJ)$/is_ce_indices.obj \ + $(OBJ)$/is_type.obj \ + $(OBJ)$/is_type_indices.obj \ + $(OBJ)$/it_builtin.obj \ + $(OBJ)$/it_ce.obj \ + $(OBJ)$/it_explicit.obj \ + $(OBJ)$/it_sequence.obj \ + $(OBJ)$/it_xnameroom.obj + + + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + + + diff --git a/autodoc/source/ary/inc/cross_refs.hxx b/autodoc/source/ary/inc/cross_refs.hxx new file mode 100644 index 000000000000..1a91f2cfd092 --- /dev/null +++ b/autodoc/source/ary/inc/cross_refs.hxx @@ -0,0 +1,133 @@ +/************************************************************************* + * + * $RCSfile: cross_refs.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:40 $ + * + * 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_CROSS_REFS_HXX +#define ARY_CROSS_REFS_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include "sorted_idset.hxx" + + +template <class VALUE_LIST, class TYPES> +class CrossReferences +{ + public: + typedef TYPES::element_type element; + + /// Checks for double occurences + void Add( + VALUE_LIST::index_type + i_nPosition + const element & i_rElem ); + void Get_List( + Dyn_StdConstIterator<element> & + o_rResult ) const; + private: + SortedIdSet<TYPES> aData[VALUE_LIST::max]; +}; + + + +namespace ary +{ + +template <class TYPES> +class SortedIdSet +{ + public: + typedef typename TYPES::element_type element; + typedef typename TYPES::sort_type sorter; + typedef typename TYPES::find_type finder; + + SortedIdSet( + const finder & i_rFinder ) + : aSorter(i_rFinder), + aData(aSorter) {} + ~SortedIdSet() {} + + void Get_Begin( + Dyn_StdConstIterator<element> & + o_rResult ) + { o_rResult = new SCI_Set<FINDER>(aData); } + void Add( + const element & i_rElement ) + { aData.insert(i_rElement); } + + private: + typedef std::set<element, sorter> Set; + + // DATA + sorter aSorter; + Set aData; +}; + + +} // namespace ary + + + +#endif + diff --git a/autodoc/source/ary/inc/nametree.hxx b/autodoc/source/ary/inc/nametree.hxx index 0fb76629c3ca..6240387fca67 100644 --- a/autodoc/source/ary/inc/nametree.hxx +++ b/autodoc/source/ary/inc/nametree.hxx @@ -2,9 +2,9 @@ * * $RCSfile: nametree.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:18 $ + * last change: $Author: np $ $Date: 2002-11-01 17:13:43 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -69,6 +69,7 @@ // COMPONENTS #include <ary/ids.hxx> #include "instlist.hxx" +#include "namesort.hxx" // PARAMETERS @@ -79,15 +80,17 @@ namespace ary class NameTree { public: +#if 0 // Test new comparison struct Less_Name { bool operator()( const udmstri & i_r1, const udmstri & i_r2 ) const; }; +#endif // 0 typedef std::map< udmstri, InstanceList, - Less_Name > Map_Name2Inst; + CompareCeNames > Map_Name2Inst; typedef Map_Name2Inst::const_iterator const_iterator; typedef Map_Name2Inst::iterator iterator; diff --git a/autodoc/source/ary/inc/nametreenode.hxx b/autodoc/source/ary/inc/nametreenode.hxx new file mode 100644 index 000000000000..ccee21738a49 --- /dev/null +++ b/autodoc/source/ary/inc/nametreenode.hxx @@ -0,0 +1,262 @@ +/************************************************************************* + * + * $RCSfile: nametreenode.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:44 $ + * + * 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_NAMETREENODE_HXX +#define ARY_NAMETREENODE_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <cosv/template/tpltools.hxx> +#include <sci_impl.hxx> +// HACK because of SunPro 5.2 compiler bug with templates: +#include <ary/idl/i_module.hxx> + + + +namespace ary +{ + + + +/** Implementation of a node in a namespace-tree. +*/ +template<class ITEM_ID> +class NameTreeNode +{ + public: + typedef NameTreeNode self; + typedef ITEM_ID item_id; + typedef StringVector::const_iterator name_iterator; + typedef std::map<String, item_id> Map_LocalNames; + + // LIFECYCLE + NameTreeNode(); + NameTreeNode( + const String & i_sName, + const self & i_rParent, + ITEM_ID i_nParentId ); + virtual ~NameTreeNode(); + + // OPERATIONS + void Add_Name( + const String & i_sName, + item_id i_nId ); + // INQUIRY + const String & Name() const { return Depth() > 0 ? aCompleteNameChain.back() : String::Null_(); } + item_id Parent() const { return nParent; } + intt Depth() const { return aCompleteNameChain.size(); } + + bool IsEquivalent( + const NameTreeNode & + i_rNode ) const; + name_iterator NameChain_Begin() const { return aCompleteNameChain.begin(); } + name_iterator NameChain_End() const { return aCompleteNameChain.end(); } + + item_id Search_Name( + const String & i_sName ) const; + void Get_Names( + Dyn_StdConstIterator<ITEM_ID> & + o_rResult ) const; + const Map_LocalNames & + LocalNames() const { return aLocalNames; } + private: + // Locals + Map_LocalNames & LocalNames() { return aLocalNames; } + + // DATA + Map_LocalNames aLocalNames; + StringVector aCompleteNameChain; + item_id nParent; +}; + + +#if 0 +// Prototypes have to be left out, because of a VC++ 6 compiler bug +// ( compiler reports ambigious overload ). + +template <class FIND_NODE> +typename FIND_NODE::id_type +Search_SubTree( const typename FIND_NODE::node_type & i_rStart, + const FIND_NODE & i_rNodeFinder ); + +template <class FIND_NODE> +typename FIND_NODE::id_type +Search_SubTree_UpTillRoot( const typename FIND_NODE::node_type & i_rStart, + const FIND_NODE & i_rNodeFinder ); +#endif // 0 + + + +// IMPLEMENTATION + +template<class ITEM_ID> +NameTreeNode<ITEM_ID>::NameTreeNode() + : aLocalNames(), + aCompleteNameChain(), + nParent(0) +{ +} + +template<class ITEM_ID> +NameTreeNode<ITEM_ID>::NameTreeNode( const String & i_sName, + const self & i_rParent, + ITEM_ID i_nParentId ) + : aLocalNames(), + aCompleteNameChain(), + nParent(i_nParentId) +{ + aCompleteNameChain.reserve(i_rParent.Depth()+1); + for ( name_iterator it = i_rParent.NameChain_Begin(); + it != i_rParent.NameChain_End(); + ++it ) + { + aCompleteNameChain.push_back(*it); + } + aCompleteNameChain.push_back(i_sName); +} + +template<class ITEM_ID> +NameTreeNode<ITEM_ID>::~NameTreeNode() +{ +} + + +template<class ITEM_ID> +inline void +NameTreeNode<ITEM_ID>::Add_Name( const String & i_sName, + item_id i_nId ) +{ + LocalNames().insert( Map_LocalNames::value_type(i_sName, i_nId) ); +} + + +template<class ITEM_ID> +inline bool +NameTreeNode<ITEM_ID>::IsEquivalent( const NameTreeNode & i_rNode ) const +{ + return aCompleteNameChain == i_rNode.aCompleteNameChain; +} + +template<class ITEM_ID> +inline ITEM_ID +NameTreeNode<ITEM_ID>::Search_Name( const String & i_sName ) const +{ + return csv::value_from_map(LocalNames(),i_sName); +} + +template<class ITEM_ID> +inline void +NameTreeNode<ITEM_ID>::Get_Names( Dyn_StdConstIterator<ITEM_ID> & o_rResult ) const +{ + o_rResult = new SCI_Map<String,item_id>(LocalNames()); +} + + +// HACK because of SunPro 5.2 compiler bug with templates: +// ary::idl::Module has to be "FIND_NODE::node_type" +// must be solved later somehow. +template <class FIND_NODE> +typename FIND_NODE::id_type +Search_SubTree( const ary::idl::Module & i_rStart, + const FIND_NODE & i_rNodeFinder ) +{ + const typename FIND_NODE::node_type * + ret = &i_rStart; + + for ( StringVector::const_iterator it = i_rNodeFinder.Begin(); + it != i_rNodeFinder.End() AND ret != 0; + ++it ) + { + ret = i_rNodeFinder(ret->Search_Name(*it)); + } + + typename FIND_NODE::id_type nret(0); + return ret != 0 + ? ret->Search_Name(i_rNodeFinder.Name2Search()) + : nret; +} + +template <class FIND_NODE> +typename FIND_NODE::id_type +Search_SubTree_UpTillRoot( const ary::idl::Module & i_rStart, + const FIND_NODE & i_rNodeFinder ) +{ + typename FIND_NODE::id_type + ret(0); + for ( const typename FIND_NODE::node_type * start = &i_rStart; + start != 0 AND NOT ret.IsValid(); + start = i_rNodeFinder(start->Owner()) ) + { + ret = Search_SubTree( *start, + i_rNodeFinder ); + } + return ret; +} +// END Hack for SunPro 5.2 compiler bug. + + +} // namespace ary + + +#endif diff --git a/autodoc/source/ary/inc/reposy.hxx b/autodoc/source/ary/inc/reposy.hxx index acd4c724e18f..9b109ce1dfaa 100644 --- a/autodoc/source/ary/inc/reposy.hxx +++ b/autodoc/source/ary/inc/reposy.hxx @@ -2,9 +2,9 @@ * * $RCSfile: reposy.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:18 $ + * last change: $Author: np $ $Date: 2002-11-01 17:13:46 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -62,17 +62,99 @@ #ifndef ARY_REPOSY_HXX #define ARY_REPOSY_HXX +// VERSION: Autodoc 2.2 // USED SERVICES // BASE CLASSES #include <ary/ary.hxx> // COMPONENTS +#include <cosv/ploc_dir.hxx> // PARAMETERS + + namespace ary { +namespace cpp +{ +class RepositoryPartition; +} + +namespace idl +{ +class RepositoryPartition; +} + +namespace phyloc +{ +class RepositoryLocation; +} + +namespace action +{ +class Statistic; +} + + +namespace n22 +{ + +/** Implements ::ary::Repository. + + @see Repository +*/ + +class RepositoryCenter : public ::ary::n22::Repository +{ + public: + // LIFECYCLE + RepositoryCenter( + const String & i_sDisplayedName ); + virtual ~RepositoryCenter(); + + // OPERATIONS + void RunCommand_ProduceAllSecondaries(); + void RunCommand_Statistic( + action::Statistic & io_rCommand ); + private: + // Interface Repository: + virtual void do_Perform( ::ary::Command & io_rCommand); + virtual const String & inq_Name() const; + virtual const idl::Gate & inq_Gate_Idl() const; + virtual idl::Gate & access_Gate_Idl(); + +#if 0 // Version 2.2 + virtual const cpp::Gate & inq_Gate_Cpp() const; + virtual cpp::Gate & access_Gate_Cpp(); +#endif // Version 2.2 + + // Local + + // DATA + String sDisplayedName; /// Name to be displayed for human users. + csv::ploc::Directory + aLocation; + Dyn< idl::RepositoryPartition > + pIdlPartition; + +#if 0 // Version 2.2 + Dyn<cpp::RepositoryPartition> + pCppPartition; +#endif // Version 2.2 +}; + + +} // namespace n22 + + + + + + + + /** @task */ @@ -95,9 +177,6 @@ class RepositoryCenter : public Repository inq_Name() const; virtual cpp::RwGate & access_RwGate_Cpp(); - virtual uidl::Gate & - access_RwGate_Idl(); - struct CheshireCat; // DATA diff --git a/autodoc/source/ary/inc/sci_impl.hxx b/autodoc/source/ary/inc/sci_impl.hxx new file mode 100644 index 000000000000..daf3a5e6987f --- /dev/null +++ b/autodoc/source/ary/inc/sci_impl.hxx @@ -0,0 +1,290 @@ +/************************************************************************* + * + * $RCSfile: sci_impl.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:48 $ + * + * 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_SCI_IMPL_HXX +#define ARY_SCI_IMPL_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/stdconstiter.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ + + +//************************* SCI_Vector **********************************// + +template <class ELEM> +class SCI_Vector : public StdConstIterator<ELEM> +{ + public: + typedef std::vector<ELEM> source; + typedef source::const_iterator source_iterator; + + SCI_Vector( + const source & i_rSource ); + virtual ~SCI_Vector(); + + private: + // Interface StdConstIterator<>: + virtual void do_Advance(); + virtual const ELEM * + inq_CurElement() const; + virtual bool inq_IsSorted() const; + + // DATA + source_iterator itRun; + source_iterator itEnd; +}; + + + +//************************* SCI_Vector **********************************// + +template <class KEY, class VALUE> +class SCI_Map : public StdConstIterator<VALUE> +{ + public: + typedef std::map<KEY,VALUE> source; + typedef source::const_iterator source_iterator; + + SCI_Map( + const source & i_rSource ); + virtual ~SCI_Map(); + + private: + // Interface StdConstIterator<>: + virtual void do_Advance(); + virtual const VALUE * + inq_CurElement() const; + virtual bool inq_IsSorted() const; + + // DATA + source_iterator itRun; + source_iterator itEnd; +}; + + + +//************************* SCI_Set **********************************// + + +template <class TYPES> +class SCI_Set : public StdConstIterator<typename TYPES::element_type> +{ + public: + typedef typename TYPES::element_type element; + typedef typename TYPES::sort_type sorter; + typedef std::set<element, sorter> source; + typedef source::const_iterator source_iterator; + + SCI_Set( + const source & i_rSource ); + virtual ~SCI_Set(); + + private: + // Interface StdConstIterator<>: + virtual void do_Advance(); + virtual const element * + inq_CurElement() const; + virtual bool inq_IsSorted() const; + + // DATA + source_iterator itRun; + source_iterator itEnd; +}; + + + +// IMPLEMENTATION + +template <class ELEM> +SCI_Vector<ELEM>::SCI_Vector( const source & i_rSource ) + : itRun(i_rSource.begin()), + itEnd(i_rSource.end()) +{ +} + +template <class ELEM> +SCI_Vector<ELEM>::~SCI_Vector() +{ +} + + +template <class ELEM> +void +SCI_Vector<ELEM>::do_Advance() +{ + if (itRun != itEnd) + ++itRun; +} + +template <class ELEM> +const ELEM * +SCI_Vector<ELEM>::inq_CurElement() const +{ + if (itRun != itEnd) + return &(*itRun); + return 0; +} + +template <class ELEM> +bool +SCI_Vector<ELEM>::inq_IsSorted() const +{ + return false; +} + + + + +template <class KEY, class VALUE> +SCI_Map<KEY,VALUE>::SCI_Map( const source & i_rSource ) + : itRun(i_rSource.begin()), + itEnd(i_rSource.end()) +{ +} + +template <class KEY, class VALUE> +SCI_Map<KEY,VALUE>::~SCI_Map() +{ +} + +template <class KEY, class VALUE> +void +SCI_Map<KEY,VALUE>::do_Advance() +{ + if (itRun != itEnd) + ++itRun; +} + +template <class KEY, class VALUE> +const VALUE * +SCI_Map<KEY,VALUE>::inq_CurElement() const +{ + if (itRun != itEnd) + return &(*itRun).second; + return 0; +} + + +template <class KEY, class VALUE> +bool +SCI_Map<KEY,VALUE>::inq_IsSorted() const +{ + return true; +} + + + + + +template <class ELEM> +SCI_Set<ELEM>::SCI_Set( const source & i_rSource ) + : itRun(i_rSource.begin()), + itEnd(i_rSource.end()) +{ +} + +template <class ELEM> +SCI_Set<ELEM>::~SCI_Set() +{ +} + + +template <class ELEM> +void +SCI_Set<ELEM>::do_Advance() +{ + if (itRun != itEnd) + ++itRun; +} + +template <class ELEM> +const typename SCI_Set<ELEM>::element * +SCI_Set<ELEM>::inq_CurElement() const +{ + if (itRun != itEnd) + return &(*itRun); + return 0; +} + +template <class ELEM> +bool +SCI_Set<ELEM>::inq_IsSorted() const +{ + return true; +} + + + + + + +} // namespace ary + + +#endif diff --git a/autodoc/source/ary/inc/sorted_idset.hxx b/autodoc/source/ary/inc/sorted_idset.hxx new file mode 100644 index 000000000000..b4d159a05f5b --- /dev/null +++ b/autodoc/source/ary/inc/sorted_idset.hxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: sorted_idset.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:13:49 $ + * + * 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_SORTED_IDSET_HXX +#define ARY_SORTED_IDSET_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <set> + // PARAMETERS +#include "csi_impl.hxx" + + +template <class XY> class SortedIdSet; + +class Interface_2s +{ + public: + /// Checks for double occurences + void Add_ExportingService( + Ce_id i_nId ); + void Get_ExportingServices( + Dyn_StdConstIterator<Ce_id> & + o_rResult ) const; + private: + Dyn<SortedIdSet> pExportingServices; +}; + + + +namespace ary +{ + +template <class TYPES> +class SortedIdSet +{ + public: + typedef typename TYPES::element_type element; + typedef typename TYPES::sort_type sorter; + typedef typename TYPES::find_type finder; + + SortedIdSet( + const finder & i_rFinder ) + : aSorter(i_rFinder), + aData(aSorter) {} + ~SortedIdSet() {} + + void Get_Begin( + Dyn_StdConstIterator<element> & + o_rResult ) + { o_rResult = new SCI_Set<FINDER>(aData); } + void Add( + const element & i_rElement ) + { aData.insert(i_rElement); } + + private: + typedef std::set<element, sorter> Set; + + // DATA + sorter aSorter; + Set aData; +}; + + +} // namespace ary + + + +#endif + diff --git a/autodoc/source/ary/kernel/makefile.mk b/autodoc/source/ary/kernel/makefile.mk index 5ff48f90d73f..9670db8f1557 100644 --- a/autodoc/source/ary/kernel/makefile.mk +++ b/autodoc/source/ary/kernel/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1.1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: np $ $Date: 2002-03-08 14:45:19 $ +# last change: $Author: np $ $Date: 2002-11-01 17:14:07 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -81,17 +81,21 @@ PRJINC=$(PRJ)$/source OBJFILES= \ - $(OBJ)$/ary_disp.obj \ - $(OBJ)$/ce_null.obj \ - $(OBJ)$/cessentl.obj \ - $(OBJ)$/id_gener.obj \ - $(OBJ)$/instlist.obj \ - $(OBJ)$/nametree.obj \ - $(OBJ)$/opertype.obj \ - $(OBJ)$/project.obj \ - $(OBJ)$/quname.obj \ - $(OBJ)$/reposy.obj \ - $(OBJ)$/slots.obj + $(OBJ)$/ary_disp.obj \ + $(OBJ)$/ce_null.obj \ + $(OBJ)$/cessentl.obj \ + $(OBJ)$/id_gener.obj \ + $(OBJ)$/inheritgraph.obj \ + $(OBJ)$/inheritnode.obj \ + $(OBJ)$/instlist.obj \ + $(OBJ)$/namesort.obj \ + $(OBJ)$/nametree.obj \ + $(OBJ)$/opertype.obj \ + $(OBJ)$/project.obj \ + $(OBJ)$/qualiname.obj \ + $(OBJ)$/reposy.obj \ + $(OBJ)$/slots.obj \ + $(OBJ)$/x_ary.obj diff --git a/autodoc/source/ary/kernel/namesort.cxx b/autodoc/source/ary/kernel/namesort.cxx new file mode 100644 index 000000000000..be498017799e --- /dev/null +++ b/autodoc/source/ary/kernel/namesort.cxx @@ -0,0 +1,139 @@ +/************************************************************************* + * + * $RCSfile: namesort.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:08 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <namesort.hxx> + + +// NOT FULLY DEFINED SERVICES + + + +namespace +{ + +int C_cAryNameOrdering1[256] = + { 0,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, // 0 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, // 32 .. + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,255,255, 255,255,255,255, + + 255, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, // 64 .. + 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,255, 255,255,255, 63, + 255, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, // 96 .. + 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,255, 255,255,255,255, + + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, //128 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, //160 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255 + }; + +int C_cAryNameOrdering2[256] = + { 0,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, // 0 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, // 32 .. + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,255,255, 255,255,255,255, + + 255, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, // 64 .. + 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,255, 255,255,255, 63, + 255, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, // 96 .. + 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62,255, 255,255,255,255, + + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, //128 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, //160 .. + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255, + 255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255 + }; +} + + +namespace ary +{ + + + + + +CompareCeNames::CompareCeNames() + : aOrdering1(C_cAryNameOrdering1), + aOrdering2(C_cAryNameOrdering2) +{ +} + + + + +} // namespace ary + + + diff --git a/autodoc/source/ary/kernel/nametree.cxx b/autodoc/source/ary/kernel/nametree.cxx index 2c8cc602ff29..ee4add9de2f7 100644 --- a/autodoc/source/ary/kernel/nametree.cxx +++ b/autodoc/source/ary/kernel/nametree.cxx @@ -2,9 +2,9 @@ * * $RCSfile: nametree.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:14:09 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -88,27 +88,40 @@ int cCompareValues[128] = }; +#if 0 +#ifdef WNT +#define strcmp_nocase stricmp +#elif (UNX) +#define strcmp_nocase strcasecmp +#else +#error For running Autodoc, 'WNT' or 'UNX' must be defined. +#endif + bool NameTree:: Less_Name::operator()( const udmstri & i_r1, const udmstri & i_r2 ) const { - const unsigned char * - p1 = reinterpret_cast< const unsigned char* >( i_r1.c_str() ); - const unsigned char * - p2 = reinterpret_cast< const unsigned char* >( i_r2.c_str() ); - int cp = 0; - - do { - cp = cCompareValues[*p1] - cCompareValues[*p2++]; - if ( cp < 0 ) - return true; - if ( cp > 0 ) - return false; - } while (*p1++ != 0); - - return false; + int result = strcmp_nocase(i_r1.c_str(),i_r2.c_str()); + if (result != 0) + return result < 0; + + const unsigned char * + p1 = reinterpret_cast< const unsigned char* >( i_r1.c_str() ); + const unsigned char * + p2 = reinterpret_cast< const unsigned char* >( i_r2.c_str() ); + + int cp = 0; + do { + cp = cCompareValues[*p1] - cCompareValues[*p2++]; + if ( cp < 0 ) + return true; + if ( cp > 0 ) + return false; + } while (*p1++ != 0); + return false; } +#endif // 0 NameTree::NameTree() diff --git a/autodoc/source/ary/kernel/qualiname.cxx b/autodoc/source/ary/kernel/qualiname.cxx new file mode 100644 index 000000000000..938fadff1670 --- /dev/null +++ b/autodoc/source/ary/kernel/qualiname.cxx @@ -0,0 +1,139 @@ +/************************************************************************* + * + * $RCSfile: qualiname.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:10 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/qualiname.hxx> + + +// NOT FULLY DECLARED SERVICES + + +namespace ary +{ + + +QualifiedName::QualifiedName( uintt i_nSize ) + : aNamespace(), + sLocalName(), + bIsAbsolute(false), + bIsFunction() +{ + if (i_nSize > 0) + aNamespace.reserve(i_nSize); +} + +QualifiedName::QualifiedName( const char * i_sText, + const char * i_sSeparator ) + : aNamespace(), + sLocalName(), + bIsAbsolute(false), + bIsFunction() +{ + AssignText(i_sText,i_sSeparator); +} + +QualifiedName::~QualifiedName() +{ +} + +void +QualifiedName::AssignText( const char * i_sText, + const char * i_sSeparator ) +{ + csv_assert(NOT csv::no_str(i_sText) AND NOT csv::no_str(i_sSeparator)); + bIsAbsolute = false; + bIsFunction = false; + csv::erase_container( aNamespace ); + + uintt nSepLen = strlen(i_sSeparator); + const char * sNext = i_sText; + + const char * ps = strstr( i_sText, i_sSeparator ); + if (ps == i_sText) + { + bIsAbsolute = true; + sNext = ps + nSepLen; + } + + for ( ps = strstr(sNext, i_sSeparator); + ps != 0; + ps = strstr(sNext, i_sSeparator) ) + { + String sPart(sNext, ps - sNext); + aNamespace.push_back(sPart); + sNext = ps + nSepLen; + } + + uintt sNameLen = strlen(sNext); + if ( sNameLen > 2 ) + { + ps = sNext + sNameLen - 2; + if (*ps == '(' AND *(ps+1) == ')') + { + sNameLen -= 2; + bIsFunction = true; + } + } + sLocalName = String(sNext,sNameLen); +} + + +} // namespace ary diff --git a/autodoc/source/ary/kernel/reposy.cxx b/autodoc/source/ary/kernel/reposy.cxx index 8f6070212114..419eb90491cf 100644 --- a/autodoc/source/ary/kernel/reposy.cxx +++ b/autodoc/source/ary/kernel/reposy.cxx @@ -2,9 +2,9 @@ * * $RCSfile: reposy.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:14:11 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -59,24 +59,253 @@ * ************************************************************************/ +// VERSION: Autodoc 2.2 + + #include <precomp.h> #include <reposy.hxx> // NOT FULLY DECLARED SERVICES +#include <ary/x_ary.hxx> +#include <ary/actions.hxx> +#include <idl/i_reposypart.hxx> + + // S P L I T // + #include <store/storage.hxx> #include <store/strg_ifc.hxx> #include <id_gener.hxx> #include <cpp/c_gate.hxx> #include <loc/l_gate.hxx> -#include <store/storage.hxx> -#include "../../ary_i/inc/uidl/gate_i.hxx" namespace ary { + +namespace n22 +{ + +using ::ary::Command; +using ::ary::X_Ary; + +//***************** Repository ************// + +namespace +{ + static Dyn<RepositoryCenter> pTheInstance_(0); +} + +Repository & +Repository::Create_( const String & i_sName ) +{ + if ( pTheInstance_ ) + throw X_Ary(X_Ary::x_MultipleRepository); + + pTheInstance_ = new RepositoryCenter( i_sName ); + return *pTheInstance_; +} + +Repository & +Repository::The_() +{ + if ( pTheInstance_ ) + throw X_Ary(X_Ary::x_MissingRepository); + + return *pTheInstance_; +} + +void +Repository::Destroy_() +{ + pTheInstance_ = 0; +} + + +//***************** RepositoryCenter ************// + + +RepositoryCenter::RepositoryCenter( const String & i_sName ) + : sDisplayedName(i_sName), + aLocation(), +#if 0 // Version 2.2 + pCppPartition(), +#endif // Version 2.2 + pIdlPartition() +{ +} + +RepositoryCenter::~RepositoryCenter() +{ +} + +void +RepositoryCenter::RunCommand_ProduceAllSecondaries() +{ + // KORR_FUTURE +} + +void +RepositoryCenter::RunCommand_Statistic( ::ary::action::Statistic & io_rCommand ) +{ + // KORR_FUTURE +} + +void +RepositoryCenter::do_Perform( Command & io_rCommand ) +{ + io_rCommand.Run(*this); +} + +const String & +RepositoryCenter::inq_Name() const +{ + return sDisplayedName; +} + +const ::ary::idl::Gate & +RepositoryCenter::inq_Gate_Idl() const +{ + return const_cast< RepositoryCenter& >(*this).access_Gate_Idl(); +} + + +::ary::idl::Gate & +RepositoryCenter::access_Gate_Idl() +{ + if (NOT pIdlPartition) + pIdlPartition = new idl::RepositoryPartition(*this); + + return pIdlPartition->TheGate(); +} + + +#if 0 // Version 2.2 +/* +cpp::Gate & +RepositoryCenter::access_Gate_Cpp() +{ + csv_assert( pCppPartition ); + return pCppPartition->TheGate(); +} +const cpp::Gate & +RepositoryCenter::inq_Gate_Cpp() const +{ + csv_assert( pCppPartition ); + return pCppPartition->TheGate(); +} +*/ +#endif // Version 2.2 + + +} // namespace n22 + + + +/* ClassType-Ids + ------------- + + + cpp 1000 + idl 2000 + corba 3000 + java 4000 + information 5000 + logic location 6000 + phys location 7000 + sec. prod. 8000 + + + cpp + --- + Namespace 1000 + Class 1001 + Enum 1002 + Typedef 1003 + Function 1004 + Variable 1005 + EnumValue 1006 + NamespaceAlias 1007 + + BuiltInType 1200 + CeType_Final 1201 + CeType_Extern 1202 + PtrType 1211 + RefType 1212 + ConstType 1221 + VolatileType 1222 + ArrayType 1230 + TemplateInstance 1235 + FunctionPtr 1240 + DataMemberPtr 1250 + OperationMemberPtr 1260 + + TplParam_Type 1301 + TplParam_Value 1302 + + OpSignature 1400 + + Define 1601 + Macro 1602 + + + idl + --- + + Module 2000 + Interface 2001 + Function 2002 + Service 2003 + Property 2004 + Enum 2005 + EnumValue 2006 + Typedef 2007 + Struct 2008 + StructElement 2009 + Exception 2010 + ConstantGroup 2011 + Constant 2012 + Singleton 2013 + Attribute 2014 + + BuiltInType 2200 + CeType 2201 + Sequence 2202 + ExplicitType 2203 + ExplicitNameRoom 2204 + + java + ---- + Package 4000 + Interface 4001 + Class 4002 + + + + + info + ---- + CodeInformation + (IDL) 11002 +*/ + + + + + + + + + + + + // S P L I T // + + + + namespace { static Dyn<RepositoryCenter> pTheInstance_(0); @@ -91,8 +320,6 @@ struct RepositoryCenter::CheshireCat Dyn<IdGenerator> pIdGenerator; Dyn<cpp::Gate> pGate_Cpp; - Dyn<uidl::Gate_Impl> - pGate_Idl; Dyn<loc::Gate> pGate_Locations; CheshireCat( @@ -148,7 +375,7 @@ RepositoryCenter::inq_DisplayGate_Cpp() const const udmstri & RepositoryCenter::inq_Name() const { - return pi->sName; + return pi->sName; } cpp::RwGate & @@ -157,12 +384,6 @@ RepositoryCenter::access_RwGate_Cpp() return *pi->pGate_Cpp; } -uidl::Gate & -RepositoryCenter::access_RwGate_Idl() -{ - return *pi->pGate_Idl; -} - RepositoryCenter:: CheshireCat::CheshireCat( const udmstri & i_sName, @@ -172,7 +393,6 @@ CheshireCat::CheshireCat( const udmstri & i_sName, pStorage_Ifc(0), pIdGenerator( &let_drIds ), pGate_Cpp(0), - pGate_Idl(0), pGate_Locations(0) { pStorage = new store::Storage; @@ -184,7 +404,6 @@ CheshireCat::CheshireCat( const udmstri & i_sName, *pStorage_Ifc, *pIdGenerator, *pGate_Locations ); - pGate_Idl = new uidl::Gate_Impl; } RepositoryCenter:: diff --git a/autodoc/source/ary/kernel/x_ary.cxx b/autodoc/source/ary/kernel/x_ary.cxx new file mode 100644 index 000000000000..5c659052abf8 --- /dev/null +++ b/autodoc/source/ary/kernel/x_ary.cxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: x_ary.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14: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: 2002 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <ary/x_ary.hxx> + + +// NOT FULLY DECLARED SERVICES + + + +namespace ary +{ + + +X_Ary::X_Ary( E_Event i_eEvent ) + : eEvent(i_eEvent) +{ +} + +void +X_Ary::GetInfo( ostream & o_rOutputMedium ) const +{ + switch (eEvent) + { + case x_MultipleRepository: + o_rOutputMedium << "Tried to create a repository instance, though there exists one already."; + break; + case x_MissingRepository: + o_rOutputMedium << "Tried to access the repository, though there exists none."; + break; + case x_EntityNotFound: + o_rOutputMedium << "Code entity not found in repository."; + break; + case x_ConflictingNames: + o_rOutputMedium << "Name of code entity occurs double in different versions."; + break; + case x_UnexpectedTypeOfObject: + o_rOutputMedium << "Name- or id-mismatch: Code entity had other type than expected."; + break; + case x_Any: + default: + o_rOutputMedium << "Unspecified exception in repository."; + } // end switch + o_rOutputMedium << Endl(); +} + + +} // namespace ary + diff --git a/autodoc/source/ary_i/kernel/d_token.cxx b/autodoc/source/ary_i/kernel/d_token.cxx new file mode 100644 index 000000000000..289faf0bd676 --- /dev/null +++ b/autodoc/source/ary_i/kernel/d_token.cxx @@ -0,0 +1,138 @@ +/************************************************************************* + * + * $RCSfile: d_token.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:19 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <ary_i/d_token.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <ary_i/disdocum.hxx> + + + + +namespace csi +{ +namespace dsapi +{ + + + +void +DT_TextToken::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_TextToken( *this ); +} + +void +DT_MupType::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_MupType( *this ); +} + +void +DT_MupMember::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_MupMember( *this ); +} + +void +DT_MupConst::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_MupConst( *this ); +} + +void +DT_Style::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_Style( *this ); +} + +void +DT_EOL::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_EOL(); +} + +void +DT_StdAtTag::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_StdAtTag( *this ); +} + +void +DT_SeeAlsoAtTag::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_SeeAlsoAtTag( *this ); +} + +void +DT_ParameterAtTag::DisplayAt( DocumentationDisplay & o_rDisplay ) const +{ + o_rDisplay.Display_ParameterAtTag( *this ); +} + + +} // namespace dsapi +} // namespace csi + + diff --git a/autodoc/source/ary_i/kernel/makefile.mk b/autodoc/source/ary_i/kernel/makefile.mk index c1dcd78ec968..94aa700022d8 100644 --- a/autodoc/source/ary_i/kernel/makefile.mk +++ b/autodoc/source/ary_i/kernel/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1.1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: np $ $Date: 2002-03-08 14:45:21 $ +# last change: $Author: np $ $Date: 2002-11-01 17:14:20 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -63,7 +63,7 @@ PRJ=..$/..$/.. PRJNAME=autodoc -TARGET=ary2_kernel +TARGET=ary2_cinfo @@ -83,7 +83,8 @@ PRJINC=$(PRJ)$/source OBJFILES= \ $(OBJ)$/ci_atag2.obj \ $(OBJ)$/ci_text2.obj \ - $(OBJ)$/codeinf2.obj + $(OBJ)$/codeinf2.obj \ + $(OBJ)$/d_token.obj diff --git a/autodoc/source/display/html/cfrstd.cxx b/autodoc/source/display/html/cfrstd.cxx index 2b41edc625b3..d4d726e99531 100644 --- a/autodoc/source/display/html/cfrstd.cxx +++ b/autodoc/source/display/html/cfrstd.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cfrstd.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:11 $ + * last change: $Author: np $ $Date: 2002-11-01 17:14:21 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,12 +61,111 @@ #include <precomp.h> -#include <html/cfrstd.hxx> +#include <cfrstd.hxx> // NOT FULLY DEFINED SERVICES +/* CSS Styles + ---------- + + +Colors: +- light background color #eeeeff +- dark background color #ccccff +- self in navibar background color #2222ad + + +Fonts: +- page title 20, bold, Arial +- navibar main 12, bold, Arial +- navibar sub 8, Arial, kapitlchen +- attrtable title line 8, bold, Arial, kapitlchen +- attrtable value line 8, Arial kapitlchen + +- namespace chain 13, bold +- table title 13, bold +- template line 13 + +- member paragraph title 12, bold + +- docu paragraph title 11, bold +- standard text 11 + +- hierarchy 11, monospace + + +classes: + + td.title page title + h3 table title + h4 member paragraph title + + td.nmain navigation main bar + td.nsub navigation sub bar + a.nmain links in navigation main bar + a.nsub links in navigation sub bar + + td.attr1 attribute table head line + td.attr2 attribute table value line + + p.namechain namespace chain in head of pages + p.tpl template line in head of pages + + pre.doc preformatted docu + pre.hierarchy class bases hierarchy graphic + + dl.syntax function- or variable-declaration field + a.syntax link in function- or variable-declaration field + + p.dt docu paragraph title + dl.dt docu paragraph title + + p standard text + dl standard text + dd standard text +*/ + + +#define CRLF "\n" + +namespace +{ +const char * const C_sStdStyle = + "h3 { font-size:13pt; font-weight:bold; margin-top:3pt; margin-bottom:1pt; }"CRLF + "p, dt, dd, pre { font-size:11pt; margin-top:3pt; margin-bottom:1pt; }"CRLF + + "table.lightbg { background-color:#eeeeff; }"CRLF + "table.subtitle { margin-top:6pt; margin-bottom:6pt; }"CRLF + + "td { font-size:11pt; }"CRLF + "td.title { font-family: Arial; font-size:19pt; font-weight:bold; text-align:center; background-color:#ccccff; line-height:30pt; }"CRLF + "td.subtitle { font-family: Arial; font-size:13pt; background-color:#ccccff; line-height:20pt; }"CRLF + "td.imdetail { width:100%; background-color:#eeeeff; }"CRLF + "a.membertitle { font-size:12pt; font-weight:bold; line-height:18pt; }"CRLF + + "td.imsum_left { width:30%; }"CRLF + "td.imsum_right { width:70%; }"CRLF + + "td.navimain, a.navimain { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold; }"CRLF + "td.navimainself { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold; color:#ffffff; background-color:#2222ad; }"CRLF + "td.navimainnone { text-align:center; font-family: Arial; font-size:12pt; }"CRLF + "td.attrtitle { font-weight:bold; background-color:#eeeeff; }"CRLF + "td.navisub, a.navisub, td.attrtitle, td.attrvalue { text-align:center; font-family: Arial; font-size:9pt; font-variant:small-caps; }"CRLF + "td.navimain, td.navisub { padding-left:7pt; padding-right:7pt; }"CRLF + + "p.raise { font-size:11pt; margin-top:0pt; text-align:right; padding-right:5pt; }"CRLF + + "a.navimain, a.navisub { color:#000000; }"CRLF + ".dt { font-weight:bold; }"CRLF + ".namechain { font-size:13pt; font-weight:bold; margin-top:3pt; margin-bottom:6pt; }"CRLF + ".tpl { font-size:13pt; margin-top:3pt; margin-bottom:6pt; }"CRLF + ; +} // anonymous namespace + + + DYN Html_Image * StdFrame::LogoSrc() const @@ -93,8 +192,14 @@ StdFrame::LogoLink() const const char * StdFrame::CopyrightText() const { - return "Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA."; + return "Copyright © 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA."; // return "Copyright 2001 OpenOffice.org Foundation. All Rights Reserved."; } +const char * +StdFrame::CssStyle() const +{ + return C_sStdStyle; +} + diff --git a/autodoc/source/display/html/hd_docu.cxx b/autodoc/source/display/html/hd_docu.cxx index 1dcc602ac777..7f9700949426 100644 --- a/autodoc/source/display/html/hd_docu.cxx +++ b/autodoc/source/display/html/hd_docu.cxx @@ -2,9 +2,9 @@ * * $RCSfile: hd_docu.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:23 $ + * last change: $Author: np $ $Date: 2002-11-01 17:14:22 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -459,8 +459,8 @@ Docu_Display::Write_QualifiedName( const ary::QualifiedName & i_sQuName ) { if ( i_sQuName.IsAbsolute() ) CurOut() << "::"; - for ( ary::QualifiedName::namespace_iterator it = i_sQuName.begin(); - it != i_sQuName.end(); + for ( ary::QualifiedName::namespace_iterator it = i_sQuName.first_namespace(); + it != i_sQuName.end_namespace(); ++it ) { CurOut() << (*it) << "::"; diff --git a/autodoc/source/display/html/hdimpl.cxx b/autodoc/source/display/html/hdimpl.cxx index dee9d525af98..a3a5c8887e0f 100644 --- a/autodoc/source/display/html/hdimpl.cxx +++ b/autodoc/source/display/html/hdimpl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: hdimpl.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:12 $ + * last change: $Author: np $ $Date: 2002-11-01 17:14:22 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -68,7 +68,7 @@ #include <stdlib.h> #include <stdio.h> #include <ary/ceslot.hxx> -#include <ary/quname.hxx> +#include <ary/qualiname.hxx> #include <ary/cpp/c_class.hxx> #include <ary/cpp/c_disply.hxx> #include <ary/cpp/c_enum.hxx> diff --git a/autodoc/source/display/idl/hfi_constgroup.cxx b/autodoc/source/display/idl/hfi_constgroup.cxx new file mode 100644 index 000000000000..29f152e606f3 --- /dev/null +++ b/autodoc/source/display/idl/hfi_constgroup.cxx @@ -0,0 +1,175 @@ +/************************************************************************* + * + * $RCSfile: hfi_constgroup.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:24 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_constgroup.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_constgroup.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_property.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCePrefix_Constants("constants group"); + + +namespace +{ + +const String + C_sList_Constants("Constants"); +const String + C_sList_Constants_Label("Constants"); +const String + C_sList_ConstantDetails("Constants' Details"); +const String + C_sList_ConstantDetails_Label("ConstantDetails"); + +enum E_SubListIndices +{ + sli_ConstantsSummary = 0, + sli_ConstantDetails = 1 +}; + + +} // anonymous namespace + + + +HF_IdlConstGroup::HF_IdlConstGroup( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlConstGroup::~HF_IdlConstGroup() +{ +} + +void +HF_IdlConstGroup::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() + << C_sCePrefix_Constants + << " " + << i_ce.LocalName() + << c_str ); + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + dyn_ce_list + dpConstants; + ary::idl::ifc_constgroup::attr::Get_Constants(dpConstants, i_ce); + if (*dpConstants) + { + produce_Members( *dpConstants, + C_sList_Constants, + C_sList_Constants_Label, + C_sList_ConstantDetails, + C_sList_ConstantDetails_Label ); + pNaviSubRow->SwitchOn(sli_ConstantsSummary); + pNaviSubRow->SwitchOn(sli_ConstantDetails); + } + pNaviSubRow->Produce_Row(); +} + +HF_NaviSubRow & +HF_IdlConstGroup::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + ret.AddItem(C_sList_Constants, C_sList_Constants_Label, false); + ret.AddItem(C_sList_ConstantDetails, C_sList_ConstantDetails_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +void +HF_IdlConstGroup::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & i_ce ) const +{ + HF_IdlConstant + aElement( Env(), o_table ); + aElement.Produce_byData(i_ce); +} + diff --git a/autodoc/source/display/idl/hfi_constgroup.hxx b/autodoc/source/display/idl/hfi_constgroup.hxx new file mode 100644 index 000000000000..eb3f59a9e05d --- /dev/null +++ b/autodoc/source/display/idl/hfi_constgroup.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * $RCSfile: hfi_constgroup.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:25 $ + * + * 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_DISPLAY_HFI_CONSTGROUP_HXX +#define ADC_DISPLAY_HFI_CONSTGROUP_HXX + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + +class HF_IdlConstGroup : public HtmlFactory_Idl +{ + public: + HF_IdlConstGroup( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlConstGroup(); + + void Produce_byData( + const client & ce ) const; + private: + HF_NaviSubRow & make_Navibar( + const client & ce ) const; + virtual void produce_MemberDetails( + HF_SubTitleTable & o_table, + const client & ce ) const; +}; + + + +// IMPLEMENTATION + + +extern const String + C_sCePrefix_Constants; + +#endif + + diff --git a/autodoc/source/display/idl/hfi_doc.cxx b/autodoc/source/display/idl/hfi_doc.cxx new file mode 100644 index 000000000000..7c2488b9b7bf --- /dev/null +++ b/autodoc/source/display/idl/hfi_doc.cxx @@ -0,0 +1,146 @@ +/************************************************************************* + * + * $RCSfile: hfi_doc.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:25 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_doc.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary_i/codeinf2.hxx> +#include <toolkit/hf_docentry.hxx> +#include "hfi_tag.hxx" + + + + +HF_IdlDocu::HF_IdlDocu( Environment & io_rEnv, + HF_DocEntryList & o_rOut ) + : HtmlFactory_Idl( io_rEnv, &o_rOut.CurOut() ), + rOut(o_rOut) +{ +} + +HF_IdlDocu::~HF_IdlDocu() +{ +} + +void +HF_IdlDocu::Produce_byData( const client & i_ce, + const ce_info * i_doc ) const +{ + const ce_info * i_pDocu = i_doc != 0 + ? i_doc + : i_ce.Docu(); + if (i_pDocu == 0) + return; + + Xml::Element * + pDescrDefinition = 0; + bool bShort = NOT i_pDocu->Short().IsEmpty(); + bool bDescr = NOT i_pDocu->Description().IsEmpty(); + + if ( i_pDocu->IsDeprecated() ) + { + rOut.Produce_Term("[ DEPRECATED ]"); + } + if ( i_pDocu->IsOptional() ) + { + rOut.Produce_Term("[ OPTIONAL ]"); + } + + if ( bShort OR bDescr ) + { + rOut.Produce_Term("Description"); + HF_IdlDocuTextDisplay + aDescription( Env(), 0, i_ce); + if (bShort) + { + aDescription.Out().Enter( rOut.Produce_Definition() ); + i_pDocu->Short().DisplayAt( aDescription ); + aDescription.Out().Leave(); + } + if (bDescr) + { + aDescription.Out().Enter( rOut.Produce_Definition() ); + i_pDocu->Description().DisplayAt( aDescription ); + aDescription.Out().Leave(); + } + } + + for ( std::vector< ary::info::AtTag2* >::const_iterator + iter = i_pDocu->Tags().begin(); + iter != i_pDocu->Tags().end(); + ++iter ) + { + if ( strlen( (*iter)->Title() ) > 0 ) + { + HF_IdlTag + aTag(Env(), i_ce); + Xml::Element & + rTerm = rOut.Produce_Term(); + aTag.Produce_byData( rTerm, + rOut.Produce_Definition(), + *(*iter) ); + } + } // end for +} diff --git a/autodoc/source/display/idl/hfi_doc.hxx b/autodoc/source/display/idl/hfi_doc.hxx new file mode 100644 index 000000000000..cd2bfc116cb8 --- /dev/null +++ b/autodoc/source/display/idl/hfi_doc.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * $RCSfile: hfi_doc.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:26 $ + * + * 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_DISPLAY_HFI_DOC_HXX +#define ADC_DISPLAY_HFI_DOC_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_DocEntryList; + + +class HF_IdlDocu : public HtmlFactory_Idl +{ + public: + HF_IdlDocu( + Environment & io_rEnv, + HF_DocEntryList & o_rOut ); + virtual ~HF_IdlDocu(); + + void Produce_byData( + const client & i_ce, + const ce_info * i_doc = 0 ) const; + private: + HF_DocEntryList & rOut; +}; + + + +#endif + diff --git a/autodoc/source/display/idl/hfi_enum.cxx b/autodoc/source/display/idl/hfi_enum.cxx new file mode 100644 index 000000000000..19861b9cf9c3 --- /dev/null +++ b/autodoc/source/display/idl/hfi_enum.cxx @@ -0,0 +1,172 @@ +/************************************************************************* + * + * $RCSfile: hfi_enum.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:27 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_enum.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_enum.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_property.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCePrefix_Enum("enum"); + +namespace +{ + +const String + C_sList_Values("Values"); +const String + C_sList_Values_Label("Values"); +const String + C_sList_ValueDetails("Values' Details"); +const String + C_sList_ValueDetails_Label("ValueDetails"); + +enum E_SubListIndices +{ + sli_ValuesSummary = 0, + sli_ValueDetails = 1 +}; + +} // anonymous namespace + +HF_IdlEnum::HF_IdlEnum( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlEnum::~HF_IdlEnum() +{ +} + +void +HF_IdlEnum::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() + << C_sCePrefix_Enum + << " " + << i_ce.LocalName() + << c_str ); + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + dyn_ce_list + dpValues; + ary::idl::ifc_enum::attr::Get_Values(dpValues, i_ce); + if (*dpValues) + { + produce_Members( *dpValues, + C_sList_Values, + C_sList_Values_Label, + C_sList_ValueDetails, + C_sList_ValueDetails_Label ); + pNaviSubRow->SwitchOn(sli_ValuesSummary); + pNaviSubRow->SwitchOn(sli_ValueDetails); + } + pNaviSubRow->Produce_Row(); +} + +HF_NaviSubRow & +HF_IdlEnum::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + ret.AddItem(C_sList_Values, C_sList_Values_Label, false); + ret.AddItem(C_sList_ValueDetails, C_sList_ValueDetails_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +void +HF_IdlEnum::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & i_ce) const +{ + HF_IdlEnumValue + aElement( Env(), o_table ); + aElement.Produce_byData(i_ce); +} diff --git a/autodoc/source/display/idl/hfi_enum.hxx b/autodoc/source/display/idl/hfi_enum.hxx new file mode 100644 index 000000000000..e0dc9b86aa94 --- /dev/null +++ b/autodoc/source/display/idl/hfi_enum.hxx @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: hfi_enum.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:27 $ + * + * 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_DISPLAY_HFI_ENUM_HXX +#define ADC_DISPLAY_HFI_ENUM_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_IdlEnum : public HtmlFactory_Idl +{ + public: + HF_IdlEnum( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlEnum(); + + void Produce_byData( + const client & ce ) const; + private: + HF_NaviSubRow & make_Navibar( + const client & ce ) const; + virtual void produce_MemberDetails( + HF_SubTitleTable & o_table, + const client & ce ) const; +}; + + + +// IMPLEMENTATION + + +extern const String + C_sCePrefix_Enum; + +#endif + + diff --git a/autodoc/source/display/idl/hfi_globalindex.cxx b/autodoc/source/display/idl/hfi_globalindex.cxx new file mode 100644 index 000000000000..b5ebd3b8687d --- /dev/null +++ b/autodoc/source/display/idl/hfi_globalindex.cxx @@ -0,0 +1,275 @@ +/************************************************************************* + * + * $RCSfile: hfi_globalindex.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:28 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_globalindex.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <cosv/template/tpltools.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_module.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + + + +namespace +{ + +enum E_Types +{ + t_service = 0, + t_interface = 1, + t_struct = 2, + t_exception = 3, + t_enum = 4, + t_typedef = 5, + t_constantsgroup = 6, + t_property = 7, + t_function = 8, + t_structelement = 9, + t_enumvalue = 10, + t_constant = 11, + t_module = 12, + t_singleton = 13, + t_attribute = 14, + t_MAX +}; + +String G_sDummy; +uintt G_nDummy; + + +/* RC-Ids for IDL types (see reposy.cxx): + + Module 2000 + Interface 2001 + Function 2002 + Service 2003 + Property 2004 + + Enum 2005 + EnumValue 2006 + Typedef 2007 + Struct 2008 + StructElement 2009 + + Exception 2010 + ConstantGroup 2011 + Constant 2012 + Singleton 2013 + Attribute 2014 +*/ +const int C_nNumberOfIdlTypes = 15; +const char * C_sTypeNames[C_nNumberOfIdlTypes] = + { "module ", "interface ", "function ", "service ", "property ", + "enum ", "value ", "typedef ", "struct ", "field ", + "exception ", "constants group ", "constant ","singleton ", "attribute " + }; +const char * C_sOwnerNames[C_nNumberOfIdlTypes] = + { "module ", "module ", "interface ", "module ", "service ", + "module ", "enum ", "module ", "module ", "", // could be struct or exception + "module ", "module ", "constants group ", "module ", "interface " + }; + +const char C_cAlphabet[] = +"<a class=\"inverse\" href=\"index-1.html\"><B>A</B></a> <a class=\"inverse\" href=\"index-2.html\"><B>B</B></a> <a class=\"inverse\" href=\"index-3.html\"><B>C</B></a> <a class=\"inverse\" href=\"index-4.html\"><B>D</B></a> <a class=\"inverse\" href=\"index-5.html\"><B>E</B></a> " +"<a class=\"inverse\" href=\"index-6.html\"><B>F</B></a> <a class=\"inverse\" href=\"index-7.html\"><B>G</B></a> <a class=\"inverse\" href=\"index-8.html\"><B>H</B></a> <a class=\"inverse\" href=\"index-9.html\"><B>I</B></a> <a class=\"inverse\" href=\"index-10.html\"><B>J</B></a> " +"<a class=\"inverse\" href=\"index-11.html\"><B>K</B></a> <a class=\"inverse\" href=\"index-12.html\"><B>L</B></a> <a class=\"inverse\" href=\"index-13.html\"><B>M</B></a> <a class=\"inverse\" href=\"index-14.html\"><B>N</B></a> <a class=\"inverse\" href=\"index-15.html\"><B>O</B></a> " +"<a class=\"inverse\" href=\"index-16.html\"><B>P</B></a> <a class=\"inverse\" href=\"index-17.html\"><B>Q</B></a> <a class=\"inverse\" href=\"index-18.html\"><B>R</B></a> <a class=\"inverse\" href=\"index-19.html\"><B>S</B></a> <a class=\"inverse\" href=\"index-20.html\"><B>T</B></a> " +"<a class=\"inverse\" href=\"index-21.html\"><B>U</B></a> <a class=\"inverse\" href=\"index-22.html\"><B>V</B></a> <a class=\"inverse\" href=\"index-23.html\"><B>W</B></a> <a class=\"inverse\" href=\"index-24.html\"><B>X</B></a> <a class=\"inverse\" href=\"index-25.html\"><B>Y</B></a> " +"<a class=\"inverse\" href=\"index-26.html\"><B>Z</B></a>"; + +typedef std::vector<ary::idl::Ce_id> PageData; + +PageData G_PageData; + +} // end anonymous namespace + + +HF_IdlGlobalIndex::HF_IdlGlobalIndex( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlGlobalIndex::~HF_IdlGlobalIndex() +{ +} + +void +HF_IdlGlobalIndex::Produce_Page(ary::idl::alphabetical_index::E_Letter i_letter) const +{ + make_Navibar(); + + HF_TitleTable + aTitle(CurOut()); + aTitle.Produce_Title( StreamLock(100)() + << "Global Index " + << ( i_letter != ary::idl::alphabetical_index::non_alpha + ? char(int(i_letter)-'a'+'A') + : '_' ) + << c_str ); + + // Letters Index + aTitle.Add_Row() + << new Xml::XmlCode( + "<p align=\"center\"><a href=\"index-1.html\"><b>A</b></a> <a href=\"index-2.html\"><b>B</b></a> <a href=\"index-3.html\"><b>C</b></a> <a href=\"index-4.html\"><b>D</b></a> <a href=\"index-5.html\"><b>E</b></a> <a href=\"index-6.html\"><b>F</b></a> <a href=\"index-7.html\"><b>G</b></a> <a href=\"index-8.html\"><b>H</b></a> <a href=\"index-9.html\"><b>I</b></a> <a href=\"index-10.html\"><b>J</b></a>" + " <a href=\"index-11.html\"><b>K</b></a> <a href=\"index-12.html\"><b>L</b></a> <a href=\"index-13.html\"><b>M</b></a> <a href=\"index-14.html\"><b>N</b></a> <a href=\"index-15.html\"><b>O</b></a> <a href=\"index-16.html\"><b>P</b></a> <a href=\"index-17.html\"><b>Q</b></a> <a href=\"index-18.html\"><b>R</b></a> <a href=\"index-19.html\"><b>S</b></a> <a href=\"index-20.html\"><b>T</b></a>" + " <a href=\"index-21.html\"><b>U</b></a> <a href=\"index-22.html\"><b>V</b></a> <a href=\"index-23.html\"><b>W</b></a> <a href=\"index-24.html\"><b>X</b></a> <a href=\"index-25.html\"><b>Y</b></a> <a href=\"index-26.html\"><b>Z</b></a> <a href=\"index-27.html\"><b>_</b></a></p>" ); + + Out().Enter(CurOut() >> *new Html::DefList); + + csv::erase_container(G_PageData); + Env().Data().Get_IndexData(G_PageData, i_letter); + + static StringVector aModule_; + csv::erase_container(aModule_); + String sCeMain; + String sCeMember; + + const intt nDiff = intt(ary::idl::Module::class_id); + const int nIxModule = 0; + const int nIxField = 9; + + HF_IdlTypeText aLinker(Env(),HF_IdlTypeText::use_for_javacompatible_index); + + PageData::const_iterator itEnd = G_PageData.end(); + for ( PageData::const_iterator iter = G_PageData.begin(); + iter != itEnd; + ++iter ) + { + const client & rCe = Env().Data().Find_Ce(*iter); + if (NOT rCe.Owner().IsValid()) + return; // Omit global namespace. + const client & rOwner = Env().Data().Find_Ce(rCe.Owner()); + + Xml::Element & rDT = CurOut() >> *new Html::DefListTerm; + aLinker.Produce_IndexLink(rDT, rCe); + + rDT << " - "; + + int nIx = int(rCe.ClassId()-nDiff); + csv_assert(csv::in_range(0,nIx,15)); + rDT << C_sTypeNames[nIx] + << "in "; + if (nIx != nIxField) + { + rDT << C_sOwnerNames[nIx]; + } + else + { + uintt nOwnerIx = rOwner.ClassId()-nDiff; + rDT << C_sTypeNames[nOwnerIx]; + } + aLinker.Produce_IndexOwnerLink(rDT, rOwner); + CurOut() << new Html::DefListDefinition; + } // end for + + Out().Leave(); + CurOut() << new Html::HorizontalLine; +} + +void +HF_IdlGlobalIndex::make_Navibar() const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_IndexMainRow(); + + CurOut() << new Html::HorizontalLine(); +} + + +#if 0 +void +HF_IdlGlobalIndex::StoreString( const String & i_sName, + E_Types i_eType, + bool i_bUseOwner ) +{ + aText.seekp(0); + + aText << char('A'+char(i_eType)); + + aText << i_sName + << C_cSplit + << sCurModule; + if (i_bUseOwner) + { + aText << "*" + << sCurOwner; + } + + int nBegin = tolower(aText.c_str()[1]); + if (nBegin >= 'a' AND nBegin <= 'z') + aData[nBegin-'a'].push_back(aText.c_str()); + else + aData[C_nIndexUnderscore].push_back(aText.c_str()); +} + + +#endif // 0 + diff --git a/autodoc/source/display/idl/hfi_globalindex.hxx b/autodoc/source/display/idl/hfi_globalindex.hxx new file mode 100644 index 000000000000..21495fe8689a --- /dev/null +++ b/autodoc/source/display/idl/hfi_globalindex.hxx @@ -0,0 +1,94 @@ +/************************************************************************* + * + * $RCSfile: hfi_globalindex.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:29 $ + * + * 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_DISPLAY_HFI_GLOBALINDEX_HXX +#define ADC_DISPLAY_HFI_GLOBALINDEX_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS +#include <ary/idl/ip_2s.hxx> + + + +class HF_IdlGlobalIndex : public HtmlFactory_Idl +{ + public: + HF_IdlGlobalIndex( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlGlobalIndex(); + + void Produce_Page( + ary::idl::alphabetical_index::E_Letter + i_letter ) const; + private: + void make_Navibar() const; +}; + + + +#endif + diff --git a/autodoc/source/display/idl/hfi_interface.cxx b/autodoc/source/display/idl/hfi_interface.cxx new file mode 100644 index 000000000000..90fb704093e7 --- /dev/null +++ b/autodoc/source/display/idl/hfi_interface.cxx @@ -0,0 +1,263 @@ +/************************************************************************* + * + * $RCSfile: hfi_interface.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:31 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_interface.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_function.hxx> +#include <ary/idl/ik_interface.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_method.hxx" +#include "hfi_navibar.hxx" +#include "hfi_property.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCePrefix_Interface("interface"); + +namespace +{ + +const String + C_sBaseInterface("Base Hierarchy"); +//const String +// C_sList_ExportingServices("Known Services which Export this Interface"); +//const String +// C_sList_ExportingServices_Link("Exporting Services"); +//const String +// C_sList_ExportingServices_Label("ExportingServices"); +const String + C_sList_Methods("Methods' Summary"); +const String + C_sList_Methods_Label("MethodsSummary"); +const String + C_sDetails_Methods("Methods' Details"); +const String + C_sDetails_Methods_Label("MethodsDetails"); + +const String + C_sList_Attributes("Attributes' Summary"); +const String + C_sList_Attributes_Label("AttributesSummary"); +const String + C_sList_AttributesDetails("Attributes' Details"); +const String + C_sList_AttributesDetails_Label("AttributesDetails"); + + + +enum E_SubListIndices +{ + sli_Methods = 0, + sli_MethodDetails = 1, + sli_AttributesSummary = 2, + sli_AttributesDetails = 3 +}; + +} //anonymous namespace + + + + +HF_IdlInterface::HF_IdlInterface( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut), + eCurProducedMembers(mem_none) +{ +} + +HF_IdlInterface::~HF_IdlInterface() +{ +} + +void +HF_IdlInterface::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + + aTitle.Produce_Title( StreamLock(200)() << C_sCePrefix_Interface + << " " + << i_ce.LocalName() + << c_str ); + produce_Bases(aTitle.Add_Row(),i_ce,C_sBaseInterface); + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + dyn_ce_list dpFunctions; + ary::idl::ifc_interface::attr::Get_Functions(dpFunctions, i_ce); + + if ( *dpFunctions ) + { + eCurProducedMembers = mem_Functions; + + produce_Members( *dpFunctions, + C_sList_Methods, + C_sList_Methods_Label, + C_sDetails_Methods, + C_sDetails_Methods_Label ); + pNaviSubRow->SwitchOn(sli_Methods); + pNaviSubRow->SwitchOn(sli_MethodDetails); + } + + dyn_ce_list + dpAttributes; + ary::idl::ifc_interface::attr::Get_Attributes(dpAttributes, i_ce); + if (*dpAttributes) + { + eCurProducedMembers = mem_Attributes; + + produce_Members( *dpAttributes, + C_sList_Attributes, + C_sList_Attributes_Label, + C_sList_AttributesDetails, + C_sList_AttributesDetails_Label ); + pNaviSubRow->SwitchOn(sli_AttributesSummary); + pNaviSubRow->SwitchOn(sli_AttributesDetails); + } + eCurProducedMembers = mem_none; + + pNaviSubRow->Produce_Row(); +} + +HtmlFactory_Idl::type_id +HF_IdlInterface::inq_BaseOf( const client & i_ce ) const +{ + return ary::idl::ifc_interface::attr::Base(i_ce); +} + +DYN HF_NaviSubRow & +HF_IdlInterface::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + ret.AddItem(C_sList_Methods, C_sList_Methods_Label, false); + ret.AddItem(C_sDetails_Methods, C_sDetails_Methods_Label, false); + ret.AddItem(C_sList_Attributes, C_sList_Attributes_Label, false); + ret.AddItem(C_sList_AttributesDetails, C_sList_AttributesDetails_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +void +HF_IdlInterface::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & i_ce ) const +{ + switch (eCurProducedMembers) + { + case mem_Functions: + break; + case mem_Attributes: + { + HF_IdlAttribute + aAttribute( Env(), o_table); + aAttribute.Produce_byData( i_ce ); + return; + }; + default: //Won't happen. + return; + } // end switch + + typedef ary::idl::ifc_function::attr funcAttr; + + HF_IdlMethod + aFunction( Env(), + o_table.Add_Row() + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_MDetail) ); + + ary::Dyn_StdConstIterator<ary::idl::Parameter> + pParameters; + funcAttr::Get_Parameters(pParameters, i_ce); + + ary::Dyn_StdConstIterator<ary::idl::Type_id> + pExceptions; + funcAttr::Get_Exceptions(pExceptions, i_ce); + + aFunction.Produce_byData( i_ce.LocalName(), + funcAttr::ReturnType(i_ce), + *pParameters, + *pExceptions, + funcAttr::IsOneway(i_ce), + i_ce ); +} diff --git a/autodoc/source/display/idl/hfi_interface.hxx b/autodoc/source/display/idl/hfi_interface.hxx new file mode 100644 index 000000000000..a24cfd3967bf --- /dev/null +++ b/autodoc/source/display/idl/hfi_interface.hxx @@ -0,0 +1,123 @@ +/************************************************************************* + * + * $RCSfile: hfi_interface.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:32 $ + * + * 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_DISPLAY_HFI_INTERFACE_HXX +#define ADC_DISPLAY_HFI_INTERFACE_HXX + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> +#include <ary_i/codeinf2.hxx> + + +class HF_NaviSubRow; +class HF_SubTitleTable; + + +class HF_IdlInterface : public HtmlFactory_Idl +{ + public: + HF_IdlInterface( + Environment & io_rEnv, // The CurDirecory() is the one of the here displayed Module. + Xml::Element & o_rOut ); + virtual ~HF_IdlInterface(); + + void Produce_byData( + const client & i_ce ) const; + private: + // Interface HtmlFactory_Idl: + virtual type_id inq_BaseOf( + const client & i_ce ) const; + // Locals + DYN HF_NaviSubRow & make_Navibar( + const client & i_ce ) const; + + virtual void produce_MemberDetails( + HF_SubTitleTable & o_table, + const client & ce ) const; + + // Locals + enum E_CurProducedMembers + { + mem_none, + mem_Functions, + mem_Attributes + }; + + // DATA + mutable E_CurProducedMembers + eCurProducedMembers; +}; + + + +// IMPLEMENTATION + +extern const String + C_sCePrefix_Interface; + + + +#endif diff --git a/autodoc/source/display/idl/hfi_linklist.cxx b/autodoc/source/display/idl/hfi_linklist.cxx new file mode 100644 index 000000000000..95401bd66ec7 --- /dev/null +++ b/autodoc/source/display/idl/hfi_linklist.cxx @@ -0,0 +1,409 @@ +/************************************************************************* + * + * $RCSfile: hfi_linklist.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:33 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_linklist.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> +#include <ary/idl/ip_type.hxx> +#include <ary_i/codeinf2.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_doc.hxx" +#include "hfi_tag.hxx" +#include "hfi_typetext.hxx" +#include "hi_ary.hxx" +#include "hi_env.hxx" + + + + +//******************* HF_CommentedLink_Table **********************************// + +HF_CommentedLink_Table::HF_CommentedLink_Table( Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_sTitle, + const String & i_sLabel, + bool i_bBorder ) + : HtmlFactory_Idl(io_rEnv,&o_rOut), + pTable( new Html::Table( (i_bBorder ? "1" : "0"), "100%", "5", "0") ), + pCurLinkColumn(0), + pCurCommentColumn(0) +{ + CurOut() + >> *new Html::Label(i_sLabel) + << new Html::LineBreak; + CurOut() + << pTable; +// HF_SubTitle aTitle(*pTable); +// aTitle.Produce_it(i_sTitle); +} + +HF_CommentedLink_Table::~HF_CommentedLink_Table() +{ +} + +void +HF_CommentedLink_Table::Add_Line() +{ + Html::TableRow & + rRow = pTable->AddRow(); + + pCurLinkColumn = & (rRow.AddCell() + << new Html::WidthAttr("30%") + << new Xml::AnAttribute("valign","top") ); + pCurCommentColumn = & rRow.AddCell(); + +} + +Xml::Element & +HF_CommentedLink_Table::Cur_LinkColumn() +{ + csv_assert(pCurLinkColumn != 0); + return *pCurLinkColumn; +} + +Xml::Element & +HF_CommentedLink_Table::Cur_CommentColumn() +{ + csv_assert(pCurCommentColumn != 0); + return *pCurCommentColumn; +} + + +//******************* HF_MemberTable **********************************// + +HF_MemberTable::HF_MemberTable( Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_sTitle, + const String & i_sLabel, + bool i_bInline ) + : HtmlFactory_Idl(io_rEnv,&o_rOut), + pTable( new Html::Table("1", "100%", "5", "0") ), + pCurDeclaration(0), + pCurDescription(0), + bInline(i_bInline) +{ + CurOut() + >> *new Html::Label(i_sLabel) + << new Html::LineBreak; + CurOut() + << pTable; +// HF_SubTitle aTitle(*pTable); +// aTitle.Produce_it(i_sTitle); +} + +HF_MemberTable::~HF_MemberTable() +{ +} + +void +HF_MemberTable::Add_Line() +{ + if (bInline) + { + Html::TableRow & rRow = pTable->AddRow(); + + pCurDeclaration = &( rRow.AddCell() + << new Xml::AnAttribute("valign","top") + << new Html::WidthAttr("30%") ); + pCurDescription = & rRow.AddCell(); + } + else + { + Html::DefList * + pMemberSpace = new Html::DefList; + *pMemberSpace + << new Html::ClassAttr("member"); + + pTable->AddRow().AddCell() << pMemberSpace; + + pCurDeclaration = + & ( *pMemberSpace + >> *new Html::DefListTerm + << new Html::ClassAttr("member") ); + pCurDescription = + & ( *pMemberSpace + >> *new Html::DefListDefinition() + << new Html::ClassAttr("member") ); + } +} + +Xml::Element & +HF_MemberTable::Cur_Declaration() +{ + csv_assert(pCurDeclaration != 0); + return *pCurDeclaration; +} + +Xml::Element & +HF_MemberTable::Cur_Description() +{ + csv_assert(pCurDescription != 0); + return *pCurDescription; +} + + + +//******************* HF_IdlLinkList **********************************// + +HF_IdlLinkList::HF_IdlLinkList( Environment & io_rEnv, + Xml::Element * o_pOut ) + : HtmlFactory_Idl(io_rEnv,o_pOut) +{ +} + +HF_IdlLinkList::~HF_IdlLinkList() +{ +} + +void +HF_IdlLinkList::Produce_NamespaceMembers( const String & i_sTitle, + const String & i_sLabel, + const std::vector<ary::idl::Ce_id> & i_rList, + bool i_bNestedNamespaces ) const +{ + HF_CommentedLink_Table + aTableMaker( Env(), CurOut(), + i_sTitle, i_sLabel, + true ); + + std::vector<ary::idl::Ce_id>::const_iterator itEnd = i_rList.end(); + for ( std::vector<ary::idl::Ce_id>::const_iterator it = i_rList.begin(); + it != itEnd; + ++it ) + { + static String sEntryName; + static String sEntryLink; + const ce_info * + pDocu = 0; + Get_EntryData_NamespaceMembers( sEntryName, sEntryLink, pDocu, *it, i_bNestedNamespaces ); + aTableMaker.Add_Line(); + + aTableMaker.Cur_LinkColumn() + >> *new Html::Link(sEntryLink) + << sEntryName; + + if ( pDocu != 0 ) + { + HF_IdlShortDocu + aTextDisplay(Env(), aTableMaker.Cur_CommentColumn() ); + aTextDisplay.Produce_byData( pDocu ); + } + } // end for +} + +void +HF_IdlLinkList::Produce_GlobalLinks( const String & i_sTitle, + const String & i_sLabel, + ce_list & i_rList ) const +{ + HF_CommentedLink_Table + aTableMaker( Env(), CurOut(), + i_sTitle, i_sLabel, + true ); + + for ( ; i_rList; ++i_rList ) + { + aTableMaker.Add_Line(); + HF_IdlTypeText + aLinkText( Env(), aTableMaker.Cur_LinkColumn(), true ); + aLinkText.Produce_byData(*i_rList); + + const ce_info * + pDocu = Get_EntryDocu(*i_rList); + if ( pDocu != 0 ) + { + HF_IdlShortDocu + aTextDisplay(Env(), aTableMaker.Cur_CommentColumn() ); + aTextDisplay.Produce_byData( pDocu, *i_rList ); + } + } +} + +void +HF_IdlLinkList::Produce_GlobalCommentedLinks( const String & i_sTitle, + const String & i_sLabel, + comref_list & i_rList ) const +{ + HF_CommentedLink_Table + aTableMaker( Env(), CurOut(), + i_sTitle, i_sLabel, + true ); +/* + for ( ; i_rList; ++i_rList ) + { + aTableMaker.Add_Line(); + HF_IdlTypeText + aLinkText( Env(), aTableMaker.Cur_LinkColumn(), true ); + aLinkText.Produce_byData( (*i_rList).first ); + + HF_DocEntryList + aDocList( aTableMaker.Cur_CommentColumn() ); + if ( (*i_rList).second != 0 ) + { + HF_IdlDocu + aDocuDisplay( Env(), aDocList ); + aDocuDisplay.Produce_byData( (*i_rList).second ); + } + else + { + const ce_info * + pShort = Get_EntryDocu( + Env().Gate().Types().Search_CeRelatedTo( + (*i_rList).first) ); + if ( pShort != 0 ) + { + if (pShort->IsDeprecated()) + { + aDocList.Produce_Term() + << "[ DEPRECATED ]"; + } + if (pShort->IsOptional()) + { + aDocList.Produce_Term() + << "[ OPTIONAL ]"; + } + + aDocList.Produce_Term() + << "Description"; + + HF_IdlDocuTextDisplay + aShortDisplay( Env(), &aDocList.Produce_Definition() ); + aShortDisplay.Set_CurScopeTo( + Env().Gate().Types().Search_CeRelatedTo((*i_rList).first) ); + pShort->Short().DisplayAt(aShortDisplay); + } + } + } +*/ +} + +void +HF_IdlLinkList::Produce_MemberLinks( const String & i_sTitle, + const String & i_sLabel, + ce_list & i_rList ) const +{ + HF_CommentedLink_Table + aTableMaker( Env(), CurOut(), + i_sTitle, i_sLabel, + true ); + +/* + for ( ; i_rList; ++i_rList ) + { + const ary::idl::CodeEntity & + rCe = Env().Gate().Ces().Find_Ce(*i_rList); + + aTableMaker.Add_Line(); + aTableMaker.Cur_LinkColumn() + >> *new Html::Link( + StreamLock(200)() << "#" << rCe.LocalName() << c_str) + << rCe.LocalName(); + + const ce_info * + pDocu = rCe.Docu(); + if ( pDocu != 0 ) + { + HF_IdlShortDocu + aTextDisplay(Env(), aTableMaker.Cur_CommentColumn() ); + aTextDisplay.Produce_byData( *pDocu ); + } + } // end for +*/ +} + +void +HF_IdlLinkList::Get_EntryData_NamespaceMembers( + String & o_sEntryName, + String & o_sEntryLink, + const ce_info * & o_pDocu, + ce_id i_nMemberId, + bool i_bIsNestedNamespace ) const +{ + const ary::idl::CodeEntity & + rCe = Env().Data().Find_Ce(i_nMemberId); + + o_sEntryName = rCe.LocalName(); + o_sEntryLink = StreamLock(200)() << rCe.LocalName() + << ( i_bIsNestedNamespace + ? "/module-ix" + : "" ) + << ".html" + << c_str; + o_pDocu = rCe.Docu(); +} + +const ary::info::CodeInformation * +HF_IdlLinkList::Get_EntryDocu(ce_id i_nMemberId) const +{ + if (i_nMemberId.IsValid()) + return Env().Data().Find_Ce(i_nMemberId).Docu(); + else + return 0; +} + + diff --git a/autodoc/source/display/idl/hfi_linklist.hxx b/autodoc/source/display/idl/hfi_linklist.hxx new file mode 100644 index 000000000000..e06fa95171c7 --- /dev/null +++ b/autodoc/source/display/idl/hfi_linklist.hxx @@ -0,0 +1,179 @@ +/************************************************************************* + * + * $RCSfile: hfi_linklist.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:34 $ + * + * 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_DISPLAY_HFI_LINKLIST_HXX +#define ADC_DISPLAY_HFI_LINKLIST_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> +#include <ary_i/ci_text2.hxx> +#include <ary_i/codeinf2.hxx> + + + + +class HF_CommentedLink_Table : public HtmlFactory_Idl +{ + public: + HF_CommentedLink_Table( + Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_sTitle, + const String & i_sLabel, + bool i_bBorder = false ); + virtual ~HF_CommentedLink_Table(); + + void Add_Line(); + Xml::Element & Cur_LinkColumn(); + Xml::Element & Cur_CommentColumn(); + + private: + // DATA + Html::Table * pTable; + Xml::Element * pCurLinkColumn; + Xml::Element * pCurCommentColumn; +}; + +class HF_MemberTable : public HtmlFactory_Idl +{ + public: + HF_MemberTable( + Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_sTitle, + const String & i_sLabel, + bool i_bInline = false ); + virtual ~HF_MemberTable(); + + void Add_Line(); + Xml::Element & Cur_Declaration(); + Xml::Element & Cur_Description(); + + private: + // DATA + Html::Table * pTable; + Xml::Element * pCurDeclaration; + Xml::Element * pCurDescription; + bool bInline; +}; + + + + +class HF_IdlLinkList : public HtmlFactory_Idl +{ + public: + typedef ary::StdConstIterator<ary::idl::CommentedReference> + comref_list; + + HF_IdlLinkList( + Environment & io_rEnv, + Xml::Element * o_pOut ); + virtual ~HF_IdlLinkList(); + + void Produce_NamespaceMembers( + const String & i_sTitle, + const String & i_sLabel, + const std::vector<ary::idl::Ce_id> & + i_rList, + bool i_bNestedNamespaces = false ) const; + void Produce_GlobalLinks( + const String & i_sTitle, + const String & i_sLabel, + ce_list & i_rList ) const; + void Produce_GlobalCommentedLinks( + const String & i_sTitle, + const String & i_sLabel, + comref_list & i_rList ) const; + void Produce_MemberLinks( + const String & i_sTitle, + const String & i_sLabel, + ce_list & i_rList ) const; + private: + void Get_EntryData_NamespaceMembers( + String & o_sEntryName, + String & o_sEntryLink, + const ce_info * & o_pDocuText, + ce_id i_nMemberId, + bool i_bIsNestedNamespace ) const; + const ce_info * Get_EntryDocu( + ce_id i_nMemberId ) const; +}; + + + + + + + + +// IMPLEMENTATION + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_method.cxx b/autodoc/source/display/idl/hfi_method.cxx new file mode 100644 index 000000000000..88c044c2af30 --- /dev/null +++ b/autodoc/source/display/idl/hfi_method.cxx @@ -0,0 +1,253 @@ +/************************************************************************* + * + * $RCSfile: hfi_method.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:35 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_method.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_exception.hxx> +#include <ary/idl/i_param.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_funcdecl.hxx> +#include "hfi_doc.hxx" +#include "hfi_globalindex.hxx" +#include "hfi_typetext.hxx" + + + + + +HF_IdlMethod::HF_IdlMethod( Environment & io_rEnv, + Xml::Element & o_cell) + : HtmlFactory_Idl(io_rEnv,&o_cell) +{ +} + + +HF_IdlMethod::~HF_IdlMethod() +{ +} + + +void +HF_IdlMethod::Produce_byData( const String & i_sName, + type_id i_nReturnType, + param_list & i_rParams, + type_list & i_rExceptions, + bool i_bOneway, + const client & i_ce ) const +{ + CurOut() + >> *new Html::Label(i_sName) + << new Html::ClassAttr(C_sMemberTitle) + << i_sName; + enter_ContentCell(); + write_Declaration( i_sName, + i_nReturnType, + i_rParams, + i_rExceptions, + i_bOneway ); + CurOut() << new Html::HorizontalLine; + write_Docu(CurOut(), i_ce); + leave_ContentCell(); +} + +void +HF_IdlMethod::write_Declaration( const String & i_sName, + type_id i_nReturnType, + param_list & i_rParams, + type_list & i_rExceptions, + bool i_bOneway ) const +{ + HF_FunctionDeclaration + aDecl(CurOut()) ; + Xml::Element & + front = aDecl.Add_ReturnLine(); + + // Front: + if (i_bOneway) + front << "[oneway] "; + HF_IdlTypeText + aReturn(Env(), front,true); + aReturn.Produce_byData(i_nReturnType); + front + << new Html::LineBreak + >> *new Html::Bold + << i_sName; + + // Main line: + Xml::Element & + types = aDecl.Types(); + Xml::Element & + names = aDecl.Names(); + bool bParams = bool(i_rParams); + if (bParams) + { + front + << "("; + HF_IdlTypeText + aType( Env(), types, true ); + + write_Param( aType, names, (*i_rParams) ); + + for (++i_rParams; i_rParams; ++i_rParams) + { + types + << new Html::LineBreak; + names + << "," + << new Html::LineBreak; + write_Param( aType, names, (*i_rParams) ); + } // end for + + names + << " )"; + } + else + front + << "()"; + + + if (i_rExceptions) + { + Xml::Element & + rExcOut = aDecl.Add_RaisesLine("raises", NOT bParams); + HF_IdlTypeText + aExc(Env(), rExcOut, true); + aExc.Produce_byData(*i_rExceptions); + + for (++i_rExceptions; i_rExceptions; ++i_rExceptions) + { + rExcOut + << "," + << new Html::LineBreak; + aExc.Produce_byData(*i_rExceptions); + } // end for + + rExcOut << " );"; + } + else + { + if (bParams) + aDecl.Names() << ";"; + else + aDecl.Front() << ";"; + } +} + +void +HF_IdlMethod::write_Param( HF_IdlTypeText & o_type, + Xml::Element & o_names, + const ary::idl::Parameter & i_param ) const +{ + switch ( i_param.Direction() ) + { + case ary::idl::param_in: + o_type.CurOut() << "[in] "; + break; + case ary::idl::param_out: + o_type.CurOut() << "[out] "; + break; + case ary::idl::param_inout: + o_type.CurOut() << "[inout] "; + break; + } // end switch + + o_type.Produce_byData( i_param.Type() ); + o_names + << i_param.Name(); +} + + +const String sContentBorder("0"); +const String sContentWidth("96%"); +const String sContentPadding("5"); +const String sContentSpacing("0"); + +const String sBgWhite("#ffffff"); +const String sCenter("center"); + +void +HF_IdlMethod::enter_ContentCell() const +{ + + Xml::Element & + rContentCell = CurOut() + >> *new Html::Table( sContentBorder, + sContentWidth, + sContentPadding, + sContentSpacing ) + << new Html::BgColorAttr(sBgWhite) + << new Html::AlignAttr(sCenter) + >> *new Html::TableRow + >> *new Html::TableCell; + Out().Enter(rContentCell); +} + + +void +HF_IdlMethod::leave_ContentCell() const +{ + Out().Leave(); +} + diff --git a/autodoc/source/display/idl/hfi_method.hxx b/autodoc/source/display/idl/hfi_method.hxx new file mode 100644 index 000000000000..4748a6c70df4 --- /dev/null +++ b/autodoc/source/display/idl/hfi_method.hxx @@ -0,0 +1,129 @@ + /************************************************************************* + * + * $RCSfile: hfi_method.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:36 $ + * + * 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_DISPLAY_HFI_METHOD_HXX +#define ADC_DISPLAY_HFI_METHOD_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_param.hxx> +#include <ary_i/codeinf2.hxx> +typedef ary::info::CodeInformation CodeInfo; +#include "hfi_linklist.hxx" + + + +namespace csi +{ + namespace idl + { + class Parameter; + } +} +class HF_IdlTypeText; + +class HF_IdlMethod : public HtmlFactory_Idl +{ + public: + typedef ary::StdConstIterator<ary::idl::Parameter> param_list; + + HF_IdlMethod( + Environment & io_rEnv, + Xml::Element & o_cell ); + virtual ~HF_IdlMethod(); + + void Produce_byData( + const String & i_sName, + type_id i_nReturnType, + param_list & i_rParams, + type_list & i_rExceptions, + bool i_bOneway, + const client & i_ce ) const; + private: + void write_Declaration( + const String & i_sName, + type_id i_nReturnType, + param_list & i_rParams, + type_list & i_rExceptions, + bool i_bOneway ) const; + void write_Param( + HF_IdlTypeText & o_type, + Xml::Element & o_names, + const ary::idl::Parameter & + i_param ) const; + void enter_ContentCell() const; + void leave_ContentCell() const; +}; + + + +// IMPLEMENTATION + + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_module.cxx b/autodoc/source/display/idl/hfi_module.cxx new file mode 100644 index 000000000000..7897f9fcbd1d --- /dev/null +++ b/autodoc/source/display/idl/hfi_module.cxx @@ -0,0 +1,331 @@ +/************************************************************************* + * + * $RCSfile: hfi_module.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:36 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_module.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ik_module.hxx> +#include <ary_i/codeinf2.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_doc.hxx" +#include "hfi_navibar.hxx" +#include "hfi_tag.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCePrefix_Module("module"); + +namespace +{ + +const String + C_sList_NestedModules("Nested Modules"); +const String + C_sList_NestedModules_Label("NestedModules"); +const String + C_sList_Services("Services"); +const String + C_sList_Singletons("Singletons"); +const String + C_sList_Interfaces("Interfaces"); +const String + C_sList_Structs("Structs"); +const String + C_sList_Exceptions("Exceptions"); +const String + C_sList_Enums("Enums"); +const String + C_sList_Typedefs("Typedefs"); +const String + C_sList_ConstGroups("Constant Groups"); +const String + C_sList_ConstGroups_Label("ConstantGroups"); + + +enum E_SubListIndices +{ // In case of changes, also adapt make_Navibar() !! + sli_NestedModules = 0, + sli_Services = 1, + sli_Singletons = 2, + sli_Interfaces = 3, + sli_Structs = 4, + sli_Exceptions = 5, + sli_Enums = 6, + sli_Typedefs = 7, + sli_ConstGroups = 8 +}; + +} //anonymous namespace + + +HF_IdlModule::HF_IdlModule( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlModule::~HF_IdlModule() +{ +} + +typedef ary::idl::ifc_module::attr ModuleAttr; + + +void +HF_IdlModule::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + if ( Env().CurPosition().Depth() > 0 ) + { + aNameChain.Produce_CompleteChain_forModule(Env().CurPosition(), nameChainLinker); + + aTitle.Produce_Title( StreamLock(200)() + << C_sCePrefix_Module + << " " + << i_ce.LocalName() + << c_str ); + } + else + { + aTitle.Produce_Title( "Global Module" ); + } + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + + // Write children lists: + ce_ptr_list aNestedModules; + ce_ptr_list aServices; + ce_ptr_list aInterfaces; + ce_ptr_list aStructs; + ce_ptr_list aExceptions; + ce_ptr_list aEnums; + ce_ptr_list aTypedefs; + ce_ptr_list aConstantGroups; + ce_ptr_list aSingletons; + + ModuleAttr::Get_AllChildrenSeparated( + aNestedModules, + aServices, + aInterfaces, + aStructs, + aExceptions, + aEnums, + aTypedefs, + aConstantGroups, + aSingletons, + Env().Data().Ces(), + i_ce ); + + // Has this to be in the order of enum E_SubListIndices ??? + if (produce_ChildList(C_sList_NestedModules, C_sList_NestedModules_Label, aNestedModules )) + pNaviSubRow->SwitchOn(sli_NestedModules); + if (produce_ChildList(C_sList_Services, C_sList_Services, aServices)) + pNaviSubRow->SwitchOn(sli_Services); + if (produce_ChildList(C_sList_Singletons, C_sList_Singletons, aSingletons)) + pNaviSubRow->SwitchOn(sli_Singletons); + if (produce_ChildList(C_sList_Interfaces, C_sList_Interfaces, aInterfaces)) + pNaviSubRow->SwitchOn(sli_Interfaces); + if (produce_ChildList(C_sList_Structs, C_sList_Structs, aStructs)) + pNaviSubRow->SwitchOn(sli_Structs); + if (produce_ChildList(C_sList_Exceptions, C_sList_Exceptions, aExceptions)) + pNaviSubRow->SwitchOn(sli_Exceptions); + if (produce_ChildList(C_sList_Enums, C_sList_Enums, aEnums)) + pNaviSubRow->SwitchOn(sli_Enums); + if (produce_ChildList(C_sList_Typedefs, C_sList_Typedefs, aTypedefs)) + pNaviSubRow->SwitchOn(sli_Typedefs); + if (produce_ChildList(C_sList_ConstGroups, C_sList_ConstGroups_Label, aConstantGroups)) + pNaviSubRow->SwitchOn(sli_ConstGroups); + pNaviSubRow->Produce_Row(); +} + +DYN HF_NaviSubRow & +HF_IdlModule::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_ModuleMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + + // Has to be in the order of E_SubListIndices: + ret.AddItem(C_sList_NestedModules, C_sList_NestedModules_Label, false); + ret.AddItem(C_sList_Services, C_sList_Services, false); + ret.AddItem(C_sList_Singletons, C_sList_Singletons, false); + ret.AddItem(C_sList_Interfaces, C_sList_Interfaces, false); + ret.AddItem(C_sList_Structs, C_sList_Structs, false); + ret.AddItem(C_sList_Exceptions, C_sList_Exceptions, false); + ret.AddItem(C_sList_Enums, C_sList_Enums, false); + ret.AddItem(C_sList_Typedefs, C_sList_Typedefs, false); + ret.AddItem(C_sList_ConstGroups, C_sList_ConstGroups_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +bool +HF_IdlModule::produce_ChildList( const String & i_sName, + const String & i_sLabel, + const ce_ptr_list & i_list ) const +{ + if ( i_list.size() == 0 ) + return false; + + HF_SubTitleTable + aTable( CurOut(), + i_sLabel, + i_sName, + 2 ); + + ce_ptr_list::const_iterator + itEnd = i_list.end(); + for ( ce_ptr_list::const_iterator it = i_list.begin(); + it != itEnd; + ++it ) + { + Xml::Element & + rRow = aTable.Add_Row(); + produce_Link(rRow, *it); + produce_LinkDoc(rRow, *it); + } // end for + + return true; +} + +void +HF_IdlModule::produce_Link( Xml::Element & o_row, + const client * i_ce ) const +{ + csv_assert(i_ce != 0); + Xml::Element & + rCell = o_row + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_SummaryLeft); + + if (i_ce->ClassId() != ary::idl::Module::class_id) + { + HF_IdlTypeText + aText(Env(), rCell, true); + aText.Produce_byData(i_ce->CeId()); + } + else + { + StreamLock slBuf(100); + rCell + >> *new Html::Link( slBuf() << i_ce->LocalName() + << "/module-ix.html" + << c_str ) + << i_ce->LocalName(); + } +} + +void +HF_IdlModule::produce_LinkDoc( Xml::Element & o_row, + const client * i_ce ) const +{ + csv_assert(i_ce != 0); + + // We need the cell in any case, because, the rendering may be hurt else. + Xml::Element & + rCell = o_row + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_SummaryRight); + + const client & + rCe = *i_ce; + const ce_info * + pShort = rCe.Docu(); + if ( pShort == 0 ) + return; + + + if (pShort->IsDeprecated()) + { + rCell << "[ DEPRECATED ]" << new Html::LineBreak; + } + if (pShort->IsOptional()) + { + rCell << "[ OPTIONAL ]" << new Html::LineBreak; + } + + HF_IdlDocuTextDisplay + aShortDisplay(Env(), &rCell, *i_ce); + pShort->Short().DisplayAt(aShortDisplay); +} diff --git a/autodoc/source/display/idl/hfi_module.hxx b/autodoc/source/display/idl/hfi_module.hxx new file mode 100644 index 000000000000..df6becb6cb7b --- /dev/null +++ b/autodoc/source/display/idl/hfi_module.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: hfi_module.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:37 $ + * + * 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_DISPLAY_HFI_MODULE_HXX +#define ADC_DISPLAY_HFI_MODULE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_NaviSubRow; + +class HF_IdlModule : public HtmlFactory_Idl +{ + public: + HF_IdlModule( + Environment & io_rEnv, // The CurDirecory() is the one of the here displayed Module. + Xml::Element & o_rOut ); + virtual ~HF_IdlModule(); + + void Produce_byData( + const client & i_ce ) const; + private: + typedef std::vector< const ary::idl::CodeEntity* > ce_ptr_list; + + DYN HF_NaviSubRow & make_Navibar( + const client & i_ce ) const; + bool produce_ChildList( + const String & i_sName, + const String & i_sLabel, + const ce_ptr_list & i_list ) const; + void produce_Link( + Xml::Element & o_row, + const client * i_ce ) const; + void produce_LinkDoc( + Xml::Element & o_row, + const client * i_ce ) const; +}; + + + +// IMPLEMENTATION + + +extern const String + C_sCePrefix_Module; + + + + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_navibar.cxx b/autodoc/source/display/idl/hfi_navibar.cxx new file mode 100644 index 000000000000..a60fec090c17 --- /dev/null +++ b/autodoc/source/display/idl/hfi_navibar.cxx @@ -0,0 +1,239 @@ +/************************************************************************* + * + * $RCSfile: hfi_navibar.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:38 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_navibar.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <toolkit/hf_navi_main.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include "hfi_interface.hxx" +#include "hfi_module.hxx" +#include "hfi_service.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sLocalManualLinks("#devmanual"); + + +const String C_sTop = "Overview"; +const String C_sModule = "Module"; +const String C_sUse = "Use"; +const String C_sManual = "Manual"; +const String C_sIndex = "Index"; + + + + +HF_IdlNavigationBar::HF_IdlNavigationBar( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlNavigationBar::~HF_IdlNavigationBar() +{ +} + +void +HF_IdlNavigationBar::Produce_CeMainRow( const client & i_ce ) +{ + HF_NaviMainRow + aNaviMain( CurOut() ); + + StreamLock aLink(500); + StreamStr & rLink = aLink(); + + Env().Get_LinkTo( rLink.reset(), + Env().OutputTree().Overview() ); + aNaviMain.Add_StdItem( C_sTop, rLink.c_str() ); + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_CurModule() ); + aNaviMain.Add_StdItem( C_sModule, rLink.c_str() ); + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_CurXRefs(i_ce.LocalName()) ); + aNaviMain.Add_StdItem( C_sUse, rLink.c_str() ); + + + const StringVector & + rManualDescrs = i_ce.Secondaries().Links2DescriptionInManual(); + if (rManualDescrs.size() == 1) + { + aNaviMain.Add_StdItem(C_sManual, Env().Link2Manual( rManualDescrs.front() )); + } + else if (rManualDescrs.size() > 1) + { + aNaviMain.Add_StdItem(C_sManual, C_sLocalManualLinks); + } + else + { + aNaviMain.Add_NoneItem( C_sManual ); + } + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_Index() ); + aNaviMain.Add_StdItem( C_sIndex, rLink.c_str() ); + + aNaviMain.Produce_Row(); +} + +void +HF_IdlNavigationBar::Produce_CeXrefsMainRow( const client & i_ce ) +{ + HF_NaviMainRow + aNaviMain( CurOut() ); + + StreamLock aLink(500); + StreamStr & rLink = aLink(); + + Env().Get_LinkTo( rLink.reset(), + Env().OutputTree().Overview() ); + aNaviMain.Add_StdItem( C_sTop, rLink.c_str() ); + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_CurModule() ); + aNaviMain.Add_StdItem( C_sModule, rLink.c_str() ); + + aNaviMain.Add_SelfItem( C_sUse ); + aNaviMain.Add_NoneItem( C_sManual ); + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_Index() ); + aNaviMain.Add_StdItem( C_sIndex, rLink.c_str() ); + + aNaviMain.Produce_Row(); +} + +void +HF_IdlNavigationBar::Produce_ModuleMainRow( const client & i_ce ) +{ + HF_NaviMainRow + aNaviMain( CurOut() ); + + StreamLock aLink(500); + StreamStr & rLink = aLink(); + + Env().Get_LinkTo( rLink.reset(), + Env().OutputTree().Overview() ); + aNaviMain.Add_StdItem( C_sTop, rLink.c_str() ); + + aNaviMain.Add_SelfItem( C_sModule ); + + aNaviMain.Add_NoneItem( C_sUse ); + + const StringVector & + rManualDescrs = i_ce.Secondaries().Links2DescriptionInManual(); + if (rManualDescrs.size() == 1) + { + aNaviMain.Add_StdItem(C_sManual, Env().Link2Manual( rManualDescrs.front() )); + } + else if (rManualDescrs.size() > 1) + { + aNaviMain.Add_StdItem(C_sManual, C_sLocalManualLinks); + } + else + { + aNaviMain.Add_NoneItem( C_sManual ); + } + + Env().Get_LinkTo( rLink.reset(), + Env().Linker().PositionOf_Index() ); + aNaviMain.Add_StdItem( C_sIndex, rLink.c_str() ); + + aNaviMain.Produce_Row(); +} + +void +HF_IdlNavigationBar::Produce_IndexMainRow() +{ + HF_NaviMainRow + aNaviMain( CurOut() ); + + StreamLock aLink(500); + StreamStr & rLink = aLink(); + + Env().Get_LinkTo( rLink.reset(), + Env().OutputTree().Overview() ); + aNaviMain.Add_StdItem( C_sTop, rLink.c_str() ); + + aNaviMain.Add_NoneItem( C_sModule ); + aNaviMain.Add_NoneItem( C_sUse ); + aNaviMain.Add_NoneItem( C_sManual ); + + aNaviMain.Add_SelfItem( C_sIndex ); + + aNaviMain.Produce_Row(); + + CurOut() << new Html::HorizontalLine(); +} + +DYN HF_NaviSubRow & +HF_IdlNavigationBar::Add_SubRow() +{ + return *new HF_NaviSubRow( CurOut() ); +} + diff --git a/autodoc/source/display/idl/hfi_navibar.hxx b/autodoc/source/display/idl/hfi_navibar.hxx new file mode 100644 index 000000000000..b5f659769f39 --- /dev/null +++ b/autodoc/source/display/idl/hfi_navibar.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: hfi_navibar.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:38 $ + * + * 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_DISPLAY_HFI_NAVIBAR_HXX +#define ADC_DISPLAY_HFI_NAVIBAR_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include "hi_factory.hxx" + // PARAMETERS + +namespace ary +{ +namespace idl +{ +class CodeEntity; +} +} + + +class HF_NaviSubRow; + +/** @resp + Creates a navigation bar for an IDL HTML documentation page. +*/ +class HF_IdlNavigationBar : public HtmlFactory_Idl +{ + public: + HF_IdlNavigationBar( + HtmlEnvironment_Idl & + io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlNavigationBar(); + + void Produce_CeMainRow( + const client & i_ce ); + void Produce_CeXrefsMainRow( + const client & i_ce ); + void Produce_ModuleMainRow( + const client & i_ce ); + void Produce_IndexMainRow(); + + /** Adds the subrow to the o_rOut argument of the constructor. + */ + DYN HF_NaviSubRow & Add_SubRow(); + + private: + const ary::idl::CodeEntity * + pCe; +}; + +extern const String + C_sLocalManualLinks; + +#endif diff --git a/autodoc/source/display/idl/hfi_property.cxx b/autodoc/source/display/idl/hfi_property.cxx new file mode 100644 index 000000000000..7414ec89958d --- /dev/null +++ b/autodoc/source/display/idl/hfi_property.cxx @@ -0,0 +1,269 @@ +/************************************************************************* + * + * $RCSfile: hfi_property.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:39 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following li + * + * - 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_property.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_attribute.hxx> +#include <ary/idl/ik_constant.hxx> +#include <ary/idl/ik_enumvalue.hxx> +#include <ary/idl/ik_property.hxx> +#include <ary/idl/ik_structelem.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_typetext.hxx" + +void +HF_IdlDataMember::Produce_byData( const client & ce ) const +{ + // Title: + CurOut() + >> *new Html::Label(ce.LocalName()) + << new Html::ClassAttr(C_sMemberTitle) + << ce.LocalName(); + + enter_ContentCell(); + write_Declaration(ce); + CurOut() << new Html::HorizontalLine; + write_Docu(CurOut(), ce); + leave_ContentCell(); +} + +HF_IdlDataMember::HF_IdlDataMember( Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HtmlFactory_Idl( io_rEnv, + &(o_table.Add_Row() + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_MDetail)) + ) +{ +} + +const String sContentBorder("0"); +const String sContentWidth("96%"); +const String sContentPadding("5"); +const String sContentSpacing("0"); + +const String sBgWhite("#ffffff"); +const String sCenter("center"); + +void +HF_IdlDataMember::enter_ContentCell() const +{ + + Xml::Element & + rContentCell = CurOut() + >> *new Html::Table( sContentBorder, + sContentWidth, + sContentPadding, + sContentSpacing ) + << new Html::BgColorAttr(sBgWhite) + << new Html::AlignAttr(sCenter) + >> *new Html::TableRow + >> *new Html::TableCell; + Out().Enter(rContentCell); +} + + +void +HF_IdlDataMember::leave_ContentCell() const +{ + Out().Leave(); +} + + +HF_IdlProperty::~HF_IdlProperty() +{ +} + +typedef ary::idl::ifc_property::attr PropertyAttr; + +void +HF_IdlProperty::write_Declaration( const client & i_ce ) const +{ + if (PropertyAttr::HasAnyStereotype(i_ce)) + CurOut() << "[ "; + if (PropertyAttr::IsReadOnly(i_ce)) + CurOut() << "readonly "; + if (PropertyAttr::IsBound(i_ce)) + CurOut() << "bound "; + if (PropertyAttr::IsConstrained(i_ce)) + CurOut() << "constrained "; + if (PropertyAttr::IsMayBeAmbigious(i_ce)) + CurOut() << "maybeambigious "; + if (PropertyAttr::IsMayBeDefault(i_ce)) + CurOut() << "maybedefault "; + if (PropertyAttr::IsMayBeVoid(i_ce)) + CurOut() << "maybevoid "; + if (PropertyAttr::IsRemovable(i_ce)) + CurOut() << "removable "; + if (PropertyAttr::IsTransient(i_ce)) + CurOut() << "transient "; + if (PropertyAttr::HasAnyStereotype(i_ce)) + CurOut() << " ] "; + + HF_IdlTypeText + aType( Env(), CurOut(), true ); + aType.Produce_byData( PropertyAttr::Type(i_ce) ); + + CurOut() << " " >> *new Html::Bold << i_ce.LocalName(); + CurOut() << ";"; +} + + + + +HF_IdlAttribute::~HF_IdlAttribute() +{ +} + +typedef ary::idl::ifc_attribute::attr AttributeAttr; + +void +HF_IdlAttribute::write_Declaration( const client & i_ce ) const +{ + if (AttributeAttr::IsReadOnly(i_ce)) + CurOut() << "[ readonly ] "; + + HF_IdlTypeText + aType( Env(), CurOut(), true ); + aType.Produce_byData( AttributeAttr::Type(i_ce) ); + + CurOut() << " " >> *new Html::Bold << i_ce.LocalName(); + CurOut() << ";"; +} + + + + +HF_IdlEnumValue::~HF_IdlEnumValue() +{ +} + +typedef ary::idl::ifc_enumvalue::attr EnumValueAttr; + +void +HF_IdlEnumValue::write_Declaration( const client & i_ce ) const +{ + CurOut() + >> *new Html::Bold + << i_ce.LocalName(); + + const String & + rValue = EnumValueAttr::Value(i_ce); + if ( NOT rValue.empty() ) + { CurOut() << " " // << " = " // In the moment this is somehow in the value + << rValue; + // CurOut() << ","; // In the moment this is somehow in the value + } + else + CurOut() << ","; +} + + +HF_IdlConstant::~HF_IdlConstant() +{ +} + +typedef ary::idl::ifc_constant::attr ConstantAttr; + +void +HF_IdlConstant::write_Declaration( const client & i_ce ) const +{ + CurOut() << "const "; + HF_IdlTypeText + aType( Env(), CurOut(), true ); + aType.Produce_byData(ConstantAttr::Type(i_ce)); + CurOut() + << " " + >> *new Html::Bold + << i_ce.LocalName(); + const String & + rValue = ConstantAttr::Value(i_ce); + CurOut() << " " // << " = " // In the moment this is somehow in the value + << rValue; + // << ";"; // In the moment this is somehow in the value +} + + +HF_IdlStructElement::~HF_IdlStructElement() +{ +} + +typedef ary::idl::ifc_structelement::attr StructElementAttr; + +void +HF_IdlStructElement::write_Declaration( const client & i_ce ) const +{ + HF_IdlTypeText + aType( Env(), CurOut(), true ); + aType.Produce_byData(StructElementAttr::Type(i_ce)); + CurOut() + << " " + >> *new Html::Bold + << i_ce.LocalName(); + CurOut() + << ";"; +} + diff --git a/autodoc/source/display/idl/hfi_property.hxx b/autodoc/source/display/idl/hfi_property.hxx new file mode 100644 index 000000000000..2d14623bc9e9 --- /dev/null +++ b/autodoc/source/display/idl/hfi_property.hxx @@ -0,0 +1,163 @@ + /************************************************************************* + * + * $RCSfile: hfi_property.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:40 $ + * + * 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_DISPLAY_HFI_PROPERTY_HXX +#define ADC_DISPLAY_HFI_PROPERTY_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + +class HF_SubTitleTable; + +class HF_IdlDataMember : public HtmlFactory_Idl +{ + public: + void Produce_byData( + const client & ce ) const; + protected: + HF_IdlDataMember( + Environment & io_rEnv, + HF_SubTitleTable & o_table ); + private: + /// @descr Must enclose writing a horizontal line. + virtual void write_Declaration( + const client & i_ce ) const = 0; + + void enter_ContentCell() const; + void leave_ContentCell() const; +}; + + + +class HF_IdlProperty : public HF_IdlDataMember +{ + public: + HF_IdlProperty( + Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HF_IdlDataMember(io_rEnv, o_table) {} + virtual ~HF_IdlProperty(); + private: + virtual void write_Declaration( + const client & i_ce ) const; +}; + +class HF_IdlAttribute : public HF_IdlDataMember +{ + public: + HF_IdlAttribute( + Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HF_IdlDataMember(io_rEnv, o_table) {} + virtual ~HF_IdlAttribute(); + private: + virtual void write_Declaration( + const client & i_ce ) const; +}; + + +class HF_IdlEnumValue : public HF_IdlDataMember +{ + public: + HF_IdlEnumValue( + Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HF_IdlDataMember(io_rEnv, o_table) {} + virtual ~HF_IdlEnumValue(); + private: + virtual void write_Declaration( + const client & i_ce ) const; +}; + +class HF_IdlConstant : public HF_IdlDataMember +{ + public: + HF_IdlConstant( + Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HF_IdlDataMember(io_rEnv, o_table) {} + virtual ~HF_IdlConstant(); + private: + virtual void write_Declaration( + const client & i_ce ) const; +}; + + +class HF_IdlStructElement : public HF_IdlDataMember +{ + public: + HF_IdlStructElement( + Environment & io_rEnv, + HF_SubTitleTable & o_table ) + : HF_IdlDataMember(io_rEnv, o_table) {} + virtual ~HF_IdlStructElement(); + private: + virtual void write_Declaration( + const client & i_ce ) const; +}; + + +#endif diff --git a/autodoc/source/display/idl/hfi_service.cxx b/autodoc/source/display/idl/hfi_service.cxx new file mode 100644 index 000000000000..66996a5ed11c --- /dev/null +++ b/autodoc/source/display/idl/hfi_service.cxx @@ -0,0 +1,320 @@ +/************************************************************************* + * + * $RCSfile: hfi_service.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:40 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_service.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_service.hxx> +#include <ary_i/codeinf2.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_doc.hxx" +#include "hfi_navibar.hxx" +#include "hfi_property.hxx" +#include "hfi_tag.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + + + +extern const String + C_sCePrefix_Service("service"); + +namespace +{ + +const String + C_sList_IncludedServices("Included Services"); +const String + C_sList_IncludedServices_Label("IncludedServices"); +const String + C_sList_ExportedInterfaces("Exported Interfaces"); +const String + C_sList_ExportedInterfaces_Label("ExportedInterfaces"); +const String + C_sList_Properties("Properties' Summary"); +const String + C_sList_Properties_Label("PropertiesSummary"); +const String + C_sList_PropertiesDetails("Properties' Details"); +const String + C_sList_PropertiesDetails_Label("PropertiesDetails"); + + +enum E_SubListIndices +{ + sli_IncludedServices = 0, + sli_ExportedInterfaces = 1, + sli_PropertiesSummary = 2, + sli_PropertiesDetails = 3 +}; + +} //anonymous namespace + + +HF_IdlService::HF_IdlService( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlService::~HF_IdlService() +{ + +} + +typedef ::ary::idl::ifc_service::attr + ServiceAttr; +typedef ::ary::Dyn_StdConstIterator< ::ary::idl::CommentedReference > + dyn_comref_list; + +void +HF_IdlService::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() << C_sCePrefix_Service + << " " + << i_ce.LocalName() + << c_str ); + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + dyn_comref_list + dpIncludedServices; + ServiceAttr::Get_IncludedServices(dpIncludedServices, i_ce); + if (*dpIncludedServices) + { + produce_IncludedServices( i_ce, *dpIncludedServices ); + pNaviSubRow->SwitchOn(sli_IncludedServices); + } + + dyn_comref_list + dpExportedInterfaces; + ServiceAttr::Get_ExportedInterfaces(dpExportedInterfaces, i_ce); + if (*dpExportedInterfaces) + { + produce_ExportedInterfaces( i_ce, *dpExportedInterfaces ); + pNaviSubRow->SwitchOn(sli_ExportedInterfaces); + } + + dyn_ce_list + dpProperties; + ServiceAttr::Get_Properties(dpProperties, i_ce); + if (*dpProperties) + { + produce_Members( *dpProperties, + C_sList_Properties, + C_sList_Properties_Label, + C_sList_PropertiesDetails, + C_sList_PropertiesDetails_Label ); + pNaviSubRow->SwitchOn(sli_PropertiesSummary); + pNaviSubRow->SwitchOn(sli_PropertiesDetails); + } + + pNaviSubRow->Produce_Row(); + CurOut() << new Xml::XmlCode("<br> "); +} + +DYN HF_NaviSubRow & +HF_IdlService::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + ret.AddItem(C_sList_IncludedServices, C_sList_IncludedServices_Label, false); + ret.AddItem(C_sList_ExportedInterfaces, C_sList_ExportedInterfaces_Label, false); + ret.AddItem(C_sList_Properties, C_sList_Properties_Label, false); + ret.AddItem(C_sList_PropertiesDetails, C_sList_PropertiesDetails_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +void +HF_IdlService::produce_IncludedServices( const client & i_ce, + comref_list & it_list ) const +{ + csv_assert( it_list ); + + HF_SubTitleTable + aTable( CurOut(), + C_sList_IncludedServices_Label, + C_sList_IncludedServices, + 2 ); + + for ( ; it_list; ++it_list ) + { + Xml::Element & + rRow = aTable.Add_Row(); + produce_Link(rRow, (*it_list).first); + produce_LinkDoc(i_ce, rRow, it_list); + } // end for +} + +void +HF_IdlService::produce_ExportedInterfaces( const client & i_ce, + comref_list & it_list ) const +{ + csv_assert( it_list ); + + HF_SubTitleTable + aTable( CurOut(), + C_sList_ExportedInterfaces_Label, + C_sList_ExportedInterfaces, + 2 ); + + for ( ; it_list; ++it_list ) + { + Xml::Element & + rRow = aTable.Add_Row(); + produce_Link(rRow, (*it_list).first); + produce_LinkDoc(i_ce, rRow, it_list); + } // end for +} + +void +HF_IdlService::produce_Link( Xml::Element & o_row, + type_id i_type ) const +{ + Xml::Element & + rCell = o_row + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_SummaryLeft); + HF_IdlTypeText + aText(Env(), rCell, true); + aText.Produce_byData(i_type); +} + +void +HF_IdlService::produce_LinkDoc( const client & i_ce, + Xml::Element & o_row, + comref_list & i_commentedRef ) const +{ + Xml::Element & + rCell = o_row + >> *new Html::TableCell + << new Html::ClassAttr(C_sCellStyle_SummaryRight); + + + HF_DocEntryList + aDocList(rCell); + if ( (*i_commentedRef).second != 0 ) + { + HF_IdlDocu + aDocuDisplay(Env(), aDocList); + aDocuDisplay.Produce_byData(i_ce, (*i_commentedRef).second ); + } + else + { + const client * + pCe = Env().Linker().Search_CeFromType((*i_commentedRef).first); + const ce_info * + pShort = pCe != 0 + ? pCe->Docu() + : 0; + if ( pShort != 0 ) + { + if (pShort->IsDeprecated()) + { + rCell << "[ DEPRECATED ]" << new Html::LineBreak; + } + if (pShort->IsOptional()) + { + rCell << "[ OPTIONAL ]" << new Html::LineBreak; + } + + HF_IdlDocuTextDisplay + aShortDisplay( Env(), &rCell, *pCe); + pShort->Short().DisplayAt(aShortDisplay); + } + } // endif ( (*i_commentedRef).second != 0 ) else +} + + +void +HF_IdlService::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & i_ce ) const +{ + HF_IdlProperty + aProperty( Env(), o_table); + aProperty.Produce_byData( i_ce ); +} + + + diff --git a/autodoc/source/display/idl/hfi_service.hxx b/autodoc/source/display/idl/hfi_service.hxx new file mode 100644 index 000000000000..23f5bde69666 --- /dev/null +++ b/autodoc/source/display/idl/hfi_service.hxx @@ -0,0 +1,121 @@ +/************************************************************************* + * + * $RCSfile: hfi_service.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:41 $ + * + * 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_DISPLAY_HFI_SERVICE_HXX +#define ADC_DISPLAY_HFI_SERVICE_HXX + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + +class HF_NaviSubRow; +class HF_SubTitleTable; + +class HF_IdlService : public HtmlFactory_Idl +{ + public: + typedef ::ary::StdConstIterator< ::ary::idl::CommentedReference> comref_list; + HF_IdlService( + Environment & io_rEnv, // The CurDirecory() is the one of the here displayed Module. + Xml::Element & o_rOut ); + virtual ~HF_IdlService(); + + void Produce_byData( + const client & i_ce ) const; + private: + DYN HF_NaviSubRow & make_Navibar( + const client & i_ce ) const; + + void produce_IncludedServices( + const client & i_ce, + comref_list & it_list ) const; + void produce_ExportedInterfaces( + const client & i_ce, + comref_list & it_list ) const; + + void produce_Link( + Xml::Element & o_row, + type_id i_type ) const; + void produce_LinkDoc( + const client & i_ce, + Xml::Element & o_row, + comref_list & i_commentedRef ) const; + + void produce_MemberDetails( /// of property + HF_SubTitleTable & o_table, + const client & i_ce ) const; +}; + + + +// IMPLEMENTATION + +extern const String + C_sCePrefix_Service; + + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_singleton.cxx b/autodoc/source/display/idl/hfi_singleton.cxx new file mode 100644 index 000000000000..2a196d20ebdb --- /dev/null +++ b/autodoc/source/display/idl/hfi_singleton.cxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: hfi_singleton.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:42 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_singleton.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_singleton.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + + + +extern const String + C_sCePrefix_Singleton("singleton"); + +namespace +{ +const String + C_sAssociatedService("Associated Service"); +} //anonymous namespace + + +HF_IdlSingleton::HF_IdlSingleton( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlSingleton::~HF_IdlSingleton() +{ + +} + +typedef ::ary::idl::ifc_singleton::attr + SingletonAttr; + +void +HF_IdlSingleton::Produce_byData( const client & i_ce ) const +{ + make_Navibar(i_ce); + + HF_TitleTable + aTitle(CurOut()); + + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() + << C_sCePrefix_Singleton + << " " + << i_ce.LocalName() + << c_str ); + + HF_DocEntryList + aTopList( aTitle.Add_Row() ); + aTopList.Produce_Term(C_sAssociatedService); + + HF_IdlTypeText + aAssociatedService( Env(), aTopList.Produce_Definition(), true ); + aAssociatedService.Produce_byData( SingletonAttr::AssociatedService(i_ce) ); + + CurOut() << new Html::HorizontalLine; + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); +} + +void +HF_IdlSingleton::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + CurOut() << new Html::HorizontalLine(); +} diff --git a/autodoc/source/display/idl/hfi_singleton.hxx b/autodoc/source/display/idl/hfi_singleton.hxx new file mode 100644 index 000000000000..c11b45f46497 --- /dev/null +++ b/autodoc/source/display/idl/hfi_singleton.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * $RCSfile: hfi_singleton.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:42 $ + * + * 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_DISPLAY_HFI_SINGLETON_HXX +#define ADC_DISPLAY_HFI_SINGLETON_HXX + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + +class HF_NaviSubRow; + + +class HF_IdlSingleton : public HtmlFactory_Idl +{ + public: + HF_IdlSingleton( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlSingleton(); + + void Produce_byData( + const client & i_ce ) const; + private: + void make_Navibar( + const client & i_ce ) const; +}; + + + +// IMPLEMENTATION + +extern const String + C_sCePrefix_Singleton; + + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_struct.cxx b/autodoc/source/display/idl/hfi_struct.cxx new file mode 100644 index 000000000000..a0e49a36273a --- /dev/null +++ b/autodoc/source/display/idl/hfi_struct.cxx @@ -0,0 +1,207 @@ +/************************************************************************* + * + * $RCSfile: hfi_struct.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:43 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_struct.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_exception.hxx> +#include <ary/idl/ik_struct.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_navi_sub.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_property.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCePrefix_Struct("struct"); +extern const String + C_sCePrefix_Exception("exception"); + + +namespace +{ + +const String + C_sBaseStruct("Base Hierarchy"); +const String + C_sBaseException("Base Hierarchy"); + +const String + C_sList_Elements("Elements' Summary"); +const String + C_sList_Elements_Label("Elements"); + +const String + C_sList_ElementDetails("Elements' Details"); +const String + C_sList_ElementDetails_Label("ElementDetails"); + +enum E_SubListIndices +{ + sli_ElementsSummary = 0, + sli_ElementsDetails = 1 +}; + +} // anonymous namespace + + + +HF_IdlStruct::HF_IdlStruct( Environment & io_rEnv, + Xml::Element & o_rOut, + bool i_bIsException ) + : HtmlFactory_Idl(io_rEnv, &o_rOut), + bIsException(i_bIsException) +{ +} + +HF_IdlStruct::~HF_IdlStruct() +{ +} + +void +HF_IdlStruct::Produce_byData( const client & i_ce ) const +{ + Dyn<HF_NaviSubRow> + pNaviSubRow( &make_Navibar(i_ce) ); + + HF_TitleTable + aTitle(CurOut()); + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() + << (bIsException + ? C_sCePrefix_Exception + : C_sCePrefix_Struct) + << " " + << i_ce.LocalName() + << c_str ); + produce_Bases( aTitle.Add_Row(), + i_ce, + bIsException + ? C_sBaseException + : C_sBaseStruct ); + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); + + dyn_ce_list + dpElements; + if (bIsException) + ary::idl::ifc_exception::attr::Get_Elements(dpElements, i_ce); + else + ary::idl::ifc_struct::attr::Get_Elements(dpElements, i_ce); + + if (*dpElements) + { + produce_Members( *dpElements, + C_sList_Elements, + C_sList_Elements_Label, + C_sList_ElementDetails, + C_sList_ElementDetails_Label ); + pNaviSubRow->SwitchOn(sli_ElementsSummary); + pNaviSubRow->SwitchOn(sli_ElementsDetails); + } + pNaviSubRow->Produce_Row(); +} + +HtmlFactory_Idl::type_id +HF_IdlStruct::inq_BaseOf( const client & i_ce ) const +{ + return bIsException + ? ary::idl::ifc_exception::attr::Base(i_ce) + : ary::idl::ifc_struct::attr::Base(i_ce); +} + +HF_NaviSubRow & +HF_IdlStruct::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + DYN HF_NaviSubRow & + ret = aNaviBar.Add_SubRow(); + ret.AddItem(C_sList_Elements, C_sList_Elements_Label, false); + ret.AddItem(C_sList_ElementDetails, C_sList_ElementDetails_Label, false); + + CurOut() << new Html::HorizontalLine(); + return ret; +} + +void +HF_IdlStruct::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & i_ce) const +{ + HF_IdlStructElement + aElement( Env(), o_table ); + aElement.Produce_byData(i_ce); +} + diff --git a/autodoc/source/display/idl/hfi_struct.hxx b/autodoc/source/display/idl/hfi_struct.hxx new file mode 100644 index 000000000000..22db657ee664 --- /dev/null +++ b/autodoc/source/display/idl/hfi_struct.hxx @@ -0,0 +1,111 @@ +/************************************************************************* + * + * $RCSfile: hfi_struct.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:44 $ + * + * 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_DISPLAY_HFI_STRUCT_HXX +#define ADC_DISPLAY_HFI_STRUCT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_IdlStruct : public HtmlFactory_Idl +{ + public: + + HF_IdlStruct( + Environment & io_rEnv, + Xml::Element & o_rOut, + bool i_bIsException ); + virtual ~HF_IdlStruct(); + + void Produce_byData( + const client & ce ) const; + private: + // Interface HtmlFactory_Idl: + virtual type_id inq_BaseOf( + const client & i_ce ) const; + // Locals + HF_NaviSubRow & make_Navibar( + const client & ce ) const; + virtual void produce_MemberDetails( + HF_SubTitleTable & o_table, + const client & ce ) const; + // DATA + bool bIsException; +}; + + + +// IMPLEMENTATION + + +extern const String + C_sCePrefix_Struct; +extern const String + C_sCePrefix_Exception; + + +#endif diff --git a/autodoc/source/display/idl/hfi_tag.cxx b/autodoc/source/display/idl/hfi_tag.cxx new file mode 100644 index 000000000000..72036beadb4c --- /dev/null +++ b/autodoc/source/display/idl/hfi_tag.cxx @@ -0,0 +1,331 @@ +/************************************************************************* + * + * $RCSfile: hfi_tag.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:44 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_tag.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary_i/d_token.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_module.hxx> +#include <toolkit/out_tree.hxx> +#include "hfi_typetext.hxx" +#include "hi_ary.hxx" +#include "hi_env.hxx" +#include "hi_linkhelper.hxx" + + + + +inline void +HF_IdlTag::Enter_TextOut( Xml::Element & o_rText ) const +{ + aTextOut.Out().Enter(o_rText); +} + +inline void +HF_IdlTag::Leave_TextOut() const +{ + aTextOut.Out().Leave(); +} + +inline void +HF_IdlTag::PutText_Out( const ary::info::DocuTex2 & i_rText ) const +{ + i_rText.DisplayAt( const_cast< HF_IdlDocuTextDisplay& >(aTextOut) ); +} + + + +HF_IdlTag::HF_IdlTag( Environment & io_rEnv, + const ary::idl::CodeEntity & i_rScopeGivingCe ) + : HtmlFactory_Idl( io_rEnv, 0 ), + pTitleOut(0), + aTextOut(io_rEnv, 0, i_rScopeGivingCe) +{ +} + +HF_IdlTag::~HF_IdlTag() +{ +} + +void +HF_IdlTag::Produce_byData( Xml::Element & o_rTitle, + Xml::Element & o_rText, + const ary::info::AtTag2 & i_rTag ) const +{ + pTitleOut = &o_rTitle; + Enter_TextOut(o_rText); + i_rTag.DisplayAt( const_cast< HF_IdlTag& >(*this) ); + Leave_TextOut(); +} + +void +HF_IdlTag::Display_StdAtTag( const csi::dsapi::DT_StdAtTag & i_rTag ) +{ + if ( i_rTag.Text().IsEmpty() ) + return; + + csv_assert( pTitleOut != 0 ); + *pTitleOut << i_rTag.Title(); + PutText_Out( i_rTag.Text() ); +} + +void +HF_IdlTag::Display_SeeAlsoAtTag( const csi::dsapi::DT_SeeAlsoAtTag & i_rTag ) +{ + if ( i_rTag.Text().IsEmpty() ) + return; + + csv_assert( pTitleOut != 0 ); + *pTitleOut << "See also"; + + HF_IdlTypeText aLinkText(Env(),aTextOut.CurOut(),true); + aLinkText.Produce_byData( i_rTag.LinkText() ); +// aTextOut.Create_LinkToBeFound(i_rTag.LinkText(),true); + aTextOut.CurOut() << new Html::LineBreak; + PutText_Out( i_rTag.Text() ); +} + +void +HF_IdlTag::Display_ParameterAtTag( const csi::dsapi::DT_ParameterAtTag & i_rTag ) +{ + csv_assert( pTitleOut != 0 ); + *pTitleOut + << ( StreamLock(100)() << "Parameter " << i_rTag.Title() << c_str ); + PutText_Out( i_rTag.Text() ); +} + + +//******************** HF_IdlShortDocu *********************/ + +HF_IdlShortDocu::HF_IdlShortDocu( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl( io_rEnv, &o_rOut ) +{ +} + +HF_IdlShortDocu::~HF_IdlShortDocu() +{ +} + +void +HF_IdlShortDocu::Produce_byData( const ary::idl::CodeEntity & i_rCe ) +{ + if (i_rCe.Docu() == 0) + return; + + const ce_info & + rDocu = *i_rCe.Docu(); + if ( rDocu.IsDeprecated() ) + { + CurOut() + >> *new Html::Bold + << "[ DEPRECATED ]" << new Html::LineBreak; + } + if ( rDocu.IsOptional() ) + { + CurOut() + >> *new Html::Bold + << "[ OPTIONAL ]" << new Html::LineBreak; + } + + HF_IdlDocuTextDisplay + aText( Env(), &CurOut(), i_rCe); + rDocu.Short().DisplayAt(aText); +} + + +//******************** HF_IdlDocuTextDisplay *********************/ + + +HF_IdlDocuTextDisplay::HF_IdlDocuTextDisplay( Environment & io_rEnv, + Xml::Element * o_pOut, + const ary::idl::CodeEntity & i_rScopeGivingCe ) + : HtmlFactory_Idl(io_rEnv, o_pOut), + sScope(), + sLinkToken(), + bGatherLink(false), + pScopeGivingCe(&i_rScopeGivingCe) +{ +} + +HF_IdlDocuTextDisplay::~HF_IdlDocuTextDisplay() +{ +} + +void +HF_IdlDocuTextDisplay::Display_TextToken( const csi::dsapi::DT_TextToken & i_rToken ) +{ + if (bGatherLink) + { + if (sLinkToken.length() == 0) + { + sLinkToken = i_rToken.GetText(); + return; + } + else + { + Cerr() << "Error in documentation: Too many or too few tokens for a link in <member> or <type>." << Endl(); + Cerr() << " Link won't be created, but all tokens shown plain." << Endl(); + Cerr() << " \"" << sLinkToken << "\""; + if ( pScopeGivingCe != 0 ) + Cerr() << " in " << pScopeGivingCe->LocalName(); + Cerr() << Endl(); + StopLinkGathering(); + } + } // endif (bGatherLink) + + CurOut() << " " << new Xml::XmlCode( i_rToken.GetText() ); +} + +void +HF_IdlDocuTextDisplay::Display_MupType( const csi::dsapi::DT_MupType & i_rToken ) +{ + if (i_rToken.IsBegin()) + { + StartLinkGathering(i_rToken.Scope()); + } + else + { + if (bGatherLink) + { + CurOut() + << " "; + CreateTypeLink(); + StopLinkGathering(); + } + } +} + +void +HF_IdlDocuTextDisplay::Display_MupMember( const csi::dsapi::DT_MupMember & i_rToken ) +{ + if (i_rToken.IsBegin()) + { + StartLinkGathering(i_rToken.Scope()); + } + else + { + if (bGatherLink) + { + CurOut() + << " "; + CreateMemberLink(); + StopLinkGathering(); + } + } +} + +void +HF_IdlDocuTextDisplay::Display_MupConst( const csi::dsapi::DT_MupConst & i_rToken ) +{ + CurOut() + << " " + >> *new Html::Bold + << i_rToken.GetText(); +} + +void +HF_IdlDocuTextDisplay::Display_Style( const csi::dsapi::DT_Style & i_rToken ) +{ + CurOut() << new Xml::XmlCode( i_rToken.GetText() ); +} + +void +HF_IdlDocuTextDisplay::Display_EOL() +{ + CurOut() << "\n"; +} + +void +HF_IdlDocuTextDisplay::CreateTypeLink() +{ + HF_IdlTypeText aLink(Env(), CurOut(), true, &ScopeGivingCe()); + aLink.Produce_LinkInDocu(sScope, sLinkToken, String::Null_()); +} + +void +HF_IdlDocuTextDisplay::CreateMemberLink() +{ + + HF_IdlTypeText aLink(Env(), CurOut(), true, &ScopeGivingCe()); + + const char * + sSplit = strstr(sLinkToken,"::"); + + if (sSplit != 0) + { + String sCe(sLinkToken.c_str(), sSplit - sLinkToken.c_str()); + String sMember(sSplit+2); + + if (NOT sScope.empty() OR ScopeGivingCe().LocalName() != sCe ) + aLink.Produce_LinkInDocu(sScope, sCe, sMember); + else + aLink.Produce_LocalLinkInDocu(sMember); + } + else + { + aLink.Produce_LocalLinkInDocu(sLinkToken); + } +} diff --git a/autodoc/source/display/idl/hfi_tag.hxx b/autodoc/source/display/idl/hfi_tag.hxx new file mode 100644 index 000000000000..2d381e7d894d --- /dev/null +++ b/autodoc/source/display/idl/hfi_tag.hxx @@ -0,0 +1,208 @@ +/************************************************************************* + * + * $RCSfile: hfi_tag.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:46 $ + * + * 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_DISPLAY_HFI_TAG_HXX +#define ADC_DISPLAY_HFI_TAG_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" +#include <ary_i/disdocum.hxx> + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_language.hxx> +#include <ary_i/ci_atag2.hxx> +#include <ary_i/ci_text2.hxx> +#include <ary_i/codeinf2.hxx> + +#include <toolkit/hf_docentry.hxx> + +namespace ary +{ +namespace idl +{ + class Module; +} +} + + +/** This class is an implementation of ary::info::DocuText_Display + and will be used by that interface. +*/ +class HF_IdlDocuTextDisplay : public HtmlFactory_Idl, + public ary::info::DocuText_Display +{ + public: + HF_IdlDocuTextDisplay( + Environment & io_rEnv, + Xml::Element * o_pOut, + const ary::idl::CodeEntity & + i_rScopeGivingCe ); + virtual ~HF_IdlDocuTextDisplay(); + + const ary::idl::CodeEntity & + ScopeGivingCe() const { return *pScopeGivingCe; } + private: + virtual void Display_TextToken( + const csi::dsapi::DT_TextToken & + i_rToken ); + virtual void Display_MupType( + const csi::dsapi::DT_MupType & + i_rToken ); + virtual void Display_MupMember( + const csi::dsapi::DT_MupMember & + i_rToken ); + virtual void Display_MupConst( + const csi::dsapi::DT_MupConst & + i_rToken ); + virtual void Display_Style( + const csi::dsapi::DT_Style & i_rToken ); + virtual void Display_EOL(); + + // Local + void StartLinkGathering( + const String & i_sScope ) + { sLinkToken = ""; sScope = i_sScope; bGatherLink = true; } + void StopLinkGathering() { bGatherLink = false; } + /** @precond + The scope is in sScope, the name is in sLinkToken. + */ + void CreateTypeLink(); + /** @precond + The scope is in sScope, the qualified member-name is in sLinkToken. + */ + void CreateMemberLink(); + + // DATA + String sScope; + String sLinkToken; + bool bGatherLink; + const ary::idl::CodeEntity * + pScopeGivingCe; +}; + + + +class HF_IdlShortDocu : public HtmlFactory_Idl +{ + public: + HF_IdlShortDocu( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlShortDocu(); + + void Produce_byData( + const ary::idl::CodeEntity & + i_rCe ); +}; + + + +class HF_IdlTag : public HtmlFactory_Idl, + public ary::info::DocuTag_Display +{ + public: + HF_IdlTag( + Environment & io_rEnv, + const ary::idl::CodeEntity & + i_rScopeGivingCe ); + virtual ~HF_IdlTag(); + + void Produce_byData( + Xml::Element & o_rTitle, + Xml::Element & o_rText, + const ary::info::AtTag2 & + i_rTag ) const; + private: + virtual void Display_StdAtTag( + const csi::dsapi::DT_StdAtTag & + i_rToken ); + virtual void Display_SeeAlsoAtTag( + const csi::dsapi::DT_SeeAlsoAtTag & + i_rToken ); + virtual void Display_ParameterAtTag( + const csi::dsapi::DT_ParameterAtTag & + i_rToken ); + + void Enter_TextOut( + Xml::Element & o_rText ) const; + void Leave_TextOut() const; + void PutText_Out( + const ary::info::DocuTex2 & + i_rText ) const; + // DATA + mutable Xml::Element * + pTitleOut; + mutable HF_IdlDocuTextDisplay + aTextOut; +}; + + + + +// IMPLEMENTATION + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_typedef.cxx b/autodoc/source/display/idl/hfi_typedef.cxx new file mode 100644 index 000000000000..b822b3b01b36 --- /dev/null +++ b/autodoc/source/display/idl/hfi_typedef.cxx @@ -0,0 +1,131 @@ +/************************************************************************* + * + * $RCSfile: hfi_typedef.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:47 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_typedef.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_typedef.hxx> +#include <toolkit/hf_docentry.hxx> +#include <toolkit/hf_linachain.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + + +HF_IdlTypedef::HF_IdlTypedef( Environment & io_rEnv, + Xml::Element & o_rOut ) + : HtmlFactory_Idl(io_rEnv, &o_rOut) +{ +} + +HF_IdlTypedef::~HF_IdlTypedef() +{ +} + +typedef ary::idl::ifc_typedef::attr TypedefAttr; + +void +HF_IdlTypedef::Produce_byData( const client & i_ce ) const +{ + make_Navibar(i_ce); + + HF_TitleTable + aTitle(CurOut()); + + HF_LinkedNameChain + aNameChain(aTitle.Add_Row()); + + aNameChain.Produce_CompleteChain(Env().CurPosition(), nameChainLinker); + aTitle.Produce_Title( StreamLock(200)() + << C_sCePrefix_Typedef + << " " + << i_ce.LocalName() + << c_str ); + + HF_DocEntryList + aTopList( aTitle.Add_Row() ); + aTopList.Produce_Term("Defining Type"); + + HF_IdlTypeText + aDefinition( Env(), aTopList.Produce_Definition(), true ); + aDefinition.Produce_byData( TypedefAttr::DefiningType(i_ce) ); + + CurOut() << new Html::HorizontalLine; + + write_Docu(aTitle.Add_Row(), i_ce); + CurOut() << new Html::HorizontalLine(); +} + +void +HF_IdlTypedef::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeMainRow(i_ce); + + CurOut() << new Html::HorizontalLine(); +} diff --git a/autodoc/source/display/idl/hfi_typedef.hxx b/autodoc/source/display/idl/hfi_typedef.hxx new file mode 100644 index 000000000000..a6f7e4579424 --- /dev/null +++ b/autodoc/source/display/idl/hfi_typedef.hxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: hfi_typedef.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:48 $ + * + * 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_DISPLAY_HFI_TYPEDEF_HXX +#define ADC_DISPLAY_HFI_TYPEDEF_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_IdlTypedef : public HtmlFactory_Idl +{ + public: + HF_IdlTypedef( + Environment & io_rEnv, + Xml::Element & o_rOut ); + virtual ~HF_IdlTypedef(); + + void Produce_byData( + const client & ce ) const; + private: + void make_Navibar( + const client & ce ) const; +}; + + + +// IMPLEMENTATION + + +const String + C_sCePrefix_Typedef("typedef"); + +#endif + + diff --git a/autodoc/source/display/idl/hfi_typetext.cxx b/autodoc/source/display/idl/hfi_typetext.cxx new file mode 100644 index 000000000000..2106d803a50e --- /dev/null +++ b/autodoc/source/display/idl/hfi_typetext.cxx @@ -0,0 +1,573 @@ +/************************************************************************* + * + * $RCSfile: hfi_typetext.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:48 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_typetext.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <string.h> +#include <ary/idl/i_type.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ik_ce.hxx> +#include "hi_linkhelper.hxx" + + +inline const ary::idl::Module * +HF_IdlTypeText::referingModule() const +{ + if (pReferingCe == 0) + return Env().Linker().Search_CurModule(); + else + return &Env().Data().Find_Module(pReferingCe->NameRoom()); +} + +inline const HF_IdlTypeText::client * +HF_IdlTypeText::referingCe() const +{ + return pReferingCe; +} + + +HF_IdlTypeText::HF_IdlTypeText( Environment & io_rEnv, + Xml::Element & o_rOut, + bool i_bWithLink, + const client * i_pScopeGivingCe ) + : HtmlFactory_Idl(io_rEnv, &o_rOut), + pReferingCe( i_pScopeGivingCe ), + bWithLink(i_bWithLink) +{ +} + +HF_IdlTypeText::HF_IdlTypeText( Environment & io_rEnv, + E_Index e ) + : HtmlFactory_Idl(io_rEnv, 0), + pReferingCe( 0 ), + bWithLink(true) +{ +} + +HF_IdlTypeText::~HF_IdlTypeText() +{ +} + +void +HF_IdlTypeText::Produce_byData( ary::idl::Type_id i_idType ) const +{ + static StringVector aModule_; + String sName; + ce_id nCe; + int nSequenceCount = 0; + csv::erase_container(aModule_); + + const ary::idl::Type & + rType = Env().Data().Find_Type(i_idType); + Env().Data().Get_TypeText(aModule_, sName, nCe, nSequenceCount, rType); + + if ( Env().Data().IsBuiltInOrRelated(rType) ) + { + produce_BuiltIn(sName,nSequenceCount); + } + else + { + produce_FromStd( aModule_, + sName, + String::Null_(), + nSequenceCount, + (nCe.IsValid() ? exists_yes : exists_no) ); + } +} + +void +HF_IdlTypeText::Produce_byData( ary::idl::Ce_id i_idCe ) const +{ + static StringVector aModule_; + String sCe; + String sMember; + csv::erase_container(aModule_); + + const ary::idl::CodeEntity & + rCe = Env().Data().Find_Ce(i_idCe); + Env().Data().Get_CeText(aModule_, sCe, sMember, rCe); + produce_FromStd(aModule_, sCe, sMember, 0, exists_yes); +} + +void +HF_IdlTypeText::Produce_byData( const String & i_sFullName ) const +{ + static StringVector aModule_; + String sCe, + sMember; + int nSequence = 0; + String sTypeText; + csv::erase_container(aModule_); + + const ary::idl::Module * + pScopeModule = referingModule(); + if (pScopeModule == 0) + { + // SYNTAX_ERR, but rather logical error: Missing module. + CurOut() << i_sFullName; + return; + } + + const char * sTypeStart = strrchr(i_sFullName,'<'); + if ( sTypeStart != 0 ) + { + const char * sTypeEnd = strchr(i_sFullName,'>'); + if (sTypeEnd == 0) + { // SYNTAX_ERR + CurOut() << i_sFullName; + return; + } + + nSequence = count_Sequences(i_sFullName); + sTypeStart++; + sTypeText.assign(sTypeStart, sTypeEnd-sTypeStart); + } + else + { + sTypeText = i_sFullName; + } + + csv::erase_container(aModule_); + bool bFound = // KORR : Check the semantics of this, see if ce really exists in any case? + Env().Data().Search_Ce( aModule_, + sCe,sMember, + sTypeText, + *pScopeModule ); + if (NOT bFound) + { + CurOut() << i_sFullName; + return; + } + + produce_FromStd(aModule_, sCe, sMember, nSequence, exists_yes); +} + +void +HF_IdlTypeText::Produce_LinkInDocu( const String & i_scope, + const String & i_name, + const String & i_member ) const +{ + static StringVector aModule_; + String sName; + ce_id nCe; + int nSequenceCount = 0; + csv::erase_container(aModule_); + + const ary::idl::Module * + pScopeModule = referingModule(); + if (pScopeModule == 0) + { + // SYNTAX_ERR, but rather logical error: Missing module. + CurOut() << i_scope << "::" << i_name; + if (NOT i_member.empty()) + CurOut() << "::" << i_member; + return; + } + + bool + bFound = Env().Data().Search_CesModule( aModule_, + i_scope, + i_name, + *pScopeModule ); + if (NOT bFound) + { + CurOut() << i_scope << "::" << i_name; + if (NOT i_member.empty()) + CurOut() << "::" << i_member; + return; + } + produce_FromStd(aModule_, i_name, i_member, 0, exists_yes); +} + +void +HF_IdlTypeText::Produce_LocalLinkInDocu( const String & i_member ) const +{ + static StringVector aModule_; + String sName; + csv::erase_container(aModule_); + + csv_assert(referingCe() != 0); + if ( referingModule() == Env().Linker().Search_CurModule() ) + { + CurOut() + >> *new Html::Link( StreamLock(200)() + << referingCe()->LocalName() + << ".html#" + << i_member + << c_str ) + << i_member; + return; + } + + String sDummyMember; + Env().Data().Get_CeText(aModule_, sName, sDummyMember, *referingCe()); + produce_FromStd(aModule_, sName, i_member, 0, exists_yes); +} + +void +HF_IdlTypeText::Produce_IndexLink( Xml::Element & o_out, + const client & i_ce ) const +{ + static StringVector aModule_; + String sCe; + String sMember; + csv::erase_container(aModule_); + + Out().Enter(o_out); + + Env().Data().Get_CeText(aModule_, sCe, sMember, i_ce); + produce_IndexLink(aModule_, sCe, sMember, false); + + Out().Leave(); +} + +void +HF_IdlTypeText::Produce_IndexOwnerLink( Xml::Element & o_out, + const client & i_ce ) const +{ + static StringVector aModule_; + String sCe; + String sMember; + csv::erase_container(aModule_); + + Out().Enter(o_out); + + if (i_ce.Owner().IsValid()) + { + Env().Data().Get_CeText(aModule_, sCe, sMember, i_ce); + produce_IndexLink(aModule_, sCe, sMember, true); + } + else + { // global namespace: + + CurOut() + << "." + >> *new Html::Link("../module-ix.html") + << "global namespace"; + } + + + Out().Leave(); +} + +void +HF_IdlTypeText::produce_FromStd( const StringVector & i_module, + const String & i_ce, + const String & i_member, + int i_sequenceCount, + E_Existence i_ceExists ) const +{ + output::Node & + rCeNode = Env().OutputTree().Provide_Node(i_module); + output::Position + aDestination(rCeNode); + bool + bShowModule = rCeNode != Env().CurPosition().RelatedNode() + ? i_module.size() > 0 + : false; + bool + bUseMember = NOT i_member.empty(); + bool + bLink2Module = i_ceExists == exists_yes; + bool + bLink2Ce = i_ceExists == exists_yes; + bool + bLink2Member = NOT Env().Is_MemberExistenceCheckRequired() + AND i_ceExists == exists_yes; + bool + bHasCeOrName = NOT i_ce.empty(); + + if (i_sequenceCount > 0) + start_Sequence(i_sequenceCount); + + StreamLock aLink(300); + StreamStr & rLink = aLink(); + + // Produce output: module + if (bShowModule) + { + int nMax = i_module.size() - 1; + int nCount = 0; + StringVector::const_iterator + itm = i_module.begin(); + for ( ; + nCount < nMax; + ++itm, ++nCount ) + { + CurOut() << "::" << *itm; + } + + CurOut() << "::"; + if (bLink2Module) + { + aDestination.Set_File(output::ModuleFileName()); + Env().Linker().Get_Link2Position(rLink, aDestination); + CurOut() + >> *new Html::Link( rLink.c_str() ) + << *itm; + rLink.reset(); + } + else + { + CurOut() << *itm; + } + + if (bHasCeOrName) + CurOut() << "::"; + } // end if (bShowModule) + + // CodeEntity and member: + aDestination.Set_File( rLink << i_ce << ".html" << c_str ); + rLink.reset(); + + if (bHasCeOrName) + { + if (bUseMember) + { + if (bLink2Member) + { + bool bFunction = strstr(i_member,"()") != 0; + String sMember( i_member ); + if (bFunction) + sMember.assign(i_member.c_str(), sMember.length()-2); + + Env().Linker().Get_Link2Member(rLink, aDestination, sMember); + CurOut() + << i_ce << "::" + >> *new Html::Link(rLink.c_str()) + << i_member; + } + else + { + CurOut() + << i_ce << "::" + << i_member; + } + } + else + { + if (bLink2Ce) + { + Env().Linker().Get_Link2Position(rLink, aDestination); + CurOut() + >> *new Html::Link(rLink.c_str()) + << i_ce; + } + else + { + CurOut() << i_ce; + } + } + } // endif (bHasCeOrName) + + if (i_sequenceCount > 0) + finish_Sequence(i_sequenceCount); +} + +void +HF_IdlTypeText::produce_BuiltIn( const String & i_type, + int i_sequenceCount ) const +{ + if (i_sequenceCount > 0) + start_Sequence(i_sequenceCount); + CurOut() << i_type; + if (i_sequenceCount > 0) + finish_Sequence(i_sequenceCount); +} + +void +HF_IdlTypeText::produce_IndexLink( const StringVector & i_module, + const String & i_ce, + const String & i_member, + bool i_bIsOwner ) const +{ + output::Node & + rCeNode = Env().OutputTree().Provide_Node(i_module); + output::Position + aDestination(rCeNode); + bool + bShowModule = i_bIsOwner OR i_module.size() > 0 AND i_ce.empty(); + bool + bShowNonModule = NOT bShowModule OR i_bIsOwner AND NOT i_ce.empty(); + bool + bUseMember = NOT i_member.empty(); + + StreamLock aLink(300); + StreamStr & rLink = aLink(); + + // Produce output: module + if (bShowModule) + { + if (i_bIsOwner) + { + int nMax = bShowNonModule ? i_module.size() : i_module.size() - 1; + int nCount = 0; + for ( StringVector::const_iterator itm = i_module.begin(); + nCount < nMax; + ++itm, ++nCount ) + { + CurOut() << "::" << *itm; + } + CurOut() << ":: ."; + } + + if (NOT bShowNonModule) + { + aDestination.Set_File(output::ModuleFileName()); + Env().Linker().Get_Link2Position(rLink, aDestination); + CurOut() + >> *new Html::Link( rLink.c_str() ) + >> *new Html::Bold + << i_module.back(); + rLink.reset(); + } + } // end if (bShowModule) + + if (bShowNonModule) + { + aDestination.Set_File( rLink << i_ce << ".html" << c_str ); + rLink.reset(); + + if (bUseMember) + { + bool bFunction = strstr(i_member,"()") != 0; + String sMember( i_member ); + if (bFunction) + sMember.assign(i_member.c_str(), sMember.length()-2); + Env().Linker().Get_Link2Member(rLink, aDestination, sMember); + CurOut() + >> *new Html::Link(rLink.c_str()) + >> *new Html::Bold + << i_member; + } + else + { + Env().Linker().Get_Link2Position(rLink, aDestination); + if (i_bIsOwner) + { + CurOut() + >> *new Html::Link(rLink.c_str()) + << i_ce; + } + else + { + CurOut() + >> *new Html::Link(rLink.c_str()) + >> *new Html::Bold + << i_ce; + } + } + } // endif (bHasCeOrName) +} + +int +HF_IdlTypeText::count_Sequences( const char * i_sFullType ) const +{ + int ret = 0; + + for ( const char * pCount = i_sFullType; + *pCount != 0; + ) + { + pCount = strstr(pCount,"sequence"); + if (pCount != 0) + { + pCount += sizeof("sequence"); // = strlen(sequence) + 1 for '<'. + if ( *(pCount-1) == '\0' ) + { + // SYNTAX_ERR + return 0; + } + ++ret; + } + } // end for + + return ret; +} + +void +HF_IdlTypeText::start_Sequence( int i_count ) const +{ + csv_assert( i_count > 0 ); + for (int i = 0; i < i_count; ++i ) + { + CurOut() << "sequence< "; + } +} + +void +HF_IdlTypeText::finish_Sequence( int i_count ) const +{ + csv_assert( i_count > 0 ); + for (int i = 0; i < i_count; ++i ) + { + CurOut() << " >"; + } +} + + + + diff --git a/autodoc/source/display/idl/hfi_typetext.hxx b/autodoc/source/display/idl/hfi_typetext.hxx new file mode 100644 index 000000000000..1b2158de9577 --- /dev/null +++ b/autodoc/source/display/idl/hfi_typetext.hxx @@ -0,0 +1,156 @@ +/************************************************************************* + * + * $RCSfile: hfi_typetext.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:49 $ + * + * 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_DISPLAY_HFI_TYPETEXT_HXX +#define ADC_DISPLAY_HFI_TYPETEXT_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_IdlTypeText : public HtmlFactory_Idl +{ + public: + enum E_Index { use_for_javacompatible_index }; + + HF_IdlTypeText( + Environment & io_rEnv, + Xml::Element & o_rOut, + bool i_bWithLink, + const client * i_pScopeGivingCe = 0 ); + HF_IdlTypeText( + Environment & io_rEnv, + E_Index e ); + virtual ~HF_IdlTypeText(); + + void Produce_byData( + ary::idl::Type_id i_idType ) const; + void Produce_byData( + ary::idl::Ce_id i_idCe ) const; + void Produce_byData( + const String & i_sFullName ) const; + void Produce_LinkInDocu( + const String & i_scope, + const String & i_name, + const String & i_member ) const; + void Produce_LocalLinkInDocu( + const String & i_member ) const; + void Produce_IndexLink( + Xml::Element & o_out, + const client & i_ce ) const; + void Produce_IndexOwnerLink( + Xml::Element & o_out, + const client & i_ce ) const; + private: + // Locals + enum E_Existence + { + exists_dontknow, + exists_yes, + exists_no + }; + + void produce_FromStd( + const StringVector & + i_module, + const String & i_ce, + const String & i_member, + int i_sequenceCount, + E_Existence i_ceExists ) const; + void produce_BuiltIn( + const String & i_type, + int i_sequenceCount ) const; + void produce_IndexLink( + const StringVector & + i_module, + const String & i_ce, + const String & i_member, + bool i_bIsOwner ) const; + int count_Sequences( + const char * i_sFullType ) const; + void start_Sequence( + int i_count ) const; + void finish_Sequence( + int i_count ) const; + const ary::idl::Module * + referingModule() const; + const client * referingCe() const; + + // DATA + mutable const client * + pReferingCe; + bool bWithLink; +}; + + + +// IMPLEMENTATION + + + +#endif + + diff --git a/autodoc/source/display/idl/hfi_xrefpage.cxx b/autodoc/source/display/idl/hfi_xrefpage.cxx new file mode 100644 index 000000000000..1a294f6b03e7 --- /dev/null +++ b/autodoc/source/display/idl/hfi_xrefpage.cxx @@ -0,0 +1,221 @@ +/************************************************************************* + * + * $RCSfile: hfi_xrefpage.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:49 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hfi_xrefpage.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_navibar.hxx" +#include "hfi_typetext.hxx" +#include "hi_env.hxx" + + +namespace +{ + +const String + C_sTitleStart("uses of "); +const String + C_sCRLF("\n"); + +} // anonymous namespace + + + +HF_IdlXrefs::HF_IdlXrefs( Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_prefix, + const client & i_ce ) + : HtmlFactory_Idl(io_rEnv, &o_rOut), + rContentDirectory(*new Html::Paragraph), + pClient(&i_ce) +{ + produce_Main(i_prefix, i_ce); +} + +HF_IdlXrefs::~HF_IdlXrefs() +{ +} + +void +HF_IdlXrefs::Write_ManualLinks( const client & i_ce ) const +{ + const StringVector & + rLinks2Refs = i_ce.Secondaries().Links2RefsInManual(); + if ( rLinks2Refs.size() == 0 ) + { + rContentDirectory + << "References in Developer Manual" + << new Html::LineBreak + << C_sCRLF; + return; + } + + + rContentDirectory + >> *new Html::Link("#devmanrefs") + << "References in Developer Manual" + << new Html::LineBreak + << C_sCRLF; + + HF_SubTitleTable + aList(CurOut(), "devmanrefs", "References in Developer Manual", 1); + Xml::Element & + rOutCell = aList.Add_Row() >>* new Html::TableCell; + + for ( StringVector::const_iterator it = rLinks2Refs.begin(); + it != rLinks2Refs.end(); + ++it ) + { + rOutCell + >> *new Html::Link( Env().Link2Manual(*it)) + << *it; + rOutCell + << new Html::LineBreak + << C_sCRLF; + } // end for + + CurOut() << new Html::HorizontalLine(); + +} + +void +HF_IdlXrefs::Produce_List( const char * i_title, + const char * i_label, + ce_list & i_iterator ) const +{ + if (NOT i_iterator) + { + rContentDirectory + << i_title + << new Html::LineBreak + << C_sCRLF; + return; + } + + csv_assert(*i_label == '#'); + + rContentDirectory + >> *new Html::Link(i_label) + << i_title + << new Html::LineBreak + << C_sCRLF; + + HF_SubTitleTable + aList(CurOut(), i_label+1, i_title, 1); + Xml::Element & + rOutCell = aList.Add_Row() >>* new Html::TableCell; + HF_IdlTypeText + aTypeWriter(Env(), rOutCell, true, pClient); + for ( ce_list & it = i_iterator; it; ++it ) + { + aTypeWriter.Produce_byData(*it); + rOutCell << new Html::LineBreak; + } // end for + CurOut() << new Html::HorizontalLine(); +} + +void +HF_IdlXrefs::produce_Main( const String & i_prefix, + const client & i_ce ) const +{ + make_Navibar(i_ce); + + HF_TitleTable + aTitle(CurOut()); + aTitle.Produce_Title( StreamLock(200)() + << C_sTitleStart + << i_prefix + << " " + << i_ce.LocalName() + << c_str ); + + aTitle.Add_Row() << &rContentDirectory; + rContentDirectory + >> *new Html::Link( StreamLock(200)() + << i_ce.LocalName() + << ".html" + << c_str ) + >> *new Html::Bold + << "back to " + << i_prefix + << " " + << i_ce.LocalName(); + rContentDirectory + << new Html::LineBreak + << new Html::LineBreak + << C_sCRLF; + + CurOut() << new Html::HorizontalLine(); +} + +void +HF_IdlXrefs::make_Navibar( const client & i_ce ) const +{ + HF_IdlNavigationBar + aNaviBar(Env(), CurOut()); + aNaviBar.Produce_CeXrefsMainRow(i_ce); + CurOut() << new Html::HorizontalLine(); +} diff --git a/autodoc/source/display/idl/hfi_xrefpage.hxx b/autodoc/source/display/idl/hfi_xrefpage.hxx new file mode 100644 index 000000000000..407141ca3380 --- /dev/null +++ b/autodoc/source/display/idl/hfi_xrefpage.hxx @@ -0,0 +1,117 @@ +/************************************************************************* + * + * $RCSfile: hfi_xrefpage.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:50 $ + * + * 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_DISPLAY_HFI_XREFPAGE_HXX +#define ADC_DISPLAY_HFI_XREFPAGE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "hi_factory.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_IdlXrefs : public HtmlFactory_Idl +{ + public: + + HF_IdlXrefs( + Environment & io_rEnv, + Xml::Element & o_rOut, + const String & i_prefix, + const client & i_ce); + virtual ~HF_IdlXrefs(); + + /** @descr + Only lists which are tried to be produced by this, will occur + in the content directory of the page. They will have links, + if the list has at least one element, else the list is + mentioned in the directory without link and won't appear as + a list below. + + @param i_label [*i_label == '#'] + */ + void Produce_List( + const char * i_title, + const char * i_label, + ce_list & i_iterator ) const; + void Write_ManualLinks( + const client & i_ce ) const; + + private: + // Locals + void produce_Main( + const String & i_prefix, + const client & i_ce ) const; + void make_Navibar( + const client & i_ce ) const; + // DATA + Xml::Element & rContentDirectory; + const client * pClient; +}; + + + +// IMPLEMENTATION + +#endif diff --git a/autodoc/source/display/idl/hi_ary.cxx b/autodoc/source/display/idl/hi_ary.cxx new file mode 100644 index 000000000000..8852ffa3045e --- /dev/null +++ b/autodoc/source/display/idl/hi_ary.cxx @@ -0,0 +1,324 @@ +/************************************************************************* + * + * $RCSfile: hi_ary.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:51 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hi_ary.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <cosv/ploc_dir.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_type.hxx> +#include <ary/idl/ip_ce.hxx> +#include <ary/idl/ip_type.hxx> + + +inline const ary::idl::Gate & +AryAccess::gate() const + { return rGate; } + +inline const ary::idl::CePilot & +AryAccess::ces() const + { return rGate.Ces(); } + +inline const ary::idl::TypePilot & +AryAccess::types() const + { return rGate.Types(); } + +inline const ary::idl::Module * +AryAccess::find_SubModule( const ary::idl::Module & i_parent, + const String & i_name ) const +{ + ary::idl::Ce_id + nModule = i_parent.Search_Name(i_name); + return ces().Search_Module(nModule); +} + +bool +AryAccess::nextName( const char * & io_TextPtr, + String & o_name ) const +{ + if ( strncmp(io_TextPtr,"::", 2) == 0 ) + io_TextPtr += 2; + + const char * pEnd = strchr(io_TextPtr,':'); + size_t nLen = pEnd == 0 + ? strlen(io_TextPtr) + : pEnd - io_TextPtr; + o_name.assign(io_TextPtr, nLen); + io_TextPtr += nLen; + return nLen > 0; +} + + + +AryAccess::AryAccess( const ary::idl::Gate & i_rGate ) + : rGate(i_rGate) +{ +} + +const ary::idl::Module & +AryAccess::GlobalNamespace() const +{ + return ces().GlobalNamespace(); +} + +const ary::idl::Module & +AryAccess::Find_Module( ary::idl::Ce_id i_ce ) const +{ + return ces().Find_Module(i_ce); +} + + +const ary::idl::CodeEntity & +AryAccess::Find_Ce( ary::idl::Ce_id i_ce ) const +{ + return ces().Find_Ce(i_ce); +} + +const ary::idl::Type & +AryAccess::Find_Type( ary::idl::Type_id i_type ) const +{ + return types().Find_Type(i_type); +} + +ary::idl::Ce_id +AryAccess::CeFromType( ary::idl::Type_id i_type ) const +{ + return types().Search_CeRelatedTo(i_type); +} + +bool +AryAccess::IsBuiltInOrRelated( const ary::idl::Type & i_type ) const +{ + return types().IsBuiltInOrRelated(i_type); +} + +bool +AryAccess::Search_Ce( StringVector & o_module, + String & o_mainEntity, + String & o_memberEntity, + const char * i_sText, + const ary::idl::Module & i_referingScope ) const +{ + o_module.erase(o_module.begin(),o_module.end()); + o_mainEntity = String::Null_(); + o_memberEntity = String::Null_(); + + const ary::idl::Module * pModule = 0; + + if ( strncmp(i_sText, "::", 2) == 0 + OR strncmp(i_sText, "com::sun::star", 14) == 0 ) + pModule = &GlobalNamespace(); + else + { + pModule = &i_referingScope; + ces().Get_Text(o_module, o_mainEntity, o_memberEntity, *pModule); + } + + const char * pNext = i_sText; + String sNextName; + + // Find Module: + while ( nextName(pNext, sNextName) ) + { + const ary::idl::Module * + pSub = find_SubModule(*pModule, sNextName); + if (pSub != 0) + { + pModule = pSub; + o_module.push_back(sNextName); + } + else + break; + } + + // Find main CodeEntity: + if ( sNextName.length() == 0 ) + return true; + ary::idl::Ce_id nCe = pModule->Search_Name(sNextName); + if (NOT nCe.IsValid()) + return false; + o_mainEntity = sNextName; + + // Find member: + if ( *pNext == 0 ) + return true; + if (strchr(pNext,':') != 0) + return false; // This must not happen in IDL + + int nMemberLen = strlen(pNext); + if ( nMemberLen > 2 + ? *(pNext + nMemberLen - 2) == '(' + : false ) + { + nMemberLen -= 2; + } + o_memberEntity.assign(pNext,nMemberLen); + +#if 0 +// The following code avoids false links, but is rather expensive +// in runtime time consumation. + + const ary::idl::CodeEntity * + pCe = Find_Ce(nCe); + if (pCe == 0) + return false; + + if ( NOT ary::idl::ifc_ce::attr::Search_Member(*pCe,o_memberEntity) ) + return false; +#endif + + return true; +} + +bool +AryAccess::Search_CesModule( StringVector & o_module, + const String & i_scope, + const String & i_ce, + const ary::idl::Module & i_referingScope ) const +{ + o_module.erase(o_module.begin(),o_module.end()); + + const ary::idl::Module * + pModule = 0; + + if ( strncmp(i_scope, "::", 2) == 0 + OR strncmp(i_scope, "com::sun::star", 14) == 0 ) + pModule = &GlobalNamespace(); + else + { + pModule = &i_referingScope; + static String Dummy1; + static String Dummy2; + ces().Get_Text(o_module, Dummy1, Dummy2, *pModule); + } + + const char * pNext = i_scope; + String sNextName; + + // Find Module: + while ( nextName(pNext, sNextName) ) + { + const ary::idl::Module * + pSub = find_SubModule(*pModule, sNextName); + if (pSub != 0) + { + pModule = pSub; + o_module.push_back(sNextName); + } + else + return false; + } // end while + return pModule->Search_Name(i_ce).IsValid(); +} + +const ary::idl::Module * +AryAccess::Search_Module( const StringVector & i_nameChain ) const +{ + const ary::idl::Module * ret = + &GlobalNamespace(); + for ( StringVector::const_iterator it = i_nameChain.begin(); + it != i_nameChain.end(); + ++it ) + { + ret = find_SubModule(*ret, *it); + if (ret == 0) + break; + } // end for + return ret; +} + +void +AryAccess::Get_CeText( StringVector & o_module, + String & o_ce, + String & o_member, + const ary::idl::CodeEntity & i_ce ) const +{ + ces().Get_Text(o_module, o_ce, o_member, i_ce); +} + +void +AryAccess::Get_TypeText( StringVector & o_module, + String & o_sCe, + ary::idl::Ce_id & o_nCe, + int & o_sequenceCount, + const ary::idl::Type & i_type ) const +{ + i_type.Get_Text(o_module, o_sCe, o_nCe, o_sequenceCount, gate()); +} + +void +AryAccess::Get_IndexData( std::vector<ary::idl::Ce_id> & o_data, + ary::idl::alphabetical_index::E_Letter i_letter ) const +{ + rGate.Secondaries().Get_AlphabeticalIndex(o_data, i_letter); +} + + +const ary::idl::CePilot & +AryAccess::Ces() const +{ + return rGate.Ces(); +} diff --git a/autodoc/source/display/idl/hi_ary.hxx b/autodoc/source/display/idl/hi_ary.hxx new file mode 100644 index 000000000000..b3fba820767a --- /dev/null +++ b/autodoc/source/display/idl/hi_ary.hxx @@ -0,0 +1,179 @@ +/************************************************************************* + * + * $RCSfile: hi_ary.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:51 $ + * + * 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_DISPLAY_HI_ARY_HXX +#define ADC_DISPLAY_HI_ARY_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <ary/idl/i_language.hxx> + // PARAMETERS +#include <ary/idl/ip_2s.hxx> + + +namespace ary +{ +namespace idl +{ + class Module; + class Gate; + class CePilot; + class TypePilot; +} +} +namespace output +{ + class Position; +} + +class AryAccess +{ + public: + // LIFECYCLE + AryAccess( + const ary::idl::Gate & + i_rGate ); + // INQUIRY + const ary::idl::Module & + GlobalNamespace() const; + const ary::idl::Module & + Find_Module( + ary::idl::Ce_id i_ce ) const; + const ary::idl::CodeEntity & + Find_Ce( + ary::idl::Ce_id i_ce ) const; + const ary::idl::Type & + Find_Type( + ary::idl::Type_id i_type ) const; + ary::idl::Ce_id CeFromType( + ary::idl::Type_id i_type ) const; + bool IsBuiltInOrRelated( + const ary::idl::Type & + i_type ) const; + bool Search_Ce( + StringVector & o_module, + String & o_mainEntity, + String & o_memberEntity, + const char * i_sText, + const ary::idl::Module & + i_referingScope ) const; + bool Search_CesModule( + StringVector & o_module, + const String & i_scope, + const String & i_ce, + const ary::idl::Module & + i_referingScope ) const; + const ary::idl::Module * + Search_Module( + const StringVector & + i_nameChain ) const; + + void Get_CeText( + StringVector & o_module, + String & o_ce, + String & o_member, + const ary::idl::CodeEntity & + i_ce ) const; + void Get_TypeText( + StringVector & o_module, + String & o_sCe, + ary::idl::Ce_id & o_nCe, + int & o_sequenceCount, + const ary::idl::Type & + i_type ) const; + void Get_IndexData( + std::vector<ary::idl::Ce_id> & + o_data, + ary::idl::alphabetical_index::E_Letter + i_letter ) const; + + const ary::idl::CePilot & + Ces() const; // KORR + private: + const ary::idl::Module * + find_SubModule( + const ary::idl::Module & + i_parent, + const String & i_name ) const; + + /// Gets "::"-separated names out of a string. + bool nextName( + const char * & io_TextPtr, + String & o_name ) const; + + + const ary::idl::Gate & + gate() const; + const ary::idl::CePilot & + ces() const; + const ary::idl::TypePilot & + types() const; + // DATA + const ary::idl::Gate & + rGate; +}; + + +#endif + + diff --git a/autodoc/source/display/idl/hi_display.cxx b/autodoc/source/display/idl/hi_display.cxx new file mode 100644 index 000000000000..ac5a510e43cd --- /dev/null +++ b/autodoc/source/display/idl/hi_display.cxx @@ -0,0 +1,208 @@ +/************************************************************************* + * + * $RCSfile: hi_display.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:52 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <idl/hi_display.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_module.hxx> +#include <toolkit/out_tree.hxx> +#include "hi_ary.hxx" +#include "hi_env.hxx" +#include "hi_main.hxx" + + +inline bool +HtmlDisplay_Idl::IsModule( const ary::idl::CodeEntity & i_ce ) const +{ + return i_ce.ClassId() == ary::idl::Module::class_id; +} + +inline const ary::idl::Module & +HtmlDisplay_Idl::Module_Cast( const ary::idl::CodeEntity & i_ce ) const +{ + return static_cast< const ary::idl::Module& >(i_ce); +} + + + + +HtmlDisplay_Idl::HtmlDisplay_Idl() + : pCurPageEnv(), + pMainDisplay() +{ +} + +HtmlDisplay_Idl::~HtmlDisplay_Idl() +{ +} + +void +HtmlDisplay_Idl::do_Run( const char * i_sOutputDirectory, + const ary::idl::Gate & i_rAryGate, + const display::CorporateFrame & i_rLayout ) +{ + SetRunData( i_sOutputDirectory, i_rAryGate, i_rLayout ); + + Create_StartFile(); + Create_FilesInNameTree(); + Create_IndexFiles(); + Create_FilesInProjectTree(); + Create_PackageList(); + Create_HelpFile(); +} + +void +HtmlDisplay_Idl::SetRunData( const char * i_sOutputDirectory, + const ary::idl::Gate & i_rAryGate, + const display::CorporateFrame & i_rLayout ) +{ + csv::ploc::Path aOutputDir( i_sOutputDirectory, true ); + pCurPageEnv = new HtmlEnvironment_Idl( aOutputDir, i_rAryGate, i_rLayout ); + pMainDisplay = new MainDisplay_Idl(*pCurPageEnv); +} + +void +HtmlDisplay_Idl::Create_StartFile() +{ +} + +void +HtmlDisplay_Idl::Create_FilesInNameTree() +{ + Cout() << "\nCreate files in subtree namespaces ..." << Endl(); + + const ary::idl::Module & + rGlobalNamespace = pCurPageEnv->Data().GlobalNamespace(); + pCurPageEnv->Goto_Directory( pCurPageEnv->OutputTree().NamesRoot(), true ); + + RecursiveDisplay_Module(rGlobalNamespace); + + Cout() << "... done." << Endl(); +} + +void +HtmlDisplay_Idl::Create_IndexFiles() +{ + Cout() << "\nCreate files in subtree index ..." << Endl(); + pCurPageEnv->Goto_Directory( pCurPageEnv->OutputTree().IndexRoot(), true ); + pMainDisplay->WriteGlobalIndices(); + Cout() << "... done.\n" << Endl(); +} + +typedef ary::Dyn_StdConstIterator<ary::idl::Ce_id> Dyn_CeIterator; +typedef ary::StdConstIterator<ary::idl::Ce_id> CeIterator; + +void +HtmlDisplay_Idl::RecursiveDisplay_Module( const ary::idl::Module & i_module ) +{ + i_module.Visit(*pMainDisplay); + + Dyn_CeIterator aMembers; + i_module.Get_Names(aMembers); + + for ( CeIterator & iter = *aMembers; + iter; + ++iter ) + { + const ary::idl::CodeEntity & + rCe = pCurPageEnv->Data().Find_Ce(*iter); + + if ( NOT IsModule(rCe) ) + rCe.Visit(*pMainDisplay); + else + { + pCurPageEnv->Goto_DirectoryLevelDown( rCe.LocalName(), true ); + RecursiveDisplay_Module( Module_Cast(rCe) ); + pCurPageEnv->Goto_DirectoryLevelUp(); + } + } // end for +} + +void +HtmlDisplay_Idl::Create_FilesInProjectTree() +{ +} + +void +HtmlDisplay_Idl::Create_PackageList() +{ +#if 0 + Cout() << "\nCreate package list ..." << std::flush; + + pCurPageEnv->CurPosition() = pCurPageEnv->OutputTree().Root(); + + // KORR + // ... + + Cout() << " done." << Endl(); +#endif // 0 +} + +void +HtmlDisplay_Idl::Create_HelpFile() +{ +} + + diff --git a/autodoc/source/display/idl/hi_env.cxx b/autodoc/source/display/idl/hi_env.cxx new file mode 100644 index 000000000000..2987421c9344 --- /dev/null +++ b/autodoc/source/display/idl/hi_env.cxx @@ -0,0 +1,182 @@ +/************************************************************************* + * + * $RCSfile: hi_env.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:52 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hi_env.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <cosv/ploc_dir.hxx> +#include <cfrstd.hxx> +#include <toolkit/out_tree.hxx> +#include "hi_ary.hxx" +#include "hi_linkhelper.hxx" + + + +const String C_s_index_files("index-files"); + +const String C_sUseFileSuffix("-use.html"); +const String C_IndexA_FileName("index-1.html"); + + +HtmlEnvironment_Idl::HtmlEnvironment_Idl( const csv::ploc::Path & i_rOutputDir, + const ary::idl::Gate & i_rGate, + const display::CorporateFrame & i_rLayout ) + : aOutputRoot(i_rOutputDir), + pData(new AryAccess(i_rGate)), + pOutputTree(new output::Tree), + aCurPosition(pOutputTree->Root()), + pLayout(&i_rLayout), + pLinker() +{ + StringVector aHelp; + pOutputTree->Set_NamesRoot(aHelp); + + aHelp.push_back(output::IndexFilesDirName()); + pOutputTree->Set_IndexRoot(aHelp); + + (*aHelp.begin()) = String("com"); + aHelp.push_back(String("sun")); + aHelp.push_back(String("star")); + pOutputTree->Set_Overview(aHelp, output::ModuleFileName() ); + + pLinker = new LinkHelper(*this); +} + +HtmlEnvironment_Idl::~HtmlEnvironment_Idl() +{ +} + +namespace +{ +StringVector G_aChain; +} + +void +HtmlEnvironment_Idl::Goto_Directory( output::Position i_pos, + bool i_bCreateDirectoryIfNecessary ) +{ + aCurPosition = i_pos; + aCurPath = aOutputRoot.MyPath(); + + aCurPosition.Get_Chain(G_aChain); + for ( StringVector::const_iterator it = G_aChain.begin(); + it != G_aChain.end(); + ++it ) + { + aCurPath.DirChain() += *it; + } + + if (i_bCreateDirectoryIfNecessary) + create_Directory(aCurPath); +} + +void +HtmlEnvironment_Idl::Goto_DirectoryLevelDown( const String & i_subDirName, + bool i_bCreateDirectoryIfNecessary ) +{ + aCurPosition +=(i_subDirName); + + aCurPath.SetFile(String::Null_()); + aCurPath.DirChain() += i_subDirName; + + if (i_bCreateDirectoryIfNecessary) + create_Directory(aCurPath); +} + +void +HtmlEnvironment_Idl::Goto_DirectoryLevelUp() +{ + aCurPosition -= 1; + + aCurPath.SetFile(String::Null_()); + aCurPath.DirChain() -= 1; +} + +void +HtmlEnvironment_Idl::Set_CurFile( const String & i_fileName ) +{ + aCurPath.SetFile(i_fileName); +} + +void +HtmlEnvironment_Idl::create_Directory( const csv::ploc::Path & i_path ) + +{ + csv::ploc::Directory aCurDir(i_path); + if (NOT aCurDir.Exists()) + aCurDir.PhysicalCreate(); +} + +const char * +HtmlEnvironment_Idl::Link2Manual( const String & i_link ) const +{ + static StreamStr aLink_(200); + aLink_.reset(); + aCurPosition.Get_LinkToRoot(aLink_); + aLink_ << "../devman/" + << i_link; + return aLink_.c_str(); +} + + diff --git a/autodoc/source/display/idl/hi_env.hxx b/autodoc/source/display/idl/hi_env.hxx new file mode 100644 index 000000000000..aac333cfe2b4 --- /dev/null +++ b/autodoc/source/display/idl/hi_env.hxx @@ -0,0 +1,179 @@ +/************************************************************************* + * + * $RCSfile: hi_env.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:54 $ + * + * 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_DISPLAY_HI_ENV_HXX +#define ADC_DISPLAY_HI_ENV_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <cosv/ploc.hxx> +#include <cosv/ploc_dir.hxx> + // PARAMETERS +#include <toolkit/out_position.hxx> + +namespace ary +{ +namespace idl +{ + class Gate; +} +} +namespace display +{ + class CorporateFrame; +} +namespace output +{ + class Tree; +} + +class AryAccess; +class LinkHelper; + +/** @resp + Provides enviroment information to the HTML factory + classes. + + @descr + All information that is not included in the data, especially + about the layout of the output tree and the access to + information from the repository are provided here. + + @see HtmlFactory +*/ +class HtmlEnvironment_Idl +{ + public: + // LIFECYCLE + HtmlEnvironment_Idl( + const csv::ploc::Path & + io_rOutputDir, + const ary::idl::Gate & + i_rGate, + const display::CorporateFrame & + i_rLayout ); + ~HtmlEnvironment_Idl(); + + // OPERATIONS + void Goto_Directory( + output::Position i_pos, + bool i_bCreateDirectoryIfNecessary ); + void Goto_DirectoryLevelDown( + const String & i_subDirName, + bool i_bCreateDirectoryIfNecessary ); + void Goto_DirectoryLevelUp(); + void Set_CurFile( + const String & i_fileName ); + + // INQUIRY + const AryAccess & Data() const { return *pData; } + const char * Link2Manual( + const String & i_link ) const; + + /// This may be reimplemented for removing dead links to members. + bool Is_MemberExistenceCheckRequired() const + { return false; } + + /// @return Holds only the current directory, not the current file. + output::Position & CurPosition() const { return aCurPosition; } + void Get_CurFilePath( + StreamStr & o_buffer ) const + { o_buffer << aCurPath; } + + const display::CorporateFrame & + Layout() const { return *pLayout; } + const LinkHelper & Linker() const { return *pLinker; } + + void Get_LinkTo( + StreamStr & o_result, + output::Position i_destination ) + { CurPosition().Get_LinkTo(o_result, i_destination); } + // ACCESS + output::Tree & OutputTree() { return *pOutputTree; } + + private: + // Local + void create_Directory( + const csv::ploc::Path & + i_path ); + + // DATA + csv::ploc::Directory + aOutputRoot; + csv::ploc::Path aCurPath; + + Dyn<AryAccess> pData; + Dyn<output::Tree> pOutputTree; + mutable output::Position + aCurPosition; + + const display::CorporateFrame * + pLayout; + + Dyn<LinkHelper> pLinker; +}; + + +#endif + + diff --git a/autodoc/source/display/idl/hi_factory.cxx b/autodoc/source/display/idl/hi_factory.cxx new file mode 100644 index 000000000000..ed9343b43e0f --- /dev/null +++ b/autodoc/source/display/idl/hi_factory.cxx @@ -0,0 +1,299 @@ +/************************************************************************* + * + * $RCSfile: hi_factory.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:55 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hi_factory.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_ce.hxx> +#include <toolkit/hf_title.hxx> +#include "hfi_doc.hxx" +#include "hfi_navibar.hxx" +#include "hfi_tag.hxx" +#include "hfi_typetext.hxx" +#include "hi_linkhelper.hxx" + + +extern const String + C_sCellStyle_SummaryLeft("imsum_left"); +extern const String + C_sCellStyle_SummaryRight("imsum_right"); +extern const String + C_sCellStyle_MDetail("imdetail"); +extern const String + C_sMemberTitle("membertitle"); + + +namespace +{ + +const char C_sSpace[92] = " " + " " + " "; +} + + + +void +HtmlFactory_Idl::produce_InternalLink( Xml::Element & o_screen, + const client & i_ce ) const +{ + StreamLock aLocalLink(100); + aLocalLink() << "#" << i_ce.LocalName(); + + o_screen + >> *new Html::TableCell + << new Html::ClassAttr( C_sCellStyle_SummaryLeft ) + >> *new Html::Link( aLocalLink().c_str() ) + << i_ce.LocalName(); +} + +void +HtmlFactory_Idl::produce_ShortDoc( Xml::Element & o_screen, + const client & i_ce ) const +{ + Xml::Element & + rDetailsRowCell = o_screen + >> *new Html::TableCell + << new Html::ClassAttr( C_sCellStyle_SummaryRight ); + HF_IdlShortDocu + aLinkDoc(Env(), rDetailsRowCell); + aLinkDoc.Produce_byData( i_ce ); +} + +void +HtmlFactory_Idl::produce_Bases( Xml::Element & o_screen, + const client & i_ce, + const String & i_sLabel ) const +{ + ary::idl::Type_id nBaseT = baseOf(i_ce); + // ary::idl::ifc_interface::attr::Base(i_ce); + if ( nBaseT.IsValid() ) + { + HF_DocEntryList + aDocList( o_screen ); + aDocList.Produce_Term(i_sLabel); + + int nDepth = 0; + Xml::Element & + rBaseList = aDocList.Produce_Definition() + >> *new Xml::AnElement("pre") + << new Xml::AnAttribute("style","font-family:monospace;"); + recursive_ShowBases( rBaseList, + nBaseT, + nDepth ); + csv_assert(nDepth > 0); + if (nDepth > 30) + nDepth = 30; + rBaseList + << (C_sSpace + 93 - 3*nDepth) + << "|\n" + << (C_sSpace + 93 - 3*nDepth) + << "+-" + >> *new Html::Bold + << i_ce.LocalName(); + } +} + +void +HtmlFactory_Idl::produce_Members( ce_list & it_list, + const String & i_summaryTitle, + const String & i_summaryLabel, + const String & i_detailsTitle, + const String & i_detailsLabel ) const +{ + csv_assert( it_list ); + + HF_SubTitleTable + aSummary( CurOut(), + i_summaryLabel, + i_summaryTitle, + 2 ); + + HF_SubTitleTable + aDetails( CurOut(), + i_detailsLabel, + i_detailsTitle, + 1 ); + + for ( ; it_list; ++it_list ) + { + const ary::idl::CodeEntity & + rCe = Env().Data().Find_Ce(*it_list); + + Xml::Element & + rSummaryRow = aSummary.Add_Row(); + produce_InternalLink(rSummaryRow, rCe); + produce_ShortDoc(rSummaryRow, rCe); + + produce_MemberDetails(aDetails, rCe); + } +} + +void +HtmlFactory_Idl::write_Docu( Xml::Element & o_screen, + const client & i_ce ) const +{ + if (i_ce.Docu() != 0) + { + HF_DocEntryList + aDocuList( o_screen ); + HF_IdlDocu + aDocu( Env(), aDocuList ); + aDocu.Produce_byData(i_ce); + } + + write_ManualLinks(o_screen, i_ce); +} + +void +HtmlFactory_Idl::write_ManualLinks( Xml::Element & o_screen, + const client & i_ce ) const +{ + const StringVector & + rLinks2Descrs = i_ce.Secondaries().Links2DescriptionInManual(); + if ( rLinks2Descrs.size() == 0 ) + return; + + o_screen + >> *new Html::Label(C_sLocalManualLinks.c_str()+1) // Leave out the leading '#'. + << " "; + HF_DocEntryList + aDocuList( o_screen ); + aDocuList.Produce_Term("Developer Manual"); + for ( StringVector::const_iterator it = rLinks2Descrs.begin(); + it != rLinks2Descrs.end(); + ++it ) + { + aDocuList.Produce_Definition() + >> *new Html::Link( Env().Link2Manual(*it)) + << *it; + } // end for +} + +void +HtmlFactory_Idl::produce_MemberDetails( HF_SubTitleTable & o_table, + const client & ce ) const +{ + // Dummy, which does not need to do anything. +} + +void +HtmlFactory_Idl::recursive_ShowBases( Xml::Element & o_screen, + type_id i_baseType, + int & io_nDepth ) const +{ + // go up: + const ary::idl::CodeEntity * + pCe = Env().Linker().Search_CeFromType(i_baseType); + if (pCe == 0) + { + HF_IdlTypeText + aText( Env(), o_screen, pCe != 0 ); + aText.Produce_byData( i_baseType ); + o_screen + << "\n"; + ++io_nDepth; + return; + } + else + { + ary::idl::Type_id nBaseT = baseOf(*pCe); + if (nBaseT.IsValid()) + recursive_ShowBases(o_screen,nBaseT,io_nDepth); + else + { + HF_IdlTypeText + aText( Env(), o_screen, true ); + aText.Produce_byData(pCe->CeId()); + o_screen + << "\n"; + ++io_nDepth; + return; + } + } + + // go back down: + csv_assert(io_nDepth > 0); + if (io_nDepth > 30) + io_nDepth = 30; + o_screen + << (C_sSpace + 93 - 3*io_nDepth) + << "|\n" + << (C_sSpace + 93 - 3*io_nDepth) + << "+-"; + HF_IdlTypeText + aBaseLink( Env(), o_screen, true ); + aBaseLink.Produce_byData(pCe->CeId()); + o_screen + << "\n"; + ++io_nDepth; +} + +HtmlFactory_Idl::type_id +HtmlFactory_Idl::inq_BaseOf( const client & i_ce ) const +{ + // Unused dummy. + return type_id(0); +} + diff --git a/autodoc/source/display/idl/hi_factory.hxx b/autodoc/source/display/idl/hi_factory.hxx new file mode 100644 index 000000000000..fc0dfe13c257 --- /dev/null +++ b/autodoc/source/display/idl/hi_factory.hxx @@ -0,0 +1,166 @@ +/************************************************************************* + * + * $RCSfile: hi_factory.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:56 $ + * + * 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_DISPLAY_HI_FACTORY_HXX +#define ADC_DISPLAY_HI_FACTORY_HXX + + +// USED SERVICES + // BASE CLASSES +#include <toolkit/htmlfactory.hxx> + // COMPONENTS + // PARAMETERS +#include <ary/stdconstiter.hxx> +#include <ary/idl/i_language.hxx> +#include <toolkit/out_position.hxx> + + +namespace ary +{ + namespace idl + { + class Module; + } +} + + +class HtmlEnvironment_Idl; +class LinkHelper; +class HF_NaviSubRow; +class HF_SubTitleTable; + + +class HtmlFactory_Idl : public HtmlFactory<HtmlEnvironment_Idl> +{ + public: + typedef ary::idl::CodeEntity client; + typedef ary::idl::Ce_id ce_id; + typedef ary::idl::Type_id type_id; + typedef ary::info::CodeInformation ce_info; + + typedef ary::Dyn_StdConstIterator<ce_id> dyn_ce_list; + typedef ary::Dyn_StdConstIterator<type_id> dyn_type_list; + typedef ary::StdConstIterator<ce_id> ce_list; + typedef ary::StdConstIterator<type_id> type_list; + + typedef HtmlEnvironment_Idl Environment; + typedef output::Position OutPosition; + + protected: + HtmlFactory_Idl( + Environment & io_rEnv, + Xml::Element * o_pOut = 0 ) + : HtmlFactory<Environment>(io_rEnv, o_pOut) + { } + + void produce_InternalLink( + Xml::Element & o_row, + const client & i_ce ) const; + void produce_ShortDoc( + Xml::Element & o_row, + const client & i_ce ) const; + void produce_Bases( + Xml::Element & o_screen, + const client & i_ce, + const String & i_sLabel ) const; + void produce_Members( + ce_list & it_list, + const String & i_summaryTitle, + const String & i_summaryLabel, + const String & i_detailsTitle, + const String & i_detailsLabel ) const; + + /// Writes complete docu in standard format. + void write_Docu( + Xml::Element & o_screen, + const client & i_ce ) const; + + void write_ManualLinks( + Xml::Element & o_screen, + const client & i_ce ) const; + private: + // Dummy does nothing + virtual void produce_MemberDetails( + HF_SubTitleTable & o_table, + const client & i_ce ) const; + void recursive_ShowBases( + Xml::Element & o_screen, + type_id i_baseType, + int & io_nDepth ) const; + type_id baseOf( + const client & i_ce ) const + { return inq_BaseOf(i_ce); } + virtual type_id inq_BaseOf( + const client & i_ce ) const; +}; + + +extern const String + C_sCellStyle_SummaryLeft; +extern const String + C_sCellStyle_SummaryRight; +extern const String + C_sCellStyle_MDetail; +extern const String + C_sMemberTitle; + + +#endif diff --git a/autodoc/source/display/idl/hi_linkhelper.cxx b/autodoc/source/display/idl/hi_linkhelper.cxx new file mode 100644 index 000000000000..0593c29dfe46 --- /dev/null +++ b/autodoc/source/display/idl/hi_linkhelper.cxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: hi_linkhelper.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:57 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hi_linkhelper.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_module.hxx> + + + + +const ary::idl::Module * +LinkHelper::Search_CurModule() const +{ + return Search_Module( rEnv.CurPosition().RelatedNode() ); +} + +const ary::idl::Module * +LinkHelper::Search_Module( output::Node & i_node ) const +{ + static StringVector aNames_; + + output::Node::relative_id + nId = i_node.RelatedNameRoom(); + if (nId == 0) + { + csv::erase_container(aNames_); + i_node.Get_Chain(aNames_); + const ary::idl::Module * pModule = + rEnv.Data().Search_Module(aNames_); + if ( pModule == 0 ) + return 0; + nId = static_cast<output::Node::relative_id>(pModule->Id()); + rEnv.CurPosition().RelatedNode().Set_RelatedNameRoom(nId); + } + + return & rEnv.Data().Find_Module( static_cast<ary::idl::Ce_id>(nId) ); +} + +LinkHelper::OutPosition +LinkHelper::PositionOf_Ce(const CE & i_ce) const +{ + static StringVector aModule_; + csv::erase_container(aModule_); + String sCe; + String sMember; + rEnv.Data().Get_CeText(aModule_, sCe, sMember, i_ce); + output::Node & + rNode = rEnv.OutputTree().RootNode().Provide_Child(aModule_); + return OutPosition(rNode,sCe); +} + + +namespace +{ + const String C_sXrefsSuffix("-xref"); +} + + +LinkHelper::OutPosition +LinkHelper::PositionOf_CurXRefs( const String & i_ceName ) const +{ + return OutPosition( rEnv.CurPosition(), + StreamLock(100)() << i_ceName + << C_sXrefsSuffix + << ".html" + << c_str ); +} + +const String & +LinkHelper::XrefsSuffix() const +{ + return C_sXrefsSuffix; +} + + +String +nameChainLinker( const char * ) +{ + static const String + sModuleFileName_( output::ModuleFileName() ); + return sModuleFileName_; +} diff --git a/autodoc/source/display/idl/hi_linkhelper.hxx b/autodoc/source/display/idl/hi_linkhelper.hxx new file mode 100644 index 000000000000..5d9ee867bd8b --- /dev/null +++ b/autodoc/source/display/idl/hi_linkhelper.hxx @@ -0,0 +1,158 @@ +/************************************************************************* + * + * $RCSfile: hi_linkhelper.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:58 $ + * + * 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_DISPLAY_HI_LINKHELPER_HXX +#define ADC_DISPLAY_HI_LINKHELPER_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include "hi_ary.hxx" +#include "hi_env.hxx" +#include <toolkit/out_position.hxx> +#include <toolkit/out_tree.hxx> + + +class LinkHelper +{ + public: + typedef ary::idl::CodeEntity CE; + typedef output::Position OutPosition; + + LinkHelper( + HtmlEnvironment_Idl & + io_rEnv ) + : rEnv(io_rEnv) {} + + OutPosition PositionOf_CurModule() const + { return OutPosition( rEnv.CurPosition(), + output::ModuleFileName()); } + OutPosition PositionOf_Ce( + const CE & i_ce ) const; + + OutPosition PositionOf_CurXRefs( + const String & i_ceName) const; + OutPosition PositionOf_Index() const + { OutPosition ret1 = rEnv.OutputTree().IndexRoot(); + return OutPosition( ret1, String(output::IndexFile_A()) ); } + + + const ary::idl::Module * + Search_CurModule() const; + const ary::idl::Module * + Search_Module( + output::Node & i_node ) const; + + const CE * Search_CeFromType( + ary::idl::Type_id i_type ) const; + + +// OutPosition Search_Ce( +// String & o_member, +// const char * i_sText, +// OutPosition * i_referingScope = 0 ) const; + +// OutPosition PositionOf_Ce( +// const char * i_sScope, +// const char * i_sCeName ) const +// { const CE * +// pce = rEnv.Data().Search_Ce( i_sScope, +// i_sCeName ); +// if (pce != 0) return rEnv.Data().PositionOfCe(*pce); +// else return OutPosition(); } + + void Get_Link2Position( + StreamStr & o_link, + OutPosition & i_pos ) const + { rEnv.CurPosition().Get_LinkTo(o_link, i_pos); } + + void Get_Link2Member( + StreamStr & o_link, + OutPosition & i_ownerPos, + const String & i_memberName ) const + { Get_Link2Position(o_link, i_ownerPos); + o_link << "#" << i_memberName; } + const String & XrefsSuffix() const; + + private: + // DATA + mutable HtmlEnvironment_Idl & + rEnv; +}; + +inline const ary::idl::CodeEntity * +LinkHelper::Search_CeFromType( ary::idl::Type_id i_type ) const +{ + ary::idl::Ce_id nCe = rEnv.Data().CeFromType(i_type); + if (nCe.IsValid()) + return &rEnv.Data().Find_Ce(nCe); + return 0; +} + + + +String nameChainLinker( + const char * i_levelName ); + + +#endif diff --git a/autodoc/source/display/idl/hi_main.cxx b/autodoc/source/display/idl/hi_main.cxx new file mode 100644 index 000000000000..da327f3ec6a7 --- /dev/null +++ b/autodoc/source/display/idl/hi_main.cxx @@ -0,0 +1,634 @@ +/************************************************************************* + * + * $RCSfile: hi_main.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:14:59 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include "hi_main.hxx" + + +// NOT FULLY DEFINED SERVICES +#include <algorithm> +#include <cosv/ploc.hxx> +#include <cosv/file.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ik_ce.hxx> +#include <ary/idl/ik_enum.hxx> +#include <ary/idl/ik_exception.hxx> +#include <ary/idl/ik_interface.hxx> +#include <ary/idl/ik_service.hxx> +#include <ary/idl/ik_struct.hxx> +#include <ary/idl/ik_typedef.hxx> +#include <cfrstd.hxx> +#include <toolkit/htmlfile.hxx> +#include <toolkit/out_position.hxx> +#include <toolkit/out_tree.hxx> +#include "hfi_constgroup.hxx" +#include "hfi_enum.hxx" +#include "hfi_globalindex.hxx" +#include "hfi_interface.hxx" +#include "hfi_module.hxx" +#include "hfi_struct.hxx" +#include "hfi_service.hxx" +#include "hfi_singleton.hxx" +#include "hfi_typedef.hxx" +#include "hfi_xrefpage.hxx" +#include "hi_env.hxx" +#include "hi_linkhelper.hxx" + + +using ::ary::idl::Ce_id; +using ::ary::idl::Type_id; +using ::ary::idl::ifc_ce::Dyn_CeIterator; + + +/* +typedef ::ary::Dyn_StdConstIterator< ::ary::idl::CommentedReference> + Dyn_ComRefIterator; +namespace read_module = ::ary::idl::ifc_module; +namespace read_interface = ::ary::idl::ifc_interface; +namespace read_service = ::ary::idl::ifc_service; +namespace read_struct = ::ary::idl::ifc_struct; +namespace read_exception = ::ary::idl::ifc_exception; +namespace read_enum = ::ary::idl::ifc_enum; +namespace read_typedef = ::ary::idl::ifc_typedef; +namespace read_constgroup = ::ary::idl::ifc_constantsgroup; +*/ + +namespace +{ + +/** @resp + Inits (constructor) and creates (destructor) the current + html documentation file ( MainDisplay_Idl.pMyFile ). +*/ +class Guard_CurFile +{ + public: + Guard_CurFile( /// For CodeEntities + DocuFile_Html & io_client, + HtmlEnvironment_Idl & + io_env, + const String & i_ceName, + const String & i_titlePrefix ); + Guard_CurFile( /// For Modules + DocuFile_Html & io_client, + HtmlEnvironment_Idl & + io_env ); + Guard_CurFile( /// For Indices + DocuFile_Html & io_client, + HtmlEnvironment_Idl & + io_env, + char i_letter ); + ~Guard_CurFile(); + private: + DocuFile_Html & rClient; + +}; + +/** @resp + Sets and releases the current factory pointer + ( MainDisplay_Idl.pCurFactory ). +*/ +class Guard_CurFactoryPtr +{ + public: + Guard_CurFactoryPtr( + HtmlFactory_Idl *& io_client, + HtmlFactory_Idl & i_factory ) + : rpClient(io_client) + { rpClient = &i_factory; } + + ~Guard_CurFactoryPtr() + { rpClient = 0; } + + private: + HtmlFactory_Idl *& rpClient; + +}; + + +Guard_CurFile::Guard_CurFile( DocuFile_Html & io_client, + HtmlEnvironment_Idl & io_env, + const String & i_ceName, + const String & i_titlePrefix ) + : rClient(io_client) +{ + io_env.Set_CurFile( StreamLock(100)() << i_ceName + << ".html" + << c_str ); + StreamLock aCurFilePath(700); + io_env.Get_CurFilePath(aCurFilePath()); + + rClient.EmptyBody(); + rClient.SetLocation( aCurFilePath().c_str() ); + rClient.SetTitle( StreamLock(100)() << i_titlePrefix << " " << i_ceName << c_str ); +} + +Guard_CurFile::Guard_CurFile( DocuFile_Html & io_client, + HtmlEnvironment_Idl & io_env ) + : rClient(io_client) +{ + io_env.Set_CurFile( output::ModuleFileName() ); + StreamLock aCurFilePath(700); + io_env.Get_CurFilePath(aCurFilePath()); + + rClient.EmptyBody(); + rClient.SetLocation( aCurFilePath().c_str() ); + rClient.SetTitle( StreamLock(100)() << "Module " << io_env.CurPosition().Name() << c_str ); +} + +Guard_CurFile::Guard_CurFile( DocuFile_Html & io_client, + HtmlEnvironment_Idl & io_env, + char i_letter ) + : rClient(io_client) +{ + io_env.Set_CurFile( StreamLock(100)() << "index-" + << ( i_letter != '_' + ? int(i_letter)-'a'+1 + : 27 ) + << ".html" + << c_str ); + StreamLock aCurFilePath(700); + io_env.Get_CurFilePath(aCurFilePath()); + + rClient.EmptyBody(); + rClient.SetLocation( aCurFilePath().c_str() ); + rClient.SetTitle( StreamLock(100)() << "Global Index " + << ( i_letter != '_' + ? char(i_letter-'a'+'A') + : '_' ) + << c_str ); +} + +Guard_CurFile::~Guard_CurFile() +{ + rClient.CreateFile(); +} + + +} // anonymous namespace + + + + +MainDisplay_Idl::MainDisplay_Idl( HtmlEnvironment_Idl & io_rEnv ) + : pEnv(&io_rEnv), + pMyFile(new DocuFile_Html), + pCurFactory(0) +{ + pMyFile->SetStyle( Env().Layout().CssStyle() ); + pMyFile->SetCopyright( Env().Layout().CopyrightText() ); +} + +MainDisplay_Idl::~MainDisplay_Idl() +{ +} + + +void +MainDisplay_Idl::WriteGlobalIndices() +{ + for ( const char * pLetter = "abcdefghijklmnopqrstuvwxyz_X"; *pLetter != 'X'; ++pLetter ) + { + Guard_CurFile gFile( *pMyFile, Env(), *pLetter ); + + HF_IdlGlobalIndex aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_Page( ary::idl::alphabetical_index::E_Letter(*pLetter) ); + } // end for +} + + +void +MainDisplay_Idl::do_Module( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env() ); + HF_IdlModule aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_Interface( const ary::idl::CodeEntity & i_ce ) +{ + do_InterfaceDescr(i_ce); + do_Interface2s(i_ce); +} + +void +MainDisplay_Idl::do_Service( const ary::idl::CodeEntity & i_ce ) +{ + do_ServiceDescr(i_ce); + do_Service2s(i_ce); +} + +void +MainDisplay_Idl::do_Struct( const ary::idl::CodeEntity & i_ce ) +{ + do_StructDescr(i_ce); + do_Struct2s(i_ce); +} + +void +MainDisplay_Idl::do_Exception( const ary::idl::CodeEntity & i_ce ) +{ + do_ExceptionDescr(i_ce); + do_Exception2s(i_ce); +} + +void +MainDisplay_Idl::do_Enum( const ary::idl::CodeEntity & i_ce ) +{ + do_EnumDescr(i_ce); + do_Enum2s(i_ce); +} + +void +MainDisplay_Idl::do_Typedef( const ary::idl::CodeEntity & i_ce ) +{ + do_TypedefDescr(i_ce); + do_Typedef2s(i_ce); +} + +void +MainDisplay_Idl::do_ConstantsGroup( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Constants' Group" ); + HF_IdlConstGroup aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_Singleton( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Singleton" ); + HF_IdlSingleton aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + + +void +MainDisplay_Idl::do_InterfaceDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Interface" ); + HF_IdlInterface aInterface( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aInterface); + + aInterface.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_ServiceDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Service" ); + HF_IdlService aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_StructDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Struct" ); + HF_IdlStruct aFactory( *pEnv, pMyFile->Body(), false ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_ExceptionDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Exception" ); + HF_IdlStruct aFactory( *pEnv, pMyFile->Body(), true ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_EnumDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Enum" ); + HF_IdlEnum aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_TypedefDescr( const ary::idl::CodeEntity & i_ce ) +{ + Guard_CurFile gFile( *pMyFile, + Env(), + i_ce.LocalName(), + "Typedef" ); + HF_IdlTypedef aFactory( *pEnv, pMyFile->Body() ); + Guard_CurFactoryPtr gFactory(pCurFactory,aFactory); + + aFactory.Produce_byData(i_ce); +} + +void +MainDisplay_Idl::do_Interface2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Interface" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Interface, + i_ce ); + + Dyn_CeIterator pXrefList; + ary::idl::ifc_interface::xref::Get_Derivations(pXrefList,i_ce); + aUses.Produce_List( + "Derived Interfaces", + "#Deriveds", + *pXrefList ); + ary::idl::ifc_interface::xref::Get_SynonymTypedefs(pXrefList,i_ce); + aUses.Produce_List( + "Synonym Typedefs", + "#Synonyms", + *pXrefList ); + ary::idl::ifc_interface::xref::Get_ExportingServices(pXrefList,i_ce); + aUses.Produce_List( + "Services which Support this Interface", + "#SupportingServices", + *pXrefList ); + ary::idl::ifc_interface::xref::Get_AsReturns(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Return Type", + "#Returns", + *pXrefList ); + ary::idl::ifc_interface::xref::Get_AsParameters(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Parameter", + "#Parameters", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} + +void +MainDisplay_Idl::do_Service2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Service" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Service, + i_ce ); + Dyn_CeIterator pXrefList; + ary::idl::ifc_service::xref::Get_IncludingServices(pXrefList,i_ce); + aUses.Produce_List( + "Services which Include this Service", + "#IncludingServices", + *pXrefList ); + + ary::idl::ifc_service::xref::Get_InstantiatingSingletons(pXrefList,i_ce); + aUses.Produce_List( + "Singletons which Instantiate this Service", + "#Singletons", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} + +void +MainDisplay_Idl::do_Struct2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Struct" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Struct, + i_ce ); + Dyn_CeIterator pXrefList; + ary::idl::ifc_struct::xref::Get_Derivations(pXrefList,i_ce); + aUses.Produce_List( + "Derived Structs", + "#Deriveds", + *pXrefList ); + ary::idl::ifc_struct::xref::Get_SynonymTypedefs(pXrefList,i_ce); + aUses.Produce_List( + "Synonym Typedefs", + "#Synonyms", + *pXrefList ); + ary::idl::ifc_struct::xref::Get_AsReturns(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Return Type", + "#Returns", + *pXrefList ); + ary::idl::ifc_struct::xref::Get_AsParameters(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Parameter", + "#Parameters", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} + +void +MainDisplay_Idl::do_Exception2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Exception" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Exception, + i_ce ); + Dyn_CeIterator pXrefList; + ary::idl::ifc_exception::xref::Get_Derivations(pXrefList,i_ce); + aUses.Produce_List( + "Derived Exceptions", + "#Deriveds", + *pXrefList ); + ary::idl::ifc_exception::xref::Get_RaisingFunctions(pXrefList,i_ce); + aUses.Produce_List( + "Raising Functions", + "#Raisers", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} + +void +MainDisplay_Idl::do_Enum2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Enum" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Enum, + i_ce ); + Dyn_CeIterator pXrefList; + ary::idl::ifc_enum::xref::Get_SynonymTypedefs(pXrefList,i_ce); + aUses.Produce_List( + "Synonym Typedefs", + "#Synonyms", + *pXrefList ); + ary::idl::ifc_enum::xref::Get_AsReturns(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Return Type", + "#Returns", + *pXrefList ); + ary::idl::ifc_enum::xref::Get_AsParameters(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Parameter", + "#Parameters", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} + +void +MainDisplay_Idl::do_Typedef2s( const ary::idl::CodeEntity & i_ce ) +{ + String sUsesFileName( + StreamLock(100)() + << i_ce.LocalName() + << Env().Linker().XrefsSuffix() + << c_str ); + Guard_CurFile gFile( *pMyFile, + Env(), + sUsesFileName, + "Uses of Typedef" ); + HF_IdlXrefs aUses( *pEnv, + pMyFile->Body(), + C_sCePrefix_Typedef, + i_ce ); + Dyn_CeIterator pXrefList; + ary::idl::ifc_typedef::xref::Get_SynonymTypedefs(pXrefList,i_ce); + aUses.Produce_List( + "Synonym Typedefs", + "#Synonyms", + *pXrefList ); + ary::idl::ifc_typedef::xref::Get_AsReturns(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Return Type", + "#Returns", + *pXrefList ); + ary::idl::ifc_typedef::xref::Get_AsParameters(pXrefList,i_ce); + aUses.Produce_List( + "Uses as Parameter", + "#Parameters", + *pXrefList ); + aUses.Write_ManualLinks(i_ce); +} diff --git a/autodoc/source/display/idl/hi_main.hxx b/autodoc/source/display/idl/hi_main.hxx new file mode 100644 index 000000000000..d561723f3a2c --- /dev/null +++ b/autodoc/source/display/idl/hi_main.hxx @@ -0,0 +1,178 @@ +/************************************************************************* + * + * $RCSfile: hi_main.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:00 $ + * + * 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_DISPLAY_HFIDMAIN_HXX +#define ADC_DISPLAY_HFIDMAIN_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ihost_ce.hxx> + // COMPONENTS +#include "hi_factory.hxx" + // PARAMETERS + + +class HtmlEnvironment_Idl; +class HtmlFactory_Idl; +class DocuFile_Html; + + +class MainDisplay_Idl : public ary::idl::CeHost +{ + public: + MainDisplay_Idl( + HtmlEnvironment_Idl & + io_rEnv ); + virtual ~MainDisplay_Idl(); + + void WriteGlobalIndices(); + + private: + // Interface ary::idl::CeHost: + virtual void do_Module( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Service( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Interface( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Struct( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Exception( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Enum( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Typedef( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_ConstantsGroup( + const ary::idl::CodeEntity & + i_rData ); + virtual void do_Singleton( + const ary::idl::CodeEntity & + i_rData ); + // Locals + void do_ServiceDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_InterfaceDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_StructDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_ExceptionDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_EnumDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_TypedefDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_SingletonDescr( + const ary::idl::CodeEntity & + i_rData ); + void do_Service2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Interface2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Struct2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Exception2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Enum2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Typedef2s( + const ary::idl::CodeEntity & + i_rData ); + void do_Singleton2s( + const ary::idl::CodeEntity & + i_rData ); + + const HtmlEnvironment_Idl & + Env() const { return *pEnv; } + HtmlEnvironment_Idl & + Env() { return *pEnv; } + Xml::Element & CurHtmlOut() { return pCurFactory->CurOut(); } + + // DATA + HtmlEnvironment_Idl * + pEnv; + Dyn<DocuFile_Html> pMyFile; + HtmlFactory_Idl * pCurFactory; +}; + + + +#endif diff --git a/autodoc/source/display/idl/makefile.mk b/autodoc/source/display/idl/makefile.mk new file mode 100644 index 000000000000..a693866c16df --- /dev/null +++ b/autodoc/source/display/idl/makefile.mk @@ -0,0 +1,110 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: np $ $Date: 2002-11-01 17:15:01 $ +# +# 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 WARRUNTY OF ANY KIND, EITHER EXPRESS 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): _______________________________________ +# +# +# +#************************************************************************* + +PRJ=..$/..$/.. + +PRJNAME=autodoc +TARGET=display_idl + + +# --- Settings ----------------------------------------------------- + +ENABLE_EXCEPTIONS=true +PRJINC=$(PRJ)$/source + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk + + +# --- Files -------------------------------------------------------- + +OBJFILES= \ + $(OBJ)$/hfi_constgroup.obj \ + $(OBJ)$/hfi_doc.obj \ + $(OBJ)$/hfi_enum.obj \ + $(OBJ)$/hfi_globalindex.obj \ + $(OBJ)$/hfi_interface.obj \ + $(OBJ)$/hfi_method.obj \ + $(OBJ)$/hfi_module.obj \ + $(OBJ)$/hfi_navibar.obj \ + $(OBJ)$/hfi_property.obj \ + $(OBJ)$/hfi_service.obj \ + $(OBJ)$/hfi_singleton.obj \ + $(OBJ)$/hfi_struct.obj \ + $(OBJ)$/hfi_tag.obj \ + $(OBJ)$/hfi_typedef.obj \ + $(OBJ)$/hfi_typetext.obj \ + $(OBJ)$/hfi_xrefpage.obj \ + $(OBJ)$/hi_ary.obj \ + $(OBJ)$/hi_display.obj \ + $(OBJ)$/hi_env.obj \ + $(OBJ)$/hi_factory.obj \ + $(OBJ)$/hi_linkhelper.obj \ + $(OBJ)$/hi_main.obj + + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + + + diff --git a/autodoc/source/display/inc/cfrstd.hxx b/autodoc/source/display/inc/cfrstd.hxx new file mode 100644 index 000000000000..6cdef02724c4 --- /dev/null +++ b/autodoc/source/display/inc/cfrstd.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * $RCSfile: cfrstd.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:12 $ + * + * 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_CFRSTD_HXX +#define ADC_CFRSTD_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <display/corframe.hxx> + // COMPONENTS + // PARAMETERS + + + +class StdFrame : public display::CorporateFrame +{ + public: + virtual DYN Html_Image * + LogoSrc() const; + virtual const char * + LogoLink() const; + virtual const char * + CopyrightText() const; + virtual const char * + CssStyle() const; +}; + + + +// IMPLEMENTATION + + + + +#endif + diff --git a/autodoc/source/display/inc/idl/hi_display.hxx b/autodoc/source/display/inc/idl/hi_display.hxx new file mode 100644 index 000000000000..4e3a292280f4 --- /dev/null +++ b/autodoc/source/display/inc/idl/hi_display.hxx @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: hi_display.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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 ADC_DISPLAY_HI_DISPLAY_HXX +#define ADC_DISPLAY_HI_DISPLAY_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <autodoc/dsp_html_std.hxx> + // COMPONENTS +#include <cosv/ploc.hxx> + // PARAMETERS + + + +namespace ary +{ + namespace idl + { + class Module; + class CodeEntity; + } // namspace idl +} // namspace csi + + +class MainDisplay_Idl; +class HtmlEnvironment_Idl; + +class HtmlDisplay_Idl : public autodoc::HtmlDisplay_Idl_Ifc +{ + public: + HtmlDisplay_Idl(); + ~HtmlDisplay_Idl(); + private: + // Interface HtmlDisplay_Idl_Ifc: + virtual void do_Run( + const char * i_sOutputDirectory, + const ary::idl::Gate & + i_rAryGate, + const display::CorporateFrame & + i_rLayout ); + void SetRunData( + const char * i_sOutputDirectory, + const ary::idl::Gate & + i_rAryGate, + const display::CorporateFrame & + i_rLayout ); + void Create_StartFile(); + void Create_FilesInNameTree(); + void Create_IndexFiles(); + void Create_FilesInProjectTree(); + void Create_PackageList(); + void Create_HelpFile(); + + /** @descr + - makes sure, the module's directory exists + - creates the module's docu file + - creates docu files for all members of the module + - does the same recursive for all sub-modules. + */ + void RecursiveDisplay_Module( + const ary::idl::Module & + i_rNamespace ); + bool IsModule( + const ary::idl::CodeEntity & + i_ce ) const; + const ary::idl::Module & + Module_Cast( /// @precond Cast must be valid. + const ary::idl::CodeEntity & + i_ce ) const; + // DATA + Dyn<HtmlEnvironment_Idl> + pCurPageEnv; + Dyn<MainDisplay_Idl> + pMainDisplay; +}; + + + +// IMPLEMENTATION + + +#endif + diff --git a/autodoc/source/display/inc/toolkit/hf_docentry.hxx b/autodoc/source/display/inc/toolkit/hf_docentry.hxx new file mode 100644 index 000000000000..f3a593650234 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_docentry.hxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: hf_docentry.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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 ADC_DISPLAY_HF_DOCENTRY_HXX +#define ADC_DISPLAY_HF_DOCENTRY_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "htmlfactory.hxx" + // COMPONENTS + // PARAMETERS + +/** @resp + Produces a list of <DT>..</DT> and <DD>. +*/ +class HF_DocEntryList : public HtmlMaker +{ + public: + + HF_DocEntryList( + Xml::Element & o_rOut ); + virtual ~HF_DocEntryList(); + + Xml::Element & Produce_Term( + const char * i_sTerm = 0 ); + Xml::Element & Produce_Definition(); +}; + + + +#endif + + diff --git a/autodoc/source/display/inc/toolkit/hf_funcdecl.hxx b/autodoc/source/display/inc/toolkit/hf_funcdecl.hxx new file mode 100644 index 000000000000..a99f3f625294 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_funcdecl.hxx @@ -0,0 +1,109 @@ +/************************************************************************* + * + * $RCSfile: hf_funcdecl.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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 ADC_DISPLAY_HF_FUNCDECL_HXX +#define ADC_DISPLAY_HF_FUNCDECL_HXX + + +// USED SERVICES + // BASE CLASSES +#include <toolkit/htmlfactory.hxx> + // COMPONENTS + // PARAMETERS + + +/** @resp + Provides three cells to put in a function declaration. +*/ +class HF_FunctionDeclaration : public HtmlMaker +{ + public: + HF_FunctionDeclaration( + Xml::Element & o_rParent ); + virtual ~HF_FunctionDeclaration(); + + /// Inserts empty line in 2nd and 3rd cell and returns first. + Xml::Element & Add_ReturnLine(); + + /** Inserts empty line in 1st cell, "raises (" in 2nd + and returns 3rd. + */ + Xml::Element & Add_RaisesLine( + const char * i_sRaisesText, + bool i_bSuppressExtraLine = false ); + + Xml::Element & Front() { return *pFront; } + Xml::Element & Types() { return *pTypes; } + Xml::Element & Names() { return *pNames; } + + private: + Xml::Element * pFront; + Xml::Element * pTypes; + Xml::Element * pNames; +}; + + + +// IMPLEMENTATION + + + +#endif diff --git a/autodoc/source/display/inc/toolkit/hf_linachain.hxx b/autodoc/source/display/inc/toolkit/hf_linachain.hxx new file mode 100644 index 000000000000..3867472755e2 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_linachain.hxx @@ -0,0 +1,104 @@ +/************************************************************************* + * + * $RCSfile: hf_linachain.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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 of7 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_DISPLAY_HF_LINACHAIN_HXX +#define ADC_DISPLAY_HF_LINACHAIN_HXX + + + +// USED SERVICES + // BASE CLASSES +#include "htmlfactory.hxx" +#include "out_position.hxx" + // COMPONENTS + // PARAMETERS + + +class HF_LinkedNameChain : public HtmlMaker +{ + public: + /** F_LinkMaker makes a link out of the name of the + parent position. + + Returns true, if there is a link, false if not. + */ + typedef String (*F_LinkMaker)(const char *); + + + HF_LinkedNameChain( + Xml::Element & o_rOut ); + virtual ~HF_LinkedNameChain(); + + void Produce_CompleteChain( + output::Position & i_curPosition, + F_LinkMaker i_linkMaker ) const; + void Produce_CompleteChain_forModule( + output::Position & i_curPosition, /// current Module's node + F_LinkMaker i_linkMaker ) const; + private: + void produce_Level( + output::Node & i_levelNode, + output::Position & i_startPosition, + F_LinkMaker i_linkMaker ) const; +}; + +#endif + diff --git a/autodoc/source/display/inc/toolkit/hf_navi_main.hxx b/autodoc/source/display/inc/toolkit/hf_navi_main.hxx new file mode 100644 index 000000000000..9fc56427f38f --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_navi_main.hxx @@ -0,0 +1,126 @@ +/************************************************************************* + * + * $RCSfile: hf_navi_main.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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_DISPLAY_HF_NAVI_MAIN_HXX +#define ADC_DISPLAY_HF_NAVI_MAIN_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include "htmlfactory.hxx" + // PARAMETERS + + +class HF_MainItem; + + +/** @task + Create a HTML navigation bar with lightly coloured background. + + @descr + There are three kinds of items: + Item with link: Add_StdItem(), + Item without link: Add_NoneItem(), + Item that is current page: Add_SelfItem(). +*/ +class HF_NaviMainRow : public HtmlMaker +{ + public: + enum E_Style + { + eStd, + eSelf, + eNo + }; + HF_NaviMainRow( + Xml::Element & o_out ); + ~HF_NaviMainRow(); + + void Add_StdItem( + const char * i_sText, + const char * i_sLink ); + void Add_SelfItem( + const char * i_sText ); + void Add_NoneItem( + const char * i_sText ); + + void Produce_Row(); + + private: + // DATA + typedef std::vector< DYN HF_MainItem* > ItemList; + + ItemList aItems; + Xml::Element * pRow; +}; + + + +// IMPLEMENTATION + + + + +#endif + + diff --git a/autodoc/source/display/inc/toolkit/hf_navi_sub.hxx b/autodoc/source/display/inc/toolkit/hf_navi_sub.hxx new file mode 100644 index 000000000000..5ada8f2ed7cc --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_navi_sub.hxx @@ -0,0 +1,115 @@ +/************************************************************************* + * + * $RCSfile: hf_navi_sub.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15: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_DISPLAY_HF_NAVI_SUB_HXX +#define ADC_DISPLAY_HFI_NAVI_SUB_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include "htmlfactory.hxx" + // PARAMETERS + + +class HF_NaviSubRow : public HtmlMaker +{ + public: + HF_NaviSubRow( + Xml::Element & o_rOut ); + virtual ~HF_NaviSubRow(); + + void AddItem( + const String & i_sText, + const String & i_sLink, + bool i_bSwitchOn ); + void SwitchOn( + int i_nIndex ); + void Produce_Row(); + + private: + typedef std::pair<String,String> SubRow_Data; + typedef std::pair<SubRow_Data,bool> SubRow_Item; + typedef std::vector<SubRow_Item> SubRow; + + /** Puts the row's table into the parent XML-element, but + doesn't write the items, because the actvity-status of + the subitems isn't known yet. + */ + void Setup_Row(); + + // DATA + SubRow aRow; + Xml::Element * pMyRow; +}; + + + + +// IMPLEMENTATION + + + + +#endif + + diff --git a/autodoc/source/display/inc/toolkit/hf_title.hxx b/autodoc/source/display/inc/toolkit/hf_title.hxx new file mode 100644 index 000000000000..c568bfa9a853 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/hf_title.hxx @@ -0,0 +1,108 @@ +/************************************************************************* + * + * $RCSfile: hf_title.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:18 $ + * + * 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_DISPLAY_HF_TITLE_HXX +#define ADC_DISPLAY_HF_TITLE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <toolkit/htmlfactory.hxx> + // COMPONENTS + // PARAMETERS + + +class HF_TitleTable : public HtmlMaker +{ + public: + HF_TitleTable( + Xml::Element & o_rOut ); + virtual ~HF_TitleTable(); + + void Produce_Title( + const char * i_title ); + /// @return a Html::TableCell reference. + Xml::Element & Add_Row(); +}; + + +class HF_SubTitleTable : public HtmlMaker +{ + public: + /// @param i_nColumns [1 .. n] + HF_SubTitleTable( + Xml::Element & o_rOut, + const String & i_label, + const String & i_title, + int i_nColumns ); + virtual ~HF_SubTitleTable(); + + /// @return an Html::TableRow reference. + Xml::Element & Add_Row(); +}; + + +// IMPLEMENTATION + + + +#endif diff --git a/autodoc/source/display/inc/toolkit/htmlfactory.hxx b/autodoc/source/display/inc/toolkit/htmlfactory.hxx new file mode 100644 index 000000000000..ef1f4fe62856 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/htmlfactory.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * $RCSfile: htmlfactory.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:18 $ + * + * 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_DISPLAY_HTMLFACTORY_HXX +#define ADC_DISPLAY_HTMLFACTORY_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include "outputstack.hxx" + // PARAMETERS +#include <udm/xml/xmlitem.hxx> +#include <udm/html/htmlitem.hxx> + +namespace Xml = ::csi::xml; +namespace Html = ::csi::html; + +/** @resp + Base class for HTML page creators (factories) for code entites or + similar items. +*/ +template <class ENV> +class HtmlFactory +{ + public: + // INQUIRY + ENV & Env() const { return *pEnv; } + Xml::Element & CurOut() const { return aDestination.Out(); } + + // ACCESS + OutputStack & Out() const { return aDestination; } + + protected: + HtmlFactory( + ENV & io_rEnv, + Xml::Element * o_pOut = 0 ) + : pEnv(&io_rEnv) { if (o_pOut != 0) aDestination.Enter(*o_pOut); } + private: + // DATA + ENV * pEnv; + mutable OutputStack aDestination; +}; + + +/** @resp + Base class for HTML paragraph creators, which are to be put into + a parent HTML element. +*/ +class HtmlMaker +{ + public: + + // INQUIRY + Xml::Element & CurOut() const { return *pOut; } + + protected: + HtmlMaker( + Xml::Element & o_rOut ) + : pOut(&o_rOut) {} + private: + // DATA + Xml::Element * pOut; +}; + + + + +// IMPLEMENTATION + + + + +#endif + + diff --git a/autodoc/source/display/inc/toolkit/htmlfile.hxx b/autodoc/source/display/inc/toolkit/htmlfile.hxx new file mode 100644 index 000000000000..0973c928b834 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/htmlfile.hxx @@ -0,0 +1,119 @@ +/************************************************************************* + * + * $RCSfile: htmlfile.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:18 $ + * + * 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_DISPLAY_HTMLFILE_HXX +#define ADC_DISPLAY_HTMLFILE_HXX + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <udm/html/htmlitem.hxx> + // PARAMETERS +#include <cosv/ploc.hxx> + +namespace csv +{ + class File; +} + +class DocuFile_Html +{ + public: + // LIFECYCLE + DocuFile_Html(); + + void SetLocation( + const csv::ploc::Path & + i_rFilePath ); + void SetTitle( + const char * i_sTitle ); + void SetStyle( + const char * i_sStyle ); + void SetBodyAttr( + const char * i_sAttrName, + const char * i_sAttrValue ); + void SetCopyright( + const char * i_sCopyright ); + void EmptyBody(); + + Html::Body & Body() { return aBodyData; } + bool CreateFile(); + + private: + void WriteHeader( + csv::File & io_aFile ); + void WriteBody( + csv::File & io_aFile ); + // DATA + udmstri sFilePath; + udmstri sTitle; + udmstri sLocation; + udmstri sStyle; + udmstri sCopyright; + + Html::Body aBodyData; +}; + + + +#endif + + diff --git a/autodoc/source/display/inc/toolkit/out_node.hxx b/autodoc/source/display/inc/toolkit/out_node.hxx new file mode 100644 index 000000000000..e82c17cd55cc --- /dev/null +++ b/autodoc/source/display/inc/toolkit/out_node.hxx @@ -0,0 +1,162 @@ +/************************************************************************* + * + * $RCSfile: out_node.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:19 $ + * + * 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_DISPLAY_OUT_NODE_HXX +#define ADC_DISPLAY_OUT_NODE_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + + + +namespace output +{ + + +/** @resp + + @descr +*/ +class Node +{ + public: + typedef std::vector< Node* > List; + typedef UINT32 relative_id; + + // LIFECYCLE + enum E_NullObject { null_object }; + + Node(); + explicit Node( + E_NullObject ); + Node( + const String & i_name, + Node & i_parent ); + ~Node(); + + // OPERATORS + bool operator==( + const Node & i_node ) const + { return pParent == i_node.pParent AND sName == i_node.sName; } + bool operator!=( + const Node & i_node ) const + { return NOT operator==(i_node); } + + // OPERATIONS + Node & Provide_Child( + const String & i_name ); + Node & Provide_Child( + const StringVector & + i_path ) + { return provide_Child(i_path.begin(), i_path.end()); } + // INQUIRY + intt Depth() const { return nDepth; } + + const String & Name() const { return sName; } + relative_id RelatedNameRoom() const { return nNameRoomId; } + /// @return No delimiter at start, with delimiter at end. + void Get_Path( + StreamStr & o_result, + intt i_maxDepth = -1 ) const; + void Get_Chain( + StringVector & o_result, + intt i_maxDepth = -1 ) const; + + // ACCESS + void Set_RelatedNameRoom( + relative_id i_nNameRoomId ) + { nNameRoomId = i_nNameRoomId; } + Node * Parent() { return pParent; } + Node * Child( + const String & i_name ) + { return find_Child(i_name); } + List & Children() { return aChildren; } + + /// @return a reference to a Node with Depth() == -1. + static Node & Null_(); + + private: + // Local + Node * find_Child( + const String & i_name ); + Node & add_Child( + const String & i_name ); + Node & provide_Child( + StringVector::const_iterator + i_next, + StringVector::const_iterator + i_end ); + // Data + String sName; + Node * pParent; + List aChildren; + intt nDepth; + relative_id nNameRoomId; +}; + + + +} // namespace output + +#endif diff --git a/autodoc/source/display/inc/toolkit/out_position.hxx b/autodoc/source/display/inc/toolkit/out_position.hxx new file mode 100644 index 000000000000..b4bfcbe082d2 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/out_position.hxx @@ -0,0 +1,154 @@ +/************************************************************************* + * + * $RCSfile: out_position.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:19 $ + * + * 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_DISPLAY_OUT_POSITION_HXX +#define ADC_DISPLAY_OUT_POSITION_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <toolkit/out_node.hxx> + // PARAMETERS + + + +namespace output +{ + + + +class Position +{ + public: + // LIFECYCLE + Position(); + explicit Position( + Node & i_directory, + const String & i_file = String::Null_() ); + Position( + Position & i_directory, + const String & i_rDifferentFile ); + ~Position(); + + // OPERATIONS + Position & operator=( + Node & i_node ); + Position & operator+=( + const String & i_nodeName ); + Position & operator-=( + intt i_levels ); + + // INQUIRY + bool IsValid() const { return pDirectory->Depth() >= 0; } + const String & Name() const { return pDirectory->Name(); } + const String & File() const { return sFile; } + intt Depth() const { return pDirectory->Depth(); } + + void Get_Chain( + StringVector & o_result ) const + { pDirectory->Get_Chain(o_result); } + String LinkTo( + Position & i_destination, + const String & i_localLabel = String::Null_() ) const; + String LinkToRoot( + const String & i_localLabel = String::Null_() ) const; + + void Get_LinkTo( + StreamStr & o_result, + Position & i_destination, + const String & i_localLabel = String::Null_() ) const; + void Get_LinkToRoot( + StreamStr & o_result, + const String & i_localLabel = String::Null_() ) const; + + static char Delimiter() { return '/'; } + + // ACCESS + Node & RelatedNode() { return *pDirectory; } + + void Set( + Node & i_node, + const String & i_file = String::Null_() ); + void Set_File( + const String & i_file ); + + private: + // DATA + String sFile; + Node * pDirectory; +}; + + +/// @return No delimiter at start, with delimiter at end. +const char * get_UpLink( + intt i_depth ); + + +// IMPLEMENTATION + +inline void +Position::Set_File( const String & i_file ) + { sFile = i_file; } + +} // namespace output + +#endif diff --git a/autodoc/source/display/inc/toolkit/out_tree.hxx b/autodoc/source/display/inc/toolkit/out_tree.hxx new file mode 100644 index 000000000000..112598d6c34d --- /dev/null +++ b/autodoc/source/display/inc/toolkit/out_tree.hxx @@ -0,0 +1,170 @@ +/************************************************************************* + * + * $RCSfile: out_tree.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:20 $ + * + * 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_DISPLAY_OUT_TREE_HXX +#define ADC_DISPLAY_OUT_TREE_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include "out_position.hxx" + // PARAMETERS + + +namespace output +{ + +inline const char * +ModuleFileName() +{ return "module-ix.html"; } +inline const char * +IndexFilesDirName() +{ return "index-files"; } +inline const char * +IndexFile_A() +{ return "index-1.html"; } + + +class Tree +{ + public: + // LIFECYCLE + Tree(); + ~Tree(); + + // OPERATIONS + void Set_Overview( + const StringVector & + i_path, + const String & i_sFileName ); + Node & Set_NamesRoot( + const StringVector & + i_path ); + Node & Set_IndexRoot( + const StringVector & + i_path ); + Node & Set_ProjectsRoot( + const StringVector & + i_path ); + Node & Provide_Node( + const StringVector & + i_path ); + + // ACCESS + Node & RootNode() { return *pRoot; } + Node & NamesRootNode() { return *pNamesRoot; } + Node & IndexRootNode() { return *pIndexRoot; } + Node & ProjectsRootNode() { return *pProjectsRoot; } + + Position Root() { return Position(*pRoot); } + Position Overview() { return aOverview; } + Position NamesRoot() { return Position(*pNamesRoot); } + Position IndexRoot() { return Position(*pIndexRoot); } + Position ProjectsRoot() { return Position(*pProjectsRoot); } + + private: + // forbidden: + Tree(const Tree&); + Tree & operator=(const Tree&); + + // DATA + Dyn<Node> pRoot; + Node * pNamesRoot; + Node * pIndexRoot; + Node * pProjectsRoot; + Position aOverview; +}; + + +// IMPLEMENTATION + +inline Node & +Tree::Provide_Node( const StringVector & i_path ) + { return pRoot->Provide_Child(i_path); } + + +inline void +Tree::Set_Overview( const StringVector & i_path, + const String & i_sFileName ) + { aOverview.Set(Provide_Node(i_path), i_sFileName); } + +inline Node & +Tree::Set_NamesRoot( const StringVector & i_path ) + { pNamesRoot = &Provide_Node(i_path); + return *pNamesRoot; } + +inline Node & +Tree::Set_IndexRoot( const StringVector & i_path ) + { pIndexRoot = &Provide_Node(i_path); + return *pIndexRoot; } + +inline Node & +Tree::Set_ProjectsRoot( const StringVector & i_path ) + { pProjectsRoot = &Provide_Node(i_path); + return *pProjectsRoot; } + + + +} // namespace output + + +#endif diff --git a/autodoc/source/display/inc/toolkit/outputstack.hxx b/autodoc/source/display/inc/toolkit/outputstack.hxx new file mode 100644 index 000000000000..ebb669186be1 --- /dev/null +++ b/autodoc/source/display/inc/toolkit/outputstack.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: outputstack.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:20 $ + * + * 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_DISPLAY_OUTPUTSTACK_HXX +#define ADC_DISPLAY_OUTPUTSTACK_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS +#include <estack.hxx> + // PARAMETERS +#include <udm/xml/xmlitem.hxx> + + +class OutputStack +{ + public: + // LIFECYCLE + OutputStack(); + ~OutputStack(); + + // OPERATIONS + void Enter( + csi::xml::Element & io_rDestination ); + void Leave(); + + // ACCESS + csi::xml::Element & Out() const; // CurOutputNode + + private: + EStack< csi::xml::Element * > + aCurDestination; // The front element is the currently used. + // The later ones are the parents. +}; + +inline csi::xml::Element & +OutputStack::Out() const +{ + csv_assert( aCurDestination.size() > 0 ); + return *aCurDestination.top(); +} + +// IMPLEMENTATION + + +#endif + + diff --git a/autodoc/source/display/kernel/displfct.cxx b/autodoc/source/display/kernel/displfct.cxx index 6cf5491e6062..c4665d517d49 100644 --- a/autodoc/source/display/kernel/displfct.cxx +++ b/autodoc/source/display/kernel/displfct.cxx @@ -2,9 +2,9 @@ * * $RCSfile: displfct.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:12 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:22 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,8 +65,8 @@ // NOT FULLY DECLARED SERVICES #include <html/chd_udk2.hxx> -#include <html/hd_udk2.hxx> -#include <html/cfrstd.hxx> +#include <idl/hi_display.hxx> +#include <cfrstd.hxx> DYN DisplayToolsFactory * DisplayToolsFactory::dpTheInstance_ = 0; @@ -110,7 +110,7 @@ DisplayToolsFactory::Create_HtmlDisplay_UdkStd() const DYN autodoc::HtmlDisplay_Idl_Ifc * DisplayToolsFactory::Create_HtmlDisplay_Idl() const { - return new IdlHtmlDisplay_Udk2; + return new HtmlDisplay_Idl; } const display::CorporateFrame & diff --git a/autodoc/source/display/toolkit/hf_docentry.cxx b/autodoc/source/display/toolkit/hf_docentry.cxx new file mode 100644 index 000000000000..c0fcb01a54b4 --- /dev/null +++ b/autodoc/source/display/toolkit/hf_docentry.cxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: hf_docentry.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:23 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_docentry.hxx> + + +// NOT FULLY DEFINED SERVICES + + +HF_DocEntryList::HF_DocEntryList( Xml::Element & o_out ) + : HtmlMaker( o_out >>* new Html::DefList ) +{ +} + +HF_DocEntryList::~HF_DocEntryList() +{ +} + +Xml::Element & +HF_DocEntryList::Produce_Term(const char * i_sTerm ) +{ + Xml::Element & + ret = CurOut() + >> *new Html::DefListTerm + >> *new Html::Bold; + if ( NOT csv::no_str(i_sTerm)) + ret + << i_sTerm; + return ret; +} + +Xml::Element & +HF_DocEntryList::Produce_Definition() +{ + return CurOut() + >> *new Html::DefListDefinition; +} + + diff --git a/autodoc/source/display/toolkit/hf_funcdecl.cxx b/autodoc/source/display/toolkit/hf_funcdecl.cxx new file mode 100644 index 000000000000..f48bbe1cd3d4 --- /dev/null +++ b/autodoc/source/display/toolkit/hf_funcdecl.cxx @@ -0,0 +1,116 @@ +/************************************************************************* + * + * $RCSfile: hf_funcdecl.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:23 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_funcdecl.hxx> + + +// NOT FULLY DEFINED SERVICES + +const String C_sValignTop("top"); + + +HF_FunctionDeclaration::HF_FunctionDeclaration( Xml::Element & o_rParent ) + : HtmlMaker(o_rParent), + pFront(0), + pTypes(0), + pNames(0) +{ + Xml::Element & + rRow = CurOut() + >> *new Html::Table + << new Xml::AnAttribute("border","0") + >> *new Html::TableRow; + pFront = &(rRow >> *new Html::TableCell << new Html::VAlignAttr(C_sValignTop)); + pTypes = &(rRow >> *new Html::TableCell << new Html::VAlignAttr(C_sValignTop)); + pNames = &(rRow >> *new Html::TableCell << new Html::VAlignAttr(C_sValignTop)); +} + +HF_FunctionDeclaration::~HF_FunctionDeclaration() +{ +} + +Xml::Element & +HF_FunctionDeclaration::Add_ReturnLine() +{ + (*pTypes) << new Xml::XmlCode(" <br>\n"); + (*pNames) << new Xml::XmlCode(" <br>\n"); + return *pFront; +} + +Xml::Element & +HF_FunctionDeclaration::Add_RaisesLine( const char * i_sRaisesText, + bool i_bSuppressExtraLine ) +{ + if (NOT i_bSuppressExtraLine) + { + (*pTypes) << new Xml::XmlCode(" <br>"); + (*pNames) << new Xml::XmlCode(" <br>\n"); + } + (*pTypes) + << new Xml::XmlCode("<p class=\"raise\">") + << i_sRaisesText + << new Xml::XmlCode("( </p>\n"); + return *pNames; +} + +
\ No newline at end of file diff --git a/autodoc/source/display/toolkit/hf_linachain.cxx b/autodoc/source/display/toolkit/hf_linachain.cxx new file mode 100644 index 000000000000..e9a8bd9d93cc --- /dev/null +++ b/autodoc/source/display/toolkit/hf_linachain.cxx @@ -0,0 +1,145 @@ +/************************************************************************* + * + * $RCSfile: hf_linachain.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:24 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_linachain.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <toolkit/out_position.hxx> + + + +HF_LinkedNameChain::HF_LinkedNameChain( Xml::Element & o_rOut ) + : HtmlMaker( o_rOut + >> *new Html::Paragraph + << new Html::ClassAttr("namechain") ) +{ +} + +HF_LinkedNameChain::~HF_LinkedNameChain() +{ +} + +void +HF_LinkedNameChain::Produce_CompleteChain( output::Position & i_curPosition, + F_LinkMaker i_linkMaker ) const +{ + produce_Level(i_curPosition.RelatedNode(), i_curPosition, i_linkMaker); +} + +void +HF_LinkedNameChain::Produce_CompleteChain_forModule( output::Position & i_curPosition, + F_LinkMaker i_linkMaker ) const +{ + if (i_curPosition.Depth() == 0) + return; + produce_Level(*i_curPosition.RelatedNode().Parent(), i_curPosition, i_linkMaker); +} + + + +namespace +{ + +StreamStr aLinkBuf(200); + +} + +void +HF_LinkedNameChain::produce_Level( output::Node & i_levelNode, + output::Position & i_startPosition, + F_LinkMaker i_linkMaker ) const +{ + if ( i_levelNode.Depth() > 0 ) + { + produce_Level( *i_levelNode.Parent(), + i_startPosition, + i_linkMaker ); + } + + aLinkBuf.reset(); + + String + sFileName = (*i_linkMaker)(i_levelNode.Name()); + output::Position + aLevelPos(i_levelNode, sFileName); + + i_startPosition.Get_LinkTo(aLinkBuf, aLevelPos); + + if ( i_levelNode.Depth() > 0 ) + { + CurOut() + >> *new Html::Link(aLinkBuf.c_str()) + << new Html::ClassAttr("namechain") + << i_levelNode.Name(); + CurOut() << " :: "; + } + else + { + CurOut() + >> *new Html::Link(aLinkBuf.c_str()) + << new Html::ClassAttr("namechain") + << "::"; + CurOut() << " "; + } +} diff --git a/autodoc/source/display/toolkit/hf_navi_main.cxx b/autodoc/source/display/toolkit/hf_navi_main.cxx new file mode 100644 index 000000000000..cfad07db9050 --- /dev/null +++ b/autodoc/source/display/toolkit/hf_navi_main.cxx @@ -0,0 +1,273 @@ +/************************************************************************* + * + * $RCSfile: hf_navi_main.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:24 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_navi_main.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <cosv/template/tpltools.hxx> + + + +//******************** MainItem and derived ones ***************// +class HF_MainItem : public HtmlMaker +{ + public: + virtual ~HF_MainItem() {} + void Produce_Item() const { do_ProduceItem(); } + protected: + HF_MainItem( + Xml::Element & o_out ) + : HtmlMaker(o_out) {} + private: + virtual void do_ProduceItem() const = 0; +}; + + +namespace +{ + +class StdItem : public HF_MainItem +{ + public: + StdItem( + Xml::Element & o_out, + const char * i_sText, + const char * i_sLink ); + + ~StdItem(); + private: + virtual void do_ProduceItem() const; + + // DATA + udmstri sText; + udmstri sLink; +}; + +class SelfItem : public HF_MainItem +{ + public: + SelfItem( + Xml::Element & o_out, + const char * i_sText ); + ~SelfItem(); + private: + virtual void do_ProduceItem() const; + + // DATA + udmstri sText; +}; + +class NoneItem : public HF_MainItem +{ + public: + NoneItem( + Xml::Element & o_out, + const char * i_sText ); + ~NoneItem(); + private: + virtual void do_ProduceItem() const; + + // DATA + udmstri sText; +}; + +} // anonymous namespace + + + +//******************** HF_NaviMainRow ***************// + + + +HF_NaviMainRow::HF_NaviMainRow( Xml::Element & o_out ) + : HtmlMaker(o_out), + aItems(), + pRow(0) +{ + aItems.reserve(5); + + pRow = + &( CurOut() + >> *new Html::Table + << new Xml::AnAttribute( "border", "0" ) + << new Xml::AnAttribute( "cellpadding", "3" ) + << new Html::ClassAttr("lightbg") + >> *new Html::TableRow + ); +} + +HF_NaviMainRow::~HF_NaviMainRow() +{ + csv::erase_container_of_heap_ptrs(aItems); +} + +void +HF_NaviMainRow::Add_StdItem( const char * i_sText, + const char * i_sLink ) +{ + aItems.push_back(new StdItem( *pRow,i_sText,i_sLink )); +} + +void +HF_NaviMainRow::Add_SelfItem( const char * i_sText ) +{ + aItems.push_back(new SelfItem( *pRow,i_sText )); +} + +void +HF_NaviMainRow::Add_NoneItem( const char * i_sText ) +{ + aItems.push_back(new NoneItem( *pRow,i_sText )); +} + +void +HF_NaviMainRow::Produce_Row() +{ + ItemList::iterator itEnd = aItems.end(); + for ( ItemList::iterator iter = aItems.begin(); + iter != itEnd; + ++iter ) + { + (*iter)->Produce_Item(); + } +} + + + + +//******************** MainItem and derived ones ***************// + +namespace +{ + +StdItem::StdItem( Xml::Element & o_out, + const char * i_sText, + const char * i_sLink ) + : HF_MainItem(o_out), + sText(i_sText), + sLink(i_sLink) +{ +} + +StdItem::~StdItem() +{ +} + +void +StdItem::do_ProduceItem() const +{ + Xml::Element & + rCell = CurOut() >>* new Html::TableCell; + rCell + << new Html::ClassAttr( "navimain" ) + >> *new Html::Link(sLink.c_str()) + << new Html::ClassAttr( "navimain" ) + << sText.c_str(); +} + +SelfItem::SelfItem( Xml::Element & o_out, + const char * i_sText ) + : HF_MainItem(o_out), + sText(i_sText) +{ +} + +SelfItem::~SelfItem() +{ +} + +void +SelfItem::do_ProduceItem() const +{ + Xml::Element & + rCell = CurOut() >>* new Html::TableCell; + rCell + << new Html::ClassAttr( "navimainself" ) + << sText.c_str(); +} + +NoneItem::NoneItem( Xml::Element & o_out, + const char * i_sText ) + : HF_MainItem(o_out), + sText(i_sText) +{ +} + +NoneItem::~NoneItem() +{ +} + +void +NoneItem::do_ProduceItem() const +{ + Xml::Element & + rCell = CurOut() >>* new Html::TableCell; + rCell + << new Html::ClassAttr( "navimainnone" ) + << sText.c_str(); +} + +} // anonymous namespace + + diff --git a/autodoc/source/display/toolkit/hf_navi_sub.cxx b/autodoc/source/display/toolkit/hf_navi_sub.cxx new file mode 100644 index 000000000000..da8deff16ae9 --- /dev/null +++ b/autodoc/source/display/toolkit/hf_navi_sub.cxx @@ -0,0 +1,136 @@ +/************************************************************************* + * + * $RCSfile: hf_navi_sub.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:25 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_navi_sub.hxx> + + +// NOT FULLY DEFINED SERVICES + + +HF_NaviSubRow::HF_NaviSubRow( Xml::Element & o_rOut ) + : HtmlMaker(o_rOut), + aRow(), + pMyRow(0) +{ + Setup_Row(); +} + +HF_NaviSubRow::~HF_NaviSubRow() +{ +} + +void +HF_NaviSubRow::AddItem( const String & i_sText, + const String & i_sLink, + bool i_bSwitchOn ) +{ + aRow.push_back( SubRow_Item( SubRow_Data(i_sText,i_sLink), + i_bSwitchOn )); +} + +void +HF_NaviSubRow::SwitchOn( int i_nIndex ) +{ + if ( i_nIndex < int(aRow.size()) ) + aRow[i_nIndex].second = true; +} + +void +HF_NaviSubRow::Setup_Row() +{ + Html::Table * + pTable = new Html::Table; + CurOut() + >> *pTable + << new Xml::AnAttribute( "border", "0" ) + << new Xml::AnAttribute( "cellpadding", "0" ); + pMyRow = &pTable->AddRow(); +} + +void +HF_NaviSubRow::Produce_Row() +{ + for ( SubRow::const_iterator it = aRow.begin(); + it != aRow.end(); + ++it ) + { + Xml::Element & + rCell = *pMyRow + >> *new Html::TableCell + << new Html::ClassAttr("navisub"); + Xml::Element & + rGoon = (*it).second + ? ( rCell + >> *new Html::Link( StreamLock(100)() + << "#" + << (*it).first.second + << c_str ) + << new Html::ClassAttr("navisub") + ) + : rCell; + rGoon + << (*it).first.first; + } +} + + diff --git a/autodoc/source/display/toolkit/hf_title.cxx b/autodoc/source/display/toolkit/hf_title.cxx new file mode 100644 index 000000000000..2afde9960da2 --- /dev/null +++ b/autodoc/source/display/toolkit/hf_title.cxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * $RCSfile: hf_title.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:25 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/hf_title.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <stdlib.h> + + +const String C_sTitleBorder("0"); +const String C_sTitleWidth("100%"); +const String C_sTitlePadding("5"); +const String C_sTitleSpacing("3"); + +const String C_sSubTitleBorder("1"); +const String C_sSubTitleWidth("100%"); +const String C_sSubTitlePadding("5"); +const String C_sSubTitleSpacing("0"); +const String C_sColSpan("colspan"); + + +HF_TitleTable::HF_TitleTable( Xml::Element & o_rOut ) + : HtmlMaker(o_rOut >> *new Html::Table( C_sTitleBorder, + C_sTitleWidth, + C_sTitlePadding, + C_sTitleSpacing ) + << new Html::StyleAttr("margin-bottom:6pt;") ) +{ +} + +HF_TitleTable::~HF_TitleTable() +{ +} + + +void +HF_TitleTable::Produce_Title( const char * i_title ) +{ + Add_Row() + << new Html::ClassAttr("title") + << i_title; +} + +Xml::Element & +HF_TitleTable::Add_Row() +{ + return CurOut() + >> *new Html::TableRow + >> *new Html::TableCell; +} + + + + + +HF_SubTitleTable::HF_SubTitleTable( Xml::Element & o_rOut, + const String & i_label, + const String & i_title, + int i_nColumns ) + : HtmlMaker( o_rOut + << new Html::Label(i_label) + >> *new Html::Table( C_sSubTitleBorder, + C_sSubTitleWidth, + C_sSubTitlePadding, + C_sSubTitleSpacing ) + << new Html::ClassAttr("subtitle") ) +{ + csv_assert(i_nColumns > 0); + + Xml::Element & + rCell = CurOut() + >> *new Html::TableRow + >> *new Html::TableCell + << new Html::ClassAttr("subtitle") ; + + if (i_nColumns > 1) + { + String sColumns = StreamLock(20)() << i_nColumns << c_str; + rCell + << new Xml::AnAttribute(C_sColSpan, sColumns); + } + rCell + << i_title; +} + +HF_SubTitleTable::~HF_SubTitleTable() +{ +} + +Xml::Element & +HF_SubTitleTable::Add_Row() +{ + return CurOut() >> *new Html::TableRow; +} diff --git a/autodoc/source/display/toolkit/htmlfile.cxx b/autodoc/source/display/toolkit/htmlfile.cxx new file mode 100644 index 000000000000..2e141475797f --- /dev/null +++ b/autodoc/source/display/toolkit/htmlfile.cxx @@ -0,0 +1,194 @@ +/************************************************************************* + * + * $RCSfile: htmlfile.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:26 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +#include <precomp.h> +#include <toolkit/htmlfile.hxx> + +// NOT FULLY DECLARED SERVICES +#include <cosv/file.hxx> +#include <udm/html/htmlitem.hxx> + + +using namespace csi; +using csi::xml::AnAttribute; + +DocuFile_Html::DocuFile_Html() + : sFilePath(), + sTitle(), + sLocation(), + sStyle(), + sCopyright(), + aBodyData() +{ + SetBodyAttr( "bgcolor", "#ffffff" ); +} + +void +DocuFile_Html::SetLocation( const csv::ploc::Path & i_rFilePath ) +{ + StreamLock sPath(1000); + i_rFilePath.Get( sPath() ); + + sFilePath = sPath().c_str(); +} + +void +DocuFile_Html::SetTitle( const char * i_sTitle ) +{ + sTitle = i_sTitle; +} + +void +DocuFile_Html::SetStyle( const char * i_sStyle ) +{ + sStyle = i_sStyle; +} + +void +DocuFile_Html::SetBodyAttr( const char * i_sAttrName, + const char * i_sAttrValue ) +{ + aBodyData << new AnAttribute( i_sAttrName, i_sAttrValue ); +} + +void +DocuFile_Html::SetCopyright( const char * i_sCopyright ) +{ + sCopyright = i_sCopyright; +} + +void +DocuFile_Html::EmptyBody() +{ + aBodyData.SetContent(0); + aBodyData + >> *new html::Label( "_top_" ) + << " "; + +} + +bool +DocuFile_Html::CreateFile() +{ + csv::File aFile(sFilePath, csv::CFM_CREATE); + if (NOT aFile.open()) + { + Cerr() << "Can't create file " << sFilePath << "." << Endl(); + return false; + } + + WriteHeader(aFile); + WriteBody(aFile); + + // Write end + static const char sCompletion[] = "\n</html>\n"; + aFile.write( sCompletion ); + + aFile.close(); + Cout() << '.' << Flush(); + return true; +} + + +void +DocuFile_Html::WriteHeader( csv::File & io_aFile ) +{ + static const char s1[] = + "<html>\n<head>\n<title>"; + static const char s2[] = + "</title>\n<style>"; + static const char s3[] = + "</style>\n</head>\n"; + + io_aFile.write( s1 ); + io_aFile.write( sTitle ); + io_aFile.write( s2 ); + io_aFile.write( sStyle ); + io_aFile.write( s3 ); +} + +void +DocuFile_Html::WriteBody( csv::File & io_aFile ) +{ + aBodyData + >> *new html::Link( "#_top_" ) + << "Top of Page"; + + if ( sCopyright.length() > 0 ) + { + aBodyData + << new xml::XmlCode("<hr size=\"3\">"); + + aBodyData + >> *new html::Paragraph + << new html::ClassAttr( "copyright" ) + << new xml::AnAttribute( "align", "center" ) + << new xml::XmlCode(sCopyright); + } + aBodyData.WriteOut(io_aFile); +} + + + + + + + diff --git a/autodoc/source/display/toolkit/makefile.mk b/autodoc/source/display/toolkit/makefile.mk new file mode 100644 index 000000000000..7b5abd6d6a0c --- /dev/null +++ b/autodoc/source/display/toolkit/makefile.mk @@ -0,0 +1,99 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: np $ $Date: 2002-11-01 17:15:26 $ +# +# 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 WARRUNTY OF ANY KIND, EITHER EXPRESS 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): _______________________________________ +# +# +# +#************************************************************************* + +PRJ=..$/..$/.. + +PRJNAME=autodoc +TARGET=display_toolkit + + +# --- Settings ----------------------------------------------------- + +ENABLE_EXCEPTIONS=true +PRJINC=$(PRJ)$/source + +.INCLUDE : settings.mk +.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk + + +# --- Files -------------------------------------------------------- + +OBJFILES= \ + $(OBJ)$/hf_docentry.obj \ + $(OBJ)$/hf_funcdecl.obj \ + $(OBJ)$/hf_linachain.obj \ + $(OBJ)$/hf_navi_main.obj \ + $(OBJ)$/hf_navi_sub.obj \ + $(OBJ)$/hf_title.obj \ + $(OBJ)$/htmlfile.obj \ + $(OBJ)$/out_node.obj \ + $(OBJ)$/out_position.obj \ + $(OBJ)$/out_tree.obj \ + $(OBJ)$/outputstack.obj + + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + + + diff --git a/autodoc/source/display/toolkit/out_node.cxx b/autodoc/source/display/toolkit/out_node.cxx new file mode 100644 index 000000000000..fd65e8479def --- /dev/null +++ b/autodoc/source/display/toolkit/out_node.cxx @@ -0,0 +1,265 @@ +/************************************************************************* + * + * $RCSfile: out_node.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:27 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/out_node.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <algorithm> + + +namespace output +{ + + +namespace +{ + +struct Less_NodePtr +{ + bool operator()( + Node * p1, + Node * p2 ) const + { return p1->Name() < p2->Name(); } +}; + +struct Less_NodePtr C_Less_NodePtr; + + +Node C_aNullNode(Node::null_object); + + +} // namepace anonymous + + +//********************** Node ***************************// + + +Node::Node() + : sName(), + pParent(0), + aChildren(), + nDepth(0), + nNameRoomId(0) +{ +} + +Node::Node( E_NullObject ) + : sName(), + pParent(0), + aChildren(), + nDepth(-1), + nNameRoomId(0) +{ +} + +Node::Node( const String & i_name, + Node & i_parent ) + : sName(i_name), + pParent(&i_parent), + aChildren(), + nDepth(i_parent.Depth()+1), + nNameRoomId(0) +{ +} + +Node::~Node() +{ + for ( List::iterator it = aChildren.begin(); + it != aChildren.end(); + ++it ) + { + delete *it; + } +} + +Node & +Node::Provide_Child( const String & i_name ) +{ + Node * ret = find_Child(i_name); + if (ret != 0) + return *ret; + return add_Child(i_name); +} + +void +Node::Get_Path( StreamStr & o_result, + intt i_maxDepth ) const +{ + // Intentionally 'i_maxDepth != 0', so max_Depth == -1 sets no limit: + if (i_maxDepth != 0) + { + if (pParent != 0) + pParent->Get_Path(o_result, i_maxDepth-1); + o_result << sName << '/'; + } +} + +void +Node::Get_Chain( StringVector & o_result, + intt i_maxDepth ) const +{ + if (i_maxDepth != 0) + { + // This is called also for the toplevel Node, + // but there happens nothing: + if (pParent != 0) + { + pParent->Get_Chain(o_result, i_maxDepth-1); + o_result.push_back(sName); + } + } +} + +Node * +Node::find_Child( const String & i_name ) +{ + // Trying to optimise search in a vector: + + uintt nSize = aChildren.size(); + if ( nSize > 0 AND nSize < 20 ) + { + List::const_iterator it = aChildren.begin(); + List::const_iterator itMiddle = it + nSize/2; + int comp = 0; + + if ( i_name < (*itMiddle)->Name() ) + { + for ( ; + it != itMiddle + ? (comp = csv::compare(i_name, (*it)->Name())) <= 0 + : false; + ++it ) + { + if ( comp == 0 ) + return *it; + } // end for + } + else + { + List::const_iterator itEnd = aChildren.end(); + for ( it = itMiddle; + it != itEnd + ? (comp = csv::compare(i_name, (*it)->Name())) <= 0 + : false; + ++it ) + { + if ( comp == 0 ) + return *it; + } // end for + } + } + else if (nSize > 0) + { + Node aSearch; + aSearch.sName = i_name; + + List::const_iterator + ret = std::lower_bound( aChildren.begin(), + aChildren.end(), + &aSearch, + C_Less_NodePtr ); + if ( ret != aChildren.end() ? (*ret)->Name() == i_name : false ) + return *ret; + } + + return 0; +} + +Node & +Node::add_Child( const String & i_name ) +{ + Dyn<Node> pNew( new Node(i_name,*this) ); + Node * pSearch = pNew.Ptr(); // Necessary, because Release() invalidates pNew. + + List::iterator + itNew = aChildren.insert( std::upper_bound( aChildren.begin(), + aChildren.end(), + pSearch, + C_Less_NodePtr ), + pSearch ); + return *pNew.Release(); // Release, because it is hold by aChildren now. +} + +Node & +Node::provide_Child( StringVector::const_iterator i_next, + StringVector::const_iterator i_end ) +{ + if (i_next == i_end) + return *this; + return Provide_Child(*i_next).provide_Child(i_next+1,i_end); +} + + + + +Node & +Node::Null_() +{ + return C_aNullNode; +} + + + + +} // namespace output diff --git a/autodoc/source/display/toolkit/out_position.cxx b/autodoc/source/display/toolkit/out_position.cxx new file mode 100644 index 000000000000..54ecd107254b --- /dev/null +++ b/autodoc/source/display/toolkit/out_position.cxx @@ -0,0 +1,260 @@ +/************************************************************************* + * + * $RCSfile: out_position.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:27 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/out_position.hxx> + + +// NOT FULLY DEFINED SERVICES + + + +namespace output +{ + + + +namespace +{ + +const int C_nAssumedMaxLinkLength = 500; + +const int C_nMaxDepth = 30; +char C_sUpLinkArray[3*C_nMaxDepth+1] = + "../../../../../../../../../../" + "../../../../../../../../../../" + "../../../../../../../../../../"; + +const char * C_sUpLink = &C_sUpLinkArray[0]; + + +void move_ToParent( + Node * & io_node, + intt i_levels = 1 ); + +void +move_ToParent( Node * & io_node, + intt i_levels ) +{ + for ( intt n = 0; n < i_levels; ++n ) + { + csv_assert(io_node != 0); + io_node = io_node->Parent(); + } +} + + + +} // namepace anonymous + + + +Position::Position() + : sFile(), + pDirectory(&Node::Null_()) +{ +} + + +Position::Position( Node & i_directory, + const String & i_file ) + : sFile(i_file), + pDirectory(&i_directory) +{ +} + +Position::Position( Position & i_directory, + const String & i_sDifferentFile ) + : sFile(i_sDifferentFile), + pDirectory(i_directory.pDirectory) +{ +} + + +Position::~Position() +{ +} + + +Position & +Position::operator=( Node & i_node ) +{ + pDirectory = &i_node; + sFile.clear(); + return *this; +} + +Position & +Position::operator+=( const String & i_nodeName ) +{ + csv_assert(pDirectory != 0); + + pDirectory = &pDirectory->Provide_Child(i_nodeName); + sFile.clear(); + + return *this; +} + +Position & +Position::operator-=( intt i_levels ) +{ + csv_assert(pDirectory != 0); + + pDirectory = pDirectory->Parent(); + if (pDirectory == 0) + pDirectory = &Node::Null_(); + sFile.clear(); + + return *this; +} + +String +Position::LinkTo( Position & i_destination, + const String & i_localLabel ) const +{ + StreamLock aLink(C_nAssumedMaxLinkLength); + StreamStr & rLink = aLink(); + Get_LinkTo(rLink, i_destination, i_localLabel); + return rLink.c_str(); +} + +String +Position::LinkToRoot( const String & i_localLabel ) const +{ + return StreamLock(C_nAssumedMaxLinkLength)() << get_UpLink(Depth()) << c_str; +} + +void +Position::Get_LinkTo( StreamStr & o_result, + Position & i_destination, + const String & i_localLabel ) const +{ + Node * p1 = pDirectory; + Node * p2 = i_destination.pDirectory; + intt diff = Depth() - i_destination.Depth(); + intt pathLength1 = 0; + intt pathLength2 = 0; + + if ( diff > 0 ) + { + pathLength1 = diff; + move_ToParent(p1,pathLength1); + } + else if ( diff < 0 ) + { + pathLength2 = -diff; + move_ToParent(p2,pathLength2); + } + + while ( p1 != p2 ) + { + move_ToParent(p1); + move_ToParent(p2); + ++pathLength1; + ++pathLength2; + } + + o_result << get_UpLink(pathLength1); + i_destination.pDirectory->Get_Path(o_result, pathLength2); + o_result << i_destination.sFile; + if (i_localLabel.length()) + o_result << "#" << i_localLabel; +} + +void +Position::Get_LinkToRoot( StreamStr & o_result, + const String & i_localLabel ) const +{ + o_result << get_UpLink(Depth()); +} + +void +Position::Set( Node & i_node, + const String & i_file ) +{ + sFile = i_file; + pDirectory = &i_node; +} + + + + +const char * +get_UpLink(intt i_depth) +{ + if ( i_depth <= C_nMaxDepth ) + return C_sUpLink + 3*(C_nMaxDepth - i_depth); + + + StreamLock aRet(i_depth*3 + 1); + StreamStr & rRet = aRet(); + for ( intt nDepth = i_depth; nDepth > C_nMaxDepth; nDepth -= C_nMaxDepth ) + { + rRet << C_sUpLink; + } + rRet << C_sUpLink + 3*(C_nMaxDepth - nDepth); + return rRet.c_str(); +} + + + +} // namespace output diff --git a/autodoc/source/display/toolkit/out_tree.cxx b/autodoc/source/display/toolkit/out_tree.cxx new file mode 100644 index 000000000000..af87503bcc54 --- /dev/null +++ b/autodoc/source/display/toolkit/out_tree.cxx @@ -0,0 +1,88 @@ +/************************************************************************* + * + * $RCSfile: out_tree.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:28 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/out_tree.hxx> + + +// NOT FULLY DEFINED SERVICES + + +namespace output +{ + +Tree::Tree() + : pRoot(new Node), + pNamesRoot(pRoot.Ptr()), + pIndexRoot(pRoot.Ptr()), + pProjectsRoot(pRoot.Ptr()), + aOverview() +{ +} + +Tree::~Tree() +{ +} + + + +} // namespace output diff --git a/autodoc/source/display/toolkit/outputstack.cxx b/autodoc/source/display/toolkit/outputstack.cxx new file mode 100644 index 000000000000..622c67178e4f --- /dev/null +++ b/autodoc/source/display/toolkit/outputstack.cxx @@ -0,0 +1,93 @@ +/************************************************************************* + * + * $RCSfile: outputstack.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:28 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <toolkit/outputstack.hxx> + + +// NOT FULLY DEFINED SERVICES + + + +OutputStack::OutputStack() +{ +} + +OutputStack::~OutputStack() +{ +} + +void +OutputStack::Enter( csi::xml::Element & io_rDestination ) +{ + aCurDestination.push(&io_rDestination); +} + +void +OutputStack::Leave() +{ + csv_assert( NOT aCurDestination.empty() ); + aCurDestination.pop(); +} + + + diff --git a/autodoc/source/exes/adc_uni/adc_cmds.cxx b/autodoc/source/exes/adc_uni/adc_cmds.cxx index 785396783d15..bc500a771005 100644 --- a/autodoc/source/exes/adc_uni/adc_cmds.cxx +++ b/autodoc/source/exes/adc_uni/adc_cmds.cxx @@ -2,9 +2,9 @@ * * $RCSfile: adc_cmds.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:26 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -163,20 +163,47 @@ Parse::Options() if ( aOptions_.size() > 0 ) return aOptions_; - aOptions_[udmstri(C_opt_Parse)] = &Parse::FI_Start_ParseOptions; - aOptions_[udmstri(C_opt_Name)] = &Parse::FI_SetName; - aOptions_[udmstri(C_opt_Update)] = &Parse::FI_SetUpdate; - aOptions_[udmstri(C_opt_LangAll)] = &Parse::FI_SetLanguage4All; - aOptions_[udmstri(C_opt_ExtensionsAll)] = &Parse::FI_SetExtensions4All; - aOptions_[udmstri(C_opt_DocAll)] = &Parse::FI_SetDocAttrs4All; - - aOptions_[udmstri(C_opt_Project)] = &Parse::FI_Start_ProjectOptions; - aOptions_[udmstri(C_opt_Lang)] = &Parse::FI_SetLanguage; - aOptions_[udmstri(C_opt_Extensions)] = &Parse::FI_SetExtensions; - aOptions_[udmstri(C_opt_Doc)] = &Parse::FI_SetDocAttrs; - aOptions_[udmstri(C_opt_SourceDir)] = &Parse::FI_SetSourceDirs; - aOptions_[udmstri(C_opt_SourceTree)] = &Parse::FI_SetSourceTrees; - aOptions_[udmstri(C_opt_SourceFile)] = &Parse::FI_SetSourceFiles; + // Workaround for MacOSX, gcc3 compiler bug with + // assigning temporaries of member function ptrs + // to const references of them: + F_Init fTemp = &Parse::FI_Start_ParseOptions; + aOptions_[udmstri(C_opt_Parse)] = fTemp; + + fTemp = &Parse::FI_SetName; + aOptions_[udmstri(C_opt_Name)] = fTemp; + + fTemp = &Parse::FI_SetUpdate; + aOptions_[udmstri(C_opt_Update)] = fTemp; + + fTemp = &Parse::FI_SetLanguage4All; + aOptions_[udmstri(C_opt_LangAll)] = fTemp; + + fTemp = &Parse::FI_SetExtensions4All; + aOptions_[udmstri(C_opt_ExtensionsAll)] = fTemp; + + fTemp = &Parse::FI_SetDocAttrs4All; + aOptions_[udmstri(C_opt_DocAll)] = fTemp; + + fTemp = &Parse::FI_Start_ProjectOptions; + aOptions_[udmstri(C_opt_Project)] = fTemp; + + fTemp = &Parse::FI_SetLanguage; + aOptions_[udmstri(C_opt_Lang)] = fTemp; + + fTemp = &Parse::FI_SetExtensions; + aOptions_[udmstri(C_opt_Extensions)] = fTemp; + + fTemp = &Parse::FI_SetDocAttrs; + aOptions_[udmstri(C_opt_Doc)] = fTemp; + + fTemp = &Parse::FI_SetSourceDirs; + aOptions_[udmstri(C_opt_SourceDir)] = fTemp; + + fTemp = &Parse::FI_SetSourceTrees; + aOptions_[udmstri(C_opt_SourceTree)] = fTemp; + + fTemp = &Parse::FI_SetSourceFiles; + aOptions_[udmstri(C_opt_SourceFile)] = fTemp; return aOptions_; } diff --git a/autodoc/source/exes/adc_uni/cmd_run.cxx b/autodoc/source/exes/adc_uni/cmd_run.cxx index 097a83204494..014c8a008276 100644 --- a/autodoc/source/exes/adc_uni/cmd_run.cxx +++ b/autodoc/source/exes/adc_uni/cmd_run.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cmd_run.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:17 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,13 +65,16 @@ // NOT FULLY DEFINED SERVICES +#include <cosv/file.hxx> #include <cosv/x.hxx> -#include <ary/ary.hxx> +#include <ary/action/act_all.hxx> #include <ary/ary.hxx> #include <ary/cpp/c_rwgate.hxx> -#include <ary_i/ce2.hxx> -#include <ary_i/uidl/cenamesp.hxx> -#include <ary_i/uidl/gate.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ip_ce.hxx> +#include <ary/idl/ip_2s.hxx> #include <autodoc/displaying.hxx> #include <autodoc/dsp_html_std.hxx> #include <autodoc/filecoli.hxx> @@ -84,27 +87,26 @@ #include "adc_cmds.hxx" -ary::uidl::Gate * G_pGate = 0; +ary::idl::Gate * G_pGate = 0; -ary::uidl::Gate & +ary::idl::Gate & GetAryGate() { csv_assert(G_pGate != 0); return *G_pGate; } - +#if 0 namespace { void Recursive_PutOutNamespace( csi::uidl::Display & o_rDisplay, - const ary::uidl::CeNamespace & - i_rNamespace, - const ary::uidl::Gate & i_rGate ); + const ary::idl::Module & i_rNamespace, + const ary::idl::Gate & i_rGate ); } // anonymous namespace - +#endif // 0 namespace autodoc { @@ -138,9 +140,10 @@ CommandRunner::HasParsedIdl() const CommandRunner::CommandRunner() : pCommandLine(0), pReposy(0), + pNewReposy(0), nResultCode(0) { - Cout() << "\nAutodoc version 2.1" + Cout() << "\nAutodoc version 2.2" << "\n-------------------" << "\n" << Endl(); } @@ -193,11 +196,16 @@ CommandRunner::Parse() << Endl(); if ( pReposy == 0 ) - pReposy = & ary::Repository::Create_( rCmd.ReposyName(), 0 ); + pReposy = & ary::Repository::Create_( rCmd.ReposyName(), 0 ); + if ( pNewReposy == 0 ) + pNewReposy = & ary::n22::Repository::Create_( rCmd.ReposyName() ); Dyn< FileCollector_Ifc > pFiles; pFiles = ParseToolsFactory().Create_FileCollector(6000); + bool bCpp = false; + bool bIDL = false; + command::Parse::ProjectIterator itEnd = rCmd.ProjectsEnd(); for ( command::Parse::ProjectIterator it = rCmd.ProjectsBegin(); it != itEnd; @@ -219,19 +227,26 @@ CommandRunner::Parse() Get_CppParser().Run( (*it)->sName, (*it)->aRootDirectory, *pFiles ); -// pReposy->RwGate_Cpp().Connect_AllTypes_2_TheirRelated_CodeEntites(); + bCpp = true; } break; case command::S_LanguageInfo::idl: { Get_IdlParser().Run(*pFiles); + bIDL = true; } break; default: - Cerr() << "Project in yet unimplemented language skipped." - << Endl(); + Cerr() << "Project in yet unimplemented language skipped." + << Endl(); } - } + } // end for - pReposy->RwGate_Cpp().Connect_AllTypes_2_TheirRelated_CodeEntites(); + if (bCpp) + pReposy->RwGate_Cpp().Connect_AllTypes_2_TheirRelated_CodeEntites(); + if (bIDL) + { + pNewReposy->Gate_Idl().Secondaries().Connect_Types2Ces(); + pNewReposy->Gate_Idl().Secondaries().Gather_CrossReferences(); + } } // end try catch (csv::Exception & xx) @@ -321,7 +336,7 @@ CommandRunner::Create_CppParser() void CommandRunner::Create_IdlParser() { - pIdlParser = new IdlParser(*pReposy); + pIdlParser = new IdlParser(*pNewReposy); } uintt @@ -418,24 +433,18 @@ CommandRunner::CreateHtml_NewStyle() void CommandRunner::CreateHtml_OldIdlStyle() { - ary::uidl::Gate & - rAryGate = pReposy->RwGate_Idl(); -#if 0 // Should become obsolete - G_pGate = &rAryGate; - - ary::uidl::CeNamespace & - rGlobalNamespace = rAryGate.GlobalNamespace(); - - Dyn<csi::uidl::Display> pDisplay; - pDisplay = csi::uidl::Create_HtmlDisplay_( - pCommandLine->Cmd_CreateHtml()->OutputDir(), - DisplayToolsFactory_Ifc::GetIt_() - .Create_StdFrame() ); - Recursive_PutOutNamespace( *pDisplay, - rGlobalNamespace, - rAryGate ); - pDisplay->WriteGlobalIndices(); -#endif // 0 + ary::idl::Gate & + rAryGate = pNewReposy->Gate_Idl(); + + // Read DevManualLinkFile: + // KORR + csv::File + aFile("devmanref.txt", csv::CFM_READ); + if ( aFile.open() ) + { + rAryGate.Secondaries().Read_Links2DevManual(aFile); + aFile.close(); + } // New Style Output Dyn<autodoc::HtmlDisplay_Idl_Ifc> pNewDisplay; @@ -449,25 +458,25 @@ CommandRunner::CreateHtml_OldIdlStyle() } // namespace autodoc +#if 0 namespace { -typedef std::vector< ary::uidl::CeNamespace * > LocalSNList; +typedef std::vector< ary::idl::Module * > LocalSNList; inline void DisplayCe( csi::uidl::Display & o_rDisplay, - ary::Cei i_nID, - const ary::uidl::Gate & i_rGate ) + ary::idl::Ce_id i_nID, + const ary::idl::Gate & i_rGate ) { - ary::CodeEntity2 * pEntity = i_rGate.FindCe(i_nID); - if (pEntity != 0) - pEntity->DisplayAt(o_rDisplay); + const ary::idl::CodeEntity & rEntity = i_rGate.Ces().Find_Ce(i_nID); + rEntity.Visit(o_rDisplay); } void -Recursive_PutOutNamespace( csi::uidl::Display & o_rDisplay, - const ary::uidl::CeNamespace & i_rNamespace, - const ary::uidl::Gate & i_rGate ) +Recursive_PutOutNamespace( csi::uidl::Display & o_rDisplay, + const ary::idl::Module & i_rNamespace, + const ary::idl::Gate & i_rGate ) { static StreamStr sPath(512); sPath.seekp(0); @@ -478,9 +487,9 @@ Recursive_PutOutNamespace( csi::uidl::Display & o_rDisplay, DisplayCe(o_rDisplay, i_rNamespace.Id(), i_rGate); - const ary::uidl::CeNamespace::NameMap & rMap = i_rNamespace.LocalNames(); + const ary::idl::Module::NameMap & rMap = i_rNamespace.LocalNames(); - for ( ary::uidl::CeNamespace::NameMap::const_iterator iter = rMap.begin(); + for ( ary::idl::Module::NameMap::const_iterator iter = rMap.begin(); iter != rMap.end(); ++iter ) { @@ -502,5 +511,7 @@ Recursive_PutOutNamespace( csi::uidl::Display & o_rDisplay, } // anonymous namespace +#endif // 0 + diff --git a/autodoc/source/exes/adc_uni/cmd_run.hxx b/autodoc/source/exes/adc_uni/cmd_run.hxx index 2f1655b6f58b..2a2ae519bb11 100644 --- a/autodoc/source/exes/adc_uni/cmd_run.hxx +++ b/autodoc/source/exes/adc_uni/cmd_run.hxx @@ -2,9 +2,9 @@ * * $RCSfile: cmd_run.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:27 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -73,18 +73,20 @@ namespace ary { class Repository; -} -namespace csi -{ - namespace uidl + namespace n22 { - class Uidl_Parser; + class Repository; } } namespace autodoc { + class Uidl_Parser; +} + +namespace autodoc +{ namespace command { class Parse; @@ -97,7 +99,7 @@ namespace autodoc class ParseToolsFactory_Ifc; class CodeParser_Ifc; class DocumentationParser_Ifc; - typedef csi::uidl::Uidl_Parser IdlParser; + typedef autodoc::Uidl_Parser IdlParser; class CommandRunner @@ -145,6 +147,8 @@ class CommandRunner // DATA const CommandLine * pCommandLine; ary::Repository * pReposy; + ary::n22::Repository * + pNewReposy; int nResultCode; Dyn<CodeParser_Ifc> pCppParser; diff --git a/autodoc/source/exes/adc_uni/makefile.mk b/autodoc/source/exes/adc_uni/makefile.mk index e8b60f216626..f7e20e7186b5 100644 --- a/autodoc/source/exes/adc_uni/makefile.mk +++ b/autodoc/source/exes/adc_uni/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.4 $ +# $Revision: 1.5 $ # -# last change: $Author: np $ $Date: 2002-05-14 09:02:17 $ +# last change: $Author: np $ $Date: 2002-11-01 17:15:32 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -89,20 +89,14 @@ OBJFILES= \ LIB1TARGET=$(LB)$/atdoc.lib LIB1FILES= \ $(LB)$/$(TARGET).lib $(LB)$/autodoc_tools.lib \ - $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_info.lib \ - $(LB)$/ary_loc.lib $(LB)$/ary_store.lib \ + $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_idl.lib \ + $(LB)$/ary_info.lib $(LB)$/ary_loc.lib $(LB)$/ary_store.lib \ $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib $(LB)$/parser_semantic.lib \ $(LB)$/parser_cpp.lib $(LB)$/parser_adoc.lib \ - $(LB)$/csi_html.lib \ - $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_udm2html.lib \ - $(LB)$/ary2_kernel.lib $(LB)$/ary2_uidl.lib \ - $(LB)$/csi2_uidl.lib $(LB)$/csi2_dsapi.lib $(LB)$/csi2_html.lib \ - $(LB)$/parser2_tokens.lib \ + $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_idl.lib \ + $(LB)$/display_toolkit.lib $(LB)$/parser2_tokens.lib \ $(LB)$/parser2_s2_luidl.lib $(LB)$/parser2_s2_dsapi.lib \ - $(LB)$/display2_dsapi.lib -# $(LB)$/comphelp.lib - -# $(LB)$/display_funclist.lib + $(LB)$/ary2_cinfo.lib @@ -121,20 +115,14 @@ APP1LIBS=$(LB)$/atdoc.lib DEPOBJFILES += $(APP1OBJS) APP1DEPN= $(LB)$/$(TARGET).lib $(LB)$/autodoc_tools.lib \ - $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_info.lib \ - $(LB)$/ary_loc.lib $(LB)$/ary_store.lib \ + $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_idl.lib \ + $(LB)$/ary_info.lib $(LB)$/ary_loc.lib $(LB)$/ary_store.lib \ $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib $(LB)$/parser_semantic.lib \ $(LB)$/parser_cpp.lib $(LB)$/parser_adoc.lib \ - $(LB)$/csi_html.lib \ - $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_udm2html.lib \ - $(LB)$/ary2_kernel.lib $(LB)$/ary2_uidl.lib \ - $(LB)$/csi2_uidl.lib $(LB)$/csi2_dsapi.lib $(LB)$/csi2_html.lib \ - $(LB)$/parser2_tokens.lib \ + $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_idl.lib \ + $(LB)$/display_toolkit.lib $(LB)$/parser2_tokens.lib \ $(LB)$/parser2_s2_luidl.lib $(LB)$/parser2_s2_dsapi.lib \ - $(LB)$/display2_dsapi.lib -# $(LB)$/comphelp.lib - -# $(LB)$/display_funclist.lib + $(LB)$/ary2_cinfo.lib .INCLUDE : target.mk diff --git a/autodoc/source/mkinc/fullcpp.mk b/autodoc/source/mkinc/fullcpp.mk index ad04ae6eb320..8e16183202c2 100644 --- a/autodoc/source/mkinc/fullcpp.mk +++ b/autodoc/source/mkinc/fullcpp.mk @@ -2,9 +2,9 @@ # # $RCSfile: fullcpp.mk,v $ # -# $Revision: 1.3 $ +# $Revision: 1.4 $ # -# last change: $Author: hjs $ $Date: 2002-09-04 15:57:06 $ +# last change: $Author: np $ $Date: 2002-11-01 17:15:33 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -77,12 +77,12 @@ CFLAGS+= -GR # Precompiled Headers PCH_NAME= autodoc .IF "$(DEBUG)"=="" -CFLAGS+= -YX"precomp.h" /Fp$(PRJ)$/$(INPATH)$/misc$/$(PCH_NAME).pch +CFLAGS+= -YX"precomp.h" -Fp$(PRJ)$/$(INPATH)$/misc$/$(PCH_NAME).pch .ELSE -CFLAGS+= -YX"precomp.h" /Fp$(PRJ)$/$(INPATH)$/misc$/$(PCH_NAME).pcd -DNP_LOCALBUILD +CFLAGS+= -YX"precomp.h" -Fp$(PRJ)$/$(INPATH)$/misc$/$(PCH_NAME).pcd -DNP_LOCALBUILD .ENDIF -.ENDIF +.ENDIF .ENDIF @@ -90,4 +90,3 @@ CFLAGS+= -YX"precomp.h" /Fp$(PRJ)$/$(INPATH)$/misc$/$(PCH_NAME).pcd -DNP_LOCALBU CFLAGSCXX+= -frtti .ENDIF - diff --git a/autodoc/source/parser/adoc/docu_pe.cxx b/autodoc/source/parser/adoc/docu_pe.cxx index 67ca8448857d..b5d3ac002f1f 100644 --- a/autodoc/source/parser/adoc/docu_pe.cxx +++ b/autodoc/source/parser/adoc/docu_pe.cxx @@ -2,9 +2,9 @@ * * $RCSfile: docu_pe.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:28 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -179,7 +179,7 @@ Adoc_PE::Hdl_at_obsolete( const Tok_at_obsolete & i_rTok ) void Adoc_PE::Hdl_at_module( const Tok_at_module & i_rTok ) { - // KORR + // KORR_FUTURE // pCurAtTag = CurDocu().Assign2_ModuleTag(); // nCurSpecialMeaningTokens = pCurAtTag->NrOfSpecialMeaningTokens(); @@ -188,7 +188,7 @@ Adoc_PE::Hdl_at_module( const Tok_at_module & i_rTok ) void Adoc_PE::Hdl_at_file( const Tok_at_file & i_rTok ) { - // KORR + // KORR_FUTURE // pCurAtTag = CurDocu().Assign2_FileTag(); // nCurSpecialMeaningTokens = pCurAtTag->NrOfSpecialMeaningTokens(); @@ -197,7 +197,7 @@ Adoc_PE::Hdl_at_file( const Tok_at_file & i_rTok ) void Adoc_PE::Hdl_at_gloss( const Tok_at_gloss & i_rTok ) { - // KORR + // KORR_FUTURE // Create_GlossaryEntry(); } @@ -205,14 +205,14 @@ Adoc_PE::Hdl_at_gloss( const Tok_at_gloss & i_rTok ) void Adoc_PE::Hdl_at_global( const Tok_at_global & i_rTok ) { - // KORR + // KORR_FUTURE // Create_GlobalTextComponent(); } void Adoc_PE::Hdl_at_include( const Tok_at_include & i_rTok ) { - // KORR + // KORR_FUTURE } void diff --git a/autodoc/source/parser/adoc/tk_attag.cxx b/autodoc/source/parser/adoc/tk_attag.cxx index c3f25e3c246c..7f0da54a55b8 100644 --- a/autodoc/source/parser/adoc/tk_attag.cxx +++ b/autodoc/source/parser/adoc/tk_attag.cxx @@ -2,9 +2,9 @@ * * $RCSfile: tk_attag.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:28 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -66,7 +66,6 @@ // NOT FULLY DEFINED SERVICES #include <adoc/tokintpr.hxx> -INSTANCIATE_ENUM(adoc::E_AtTagId); namespace adoc { diff --git a/autodoc/source/parser_i/idl/cx_idlco.cxx b/autodoc/source/parser_i/idl/cx_idlco.cxx index 4216275ffb2e..050d7c72a160 100644 --- a/autodoc/source/parser_i/idl/cx_idlco.cxx +++ b/autodoc/source/parser_i/idl/cx_idlco.cxx @@ -2,9 +2,9 @@ * * $RCSfile: cx_idlco.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:35 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -130,15 +130,23 @@ const UINT16 nTok_mt_interface = 300 + TokMetaType::mt_interface; const UINT16 nTok_mt_module = 300 + TokMetaType::mt_module; const UINT16 nTok_mt_property = 300 + TokMetaType::mt_property; const UINT16 nTok_mt_service = 300 + TokMetaType::mt_service; +const UINT16 nTok_mt_singleton = 300 + TokMetaType::mt_singleton; const UINT16 nTok_mt_struct = 300 + TokMetaType::mt_struct; const UINT16 nTok_mt_typedef = 300 + TokMetaType::mt_typedef; const UINT16 nTok_mt_uik = 300 + TokMetaType::mt_uik; +const UINT16 nTok_ste_bound = 400 + TokStereotype::ste_bound; +const UINT16 nTok_ste_constrained = 400 + TokStereotype::ste_constrained; const UINT16 nTok_ste_const = 400 + TokStereotype::ste_const; +const UINT16 nTok_ste_maybeambiguous = 400 + TokStereotype::ste_maybeambiguous; +const UINT16 nTok_ste_maybedefault = 400 + TokStereotype::ste_maybedefault; +const UINT16 nTok_ste_maybevoid = 400 + TokStereotype::ste_maybevoid; const UINT16 nTok_ste_oneway = 400 + TokStereotype::ste_oneway; const UINT16 nTok_ste_optional = 400 + TokStereotype::ste_optional; const UINT16 nTok_ste_readonly = 400 + TokStereotype::ste_readonly; +const UINT16 nTok_ste_removable = 400 + TokStereotype::ste_removable; const UINT16 nTok_ste_virtual = 400 + TokStereotype::ste_virtual; +const UINT16 nTok_ste_transient = 400 + TokStereotype::ste_transient; const UINT16 nTok_raises = 501; const UINT16 nTok_needs = 502; @@ -474,10 +482,13 @@ Context_UidlCode::SetupStateMachine() aStateMachine.AddToken("any", nTok_bty_any, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("attribute", nTok_mt_attribute, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("boolean", nTok_bty_boolean, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("bound", nTok_ste_bound, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("byte", nTok_bty_byte, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("char", nTok_bty_char, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("const", nTok_ste_const, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("constants", nTok_mt_constants, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("constrained", + nTok_ste_constrained, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("double", nTok_bty_double, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("enum", nTok_mt_enum, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("exception", nTok_mt_exception, A_nKeywordDefStatus, finKeyw); @@ -487,6 +498,11 @@ Context_UidlCode::SetupStateMachine() aStateMachine.AddToken("inout", nTok_ph_inout, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("interface", nTok_mt_interface, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("long", nTok_bty_long, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("maybeambiguous", + nTok_ste_maybeambiguous,A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("maybedefault", + nTok_ste_maybedefault, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("maybevoid", nTok_ste_maybevoid, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("module", nTok_mt_module, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("needs", nTok_needs, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("observes", nTok_observes, A_nKeywordDefStatus, finKeyw); @@ -496,11 +512,14 @@ Context_UidlCode::SetupStateMachine() aStateMachine.AddToken("property", nTok_mt_property, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("raises", nTok_raises, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("readonly", nTok_ste_readonly, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("removable", nTok_ste_removable, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("sequence", nTok_tmod_sequence, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("service", nTok_mt_service, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("short", nTok_bty_short, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("singleton", nTok_mt_singleton, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("string", nTok_bty_string, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("struct", nTok_mt_struct, A_nKeywordDefStatus, finKeyw); + aStateMachine.AddToken("transient", nTok_ste_transient, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("typedef", nTok_mt_typedef, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("uik", nTok_mt_uik, A_nKeywordDefStatus, finKeyw); aStateMachine.AddToken("unsigned", nTok_tmod_unsigned, A_nKeywordDefStatus, finKeyw); diff --git a/autodoc/source/parser_i/idl/distrib.cxx b/autodoc/source/parser_i/idl/distrib.cxx index dc859458783c..6c1f32eb66c1 100644 --- a/autodoc/source/parser_i/idl/distrib.cxx +++ b/autodoc/source/parser_i/idl/distrib.cxx @@ -2,9 +2,9 @@ * * $RCSfile: distrib.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:35 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -82,7 +82,7 @@ namespace csi namespace uidl { -TokenDistributor::TokenDistributor( ary::Repository & io_rRepository ) +TokenDistributor::TokenDistributor( ary::n22::Repository & io_rRepository ) : pTokenSource(0), aProcessingData( io_rRepository, aDocumentation ) // aDocumentation @@ -105,7 +105,7 @@ TokenDistributor::TradeToken() aProcessingData.ProcessCurToken(); } -TokenDistributor::ProcessingData::ProcessingData( ary::Repository & io_rRepository, +TokenDistributor::ProcessingData::ProcessingData( ary::n22::Repository & io_rRepository, Documentation & i_rDocuProcessor ) : // aEnvironments // aTokenQueue diff --git a/autodoc/source/parser_i/idl/makefile.mk b/autodoc/source/parser_i/idl/makefile.mk index 20dcb4539d26..16d7adcb88ac 100644 --- a/autodoc/source/parser_i/idl/makefile.mk +++ b/autodoc/source/parser_i/idl/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1.1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ +# last change: $Author: np $ $Date: 2002-11-01 17:15:35 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -94,6 +94,7 @@ OBJFILES= \ $(OBJ)$/pe_iface.obj \ $(OBJ)$/pe_selem.obj \ $(OBJ)$/pe_servi.obj \ + $(OBJ)$/pe_singl.obj \ $(OBJ)$/pe_struc.obj \ $(OBJ)$/pe_tydf2.obj \ $(OBJ)$/pe_type2.obj \ diff --git a/autodoc/source/parser_i/idl/parsenv2.cxx b/autodoc/source/parser_i/idl/parsenv2.cxx index 5fb04a232de1..4657b57a7f72 100644 --- a/autodoc/source/parser_i/idl/parsenv2.cxx +++ b/autodoc/source/parser_i/idl/parsenv2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: parsenv2.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2002-08-13 14:49:28 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,20 +61,17 @@ #include <precomp.h> - -// [ed] 6/15/02 The OS X compilers require full class definitions at the time -// of template instantiation -#ifdef MACOSX -#include <ary_i/codeinf2.hxx> -#endif - #include <s2_luidl/parsenv2.hxx> -#include <s2_luidl/uidl_tok.hxx> // NOT FULLY DEFINED SERVICES -#include <ary_i/uidl/gate.hxx> +#include <ary/qualiname.hxx> #include <ary_i/codeinf2.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_ce.hxx> +#include <ary/idl/ip_ce.hxx> +#include <s2_luidl/uidl_tok.hxx> +#include <x_parse2.hxx> @@ -91,7 +88,7 @@ UnoIDL_PE::~UnoIDL_PE() void UnoIDL_PE::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { aMyNode.EstablishContacts(io_pParentPE, io_rRepository, o_rResult); @@ -112,7 +109,7 @@ UnoIDL_PE::Enter( E_EnvStackAction i_eWayOfEntering ) ReceiveData(); break; case pop_failure: - csv_assert(false); + throw X_AutodocParser(X_AutodocParser::x_Any); break; default: csv_assert(false); @@ -133,7 +130,7 @@ UnoIDL_PE::Leave( E_EnvStackAction i_eWayOfLeaving ) TransferData(); break; case pop_failure: - csv_assert(false); + throw X_AutodocParser(X_AutodocParser::x_Any); break; default: csv_assert(false); @@ -153,13 +150,18 @@ UnoIDL_PE::SetOptional() } void -UnoIDL_PE::PassDocuAt( ary::Cei i_nCeId ) +UnoIDL_PE::PassDocuAt( ary::idl::CodeEntity & io_rCe ) { if (pDocu) { - ary::CodeEntity2 * pCe = Gate().FindCe(i_nCeId); - csv_assert(pCe != 0); - pCe->SetDocu(*pDocu.Release()); + io_rCe.Set_Docu(pDocu.Release()); + } + else if (io_rCe.ClassId() != ary::idl::Module::class_id) + { + Cout() << "Warning: " + << io_rCe.LocalName() + << " has no documentation." + << Endl(); } } @@ -175,7 +177,7 @@ UnoIDL_PE::ReceiveData() // Needs not anything to do. } -ary::uidl::CeNamespace & +const ary::idl::Module & UnoIDL_PE::CurNamespace() const { if ( Parent() != 0 ) @@ -183,19 +185,10 @@ UnoIDL_PE::CurNamespace() const else { csv_assert(false); - return *(ary::uidl::CeNamespace*)0; + return *(const ary::idl::Module*)0; } } -ary::Cei -UnoIDL_PE::MatchingNamespace( const QuName & i_rQualification ) -{ - if (i_rQualification.IsQualified()) - return Gate().CheckInModule(i_rQualification).Id(); - else - return CurNamespace().Id(); -} - } // namespace uidl } // namespace csi diff --git a/autodoc/source/parser_i/idl/pe_attri.cxx b/autodoc/source/parser_i/idl/pe_attri.cxx index f7b056ea5bf7..c31da74d1398 100644 --- a/autodoc/source/parser_i/idl/pe_attri.cxx +++ b/autodoc/source/parser_i/idl/pe_attri.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_attri.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,12 +65,16 @@ // NOT FULLY DEFINED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_attribute.hxx> +#include <ary/idl/i_property.hxx> +#include <ary/idl/i_service.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_vari2.hxx> #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <csi/l_uidl/attrib.hxx> @@ -81,24 +85,23 @@ namespace uidl -PE_Attribute::PE_Attribute( RAttribute & o_rResult, - const RInterface & i_rCurInterface ) +PE_Attribute::PE_Attribute( Ce_id & i_rCurOwner, + E_ParsedType i_eCeType ) : eState(e_none), - pData(0), - pResult(&o_rResult), - pCurInterface(&i_rCurInterface), + pCurOwner(&i_rCurOwner), pPE_Variable(0), - aCurParsedType(0), - sCurParsedName(""), + nCurParsedType(0), + sCurParsedName(), bIsOptional(false), - bIsReadonly(false) + aStereotypes(), + eCeType(i_eCeType) { - pPE_Variable = new PE_Variable(aCurParsedType, sCurParsedName); + pPE_Variable = new PE_Variable(nCurParsedType, sCurParsedName); } void PE_Attribute::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -118,21 +121,43 @@ PE_Attribute::ProcessToken( const Token & i_rToken ) void PE_Attribute::Process_Stereotype( const TokStereotype & i_rToken ) { - if (i_rToken.Id() == TokStereotype::ste_readonly) + switch (i_rToken.Id()) { - pData->Data().bReadonly = true; - SetResult(done, stay); - return; - } - else if (i_rToken.Id() == TokStereotype::ste_optional) - { - bIsOptional = true; - SetResult(done, stay); - return; + case TokStereotype::ste_optional: + bIsOptional = true; + break; + case TokStereotype::ste_readonly: + aStereotypes.Set_Flag(Stereotypes::readonly); + break; + case TokStereotype::ste_bound: + aStereotypes.Set_Flag(Stereotypes::bound); + break; + case TokStereotype::ste_constrained: + aStereotypes.Set_Flag(Stereotypes::constrained); + break; + case TokStereotype::ste_maybeambiguous: + aStereotypes.Set_Flag(Stereotypes::maybeambigious); + break; + case TokStereotype::ste_maybedefault: + aStereotypes.Set_Flag(Stereotypes::maybedefault); + break; + case TokStereotype::ste_maybevoid: + aStereotypes.Set_Flag(Stereotypes::maybevoid); + break; + case TokStereotype::ste_removable: + aStereotypes.Set_Flag(Stereotypes::removable); + break; + case TokStereotype::ste_transient: + aStereotypes.Set_Flag(Stereotypes::transient); + break; + + default: + SetResult(not_done, pop_failure); + eState = e_none; + return; } - SetResult(not_done, pop_failure); - eState = e_none; + SetResult(done, stay); } void @@ -140,14 +165,17 @@ PE_Attribute::Process_MetaType( const TokMetaType & i_rToken ) { if (eState == e_start) { - if ( i_rToken.Id() == TokMetaType::mt_attribute OR - i_rToken.Id() == TokMetaType::mt_property ) + if ( i_rToken.Id() == TokMetaType::mt_property + AND eCeType == parse_property + OR + i_rToken.Id() == TokMetaType::mt_attribute + AND eCeType == parse_attribute ) { SetResult(done, stay); eState = expect_variable; return; } - } + } // endif (eState == e_start) SetResult(not_done, pop_failure); eState = e_none; @@ -194,12 +222,14 @@ PE_Attribute::InitData() { eState = e_start; - pData = new Attribute; - *pResult = 0; - aCurParsedType = 0; + nCurParsedType = 0; sCurParsedName = ""; - // bIsOptional may be preset by the PE_Service-parent with PresetOptional() + // bIsOptional and + // aStereotypes + // may be preset by the PE_Service-(or PE_Interface-)parent + // with PresetOptional() or + // PresetStereotype() // - therefore it must not be set here! } @@ -211,16 +241,34 @@ PE_Attribute::TransferData() SetOptional(); bIsOptional = false; } - if (bIsReadonly) + + ary::idl::CodeEntity * + pCe = 0; + csv_assert(pCurOwner->IsValid()); + if (eCeType == parse_property) + { + pCe = &Gate().Ces().Store_Property( *pCurOwner, + sCurParsedName, + nCurParsedType, + aStereotypes ); + } + else if (eCeType == parse_attribute) { - pData->Data().bReadonly = true; - bIsReadonly = false; + pCe = &Gate().Ces().Store_Attribute( *pCurOwner, + sCurParsedName, + nCurParsedType, + aStereotypes.IsReadOnly() ); } + else + { + csv_assert(false); + } + csv_assert(pCe != 0); + PassDocuAt(*pCe); - *pResult = Gate().Store_Attribute( pCurInterface->Id(), *pData ); - PassDocuAt(pResult->Id()); - - pData = 0; + nCurParsedType = 0; + sCurParsedName.clear(); + aStereotypes = Stereotypes(); eState = e_none; } @@ -228,8 +276,6 @@ PE_Attribute::TransferData() void PE_Attribute::ReceiveData() { - pData->Data().pType = aCurParsedType; - pData->Data().sName = sCurParsedName; eState = expect_variable; } @@ -237,7 +283,7 @@ PE_Attribute::ReceiveData() UnoIDL_PE & PE_Attribute::MyPE() { - return *this; + return *this; } diff --git a/autodoc/source/parser_i/idl/pe_const.cxx b/autodoc/source/parser_i/idl/pe_const.cxx index 2ec084f02666..025be8c30bd2 100644 --- a/autodoc/source/parser_i/idl/pe_const.cxx +++ b/autodoc/source/parser_i/idl/pe_const.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_const.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,14 +63,16 @@ #include <s2_luidl/pe_const.hxx> // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_constant.hxx> +#include <ary/idl/i_constgroup.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/pe_evalu.hxx> #include <s2_luidl/tk_punct.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_keyw.hxx> -#include <csi/l_uidl/constant.hxx> -#include <ary_i/uidl/gate.hxx> namespace csi @@ -109,20 +111,21 @@ PE_Constant::CallHandler( const char * i_sTokenText, PE_Constant::PE_Constant() : eState(e_none), - pData(0), + sData_Name(), + nDataId(0), pPE_Type(0), - pType(0), - pPE_Value(0) - // sName - // sAssignment + nType(0), + pPE_Value(0), + sName(), + sAssignment() { - pPE_Type = new PE_Type(pType); - pPE_Value = new PE_Value(sName, sAssignment,true); + pPE_Type = new PE_Type(nType); + pPE_Value = new PE_Value(sName, sAssignment, true); } void PE_Constant::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -172,10 +175,13 @@ PE_Constant::On_expect_curl_bracket_open_Punctuation(const char * i_sText) { if ( i_sText[0] == '{') { - pData = new ConstantsGroup; - pData->sName = sName; - nDataId = Gate().Store_ConstantsGroup(CurNamespace().Id(),*pData).Id(); - PassDocuAt(nDataId); + sData_Name = sName; + + ary::idl::ConstantsGroup & + rCe = Gate().Ces(). + Store_ConstantsGroup(CurNamespace().CeId(),sData_Name); + PassDocuAt(rCe); + nDataId = rCe.CeId(); SetResult(done,stay); eState = expect_const; @@ -236,7 +242,7 @@ PE_Constant::On_Default(const char * ) void PE_Constant::EmptySingleConstData() { - pType = 0; + nType = 0; sName = ""; sAssignment = ""; } @@ -244,16 +250,12 @@ PE_Constant::EmptySingleConstData() void PE_Constant::CreateSingleConstant() { - Constant * dpConst = new Constant; - - dpConst->Data().sName = sName; - dpConst->Data().sValue = sAssignment; - dpConst->Data().pType = pType; - - ary::Cei nId = Gate().Store_Constant( nDataId, *dpConst ).Id(); - pPE_Type->PassDocuAt(nId); - - pData->aConstants.push_back(nId); + ary::idl::Constant & + rCe = Gate().Ces().Store_Constant( nDataId, + sName, + nType, + sAssignment ); + pPE_Type->PassDocuAt(rCe); } void @@ -261,7 +263,7 @@ PE_Constant::InitData() { eState = expect_name; - pData = 0; + sData_Name.clear(); nDataId = 0; EmptySingleConstData(); @@ -277,7 +279,7 @@ PE_Constant::ReceiveData() break; case expect_value: { - if (sName.length() == 0 OR sAssignment.length() == 0 OR NOT pType) + if (sName.length() == 0 OR sAssignment.length() == 0 OR NOT nType.IsValid()) { Cerr() << "Constant without value found." << Endl(); eState = expect_const; @@ -297,7 +299,7 @@ PE_Constant::ReceiveData() void PE_Constant::TransferData() { - csv_assert(pData != 0); + csv_assert(nDataId.IsValid()); eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_enum2.cxx b/autodoc/source/parser_i/idl/pe_enum2.cxx index 32aedc79f6e4..42f2b284e105 100644 --- a/autodoc/source/parser_i/idl/pe_enum2.cxx +++ b/autodoc/source/parser_i/idl/pe_enum2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_enum2.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,14 +65,15 @@ // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_enum.hxx> +#include <ary/idl/i_enumvalue.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_evalu.hxx> #include <s2_luidl/tk_punct.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_keyw.hxx> -#include <csi/l_uidl/enum.hxx> -#include <csi/l_uidl/enumvalu.hxx> -#include <ary_i/uidl/gate.hxx> namespace csi @@ -109,18 +110,19 @@ PE_Enum::CallHandler( const char * i_sTokenText, PE_Enum::PE_Enum() : eState(e_none), - pData(0), - pPE_Value(0) - // sName - // sAssignment + sData_Name(), + nDataId(0), + pPE_Value(0), + sName(), + sAssignment() { pPE_Value = new PE_Value(sName, sAssignment, false); } void PE_Enum::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, - TokenProcessing_Result & o_rResult ) + ary::n22::Repository & io_rRepository, + TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); pPE_Value->EstablishContacts(this,io_rRepository,o_rResult); @@ -162,10 +164,11 @@ PE_Enum::On_expect_curl_bracket_open_Punctuation(const char * i_sText) { if ( i_sText[0] == '{') { - pData = new Enum; - pData->Data().sName = sName; - nDataId = Gate().Store_Enum(CurNamespace().Id(),*pData).Id(); - PassDocuAt(nDataId); + sData_Name = sName; + ary::idl::Enum & + rCe = Gate().Ces().Store_Enum(CurNamespace().CeId(), sData_Name); + PassDocuAt(rCe); + nDataId = rCe.CeId(); SetResult(done,stay); eState = expect_value; @@ -227,15 +230,9 @@ PE_Enum::EmptySingleValueData() void PE_Enum::CreateSingleValue() { - DYN EnumValue * dpValue = new EnumValue; - - dpValue->Data().sName = sName; - dpValue->Data().sValue = sAssignment; - - ary::Cei nId = Gate().Store_EnumValue( nDataId, *dpValue ).Id(); - pPE_Value->PassDocuAt(nId); - - pData->Data().aValues.push_back(nId); + ary::idl::EnumValue & + rCe = Gate().Ces().Store_EnumValue( nDataId, sName, sAssignment ); + pPE_Value->PassDocuAt(rCe); } void @@ -243,7 +240,7 @@ PE_Enum::InitData() { eState = expect_name; - pData = 0; + sData_Name.clear(); nDataId = 0; EmptySingleValueData(); @@ -274,7 +271,7 @@ PE_Enum::ReceiveData() void PE_Enum::TransferData() { - csv_assert(pData != 0); + csv_assert(sData_Name.length() > 0); eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_evalu.cxx b/autodoc/source/parser_i/idl/pe_evalu.cxx index 1f8b5917ed7e..589d39ebe609 100644 --- a/autodoc/source/parser_i/idl/pe_evalu.cxx +++ b/autodoc/source/parser_i/idl/pe_evalu.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_evalu.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,6 +63,9 @@ #include <s2_luidl/pe_evalu.hxx> // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_enumvalue.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> @@ -112,7 +115,7 @@ PE_Value::PE_Value( udmstri & o_rName, void PE_Value::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); diff --git a/autodoc/source/parser_i/idl/pe_excp.cxx b/autodoc/source/parser_i/idl/pe_excp.cxx index 2c174dae68c8..9a27279ae6ab 100644 --- a/autodoc/source/parser_i/idl/pe_excp.cxx +++ b/autodoc/source/parser_i/idl/pe_excp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_excp.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -64,15 +64,16 @@ // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_exception.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_structelem.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/pe_selem.hxx> -#include <csi/l_uidl/except.hxx> -#include <csi/l_uidl/struelem.hxx> -#include <ary_i/uidl/gate.hxx> @@ -91,7 +92,7 @@ PE_Exception::PE_Exception() void PE_Exception::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -122,8 +123,8 @@ PE_Exception::TransferData() { if (NOT Work().bIsPreDeclaration) { - csv_assert(Work().pData != 0); - csv_assert(Work().pCurStruct); + csv_assert(Work().sData_Name.size() > 0); + csv_assert(Work().nCurStruct.IsValid()); } Stati().pCurStatus = &Stati().aNone; } @@ -134,53 +135,51 @@ PE_Exception::ReceiveData() Stati().pCurStatus->On_SubPE_Left(); } +const bool C_bIsExceptionElement = true; // Means:Yes, is an ExceptionElement. + PE_Exception::S_Work::S_Work() - : // pData + : sData_Name(), bIsPreDeclaration(false), - pCurStruct(0), + nCurStruct(0), pPE_Element(0), - aCurParsed_ElementRef(0), - pPE_Type(0) - // aCurParsed_Base + nCurParsed_ElementRef(0), + pPE_Type(0), + nCurParsed_Base(0) { - pPE_Element = new PE_StructElement(aCurParsed_ElementRef,pCurStruct); - pPE_Type = new PE_Type(aCurParsed_Base); + pPE_Element = new PE_StructElement(nCurParsed_ElementRef,nCurStruct,C_bIsExceptionElement); + pPE_Type = new PE_Type(nCurParsed_Base); } void PE_Exception::S_Work::InitData() { - pData = new Exception; + sData_Name.clear(); bIsPreDeclaration = false; - pCurStruct = 0; + nCurStruct = 0; + + nCurParsed_ElementRef = 0; + nCurParsed_Base = 0; } void PE_Exception::S_Work::Prepare_PE_QualifiedName() { - aCurParsed_ElementRef = 0; + nCurParsed_ElementRef = 0; } void PE_Exception::S_Work::Prepare_PE_Element() { - aCurParsed_Base = 0; + nCurParsed_Base = 0; } void PE_Exception::S_Work::Data_Set_Name( const char * i_sName ) { - pData->Data().sName = i_sName; + sData_Name = i_sName; } -void -PE_Exception::S_Work::Data_Add_CurParsed_ElementRef() -{ - pData->Data().aElements.push_back(aCurParsed_ElementRef); -} - - PE_Exception::S_Stati::S_Stati(PE_Exception & io_rStruct) : aNone(io_rStruct), aWaitForName(io_rStruct), @@ -218,13 +217,6 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke { if ( i_rToken.Id() != TokPunctuation::Semicolon ) { - Work().pCurStruct = - PE().Gate().Store_Exception( - PE().CurNamespace().Id(), - *Work().pData ); - PE().PassDocuAt(Work().pCurStruct.Id()); - - switch (i_rToken.Id()) { case TokPunctuation::Colon: @@ -233,6 +225,7 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke Work().Prepare_PE_QualifiedName(); break; case TokPunctuation::CurledBracketOpen: + PE().store_Exception(); MoveState( Stati().aWaitForElement ); SetResult(done,stay); break; @@ -242,7 +235,7 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke } else { - Delete_dyn(Work().pData); + Work().sData_Name.clear(); SetResult(done,pop_success); } } @@ -250,7 +243,6 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke void PE_Exception::State_WaitForBase::On_SubPE_Left() { - Work().pData->Data().pBaseException = Work().aCurParsed_Base; MoveState(Stati().aGotBase); } @@ -259,6 +251,7 @@ PE_Exception::State_GotBase::Process_Punctuation( const TokPunctuation & i_rToke { if ( i_rToken.Id() == TokPunctuation::CurledBracketOpen ) { + PE().store_Exception(); MoveState( Stati().aWaitForElement ); SetResult(done,stay); } @@ -311,12 +304,6 @@ PE_Exception::State_WaitForElement::Process_Punctuation( const TokPunctuation & } void -PE_Exception::State_WaitForElement::On_SubPE_Left() -{ - Work().Data_Add_CurParsed_ElementRef(); -} - -void PE_Exception::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rToken ) { if (i_rToken.Id() == TokPunctuation::Semicolon) @@ -330,7 +317,18 @@ PE_Exception::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i } } +void +PE_Exception::store_Exception() +{ + ary::idl::Exception & + rCe = Gate().Ces().Store_Exception( + CurNamespace().CeId(), + Work().sData_Name, + Work().nCurParsed_Base ); + PassDocuAt(rCe); + Work().nCurStruct = rCe.Id(); +} + } // namespace uidl } // namespace csi - diff --git a/autodoc/source/parser_i/idl/pe_file2.cxx b/autodoc/source/parser_i/idl/pe_file2.cxx index 88212205063b..0fda80cb27b2 100644 --- a/autodoc/source/parser_i/idl/pe_file2.cxx +++ b/autodoc/source/parser_i/idl/pe_file2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_file2.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -64,10 +64,14 @@ // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/distrib.hxx> #include <s2_luidl/pe_servi.hxx> #include <s2_luidl/pe_iface.hxx> +#include <s2_luidl/pe_singl.hxx> #include <s2_luidl/pe_struc.hxx> #include <s2_luidl/pe_excp.hxx> #include <s2_luidl/pe_const.hxx> @@ -76,8 +80,6 @@ #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <ary_i/uidl/gate.hxx> -#include <ary_i/uidl/cenamesp.hxx> @@ -91,6 +93,7 @@ namespace uidl PE_File::PE_File( TokenDistributor & i_rTokenAdmin ) : pTokenAdmin(&i_rTokenAdmin), pPE_Service(new PE_Service), + pPE_Singleton(new PE_Singleton), pPE_Interface(new PE_Interface), pPE_Struct(new PE_Struct), pPE_Exception(new PE_Exception), @@ -105,11 +108,12 @@ PE_File::PE_File( TokenDistributor & i_rTokenAdmin ) void PE_File::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); pPE_Service->EstablishContacts(this,io_rRepository,o_rResult); + pPE_Singleton->EstablishContacts(this,io_rRepository,o_rResult); pPE_Interface->EstablishContacts(this,io_rRepository,o_rResult); pPE_Struct->EstablishContacts(this,io_rRepository,o_rResult); pPE_Exception->EstablishContacts(this,io_rRepository,o_rResult); @@ -117,7 +121,7 @@ PE_File::EstablishContacts( UnoIDL_PE * io_pParentPE, pPE_Enum->EstablishContacts(this,io_rRepository,o_rResult); pPE_Typedef->EstablishContacts(this,io_rRepository,o_rResult); - pCurNamespace = &Gate().GlobalNamespace(); + pCurNamespace = &Gate().Ces().GlobalNamespace(); } PE_File::~PE_File() @@ -139,12 +143,12 @@ PE_File::Process_Identifier( const TokIdentifier & i_rToken ) { csv_assert(pCurNamespace != 0); - ary::Cei nNspId = Gate().CheckInModule(pCurNamespace->Id(), i_rToken.Text()).Id(); - pCurNamespace = Gate().FindNamespace(nNspId); + ary::idl::Module & rCe = Gate().Ces().CheckIn_Module(pCurNamespace->CeId(), i_rToken.Text()); + pCurNamespace = &rCe; // Get docu out of normal: SetDocu(pTokenAdmin->ReleaseLastParsedDocu()); - PassDocuAt(nNspId); + PassDocuAt(rCe); csv_assert(pCurNamespace != 0); @@ -169,7 +173,7 @@ PE_File::Process_Punctuation( const TokPunctuation & i_rToken ) { csv_assert(pCurNamespace != 0); - pCurNamespace = pCurNamespace->Parent(); + pCurNamespace = &Gate().Ces().Find_Module(pCurNamespace->Owner()); SetResult(done, stay); eState = wait_for_module_semicolon; @@ -233,6 +237,10 @@ PE_File::Process_MetaType( const TokMetaType & i_rToken ) eState = in_sub_pe; SetResult( not_done, push_sure, pPE_Service.Ptr()); break; + case TokMetaType::mt_singleton: + eState = in_sub_pe; + SetResult( not_done, push_sure, pPE_Singleton.Ptr()); + break; case TokMetaType::mt_uik: Cerr() << "Syntax error: [uik ....] is obsolete now." << Endl(); SetResult( not_done, pop_failure); @@ -282,7 +290,7 @@ PE_File::Process_Default() SetResult(done, stay); } -ary::uidl::CeNamespace & +const ary::idl::Module & PE_File::CurNamespace() const { csv_assert(pCurNamespace); diff --git a/autodoc/source/parser_i/idl/pe_func2.cxx b/autodoc/source/parser_i/idl/pe_func2.cxx index b13905642d1b..8e5236b44da5 100644 --- a/autodoc/source/parser_i/idl/pe_func2.cxx +++ b/autodoc/source/parser_i/idl/pe_func2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_func2.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,13 +65,16 @@ // NOT FULLY DEFINED SERVICES +#include <ary/idl/i_function.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/pe_vari2.hxx> #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <csi/l_uidl/function.hxx> +#include <x_parse2.hxx> namespace csi @@ -83,25 +86,29 @@ namespace uidl PE_Function::PE_Function( RFunction & o_rResult, const RInterface & i_rCurInterface ) : eState(e_none), - pData(0), + sData_Name(), + nData_ReturnType(0), + bData_Const(false), + bData_Oneway(false), + pCurFunction(0), pResult(&o_rResult), pCurInterface(&i_rCurInterface), pPE_Type(0), - aCurParsedType(0), - // sName, + nCurParsedType(0), + sName(), pPE_Variable(0), - eCurParsedParam_Direction(param_in), - aCurParsedParam_Type(0) - // sCurParsedParam_Name + eCurParsedParam_Direction(ary::idl::param_in), + nCurParsedParam_Type(0), + sCurParsedParam_Name() { - pPE_Type = new PE_Type(aCurParsedType); - pPE_Variable = new PE_Variable(aCurParsedParam_Type, sCurParsedParam_Name); + pPE_Type = new PE_Type(nCurParsedType); + pPE_Variable = new PE_Variable(nCurParsedParam_Type, sCurParsedParam_Name); } void PE_Function::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -127,11 +134,11 @@ PE_Function::Process_Stereotype( const TokStereotype & i_rToken ) switch (i_rToken.Id()) { case TokStereotype::ste_const: - pData->Data().bConst = true; + bData_Const = true; SetResult(done, stay); break; case TokStereotype::ste_oneway: - pData->Data().bOneway = true; + bData_Oneway = true; SetResult(done, stay); break; default: @@ -151,9 +158,19 @@ PE_Function::Process_Identifier( const TokIdentifier & i_rToken ) GoIntoReturnType(); break; case expect_name: - pData->Data().sName = i_rToken.Text(); + sData_Name = i_rToken.Text(); SetResult(done,stay); eState = expect_params_list; + pCurFunction = &Gate().Ces().Store_Function( + *pCurInterface, + sData_Name, + nData_ReturnType, + bData_Oneway, + bData_Const ); + *pResult = pCurFunction->CeId(); + PassDocuAt(*pCurFunction); + + break; case expect_parameter_variable: GoIntoParameterVariable(); @@ -265,13 +282,13 @@ PE_Function::Process_ParameterHandling( const TokParameterHandling & i_rToken ) switch (i_rToken.Id()) { case TokParameterHandling::ph_in: - eCurParsedParam_Direction = param_in; + eCurParsedParam_Direction = ary::idl::param_in; break; case TokParameterHandling::ph_out: - eCurParsedParam_Direction = param_out; + eCurParsedParam_Direction = ary::idl::param_out; break; case TokParameterHandling::ph_inout: - eCurParsedParam_Direction = param_inout; + eCurParsedParam_Direction = ary::idl::param_inout; break; default: csv_assert(false); @@ -335,19 +352,25 @@ PE_Function::GoIntoException() void PE_Function::OnDefault() { - csv_assert(1==2); + throw X_AutodocParser(X_AutodocParser::x_Any); } void PE_Function::InitData() { eState = e_start; - pData = new Function; + + sData_Name.clear(); + nData_ReturnType = 0; + bData_Const = false; + bData_Oneway = false; + pCurFunction = 0; + *pResult = 0; - aCurParsedType = 0; - eCurParsedParam_Direction = param_in; - aCurParsedParam_Type = 0; - sCurParsedParam_Name = ""; + nCurParsedType = 0; + eCurParsedParam_Direction = ary::idl::param_in; + nCurParsedParam_Type = 0; + sCurParsedParam_Name.clear(); } void @@ -356,22 +379,24 @@ PE_Function::ReceiveData() switch (eState) { case in_return_type: - pData->Data().pReturnType = aCurParsedType; - aCurParsedType = 0; + nData_ReturnType = nCurParsedType; + nCurParsedType = 0; eState = expect_name; break; case in_parameter_variable: - pData->Data().aParameters.push_back( - Parameter( aCurParsedParam_Type, + csv_assert(pCurFunction != 0); + pCurFunction->Add_Parameter( sCurParsedParam_Name, - eCurParsedParam_Direction ) ); + nCurParsedParam_Type, + eCurParsedParam_Direction ); sCurParsedParam_Name = ""; - aCurParsedParam_Type = 0; - eCurParsedParam_Direction = param_in; + nCurParsedParam_Type = 0; + eCurParsedParam_Direction = ary::idl::param_in; eState = expect_parameter_separator; break; case in_exception: - pData->Data().aRaisedExceptions.push_back(aCurParsedType); + csv_assert(pCurFunction != 0); + pCurFunction->Add_Exception(nCurParsedType); eState = expect_exception_separator; break; default: @@ -382,11 +407,7 @@ PE_Function::ReceiveData() void PE_Function::TransferData() { - *pResult = Gate().Store_Function( pCurInterface->Id(), *pData ); - PassDocuAt(pResult->Id()); - - pData = 0; - + pCurFunction = 0; eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_iface.cxx b/autodoc/source/parser_i/idl/pe_iface.cxx index ad5ebd01249e..cef0062837a7 100644 --- a/autodoc/source/parser_i/idl/pe_iface.cxx +++ b/autodoc/source/parser_i/idl/pe_iface.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_iface.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,9 +65,10 @@ // NOT FULLY DEFINED SERVICES -#include <ary_i/ce2.hxx> +#include <ary/idl/i_interface.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> -#include <csi/l_uidl/intrface.hxx> #include <s2_luidl/pe_func2.hxx> #include <s2_luidl/pe_attri.hxx> #include <s2_luidl/pe_type2.hxx> @@ -110,7 +111,7 @@ PE_Interface::aDispatcher[PE_Interface::e_STATES_MAX][PE_Interface::tt_MAX] = { DF, DF, DF, DF, DF }, // in_base { DF, DF, &PE_Interface::On_need_curlbr_open_Punctuation, DF, DF }, // need_curlbr_open - { &PE_Interface::On_std_GotoAttribute, + { &PE_Interface::On_std_Metatype, &PE_Interface::On_std_GotoFunction, &PE_Interface::On_std_Punctuation, &PE_Interface::On_std_GotoFunction, @@ -132,34 +133,30 @@ PE_Interface::CallHandler( const char * i_sTokenText, PE_Interface::PE_Interface() : eState(e_none), - pData(0), + sData_Name(), bIsPreDeclaration(false), + nCurInterface(0), pPE_Function(0), - pCurInterface(0), - aCurParsed_Function(0), - pPE_Attribute(0), - aCurParsed_Attribute(0), pPE_Type(0), - aCurParsed_Base(0), - // cUik, - nUikCharCounter(0) + nCurParsed_Base(0), + pPE_Attribute(0) { - pPE_Function = new PE_Function(aCurParsed_Function, pCurInterface); - pPE_Attribute = new PE_Attribute(aCurParsed_Attribute, pCurInterface); - pPE_Type = new PE_Type(aCurParsed_Base); - - memset( cUik, 0, 37 ); + static ary::idl::Ce_id + nDummy; + pPE_Function = new PE_Function(nDummy, nCurInterface); + pPE_Type = new PE_Type(nCurParsed_Base); + pPE_Attribute = new PE_Attribute(nCurInterface, PE_Attribute::parse_attribute); } void PE_Interface::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); pPE_Function->EstablishContacts(this,io_rRepository,o_rResult); - pPE_Attribute->EstablishContacts(this,io_rRepository,o_rResult); pPE_Type->EstablishContacts(this,io_rRepository,o_rResult); + pPE_Attribute->EstablishContacts(this,io_rRepository,o_rResult); } PE_Interface::~PE_Interface() @@ -228,6 +225,7 @@ PE_Interface::Process_Default() void PE_Interface::On_need_uik_MetaType(const char * i_sText) { + // Deprecated, data will be ignored SetResult(done, stay); eState = uik; } @@ -235,24 +233,17 @@ PE_Interface::On_need_uik_MetaType(const char * i_sText) void PE_Interface::On_uik_Identifier(const char * i_sText) { - unsigned sLen = strlen(i_sText); - csv_assert( (sLen == 4 OR sLen == 8) AND nUikCharCounter < 36 ); - if (nUikCharCounter > 0) - cUik[nUikCharCounter++] = '-'; - strncpy( cUik + nUikCharCounter, i_sText, sLen ); - nUikCharCounter += sLen; - + // Deprecated, data will be ignored SetResult(done, stay); } void PE_Interface::On_uik_Punctuation(const char * i_sText) { + // Deprecated, data will be ignored SetResult(done, stay); if (strcmp(",",i_sText) == 0) { - csv_assert(nUikCharCounter == 36); - pData->Data().sUik = cUik; eState = need_ident; } } @@ -291,7 +282,7 @@ void PE_Interface::On_need_name_Identifer(const char * i_sText) { SetResult(done, stay); - pData->Data().sName = i_sText; + sData_Name = i_sText; eState = wait_for_base; } @@ -300,9 +291,6 @@ PE_Interface::On_wait_for_base_Punctuation(const char * i_sText) { if (i_sText[0] != ';') { - pCurInterface = Gate().Store_Interface(CurNamespace().Id(), *pData); - PassDocuAt(pCurInterface.Id()); - switch (i_sText[0]) { case ':': @@ -310,6 +298,8 @@ PE_Interface::On_wait_for_base_Punctuation(const char * i_sText) eState = in_base; break; case '{': + store_Interface(); + SetResult(done,stay); eState = e_std; break; @@ -331,6 +321,8 @@ PE_Interface::On_need_curlbr_open_Punctuation(const char * i_sText) { if (i_sText[0] == '{') { + store_Interface(); + SetResult(done, stay); eState = e_std; } @@ -338,6 +330,16 @@ PE_Interface::On_need_curlbr_open_Punctuation(const char * i_sText) csv_assert(false); } + +void +PE_Interface::On_std_Metatype(const char * i_sText) +{ + if (strcmp(i_sText,"attribute") == 0) + On_std_GotoAttribute(i_sText); + else + On_std_GotoFunction(i_sText); +} + void PE_Interface::On_std_Punctuation(const char * i_sText) { @@ -356,28 +358,24 @@ PE_Interface::On_std_Punctuation(const char * i_sText) void PE_Interface::On_std_Stereotype(const char * i_sText) { - if (strcmp(i_sText,"readonly") == 0) - { - On_std_GotoAttribute(i_sText); - } - else - { + if (strcmp(i_sText,"oneway") == 0) On_std_GotoFunction(i_sText); - } + else + On_std_GotoAttribute(i_sText); } void -PE_Interface::On_std_GotoFunction(const char * i_sText) +PE_Interface::On_std_GotoFunction(const char * ) { SetResult(not_done, push_sure, pPE_Function.Ptr()); eState = in_function; } void -PE_Interface::On_std_GotoAttribute(const char * i_sText) +PE_Interface::On_std_GotoAttribute(const char * ) { - SetResult(not_done, push_sure, pPE_Attribute.Ptr()); - eState = in_attribute; + SetResult(not_done, push_sure, pPE_Attribute.Ptr()); + eState = in_attribute; } void @@ -406,14 +404,10 @@ PE_Interface::InitData() { eState = need_interface; - pData = new Interface; + sData_Name.clear(); bIsPreDeclaration = false; - pCurInterface = 0; - aCurParsed_Function = 0; - aCurParsed_Attribute = 0; - aCurParsed_Base = 0; - memset( cUik, 0, 33 ); - nUikCharCounter = 0; + nCurInterface = 0; + nCurParsed_Base = 0; } void @@ -421,11 +415,14 @@ PE_Interface::TransferData() { if (NOT bIsPreDeclaration) { - csv_assert(pData != 0); - csv_assert(pCurInterface); + csv_assert(sData_Name.size() > 0); + csv_assert(nCurInterface.IsValid()); } else - Delete_dyn(pData); + { + sData_Name.clear(); + nCurInterface = 0; + } eState = e_none; } @@ -436,18 +433,12 @@ PE_Interface::ReceiveData() switch (eState) { case in_base: - pData->Data().pBase = aCurParsed_Base; - aCurParsed_Base = 0; eState = need_curlbr_open; break; case in_function: - pData->Data().aFunctions.push_back(aCurParsed_Function); - aCurParsed_Function = 0; eState = e_std; break; case in_attribute: - pData->Data().aAttributes.push_back(aCurParsed_Attribute); - aCurParsed_Attribute = 0; eState = e_std; break; default: @@ -455,13 +446,24 @@ PE_Interface::ReceiveData() } } - UnoIDL_PE & PE_Interface::MyPE() { return *this; } +void +PE_Interface::store_Interface() +{ + ary::idl::Interface & + rCe = Gate().Ces().Store_Interface( + CurNamespace().CeId(), + sData_Name, + nCurParsed_Base ); + nCurInterface = rCe.CeId(); + PassDocuAt(rCe); +} + } // namespace uidl } // namespace csi diff --git a/autodoc/source/parser_i/idl/pe_selem.cxx b/autodoc/source/parser_i/idl/pe_selem.cxx index c7e813f31645..2d2cc0454459 100644 --- a/autodoc/source/parser_i/idl/pe_selem.cxx +++ b/autodoc/source/parser_i/idl/pe_selem.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_selem.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,11 +63,13 @@ #include <s2_luidl/pe_selem.hxx> // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_structelem.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <csi/l_uidl/struelem.hxx> namespace csi @@ -77,20 +79,22 @@ namespace uidl PE_StructElement::PE_StructElement( RStructElement & o_rResult, - const RStruct & i_rCurStruct ) + const RStruct & i_rCurStruct, + bool i_IsExceptionElement ) : eState(e_none), pResult(&o_rResult), pCurStruct(&i_rCurStruct), pPE_Type(0), - pType(0) - // sName + nType(0), + sName(), + bIsExceptionElement(i_IsExceptionElement) { - pPE_Type = new PE_Type(pType); + pPE_Type = new PE_Type(nType); } void PE_StructElement::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -154,20 +158,33 @@ PE_StructElement::InitData() { eState = expect_type; - pType = 0; + nType = 0; sName = ""; } void PE_StructElement::TransferData() { - DYN StructElement * pNew = new StructElement; - pNew->Data().pType = pType; - pNew->Data().sName = sName; - csv_assert(pResult != 0 AND pCurStruct != 0); - *pResult = Gate().Store_StructElement( pCurStruct->Id(), *pNew ); - PassDocuAt(pResult->Id()); + + ary::idl::StructElement * + pCe = 0; + if (bIsExceptionElement) + { + pCe = & Gate().Ces().Store_ExceptionMember( + *pCurStruct, + sName, + nType ); + } + else + { + pCe = & Gate().Ces().Store_StructMember( + *pCurStruct, + sName, + nType ); + } + *pResult = pCe->CeId(); + PassDocuAt(*pCe); eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_servi.cxx b/autodoc/source/parser_i/idl/pe_servi.cxx index 8df847dbff6b..28abe389db6f 100644 --- a/autodoc/source/parser_i/idl/pe_servi.cxx +++ b/autodoc/source/parser_i/idl/pe_servi.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_servi.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:39 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,14 +65,15 @@ // NOT FULLY DEFINED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_service.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_attri.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <csi/l_uidl/service.hxx> -#include <ary_i/ce2.hxx> @@ -85,22 +86,23 @@ namespace uidl PE_Service::PE_Service() : eState(e_none), - pData(0), + sData_Name(), bIsPreDeclaration(false), pCurService(0), + nCurService(0), pPE_Property(0), - aCurParsed_Property(0), + nCurParsed_Property(0), pPE_Type(0), - aCurParsed_Type(0), + nCurParsed_Type(0), bOptionalMember(false) { - pPE_Property = new PE_Attribute(aCurParsed_Property, pCurService); - pPE_Type = new PE_Type(aCurParsed_Type); + pPE_Property = new PE_Attribute(nCurService, PE_Attribute::parse_property); + pPE_Type = new PE_Type(nCurParsed_Type); } void PE_Service::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -160,7 +162,7 @@ PE_Service::Process_Identifier( const TokIdentifier & i_rToken ) { if (eState == need_name) { - pData->Data().sName = i_rToken.Text(); + sData_Name = i_rToken.Text(); SetResult(done, stay); eState = need_curlbr_open; } @@ -176,9 +178,11 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken ) case TokPunctuation::CurledBracketOpen: if (eState == need_curlbr_open) { - pCurService = Gate().Store_Service(CurNamespace().Id(), *pData); - PassDocuAt(pCurService.Id()); - + pCurService = &Gate().Ces().Store_Service( + CurNamespace().CeId(), + sData_Name ); + nCurService = pCurService->CeId(); + PassDocuAt(*pCurService); SetResult(done, stay); eState = e_std; } @@ -216,7 +220,7 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken ) switch (eState) { case need_curlbr_open: - Delete_dyn(pData); + sData_Name.clear(); bIsPreDeclaration = true; SetResult(done, pop_success); eState = e_none; @@ -246,15 +250,15 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken ) void PE_Service::Process_Stereotype( const TokStereotype & i_rToken ) { - if ( eState == e_std AND i_rToken.Id() == TokStereotype::ste_readonly ) - { - StartProperty(); - } - else if (i_rToken.Id() == TokStereotype::ste_optional) + if (i_rToken.Id() == TokStereotype::ste_optional) { bOptionalMember = true; SetResult(done, stay); } + else if ( eState == e_std ) + { + StartProperty(); + } else On_Default(); } @@ -293,11 +297,12 @@ void PE_Service::InitData() { eState = need_name; - pData = new Service; + sData_Name.clear(); bIsPreDeclaration = false; pCurService = 0; - aCurParsed_Property = 0; - aCurParsed_Type = 0; + nCurService = 0; + nCurParsed_Property = 0; + nCurParsed_Type = 0; bOptionalMember = false; } @@ -306,8 +311,8 @@ PE_Service::TransferData() { if (NOT bIsPreDeclaration) { - csv_assert(pData != 0); - csv_assert(pCurService); + csv_assert(sData_Name.size() > 0); + csv_assert(pCurService != 0); } eState = e_none; @@ -319,8 +324,6 @@ PE_Service::ReceiveData() switch (eState) { case in_property: - pData->Data().aProperties.push_back(aCurParsed_Property.Id()); - aCurParsed_Property = 0; eState = e_std; break; case in_ifc_type: @@ -328,9 +331,10 @@ PE_Service::ReceiveData() { pPE_Type->SetOptional(); } - pData->Data().aServedInterfaces.push_back( - CommentedLink(aCurParsed_Type.Id(),pPE_Type->ReleaseDocu()) ); - aCurParsed_Type = 0; + pCurService->AddRef_SupportedInterface( + nCurParsed_Type, + pPE_Type->ReleaseDocu()); + nCurParsed_Type = 0; eState = expect_ifc_separator; break; case in_service_type: @@ -338,9 +342,10 @@ PE_Service::ReceiveData() { pPE_Type->SetOptional(); } - pData->Data().aIncludedServices.push_back( - CommentedLink(aCurParsed_Type.Id(),pPE_Type->ReleaseDocu()) ); - aCurParsed_Type = 0; + pCurService->AddRef_IncludedService( + nCurParsed_Type, + pPE_Type->ReleaseDocu()); + nCurParsed_Type = 0; eState = expect_service_separator; break; default: diff --git a/autodoc/source/parser_i/idl/pe_singl.cxx b/autodoc/source/parser_i/idl/pe_singl.cxx new file mode 100644 index 000000000000..533a1629562d --- /dev/null +++ b/autodoc/source/parser_i/idl/pe_singl.cxx @@ -0,0 +1,272 @@ +/************************************************************************* + * + * $RCSfile: pe_singl.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:39 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + + +#include <precomp.h> +#include <s2_luidl/pe_singl.hxx> + + +// NOT FULLY DEFINED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_singleton.hxx> +#include <ary/idl/ip_ce.hxx> +#include <ary_i/codeinf2.hxx> +#include <s2_luidl/pe_type2.hxx> +#include <s2_luidl/tk_keyw.hxx> +#include <s2_luidl/tk_ident.hxx> +#include <s2_luidl/tk_punct.hxx> + + + +namespace csi +{ +namespace uidl +{ + + + +#if 0 +#ifdef DF +#undef DF +#endif +#define DF &PE_Singleton::On_Default + + +PE_Singleton::F_TOK +PE_Singleton::aDispatcher[PE_Singleton::e_STATES_MAX][PE_Singleton::tt_MAX] = + { { DF, DF, DF }, // e_none + { DF, &PE_Singleton::On_need_name_Identifer, + DF }, // need_name + { DF, DF, &PE_Singleton::On_need_curlbr_open_Punctuation, + }, // need_curlbr_open + { &PE_Singleton::On_std_GotoService, + DF, &PE_Singleton::On_std_Punctuation, + }, // e_std + { DF, DF, DF }, // in_service + { DF, DF, &PE_Interface::On_need_finish_Punctuation, + } // need_finish + }; +#endif // 0 + + +PE_Singleton::PE_Singleton() + : eState(e_none), + sData_Name(), + bIsPreDeclaration(false), + pCurSingleton(0), + pPE_Type(0), + nCurParsed_Service(0) +{ + pPE_Type = new PE_Type(nCurParsed_Service); +} + +void +PE_Singleton::EstablishContacts( UnoIDL_PE * io_pParentPE, + ary::n22::Repository & io_rRepository, + TokenProcessing_Result & o_rResult ) +{ + UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); + pPE_Type->EstablishContacts(this,io_rRepository,o_rResult); +} + +PE_Singleton::~PE_Singleton() +{ +} + +void +PE_Singleton::ProcessToken( const Token & i_rToken ) +{ + i_rToken.Trigger(*this); +} + + +void +PE_Singleton::Process_MetaType( const TokMetaType & i_rToken ) +{ + switch ( i_rToken.Id() ) + { + case TokMetaType::mt_service: + if (eState == e_std) + { + SetResult(done, push_sure, pPE_Type.Ptr()); + eState = in_service; + } + else + On_Default(); + break; + case TokMetaType::mt_singleton: + if (eState == need_name) + SetResult(done, stay); + else + On_Default(); + break; + } // end switch +} + +void +PE_Singleton::Process_Identifier( const TokIdentifier & i_rToken ) +{ + if (eState == need_name) + { + sData_Name = i_rToken.Text(); + SetResult(done, stay); + eState = need_curlbr_open; + } + else + On_Default(); +} + +void +PE_Singleton::Process_Punctuation( const TokPunctuation & i_rToken ) +{ + switch (i_rToken.Id()) + { + case TokPunctuation::CurledBracketOpen: + if (eState == need_curlbr_open) + { + pCurSingleton = &Gate().Ces().Store_Singleton( + CurNamespace().CeId(), + sData_Name ); + PassDocuAt(*pCurSingleton); + SetResult(done, stay); + eState = e_std; + } + else + On_Default(); + break; + case TokPunctuation::CurledBracketClose: + if (eState == e_std) + { + SetResult(done, stay); + eState = need_finish; + } + else + On_Default(); + break; + case TokPunctuation::Semicolon: + switch (eState) + { + case e_std: SetResult(done, stay); + break; + case need_finish: + SetResult(done, pop_success); + eState = e_none; + break; + default: + On_Default(); + } // end switch + break; + default: + On_Default(); + } // end switch +} + +void +PE_Singleton::Process_Default() +{ + On_Default(); +} + + +void +PE_Singleton::On_Default() +{ + SetResult(not_done, pop_failure); +} + +void +PE_Singleton::InitData() +{ + eState = need_name; + sData_Name.clear(); + bIsPreDeclaration = false; + pCurSingleton = 0; + nCurParsed_Service = 0; +} + +void +PE_Singleton::TransferData() +{ + if (NOT bIsPreDeclaration) + { + csv_assert(sData_Name.size() > 0); + csv_assert(pCurSingleton != 0); + } + + eState = e_none; +} + +void +PE_Singleton::ReceiveData() +{ + pCurSingleton->Set_Service(nCurParsed_Service); + nCurParsed_Service = 0; + eState = e_std; +} + +UnoIDL_PE & +PE_Singleton::MyPE() +{ + return *this; +} + +} // namespace uidl +} // namespace csi diff --git a/autodoc/source/parser_i/idl/pe_struc.cxx b/autodoc/source/parser_i/idl/pe_struc.cxx index 24e5d0f6c438..37ec214908d7 100644 --- a/autodoc/source/parser_i/idl/pe_struc.cxx +++ b/autodoc/source/parser_i/idl/pe_struc.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_struc.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -64,15 +64,15 @@ // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_struct.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> #include <s2_luidl/tk_keyw.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/pe_selem.hxx> -#include <csi/l_uidl/struct.hxx> -#include <csi/l_uidl/struelem.hxx> -#include <ary_i/uidl/gate.hxx> @@ -91,7 +91,7 @@ PE_Struct::PE_Struct() void PE_Struct::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -122,8 +122,8 @@ PE_Struct::TransferData() { if (NOT Work().bIsPreDeclaration) { - csv_assert(Work().pData != 0); - csv_assert(Work().pCurStruct); + csv_assert(Work().sData_Name.size() > 0); + csv_assert(Work().nCurStruct.IsValid()); } Stati().pCurStatus = &Stati().aNone; } @@ -134,53 +134,50 @@ PE_Struct::ReceiveData() Stati().pCurStatus->On_SubPE_Left(); } +const bool C_bIsStructElement = false; // Means: not ExceptionElement. + PE_Struct::S_Work::S_Work() - : // pData + : sData_Name(), bIsPreDeclaration(false), - pCurStruct(0), + nCurStruct(0), pPE_Element(0), - aCurParsed_ElementRef(0), - pPE_Type(0) - // aCurParsed_Base + nCurParsed_ElementRef(0), + pPE_Type(0), + nCurParsed_Base(0) { - pPE_Element = new PE_StructElement(aCurParsed_ElementRef,pCurStruct); - pPE_Type = new PE_Type(aCurParsed_Base); + pPE_Element = new PE_StructElement(nCurParsed_ElementRef,nCurStruct,C_bIsStructElement); + pPE_Type = new PE_Type(nCurParsed_Base); } void PE_Struct::S_Work::InitData() { - pData = new Struct; + sData_Name.clear(); bIsPreDeclaration = false; - pCurStruct = 0; + nCurStruct = 0; + nCurParsed_ElementRef = 0; + nCurParsed_Base = 0; } void PE_Struct::S_Work::Prepare_PE_QualifiedName() { - aCurParsed_ElementRef = 0; + nCurParsed_ElementRef = 0; } void PE_Struct::S_Work::Prepare_PE_Element() { - aCurParsed_Base = 0; + nCurParsed_Base = 0; } void PE_Struct::S_Work::Data_Set_Name( const char * i_sName ) { - pData->Data().sName = i_sName; -} - -void -PE_Struct::S_Work::Data_Add_CurParsed_ElementRef() -{ - pData->Data().aElements.push_back(aCurParsed_ElementRef); + sData_Name = i_sName; } - PE_Struct::S_Stati::S_Stati(PE_Struct & io_rStruct) : aNone(io_rStruct), aWaitForName(io_rStruct), @@ -218,13 +215,6 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken ) { if ( i_rToken.Id() != TokPunctuation::Semicolon ) { - Work().pCurStruct = - PE().Gate().Store_Struct( - PE().CurNamespace().Id(), - *Work().pData ); - PE().PassDocuAt(Work().pCurStruct.Id()); - - switch (i_rToken.Id()) { case TokPunctuation::Colon: @@ -233,6 +223,7 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken ) Work().Prepare_PE_QualifiedName(); break; case TokPunctuation::CurledBracketOpen: + PE().store_Struct(); MoveState( Stati().aWaitForElement ); SetResult(done,stay); break; @@ -242,7 +233,7 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken ) } else { - Delete_dyn(Work().pData); + Work().sData_Name.clear(); SetResult(done,pop_success); } } @@ -250,7 +241,6 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken ) void PE_Struct::State_WaitForBase::On_SubPE_Left() { - Work().pData->Data().pBase = Work().aCurParsed_Base; MoveState(Stati().aGotBase); } @@ -259,6 +249,7 @@ PE_Struct::State_GotBase::Process_Punctuation( const TokPunctuation & i_rToken ) { if ( i_rToken.Id() == TokPunctuation::CurledBracketOpen ) { + PE().store_Struct(); MoveState( Stati().aWaitForElement ); SetResult(done,stay); } @@ -311,12 +302,6 @@ PE_Struct::State_WaitForElement::Process_Punctuation( const TokPunctuation & i_r } void -PE_Struct::State_WaitForElement::On_SubPE_Left() -{ - Work().Data_Add_CurParsed_ElementRef(); -} - -void PE_Struct::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rToken ) { if (i_rToken.Id() == TokPunctuation::Semicolon) @@ -330,6 +315,18 @@ PE_Struct::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rT } } +void +PE_Struct::store_Struct() +{ + ary::idl::Struct & + rCe = Gate().Ces().Store_Struct( + CurNamespace().CeId(), + Work().sData_Name, + Work().nCurParsed_Base ); + PassDocuAt(rCe); + Work().nCurStruct = rCe.CeId(); +} + } // namespace uidl } // namespace csi diff --git a/autodoc/source/parser_i/idl/pe_tydf2.cxx b/autodoc/source/parser_i/idl/pe_tydf2.cxx index e81feed28008..ffc11afacf94 100644 --- a/autodoc/source/parser_i/idl/pe_tydf2.cxx +++ b/autodoc/source/parser_i/idl/pe_tydf2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_tydf2.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,10 +63,11 @@ #include <s2_luidl/pe_tydf2.hxx> // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_typedef.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> -#include <csi/l_uidl/typedef.hxx> #include <s2_luidl/pe_type2.hxx> -#include <ary_i/uidl/gate.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> #include <s2_luidl/tk_const.hxx> @@ -108,16 +109,16 @@ PE_Typedef::CallHandler( const char * i_sTokenText, PE_Typedef::PE_Typedef() : eState(e_none), pPE_Type(0), - pType(0) - // sName + nType(0), + sName() { - pPE_Type = new PE_Type(pType); + pPE_Type = new PE_Type(nType); } void PE_Typedef::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, - TokenProcessing_Result & o_rResult ) + ary::n22::Repository & io_rRepository, + TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); pPE_Type->EstablishContacts(this,io_rRepository,o_rResult); @@ -187,7 +188,7 @@ void PE_Typedef::InitData() { eState = expect_description; - pType = 0; + nType = 0; sName = ""; } @@ -200,11 +201,9 @@ PE_Typedef::ReceiveData() void PE_Typedef::TransferData() { - Typedef * pData = new Typedef; - pData->Data().sName = sName; - pData->Data().pDefiningType = pType; - ary::Cei nId = Gate().Store_Typedef( CurNamespace().Id(), *pData ).Id(); - PassDocuAt(nId); + ary::idl::Typedef & + rCe = Gate().Ces().Store_Typedef(CurNamespace().CeId(), sName, nType); + PassDocuAt(rCe); eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_type2.cxx b/autodoc/source/parser_i/idl/pe_type2.cxx index 2eee28b2aa07..97cd4752be49 100644 --- a/autodoc/source/parser_i/idl/pe_type2.cxx +++ b/autodoc/source/parser_i/idl/pe_type2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_type2.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,12 +65,13 @@ // NOT FULLY DEFINED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_type.hxx> +#include <ary/idl/ip_type.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/uidl_tok.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_keyw.hxx> -// #include <ary/uidl/cestorg.hxx> -#include <ary_i/uidl/gate.hxx> @@ -80,14 +81,13 @@ namespace uidl { -PE_Type::PE_Type( csi::prl::RefType & o_rResult ) +PE_Type::PE_Type( ary::idl::Type_id & o_rResult ) : pResult(&o_rResult), nIsSequenceCounter(0), bIsUnsigned(false), - // sFullType, - // sName, - eState(e_none) - // sLastPart + sFullType(), + eState(e_none), + sLastPart() { } @@ -162,7 +162,7 @@ PE_Type::Process_BuiltInType( const TokBuiltInType & i_rToken ) } else if (eState == expect_quname_separator) { - sFullType.SetName(sLastPart); + sFullType.SetLocalName(sLastPart); SetResult(not_done, pop_success); } } @@ -187,7 +187,7 @@ PE_Type::Process_TypeModifier( const TokTypeModifier & i_rToken ) } else if (eState == expect_quname_separator) { - sFullType.SetName(sLastPart); + sFullType.SetLocalName(sLastPart); SetResult(not_done, pop_success); } } @@ -201,7 +201,7 @@ PE_Type::Process_Default() void PE_Type::Finish() { - sFullType.SetName(sLastPart); + sFullType.SetLocalName(sLastPart); SetResult(not_done, pop_success); } @@ -213,30 +213,23 @@ PE_Type::InitData() nIsSequenceCounter = 0; bIsUnsigned = false; sFullType.Empty(); - sLastPart = ""; + sLastPart.clear(); } void PE_Type::TransferData() { - csi::prl::RefType result = 0; - if (NOT bIsUnsigned) + if (bIsUnsigned) { - result = Gate().CheckInType(MatchingNamespace(sFullType), sFullType.Name()); - } - else - { - udmstri sName( StreamLock(40)() << "unsigned " << sFullType.Name() << c_str ); - result = Gate().CheckInType(MatchingNamespace(sFullType), sName); - } - - while (nIsSequenceCounter) - { - result = Gate().CheckInSequence(result.Id()); - nIsSequenceCounter--; + String sName( StreamLock(40)() << "unsigned " << sFullType.LocalName() << c_str ); + sFullType.SetLocalName(sName); } - *pResult = result; + const ary::idl::Type & + result = Gate().Types().CheckIn_Type( sFullType, + nIsSequenceCounter, + CurNamespace().CeId() ); + *pResult = result.TypeId(); eState = e_none; } diff --git a/autodoc/source/parser_i/idl/pe_vari2.cxx b/autodoc/source/parser_i/idl/pe_vari2.cxx index 859e2a202e01..466e03043814 100644 --- a/autodoc/source/parser_i/idl/pe_vari2.cxx +++ b/autodoc/source/parser_i/idl/pe_vari2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_vari2.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,11 +65,13 @@ // NOT FULLY DECLARED SERVICES +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_property.hxx> +#include <ary/idl/ip_ce.hxx> #include <ary_i/codeinf2.hxx> #include <s2_luidl/pe_type2.hxx> #include <s2_luidl/tk_ident.hxx> #include <s2_luidl/tk_punct.hxx> -#include <csi/l_uidl/struelem.hxx> namespace csi @@ -78,8 +80,8 @@ namespace uidl { -PE_Variable::PE_Variable( csi::prl::RefType & i_rResult_Type, - udmstri & i_rResult_Name ) +PE_Variable::PE_Variable( ary::idl::Type_id & i_rResult_Type, + String & i_rResult_Name ) : eState(), pResult_Type(&i_rResult_Type), pResult_Name(&i_rResult_Name), @@ -90,7 +92,7 @@ PE_Variable::PE_Variable( csi::prl::RefType & i_rResult_Type, void PE_Variable::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult); @@ -99,7 +101,6 @@ PE_Variable::EstablishContacts( UnoIDL_PE * io_pParentPE, PE_Variable::~PE_Variable() { - } void diff --git a/autodoc/source/parser_i/idl/semnode.cxx b/autodoc/source/parser_i/idl/semnode.cxx index 7a047e77f931..f8b1dd04cf1c 100644 --- a/autodoc/source/parser_i/idl/semnode.cxx +++ b/autodoc/source/parser_i/idl/semnode.cxx @@ -2,9 +2,9 @@ * * $RCSfile: semnode.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,9 +65,9 @@ // NOT FULLY DEFINED SERVICES #include <ary/ary.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_module.hxx> #include <ary_i/codeinf2.hxx> -#include <ary_i/uidl/gate.hxx> -#include <ary_i/uidl/cenamesp.hxx> #include <s2_luidl/parsenv2.hxx> @@ -86,11 +86,11 @@ SemanticNode::SemanticNode() void SemanticNode::EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ) { pParentPE = io_pParentPE; - pAryGate = &io_rRepository.RwGate_Idl(); + pAryGate = &io_rRepository.Gate_Idl(); pTokenResult = &o_rResult; } diff --git a/autodoc/source/parser_i/idl/tk_keyw.cxx b/autodoc/source/parser_i/idl/tk_keyw.cxx index 366cc2c5134d..3fb873c471e0 100644 --- a/autodoc/source/parser_i/idl/tk_keyw.cxx +++ b/autodoc/source/parser_i/idl/tk_keyw.cxx @@ -2,9 +2,9 @@ * * $RCSfile: tk_keyw.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -105,6 +105,7 @@ TokMetaType::EV_TokenId ev_mt_interface(TokMetaType::mt_interface,"interface TokMetaType::EV_TokenId ev_mt_module(TokMetaType::mt_module,"module"); TokMetaType::EV_TokenId ev_mt_property(TokMetaType::mt_property,"property"); TokMetaType::EV_TokenId ev_mt_service(TokMetaType::mt_service,"service"); +TokMetaType::EV_TokenId ev_mt_singleton(TokMetaType::mt_singleton,"singleton"); TokMetaType::EV_TokenId ev_mt_struct(TokMetaType::mt_struct,"struct"); TokMetaType::EV_TokenId ev_mt_typedef(TokMetaType::mt_typedef,"typedef"); TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik"); @@ -112,11 +113,18 @@ TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik"); lux::EnumValueMap G_aTokStereotype_EV_TokenId_Values; TokStereotype::EV_TokenId ev_ste_none(TokStereotype::e_none,""); +TokStereotype::EV_TokenId ev_ste_bound(TokStereotype::ste_bound,"bound"); TokStereotype::EV_TokenId ev_ste_const(TokStereotype::ste_const,"const"); +TokStereotype::EV_TokenId ev_ste_constrained(TokStereotype::ste_constrained,"constrained"); +TokStereotype::EV_TokenId ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous"); +TokStereotype::EV_TokenId ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault"); +TokStereotype::EV_TokenId ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid"); TokStereotype::EV_TokenId ev_ste_oneway(TokStereotype::ste_oneway,"oneway"); TokStereotype::EV_TokenId ev_ste_optional(TokStereotype::ste_optional,"optional"); TokStereotype::EV_TokenId ev_ste_readonly(TokStereotype::ste_readonly,"readonly"); +TokStereotype::EV_TokenId ev_ste_removable(TokStereotype::ste_removable,"removable"); TokStereotype::EV_TokenId ev_ste_virtual(TokStereotype::ste_virtual,"virtual"); +TokStereotype::EV_TokenId ev_ste_transient(TokStereotype::ste_transient,"transient"); lux::EnumValueMap G_aTokParameterHandling_EV_TokenId_Values; diff --git a/autodoc/source/parser_i/idl/unoidl.cxx b/autodoc/source/parser_i/idl/unoidl.cxx index f7eac1942b31..0b745247b687 100644 --- a/autodoc/source/parser_i/idl/unoidl.cxx +++ b/autodoc/source/parser_i/idl/unoidl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: unoidl.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:42 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -65,29 +65,29 @@ // NOT FULLY DECLARED SERVICES +#include <stdlib.h> #include <cosv/file.hxx> #include <ary/ary.hxx> +#include <ary/idl/i_gate.hxx> #include <ary_i/codeinf2.hxx> -#include <ary_i/uidl/gate.hxx> #include <tools/filecoll.hxx> #include <tools/tkpchars.hxx> #include <s2_luidl/tkp_uidl.hxx> #include <s2_luidl/distrib.hxx> #include <s2_luidl/pe_file2.hxx> #include <s2_dsapi/cx_dsapi.hxx> +#include <x_parse2.hxx> -namespace csi -{ -namespace uidl +namespace autodoc { class FileParsePerformers { public: - FileParsePerformers( ary::Repository & io_rRepository ); + FileParsePerformers( ary::n22::Repository & io_rRepository ); void ParseFile( const char * i_sFullPath ); @@ -96,15 +96,18 @@ class FileParsePerformers private: CharacterSource aFileLoader; - Dyn<TokenParser_Uidl> + Dyn<csi::uidl::TokenParser_Uidl> pTokens; - TokenDistributor aDistributor; - Dyn<PE_File> pFileParseEnvironment; - ary::Repository & rRepository; + csi::uidl::TokenDistributor + aDistributor; + Dyn<csi::uidl::PE_File> + pFileParseEnvironment; + ary::n22::Repository & + rRepository; }; -Uidl_Parser::Uidl_Parser( ary::Repository & io_rRepository ) +Uidl_Parser::Uidl_Parser( ary::n22::Repository & io_rRepository ) : pRepository(&io_rRepository) { } @@ -112,7 +115,8 @@ Uidl_Parser::Uidl_Parser( ary::Repository & io_rRepository ) void Uidl_Parser::Run( const autodoc::FileCollector_Ifc & i_rFiles ) { - FileParsePerformers aFileParsePerformers( *pRepository ); + Dyn<FileParsePerformers> + pFileParsePerformers( new FileParsePerformers(*pRepository) ); FileCollector::const_iterator iEnd = i_rFiles.End(); for ( FileCollector::const_iterator iter = i_rFiles.Begin(); @@ -120,21 +124,38 @@ Uidl_Parser::Run( const autodoc::FileCollector_Ifc & i_rFiles ) ++iter ) { Cout() << (*iter) << " ..."<< Endl(); - aFileParsePerformers.ParseFile(*iter); + + try + { + pFileParsePerformers->ParseFile(*iter); + } + catch (X_AutodocParser &) + { + /// Ignore and goon + Cout() << "Parse error in file " << *iter << Endl(); + pFileParsePerformers = new FileParsePerformers( *pRepository ); + } + catch (...) + { + /// Ignore and goon + Cout() << "Unknown error." << Endl(); + exit(0); +// pFileParsePerformers = new FileParsePerformers( *pRepository ); + } } - aFileParsePerformers.ConnectLinks(); + pFileParsePerformers->ConnectLinks(); } -FileParsePerformers::FileParsePerformers( ary::Repository & io_rRepository ) +FileParsePerformers::FileParsePerformers( ary::n22::Repository & io_rRepository ) : aDistributor(io_rRepository), rRepository( io_rRepository ) { DYN csi::dsapi::Context_Docu * dpDocuContext = new csi::dsapi::Context_Docu( aDistributor.DocuTokens_Receiver() ); - pTokens = new TokenParser_Uidl( aDistributor.CodeTokens_Receiver(), *dpDocuContext ); + pTokens = new csi::uidl::TokenParser_Uidl( aDistributor.CodeTokens_Receiver(), *dpDocuContext ); pFileParseEnvironment - = new PE_File(aDistributor); + = new csi::uidl::PE_File(aDistributor); aDistributor.SetTokenProvider(*pTokens); aDistributor.SetTopParseEnvironment(*pFileParseEnvironment); @@ -161,10 +182,10 @@ FileParsePerformers::ParseFile( const char * i_sFullPath ) void FileParsePerformers::ConnectLinks() { - rRepository.RwGate_Idl().ConnectAdditionalLinks(); + // KORR +// rRepository.RwGate_Idl().ConnectAdditionalLinks(); } -} // namespace uidl -} // namespace csi +} // namespace autodoc diff --git a/autodoc/source/parser_i/idoc/docu_pe2.cxx b/autodoc/source/parser_i/idoc/docu_pe2.cxx index 7dc73949d701..95942ae84c80 100644 --- a/autodoc/source/parser_i/idoc/docu_pe2.cxx +++ b/autodoc/source/parser_i/idoc/docu_pe2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: docu_pe2.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:21 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:44 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -66,12 +66,12 @@ // NOT FULLY DEFINED SERVICES #include <ary_i/codeinf2.hxx> +#include <ary_i/d_token.hxx> #include <s2_dsapi/dsapitok.hxx> #include <s2_dsapi/tk_atag2.hxx> #include <s2_dsapi/tk_html.hxx> #include <s2_dsapi/tk_docw2.hxx> #include <s2_dsapi/tk_xml.hxx> -#include <csi/d_sapi/d_token.hxx> #ifdef UNX diff --git a/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx b/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx index 1e0edf0f1110..5921c7c20d33 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx @@ -2,9 +2,9 @@ * * $RCSfile: cx_sub.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2002-08-13 14:46:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:45 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -68,11 +68,7 @@ // COMPONENTS // PARAMETERS -// [ed] 6/15/02 On OS X we need to have full definitions of classes in order -// to have template instantiation -#ifdef MACOSX #include "uidl_tok.hxx" -#endif namespace csi { diff --git a/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx b/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx index 27e14f1cd7ca..31aa7589ae4e 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx @@ -2,9 +2,9 @@ * * $RCSfile: distrib.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:45 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -74,8 +74,10 @@ namespace ary { - class Repository; - + namespace n22 + { + class Repository; + } namespace info { class CodeInformation; @@ -88,14 +90,12 @@ namespace csi { namespace dsapi { -class Token; -class SapiDocu_PE; -} // namespace dsapi -} // namespace csi + class Token_Receiver; + class SapiDocu_PE; +} + -namespace csi -{ namespace uidl { @@ -113,7 +113,7 @@ class TokenDistributor : private TokenProcessing_Types { public: TokenDistributor( - ary::Repository & io_rRepository ); + ary::n22::Repository & io_rRepository ); void SetTokenProvider( TokenParser_Uidl & io_rTokenSource ); void SetTopParseEnvironment( @@ -151,7 +151,7 @@ class TokenDistributor : private TokenProcessing_Types { public: ProcessingData( - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, Documentation & i_rDocuProcessor ); ~ProcessingData(); void SetTopParseEnvironment( @@ -190,7 +190,8 @@ class TokenDistributor : private TokenProcessing_Types aCurResult; uintt nTryCount; bool bFinished; - ary::Repository & rRepository; + ary::n22::Repository & + rRepository; Documentation * pDocuProcessor; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx b/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx index f65d292d4a01..8bd6c343d9fb 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: parsenv2.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2002-08-13 14:46:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -62,11 +62,6 @@ #ifndef LUIDL_PARSENV2_HXX #define LUIDL_PARSENV2_HXX -// [ed] 6/15/02 The OS X compilers require full class definitions at the time -// of template instantiation -#ifdef MACOSX -#include <ary_i/codeinf2.hxx> -#endif // USED SERVICES // BASE CLASSES @@ -74,23 +69,36 @@ // COMPONENTS #include <s2_luidl/semnode.hxx> // PARAMETERS -#include <ary_i/uidl/cenamesp.hxx> -#include <ary_i/ce2.hxx> +#include <ary/idl/i_language.hxx> +#include <ary/idl/i_module.hxx> + +// [ed] 6/15/02 The OS X compilers require full class definitions at the time +// of template instantiation +// np: Is this really so? +#ifdef MACOSX +#include <ary_i/codeinf2.hxx> +#endif -namespace ary -{ -namespace uidl -{ - class CeStorage; -} // namespace uidl -} // namespace ary namespace ary { -namespace info -{ - class CodeInformation; -} + class QualifiedName; + + namespace n22 + { + class Repository; + } + + + namespace idl + { + class CodeEntity; + } + + namespace info + { + class CodeInformation; + } } @@ -112,7 +120,8 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); virtual void Enter( @@ -128,7 +137,8 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types { pDocu = let_dpDocu; } void SetOptional(); void PassDocuAt( - ary::Cei i_nCeId ); + ary::idl::CodeEntity & + io_rCe ); /* const SemanticNode & @@ -142,11 +152,9 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types E_EnvStackAction i_eWhat2DoWithEnvStack, UnoIDL_PE * i_pParseEnv2Push = 0 ) { aMyNode.SetTokenResult( i_eDone, i_eWhat2DoWithEnvStack, i_pParseEnv2Push ); } - virtual ary::uidl::CeNamespace & + virtual const ary::idl::Module & CurNamespace() const; - ary::Cei MatchingNamespace( - const QuName & i_rQualification ); - ary::uidl::Gate & Gate() const { return aMyNode.AryGate(); } + ary::idl::Gate & Gate() const { return aMyNode.AryGate(); } DYN ary::info::CodeInformation * ReleaseDocu() { return pDocu.Release(); } diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx index cf8198a175a9..73aa5797d604 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_attri.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2002-08-13 14:46:37 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -67,19 +67,21 @@ // USED SERVICES // BASE CLASSES -// [ed] 6/15/02 The OS X compilers require full class definitions at the time -// of template instantiation -#ifdef MACOSX -#include <ary_i/codeinf2.hxx> -#endif - #include <s2_luidl/parsenv2.hxx> #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> -#include <ary_i/uidl/gate.hxx> +#include <ary/idl/i_gate.hxx> +#include <ary/idl/i_property.hxx> + +namespace ary +{ + namespace idl + { + class Service; + } +} namespace csi { @@ -93,16 +95,25 @@ class PE_Attribute : public UnoIDL_PE, public ParseEnvState { public: - typedef ary::uidl::Gate::RInterface RInterface; - typedef ary::uidl::Gate::RAttribute RAttribute; + typedef ary::idl::Ce_id Ce_id; + typedef ary::idl::Type_id Type_id; + typedef ary::idl::Property::Stereotypes Stereotypes; + + enum E_ParsedType + { + parse_attribute, + parse_property + }; + PE_Attribute( - RAttribute & o_rResult, - const RInterface & i_rCurInterface ); + Ce_id & i_rCurOwner, + E_ParsedType i_eCeType ); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); virtual ~PE_Attribute(); @@ -121,8 +132,10 @@ class PE_Attribute : public UnoIDL_PE, virtual void Process_Default(); void PresetOptional() { bIsOptional = true; } - void PresetReadonly() { bIsReadonly = true; } - + void PresetStereotypes( + Stereotypes::E_Flags + i_eFlag ) + { aStereotypes.Set_Flag(i_eFlag); } private: enum E_State { @@ -137,16 +150,18 @@ class PE_Attribute : public UnoIDL_PE, virtual void TransferData(); virtual UnoIDL_PE & MyPE(); + // DATA E_State eState; - Attribute * pData; - RAttribute * pResult; - const RInterface * pCurInterface; + Ce_id * pCurOwner; Dyn<PE_Variable> pPE_Variable; - csi::prl::RefType aCurParsedType; - udmstri sCurParsedName; + + // object-data + Type_id nCurParsedType; + String sCurParsedName; bool bIsOptional; - bool bIsReadonly; + Stereotypes aStereotypes; + E_ParsedType eCeType; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx index 0f4d975e9537..48b1d0c27c4c 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_const.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2002-08-13 14:46:37 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,21 +63,12 @@ #define LUIDL_PE_CONST_HXX - -// [ed] 6/15/02 The OS X compilers require full class definitions at the time -// of template instantiation -#ifdef MACOSX -#include <ary_i/codeinf2.hxx> -#endif - // USED SERVICES // BASE CLASSES #include <s2_luidl/parsenv2.hxx> #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> -#include <ary_i/cei.hxx> namespace udm { @@ -102,7 +93,8 @@ class PE_Constant : public UnoIDL_PE, PE_Constant(); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Constant(); @@ -166,15 +158,15 @@ class PE_Constant : public UnoIDL_PE, E_State eState; - ConstantsGroup * pData; - ary::Cei nDataId; + String sData_Name; + ary::idl::Ce_id nDataId; Dyn<PE_Type> pPE_Type; - csi::prl::RefType pType; + ary::idl::Type_id nType; Dyn<PE_Value> pPE_Value; - udmstri sName; - udmstri sAssignment; + String sName; + String sAssignment; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx index 7a12fa0f0dd4..0ae84271b65d 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_enum2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,6 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> @@ -79,7 +78,7 @@ namespace csi namespace uidl { -class Enum; +// class Enum; class PE_Value; @@ -90,7 +89,7 @@ class PE_Enum : public UnoIDL_PE, PE_Enum(); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Enum(); @@ -148,12 +147,12 @@ class PE_Enum : public UnoIDL_PE, E_State eState; - Enum * pData; - ary::Cei nDataId; + String sData_Name; + ary::idl::Ce_id nDataId; Dyn<PE_Value> pPE_Value; - udmstri sName; - udmstri sAssignment; + String sName; + String sAssignment; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx index 9641a23b96c3..52e3d5040b8f 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_evalu.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,6 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> namespace udm { @@ -88,12 +87,13 @@ class PE_Value : public UnoIDL_PE, { public: PE_Value( - udmstri & o_rName, - udmstri & o_rAssignment, + String & o_rName, + String & o_rAssignment, bool i_bIsConst ); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Value(); diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx index 3df0adfdd6ae..874705b6b8d9 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_excp.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,9 +70,8 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS #include <s2_luidl/semnode.hxx> -#include <csi/prl/quname2.hxx> +#include <ary/qualiname.hxx> // PARAMETERS -#include <csi/prl/tsk_type.hxx> @@ -104,7 +103,7 @@ class PE_Exception : public UnoIDL_PE PE_Exception(); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Exception(); @@ -121,19 +120,16 @@ class PE_Exception : public UnoIDL_PE void Prepare_PE_Element(); void Data_Set_Name( const char * i_sName ); - void Data_Add_CurParsed_ElementRef(); - - Exception * pData; + // DATA + String sData_Name; bool bIsPreDeclaration; - udm::IRef< Exception > - pCurStruct; + ary::idl::Ce_id nCurStruct; Dyn<PE_StructElement> pPE_Element; - udm::IRef< StructElement > - aCurParsed_ElementRef; + ary::idl::Ce_id nCurParsed_ElementRef; Dyn<PE_Type> pPE_Type; - csi::prl::RefType aCurParsed_Base; + ary::idl::Type_id nCurParsed_Base; }; struct S_Stati; @@ -232,7 +228,7 @@ class PE_Exception : public UnoIDL_PE virtual void Process_Punctuation( const TokPunctuation & i_rToken ); - virtual void On_SubPE_Left(); +// virtual void On_SubPE_Left(); }; class State_WaitForFinish : public PE_StructState { // -> ; @@ -269,6 +265,8 @@ class PE_Exception : public UnoIDL_PE virtual void TransferData(); virtual void ReceiveData(); + public: void store_Exception(); private: + friend class PE_StructState; S_Stati & Stati() { return *pStati; } diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx index 855f7354e338..271d9e0b42ae 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_file2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -74,10 +74,10 @@ namespace ary { -namespace uidl +namespace idl { -class CeNamespace; -} // namespace uidl +class Module; +} // namespace idl } // namespace ary @@ -88,6 +88,7 @@ namespace uidl class TokenDistributor; class PE_Service; +class PE_Singleton; class PE_Interface; class PE_Struct; class PE_Exception; @@ -104,7 +105,7 @@ class PE_File : public UnoIDL_PE, TokenDistributor & i_rTokenAdmin ); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_File(); @@ -138,13 +139,12 @@ class PE_File : public UnoIDL_PE, virtual void TransferData(); virtual void ReceiveData(); virtual UnoIDL_PE & MyPE(); - virtual ary::uidl::CeNamespace & + virtual const ary::idl::Module & CurNamespace() const; - - // DATA TokenDistributor * pTokenAdmin; Dyn<PE_Service> pPE_Service; + Dyn<PE_Singleton> pPE_Singleton; Dyn<PE_Interface> pPE_Interface; Dyn<PE_Struct> pPE_Struct; Dyn<PE_Exception> pPE_Exception; @@ -152,7 +152,7 @@ class PE_File : public UnoIDL_PE, Dyn<PE_Enum> pPE_Enum; Dyn<PE_Typedef> pPE_Typedef; - ary::uidl::CeNamespace * + const ary::idl::Module * pCurNamespace; E_State eState; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx index d26347a30668..464234ad3cb2 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_func2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -66,13 +66,21 @@ // USED SERVICES // BASE CLASSES +// #include <ary/idl/i_gate.hxx> +// #include <ary/idl/ip_ce.hxx> #include <s2_luidl/parsenv2.hxx> #include <s2_luidl/pestate.hxx> // COMPONENTS -#include <csi/l_uidl/param.hxx> +#include <ary/idl/i_param.hxx> // PARAMETERS -#include <csi/prl/tsk_type.hxx> -#include <ary_i/uidl/gate.hxx> + +namespace ary +{ + namespace idl + { + class Function; + } +} namespace csi @@ -80,8 +88,6 @@ namespace csi namespace uidl { -class Interface; - class PE_Type; class PE_Variable; @@ -89,8 +95,8 @@ class PE_Function : public UnoIDL_PE, public ParseEnvState { public: - typedef ary::uidl::Gate::RInterface RInterface; - typedef ary::uidl::Gate::RFunction RFunction; + typedef ary::idl::Ce_id RInterface; + typedef ary::idl::Ce_id RFunction; PE_Function( RFunction & o_rResult, @@ -98,7 +104,7 @@ class PE_Function : public UnoIDL_PE, virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); virtual ~PE_Function(); @@ -151,21 +157,29 @@ class PE_Function : public UnoIDL_PE, virtual void TransferData(); virtual UnoIDL_PE & MyPE(); + // DATA E_State eState; - Function * pData; + + String sData_Name; + ary::idl::Type_id nData_ReturnType; + bool bData_Const; + bool bData_Oneway; + ary::idl::Function * + pCurFunction; + RFunction * pResult; const RInterface * pCurInterface; Dyn<PE_Type> pPE_Type; - csi::prl::RefType aCurParsedType; // ReturnType or Exception + ary::idl::Type_id nCurParsedType; // ReturnType or Exception - udmstri sName; + String sName; Dyn<PE_Variable> pPE_Variable; - E_ParameterDirection + ary::idl::E_ParameterDirection eCurParsedParam_Direction; - csi::prl::RefType aCurParsedParam_Type; - udmstri sCurParsedParam_Name; + ary::idl::Type_id nCurParsedParam_Type; + String sCurParsedParam_Name; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx index 2ada4ede5d5c..85ddba815a2f 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_iface.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,6 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> @@ -80,9 +79,9 @@ namespace uidl { -class Interface; -class Function; -class Attribute; +//class Interface; +//class Function; +//class Attribute; class PE_Function; class PE_Attribute; @@ -97,7 +96,7 @@ class PE_Interface : public UnoIDL_PE, virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); virtual void ProcessToken( @@ -164,6 +163,7 @@ class PE_Interface : public UnoIDL_PE, void On_need_name_Identifer(const char * i_sText); void On_wait_for_base_Punctuation(const char * i_sText); void On_need_curlbr_open_Punctuation(const char * i_sText); + void On_std_Metatype(const char * i_sText); void On_std_Punctuation(const char * i_sText); void On_std_Stereotype(const char * i_sText); void On_std_GotoFunction(const char * i_sText); @@ -180,25 +180,20 @@ class PE_Interface : public UnoIDL_PE, virtual void ReceiveData(); virtual UnoIDL_PE & MyPE(); + void store_Interface(); + // DATA static F_TOK aDispatcher[e_STATES_MAX][tt_MAX]; E_State eState; - Interface * pData; + String sData_Name; bool bIsPreDeclaration; - udm::IRef< Interface > - pCurInterface; + ary::idl::Ce_id nCurInterface; Dyn<PE_Function> pPE_Function; - udm::IRef< Function > - aCurParsed_Function; - Dyn<PE_Attribute> pPE_Attribute; - udm::IRef< Attribute > - aCurParsed_Attribute; Dyn<PE_Type> pPE_Type; - csi::prl::RefType aCurParsed_Base; - char cUik[37]; - unsigned nUikCharCounter; + ary::idl::Type_id nCurParsed_Base; + Dyn<PE_Attribute> pPE_Attribute; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx index 3a10d523c4d2..3d90916c71d5 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_selem.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,8 +70,7 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> -#include <ary_i/uidl/gate.hxx> +#include <ary/idl/i_gate.hxx> namespace udm { @@ -92,15 +91,16 @@ class PE_StructElement : public UnoIDL_PE, public ParseEnvState { public: - typedef ary::uidl::Gate::RStructElement RStructElement; - typedef ary::uidl::Gate::RStruct RStruct; + typedef ary::idl::Ce_id RStructElement; + typedef ary::idl::Ce_id RStruct; PE_StructElement( RStructElement & o_rResult, - const RStruct & i_rCurStruct ); + const RStruct & i_rCurStruct, + bool i_IsExceptionElement ); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_StructElement(); @@ -129,12 +129,14 @@ class PE_StructElement : public UnoIDL_PE, virtual void TransferData(); virtual UnoIDL_PE & MyPE(); + // DATA E_State eState; RStructElement * pResult; const RStruct * pCurStruct; + bool bIsExceptionElement; Dyn<PE_Type> pPE_Type; - csi::prl::RefType pType; + ary::idl::Type_id nType; udmstri sName; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx index 5507ddc8502b..f240e7081f0d 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_servi.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:49 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,19 +70,20 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> - +namespace ary +{ + namespace idl + { + class Service; + } +} namespace csi { namespace uidl { -class Service; -class Interface; -class Attribute; - class PE_Attribute; class PE_Type; @@ -95,7 +96,7 @@ class PE_Service : public UnoIDL_PE, virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); virtual void ProcessToken( @@ -145,17 +146,16 @@ class PE_Service : public UnoIDL_PE, // DATA E_State eState; - Service * pData; + String sData_Name; bool bIsPreDeclaration; - udm::IRef< Service > - pCurService; + ary::idl::Service * pCurService; + ary::idl::Ce_id nCurService; // Needed for PE_Attribute. Dyn<PE_Attribute> pPE_Property; - udm::IRef< Attribute > - aCurParsed_Property; + ary::idl::Ce_id nCurParsed_Property; Dyn<PE_Type> pPE_Type; - csi::prl::RefType aCurParsed_Type; + ary::idl::Type_id nCurParsed_Type; bool bOptionalMember; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx new file mode 100644 index 000000000000..81aac918b29d --- /dev/null +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx @@ -0,0 +1,180 @@ +/************************************************************************* + * + * $RCSfile: pe_singl.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: np $ $Date: 2002-11-01 17:15:49 $ + * + * 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 LUIDL_PE_SINGL_HXX +#define LUIDL_PE_SINGL_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <s2_luidl/parsenv2.hxx> +#include <s2_luidl/pestate.hxx> + // COMPONENTS + // PARAMETERS + +namespace ary +{ + namespace idl + { + class Singleton; + } +} + + +namespace csi +{ +namespace uidl +{ + +class PE_Type; + + +class PE_Singleton : public UnoIDL_PE, + public ParseEnvState +{ + public: + PE_Singleton(); + virtual ~PE_Singleton(); + + virtual void EstablishContacts( + UnoIDL_PE * io_pParentPE, + ary::n22::Repository & io_rRepository, + TokenProcessing_Result & + o_rResult ); + virtual void ProcessToken( + const Token & i_rToken ); + + virtual void Process_MetaType( + const TokMetaType & i_rToken ); + virtual void Process_Identifier( + const TokIdentifier & + i_rToken ); + virtual void Process_Punctuation( + const TokPunctuation & + i_rToken ); + virtual void Process_Default(); + + private: + enum E_State + { + e_none = 0, + need_name, + need_curlbr_open, + e_std, + in_service, + need_finish, + e_STATES_MAX + }; + + +#if 0 + enum E_TokenType /// @ATTENTION Do not change existing values (except of tt_MAX) !!! Else array-indices will break. + { + tt_metatype = 0, + tt_identifier = 1, + tt_punctuation = 2, + tt_startoftype = 3, + tt_MAX + }; + typedef void (PE_Singleton::*F_TOK)(const char *); + + + void On_need_singleton_MetaType(const char * i_sText); + void On_need_name_Identifer(const char * i_sText); + void On_need_curlbr_open_Punctuation(const char * i_sText); + void On_std_GotoService(const char * i_sText); + void On_std_Punctuation(const char * i_sText); + void On_need_finish_Punctuation(const char * i_sText); + + void CallHandler( + const char * i_sTokenText, + E_TokenType i_eTokenType ); +#endif // 0 + + void On_Default(); + + virtual void InitData(); + virtual void TransferData(); + virtual void ReceiveData(); + virtual UnoIDL_PE & MyPE(); + + // DATA +// static F_TOK aDispatcher[e_STATES_MAX][tt_MAX]; + + E_State eState; + String sData_Name; + bool bIsPreDeclaration; + ary::idl::Singleton * + pCurSingleton; + + Dyn<PE_Type> pPE_Type; + ary::idl::Type_id nCurParsed_Service; +}; + + +} // namespace uidl +} // namespace csi + + + +#endif + diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx index 4b2bf36349f3..0433c7149de7 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_struc.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,9 +70,8 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS #include <s2_luidl/semnode.hxx> -#include <csi/prl/quname2.hxx> +#include <ary/qualiname.hxx> // PARAMETERS -#include <csi/prl/tsk_type.hxx> @@ -104,7 +103,7 @@ class PE_Struct : public UnoIDL_PE PE_Struct(); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Struct(); @@ -121,18 +120,16 @@ class PE_Struct : public UnoIDL_PE void Prepare_PE_Element(); void Data_Set_Name( const char * i_sName ); - void Data_Add_CurParsed_ElementRef(); - Struct * pData; + String sData_Name; bool bIsPreDeclaration; - udm::IRef< Struct > pCurStruct; + ary::idl::Ce_id nCurStruct; Dyn<PE_StructElement> pPE_Element; - udm::IRef< StructElement > - aCurParsed_ElementRef; + ary::idl::Ce_id nCurParsed_ElementRef; Dyn<PE_Type> pPE_Type; - csi::prl::RefType aCurParsed_Base; + ary::idl::Type_id nCurParsed_Base; }; struct S_Stati; @@ -231,7 +228,6 @@ class PE_Struct : public UnoIDL_PE virtual void Process_Punctuation( const TokPunctuation & i_rToken ); - virtual void On_SubPE_Left(); }; class State_WaitForFinish : public PE_StructState { // -> ; @@ -268,6 +264,8 @@ class PE_Struct : public UnoIDL_PE virtual void TransferData(); virtual void ReceiveData(); + public: void store_Struct(); private: + friend class PE_StructState; S_Stati & Stati() { return *pStati; } diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx index 8b0d12d1e75f..5c553437d525 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_tydf2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,6 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> @@ -90,7 +89,7 @@ class PE_Typedef : public UnoIDL_PE, PE_Typedef(); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & io_rRepository, TokenProcessing_Result & o_rResult ); ~PE_Typedef(); @@ -139,12 +138,13 @@ class PE_Typedef : public UnoIDL_PE, virtual void TransferData(); virtual UnoIDL_PE & MyPE(); + // DATA static F_TOK aDispatcher[e_STATES_MAX][tt_MAX]; E_State eState; Dyn<PE_Type> pPE_Type; - csi::prl::RefType pType; - udmstri sName; + ary::idl::Type_id nType; + String sName; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx index 2309868deb9b..c765ccfe3eee 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_type2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -69,9 +69,8 @@ #include<s2_luidl/parsenv2.hxx> #include<s2_luidl/pestate.hxx> // COMPONENTS -#include<csi/prl/quname2.hxx> +#include<ary/qualiname.hxx> // PARAMETERS -#include<csi/prl/tsk_type.hxx> namespace csi @@ -85,7 +84,7 @@ class PE_Type : public UnoIDL_PE, { public: PE_Type( - csi::prl::RefType & o_rResult ); + ary::idl::Type_id & o_rResult ); ~PE_Type(); virtual void ProcessToken( @@ -122,14 +121,14 @@ class PE_Type : public UnoIDL_PE, virtual UnoIDL_PE & MyPE(); // DATA - csi::prl::RefType * pResult; + ary::idl::Type_id * pResult; uintt nIsSequenceCounter; bool bIsUnsigned; - QuName sFullType; + ary::QualifiedName sFullType; E_State eState; - udmstri sLastPart; + String sLastPart; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx index a6ad1562e877..260d5c1b254d 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx @@ -2,9 +2,9 @@ * * $RCSfile: pe_vari2.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -70,7 +70,6 @@ #include <s2_luidl/pestate.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/tsk_type.hxx> namespace csi @@ -87,11 +86,12 @@ class PE_Variable : public UnoIDL_PE, { public: PE_Variable( - csi::prl::RefType & i_rResult_Type, - udmstri & i_rResult_Name ); + ary::idl::Type_id & i_rResult_Type, + String & i_rResult_Name ); virtual void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); virtual ~PE_Variable(); @@ -121,9 +121,10 @@ class PE_Variable : public UnoIDL_PE, virtual void TransferData(); virtual UnoIDL_PE & MyPE(); + // DATA E_State eState; - csi::prl::RefType * pResult_Type; - udmstri * pResult_Name; + ary::idl::Type_id * pResult_Type; + String * pResult_Name; Dyn<PE_Type> pPE_Type; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx b/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx index e151e5b82dcc..9b3da30fbbb3 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx @@ -2,9 +2,9 @@ * * $RCSfile: semnode.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -69,17 +69,23 @@ #include <s2_luidl/tokproct.hxx> // COMPONENTS // PARAMETERS -#include <csi/prl/quname2.hxx> -#include <udm/ref.hxx> +#include <ary/qualiname.hxx> +// #include <udm/ref.hxx> + namespace ary { +class QualifiedName; + +namespace n22 +{ class Repository; -namespace uidl +} +namespace idl { class Gate; -class CeNamespace; -} // namespace uidl +class Module; +} // namespace idl } // namespace ary @@ -90,7 +96,6 @@ namespace uidl class Struct; -class QualifiedName; class Token; @@ -102,26 +107,29 @@ class SemanticNode : private TokenProcessing_Types SemanticNode(); void EstablishContacts( UnoIDL_PE * io_pParentPE, - ary::Repository & io_rRepository, + ary::n22::Repository & + io_rRepository, TokenProcessing_Result & o_rResult ); ~SemanticNode(); +/* udm::IRef< Struct > GetStructRef( const QuName & i_rText, ary::uidl::CeNamespace & i_rCurNamespace ); +*/ void SetTokenResult( E_TokenDone i_eDone, E_EnvStackAction i_eWhat2DoWithEnvStack, UnoIDL_PE * i_pParseEnv2Push = 0 ); UnoIDL_PE * Parent() const { return pParentPE; } - ary::uidl::Gate & AryGate() const { return *pAryGate; } + ary::idl::Gate & AryGate() const { return *pAryGate; } private: // DATA UnoIDL_PE * pParentPE; - ary::uidl::Gate * pAryGate; + ary::idl::Gate * pAryGate; TokenProcessing_Result * pTokenResult; }; diff --git a/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx b/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx index 79e864b8316a..f05ab5a90874 100644 --- a/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx +++ b/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx @@ -2,9 +2,9 @@ * * $RCSfile: tk_keyw.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: np $ $Date: 2002-05-14 09:02:21 $ + * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -154,6 +154,7 @@ class TokMetaType : public TokKeyword mt_module, mt_property, mt_service, + mt_singleton, mt_struct, mt_typedef, mt_uik @@ -183,12 +184,20 @@ class TokStereotype : public TokKeyword enum E_TokenId { e_none = 0, - ste_const = 1, + ste_bound = 1, + ste_const, + ste_constrained, + ste_maybeambiguous, + ste_maybedefault, + ste_maybevoid, ste_oneway, ste_optional, ste_readonly, - ste_virtual + ste_removable, + ste_virtual, + ste_transient }; + typedef lux::Enum<E_TokenId> EV_TokenId; TokStereotype( |