diff options
Diffstat (limited to 'autodoc/inc/ary/idl')
46 files changed, 4780 insertions, 0 deletions
diff --git a/autodoc/inc/ary/idl/i_attribute.hxx b/autodoc/inc/ary/idl/i_attribute.hxx new file mode 100644 index 000000000000..1a14f5c6f716 --- /dev/null +++ b/autodoc/inc/ary/idl/i_attribute.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_ATTRIBUTE_HXX +#define ARY_IDL_I_ATTRIBUTE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_attribute +{ + struct attr; +} + + + + +/** @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_nInterface, + Ce_id i_nModule, + Type_id i_nType, + bool i_bReadonly, + bool i_bBound ); + ~Attribute(); + // OPERATIONS + void Add_GetException( + Type_id i_nException ); + void Add_SetException( + Type_id i_nException ); + + // INQUIRY + Type_id Type() const; + bool IsReadonly() const; + bool IsBound() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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< Type_id > ExceptionList; + friend struct ifc_attribute::attr; + + // DATA + String sName; + Ce_id nOwner; + Ce_id nNameRoom; + + Type_id nType; + ExceptionList aGetExceptions; + ExceptionList aSetExceptions; + bool bReadonly; + bool bBound; +}; + + + + +// IMPLEMENTATION +inline void +Attribute::Add_GetException( Type_id i_nException ) + { aGetExceptions.push_back(i_nException); } + +inline void +Attribute::Add_SetException( Type_id i_nException ) + { aSetExceptions.push_back(i_nException); } + +inline Type_id +Attribute::Type() const + { return nType; } + +inline bool +Attribute::IsReadonly() const + { return bReadonly; } + +inline bool +Attribute::IsBound() const + { return bBound; } + + + + +} // 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..1c2414a22023 --- /dev/null +++ b/autodoc/inc/ary/idl/i_ce.hxx @@ -0,0 +1,135 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_CE_HXX +#define ARY_IDL_I_CE_HXX + +// BASE CLASSES +#include <ary/entity.hxx> +// USED SERVICES +#include <ary/doc/d_docu.hxx> +#include <ary/idl/i_ce2s.hxx> +#include <ary/idl/i_types4idl.hxx> + + + + + + +namespace ary +{ +namespace idl +{ + + +/** @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 ary::Entity +{ + 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::doc::Documentation & + Docu() const; + const Ce_2s & Secondaries() const; + + static const CodeEntity & + Null_(); + // ACCESS + void Set_Docu( + DYN ary::doc::Node & + pass_data ); + Ce_2s & Secondaries(); + + protected: + CodeEntity(); + private: + // Locals + 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 + ary::doc::Documentation + aDocu; + 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::doc::Documentation & +CodeEntity::Docu() const + { return aDocu; } + +inline void +CodeEntity::Set_Docu(DYN ary::doc::Node & pass_data) +{ + aDocu.Set_Data(pass_data); +} + + + + +} // 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..f3b3140f48c3 --- /dev/null +++ b/autodoc/inc/ary/idl/i_ce2s.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_CE2S_HXX +#define ARY_IDL_I_CE2S_HXX + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_types4idl.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_( + ClassId i_nCeClass ); + // OPERATIONS + void Add_Link2DescriptionInManual( + const String & i_link, + const String & i_linkUI ) + { aDescriptionsInManual.push_back(i_link); aDescriptionsInManual.push_back(i_linkUI); } + void Add_Link2RefInManual( + const String & i_link, + const String & i_linkUI ) + { aRefsInManual.push_back(i_link); aRefsInManual.push_back(i_linkUI); } + 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_comrela.hxx b/autodoc/inc/ary/idl/i_comrela.hxx new file mode 100644 index 000000000000..1e3a040291eb --- /dev/null +++ b/autodoc/inc/ary/idl/i_comrela.hxx @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_COMRELA_HXX +#define ARY_IDL_I_COMRELA_HXX + +// USED SERVICES +#include <ary/idl/i_types4idl.hxx> + +namespace ary +{ +namespace doc +{ + class OldIdlDocu; +} +} + + + + +namespace ary +{ +namespace idl +{ + + +/** Contains data for an IDL code entity related to another one like a base of + an interface or of a service or the supported interface of a service. +*/ +class CommentedRelation +{ + public: + // LIFECYCLE + + CommentedRelation( + Type_id i_nType, + doc::OldIdlDocu * i_pInfo ) + : nType(i_nType), + pInfo(i_pInfo) + {} + // INQUIRY + Type_id Type() const { return nType; } + doc::OldIdlDocu * Info() const { return pInfo; } + + private: + // DATA + Type_id nType; + doc::OldIdlDocu * pInfo; +}; + + + + +} // 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..f822e780f4d2 --- /dev/null +++ b/autodoc/inc/ary/idl/i_constant.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_CONSTANT_HXX +#define ARY_IDL_I_CONSTANT_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_constant +{ + struct attr; +} + + +/** 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(); + // INQUIRY + Type_id Type() const; + const String & Value() const; + + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..961daf6678ab --- /dev/null +++ b/autodoc/inc/ary/idl/i_constgroup.hxx @@ -0,0 +1,101 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_CONSTGROUP_HXX +#define ARY_IDL_I_CONSTGROUP_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_constgroup +{ + struct attr; +} + + +/** 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(); + // ACCESS + void Add_Constant( + Ce_id i_nConstant ); + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..36e1244460dd --- /dev/null +++ b/autodoc/inc/ary/idl/i_enum.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_ENUM_HXX +#define ARY_IDL_I_ENUM_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_enum +{ + struct attr; +} + + +/** 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 csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..ea3d1df74c5d --- /dev/null +++ b/autodoc/inc/ary/idl/i_enumvalue.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_ENUMVALUE_HXX +#define ARY_IDL_I_ENUMVALUE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_enumvalue +{ + struct attr; +} + + +/** @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(); + // INQUIRY + const String & Value() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..bed245e884c7 --- /dev/null +++ b/autodoc/inc/ary/idl/i_exception.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_EXCEPTION_HXX +#define ARY_IDL_I_EXCEPTION_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_exception +{ + struct attr; +} + + +/** 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 csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..45cac1ffc55a --- /dev/null +++ b/autodoc/inc/ary/idl/i_function.hxx @@ -0,0 +1,160 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_FUNCTION_HXX +#define ARY_IDL_I_FUNCTION_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + +// USED SERVICES +#include <ary/idl/i_param.hxx> +#include <ary/idl/ik_function.hxx> +#include <ary/stdconstiter.hxx> + + + + +namespace ary +{ +namespace idl +{ + + +/** Represents an IDL function. + + Special case constructor: + Constructors have return type "0". +*/ +class Function : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2002 }; + + typedef std::vector< Parameter > ParamList; + typedef std::vector< Type_id > ExceptionList; + + // LIFECYCLE + /// Normal function + Function( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom, + Type_id i_nReturnType, + bool i_bOneWay ); + /// Constructor + Function( + const String & i_sName, + Ce_id i_nOwner, + Ce_id i_nNameRoom ); + ~Function(); + + // OPERATIONS + void Add_Parameter( + const String & i_sName, + Type_id i_nType, + E_ParameterDirection + i_eDirection ); + /// The function's parameter list ends with the ellipse "..." . + void Set_Ellipse(); + 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 IsOneway() const; + bool HasEllipse() const { return bEllipse; } + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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 bOneWay; + bool bEllipse; +}; + + + + +// 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::Set_Ellipse() +{ + bEllipse = true; +} + +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::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..923ee68998a3 --- /dev/null +++ b/autodoc/inc/ary/idl/i_gate.hxx @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_GATE_HXX +#define ARY_IDL_I_GATE_HXX + +// USED SERVICES + +namespace autodoc +{ + class Options; +} +namespace ary +{ +namespace idl +{ + class CePilot; + class TypePilot; +} +} + + + + +namespace ary +{ +namespace idl +{ + + +/** Main entry to access the IDL parts of the repository. +*/ +class Gate +{ + public: + // LIFECYCLE + virtual ~Gate() {} + + // OPERATIONS + virtual void Calculate_AllSecondaryInformation( + const String & i_devman_reffilepath ) = 0; +// const ::autodoc::Options & +// i_options ) = 0; + // INQUIRY + virtual const CePilot & + Ces() const = 0; + virtual const TypePilot & + Types() const = 0; + // ACCESS + virtual CePilot & Ces() = 0; + virtual TypePilot & Types() = 0; +}; + + + + +} // 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..4c68d1703b1b --- /dev/null +++ b/autodoc/inc/ary/idl/i_interface.hxx @@ -0,0 +1,127 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_INTERFACE_HXX +#define ARY_IDL_I_INTERFACE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + +// USED SERVICES +#include <ary/idl/i_comrela.hxx> +#include <ary/stdconstiter.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_interface +{ + struct attr; +} + class Interface_2s; + + +/** 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 ); + ~Interface(); + // INQUIRY + bool HasBase() const; + + // ACCESS + void Add_Function( + Ce_id i_nId ); + void Add_Attribute( + Ce_id i_nId ); + void Add_Base( + Type_id i_nInterface, + DYN doc::OldIdlDocu * + pass_dpDocu ); + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity: + 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< CommentedRelation > RelationList; + typedef std::vector<Ce_id> MemberList; + friend struct ifc_interface::attr; + + // DATA + String sName; + Ce_id nOwner; + RelationList aBases; + MemberList aFunctions; + MemberList aAttributes; + Dyn<Interface_2s> p2s; +}; + + + + +// IMPLEMENTATION +inline bool +Interface::HasBase() const + { return aBases.size() > 0; } +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); } +inline void +Interface::Add_Base( Type_id i_nInterface, + DYN doc::OldIdlDocu * pass_dpDocu ) + { aBases.push_back( CommentedRelation(i_nInterface, pass_dpDocu) ); } + + + + +} // 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..feaa520faa3a --- /dev/null +++ b/autodoc/inc/ary/idl/i_module.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_MODULE_HXX +#define ARY_IDL_I_MODULE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + +// USED SERVICES +#include <ary/stdconstiter.hxx> + + + + +namespace ary +{ + template <class> class NameTreeNode; + +namespace idl +{ +namespace ifc_module +{ + struct attr; +} + class Gate; + + +/** Represents an IDL module. + + "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 + Ce_id Search_Name( + const String & i_sName ) const; + void Get_Names( + Dyn_StdConstIterator<Ce_id> & + o_rResult ) const; + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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.AryClass() == Module::class_id; +} + + + + +} // namespace idl +} // namespace ary +#endif diff --git a/autodoc/inc/ary/idl/i_namelookup.hxx b/autodoc/inc/ary/idl/i_namelookup.hxx new file mode 100644 index 000000000000..917c36f8e9d6 --- /dev/null +++ b/autodoc/inc/ary/idl/i_namelookup.hxx @@ -0,0 +1,95 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_NAMELOOKUP_HXX +#define ARY_IDL_I_NAMELOOKUP_HXX + +// BASE CLASSES +#include <ary/idl/i_types4idl.hxx> + +// USED SERVICES +#include <ary/stdconstiter.hxx> +#include <ary/itrange.hxx> +#include <vector> +#include <map> + + + + +namespace ary +{ +namespace idl +{ + + +/** This class finds all occurrences in the current language of a + name in the repository. +*/ +class NameLookup +{ + public: + struct NameProperties + { + NameProperties() + : nId(0), + nClass(0), + nOwner(0) {} + NameProperties( + Ce_id i_id, + ClassId i_class, + Ce_id i_owner ) + : nId(i_id), + nClass(i_class), + nOwner(i_owner) {} + Ce_id nId; + ClassId nClass; + Ce_id nOwner; + }; + + /// Map from Name to NameProperties. + typedef std::multimap<String, NameProperties> Map_Names; + + // LIFECYCLE + NameLookup(); + ~NameLookup(); + // OPERATIONS + void Add_Name( + const String & i_name, + Ce_id i_id, + ClassId i_class, + Ce_id i_owner ); + private: + // DATA + Map_Names aNames; +}; + + + + +} // 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..726a1403f29a --- /dev/null +++ b/autodoc/inc/ary/idl/i_param.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_PARAM_HXX +#define ARY_IDL_I_PARAM_HXX + +// BASE CLASSES +#include <ary/idl/i_types4idl.hxx> + + + + +namespace ary +{ +namespace idl +{ + + +/** Represents a parameter in an IDL function. +*/ +class Parameter +{ + public: + // LIFECYCLE + 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; +}; + + + + +} // 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..b0a5739dd6ab --- /dev/null +++ b/autodoc/inc/ary/idl/i_property.hxx @@ -0,0 +1,143 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_PROPERTY_HXX +#define ARY_IDL_I_PROPERTY_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_property +{ + struct attr; +} + + +/** 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, + maybeambiguous = 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 IsMayBeAmbiguous() const + { return (nFlags & UINT32(maybeambiguous)) != 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 csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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..a1cdb400dcda --- /dev/null +++ b/autodoc/inc/ary/idl/i_service.hxx @@ -0,0 +1,139 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_SERVICE_HXX +#define ARY_IDL_I_SERVICE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + +// USED SERVICES +#include <ary/idl/i_comrela.hxx> +#include <ary/stdconstiter.hxx> +#include <ary/idl/ik_service.hxx> + + + + +namespace ary +{ +namespace info +{ + class CodeInformation; +} +namespace idl +{ +namespace ifc_service +{ + struct attr; +} + + +/** Represents an IDL service. +*/ +class Service : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2003 }; // See reposy.cxx + + // LIFECYCLE + Service( + const String & i_sName, + Ce_id i_nOwner ); + ~Service(); + + // INQUIRY + void Get_SupportedInterfaces( + Dyn_StdConstIterator<CommentedRelation> & + o_rResult ) const; + void Get_IncludedServices( + Dyn_StdConstIterator<CommentedRelation> & + o_rResult ) const; + + // ACCESS + void Add_Property( + Ce_id i_nProperty ); + void AddRef_IncludedService( + Type_id i_nService, + DYN doc::OldIdlDocu * + pass_dpDocu ); + void AddRef_SupportedInterface( + Type_id i_nInterface, + DYN doc::OldIdlDocu * + pass_dpDocu ); + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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< CommentedRelation > RelationList; + typedef std::vector<Ce_id> PropertyList; + friend struct ifc_service::attr; + + // DATA + String sName; + Ce_id nOwner; + + RelationList aIncludedServices; + RelationList 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 doc::OldIdlDocu * pass_dpDocu ) + { aIncludedServices.push_back( CommentedRelation(i_nService, pass_dpDocu) ); } + +inline void +Service::AddRef_SupportedInterface( Type_id i_nInterface, + DYN doc::OldIdlDocu * pass_dpDocu ) + { aSupportedInterfaces.push_back( CommentedRelation(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..dbfca6d93087 --- /dev/null +++ b/autodoc/inc/ary/idl/i_singleton.hxx @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_SINGLETON_HXX +#define ARY_IDL_I_SINGLETON_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_singleton +{ + struct attr; +} + + +/** 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 csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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_siservice.hxx b/autodoc/inc/ary/idl/i_siservice.hxx new file mode 100644 index 000000000000..c38e90610a74 --- /dev/null +++ b/autodoc/inc/ary/idl/i_siservice.hxx @@ -0,0 +1,107 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_SISERVICE_HXX +#define ARY_IDL_I_SISERVICE_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_sglifcservice +{ + struct attr; +} + + +/** Represents an IDL single interface service. +*/ +class SglIfcService : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2015 }; // See reposy.cxx + + // LIFECYCLE + SglIfcService( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBaseInterface ); + ~SglIfcService(); + // ACCESS + void Add_Constructor( + Ce_id i_nId ); + + // INFO + Type_id BaseInterface() const { return nBaseInterface; } + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity: + 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> CtorList; + friend struct ifc_sglifcservice::attr; + + // DATA + String sName; + Ce_id nOwner; + Type_id nBaseInterface; + + CtorList aConstructors; +}; + + + + +// IMPLEMENTATION +inline void +SglIfcService::Add_Constructor( Ce_id i_nId ) +{ + aConstructors.push_back(i_nId); +} + + + + +} // namespace idl +} // namespace ary +#endif diff --git a/autodoc/inc/ary/idl/i_sisingleton.hxx b/autodoc/inc/ary/idl/i_sisingleton.hxx new file mode 100644 index 000000000000..6dd288c048d3 --- /dev/null +++ b/autodoc/inc/ary/idl/i_sisingleton.hxx @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_SISINGLETON_HXX +#define ARY_IDL_I_SISINGLETON_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_sglifcsingleton +{ + struct attr; +} + + +/** Represents an IDL interface. +*/ +class SglIfcSingleton : public CodeEntity +{ + public: + enum E_ClassId { class_id = 2016 }; // See reposy.cxx + + // LIFECYCLE + SglIfcSingleton( + const String & i_sName, + Ce_id i_nOwner, + Type_id i_nBaseInterface ); + ~SglIfcSingleton(); + // INQUIRY + Type_id BaseInterface() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity: + 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 + friend struct ifc_sglifcsingleton::attr; + + // DATA + String sName; + Ce_id nOwner; + Type_id nBaseInterface; +}; + + + + +// IMPLEMENTATION +inline Type_id +SglIfcSingleton::BaseInterface() const +{ + return nBaseInterface; +} + + + + +} // 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..c73eb1517f7b --- /dev/null +++ b/autodoc/inc/ary/idl/i_struct.hxx @@ -0,0 +1,130 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_STRUCT_HXX +#define ARY_IDL_I_STRUCT_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_struct +{ + struct attr; +} + + +/** 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, + const String & i_sTemplateParameter, + Type_id i_nTemplateParameterType ); + ~Struct(); + // INQUIRY + Type_id Base() const; + String TemplateParameter() const; + Type_id TemplateParameterType() const; + + // ACCESS + void Add_Member( + Ce_id i_nMember ); + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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; + String sTemplateParameter; + Type_id nTemplateParameterType; + ElementList aElements; +}; + + + + +// IMPLEMENTATION +inline Type_id +Struct::Base() const +{ + return nBase; +} + +inline String +Struct::TemplateParameter() const +{ + return sTemplateParameter; +} + +inline Type_id +Struct::TemplateParameterType() const +{ + return nTemplateParameterType; +} + +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..f7544f027f2d --- /dev/null +++ b/autodoc/inc/ary/idl/i_structelem.hxx @@ -0,0 +1,103 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_STRUCTELEM_HXX +#define ARY_IDL_I_STRUCTELEM_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_structelement +{ + struct attr; +} + + +/** 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(); + + // INQUIRY + Type_id Type() const; + + private: + // Interface csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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_traits.hxx b/autodoc/inc/ary/idl/i_traits.hxx new file mode 100644 index 000000000000..c34704537794 --- /dev/null +++ b/autodoc/inc/ary/idl/i_traits.hxx @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_TRAITS_HXX +#define ARY_IDL_I_TRAITS_HXX + +// USED SERVICES +#include <ary/idl/i_types4idl.hxx> + + + + +namespace ary +{ +namespace idl +{ + + +/** Basic traits for derivd ones of ->CodeEntity. +*/ +struct Ce_Traits +{ + typedef CodeEntity entity_base_type; + typedef Ce_id id_type; + + static entity_base_type & + EntityOf_( + id_type i_id ); +}; + + +/** An instance of COMPARE for ->::ary::SortedIds<>. + + @see ::ary::SortedIds<> +*/ +struct Ce_Compare : public Ce_Traits +{ + typedef String key_type; + + static const key_type & + KeyOf_( + const entity_base_type & + i_entity ); + static bool Lesser_( + const key_type & i_1, + const key_type & i_2 ); +}; + + + + +} // 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..75f9737f1468 --- /dev/null +++ b/autodoc/inc/ary/idl/i_type.hxx @@ -0,0 +1,142 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_TYPE_HXX +#define ARY_IDL_I_TYPE_HXX + +// USED SERVICES +#include <ary/entity.hxx> +#include <ary/idl/i_types4idl.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_( + ClassId i_nCeId ); +}; + + +/** 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 ary::Entity +{ + public: + typedef Type_2s secondary_productions; + + // LIFECYCLE + virtual ~Type() {} + + // INQUIRY + Type_id TypeId() const { return Type_id(Id()); } + + /** Does NOT clear the output-parameters. + + @attention + If this is a sequence, the text of the first non-sequence, enclosed type + is returned. + */ + void Get_Text( + StringVector & o_module, + String & o_name, + Ce_id & o_nRelatedCe, + int & o_nSequenceCount, + const Gate & i_rGate ) const; + const std::vector<Type_id> * + TemplateParameters() const; + const Type & FirstEnclosedNonSequenceType( /// @return *this, if this is not a ->Sequence. + 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; + virtual const std::vector<Type_id> * + inq_TemplateParameters() const; + virtual const Type & + inq_FirstEnclosedNonSequenceType( + const Gate & i_rGate ) const; +}; + + + + +// IMPLEMENTATION +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); +} + +inline const std::vector<Type_id> * +Type::TemplateParameters() const +{ + return inq_TemplateParameters(); +} + +inline const Type & +Type::FirstEnclosedNonSequenceType(const Gate & i_rGate) const +{ + return inq_FirstEnclosedNonSequenceType(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..9d315c2f12d9 --- /dev/null +++ b/autodoc/inc/ary/idl/i_typedef.hxx @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_TYPEDEF_HXX +#define ARY_IDL_I_TYPEDEF_HXX + +// BASE CLASSES +#include <ary/idl/i_ce.hxx> + + + + +namespace ary +{ +namespace idl +{ +namespace ifc_typedef +{ + struct attr; +} + + +/** 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 csv::ConstProcessorClient: + virtual void do_Accept( + csv::ProcessorIfc & io_processor ) const; + // Interface ary::Object: + virtual ClassId get_AryClass() const; + + // Interface CodeEntity + 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; +}; + + + + +} // namespace idl +} // namespace ary +#endif diff --git a/autodoc/inc/ary/idl/i_types4idl.hxx b/autodoc/inc/ary/idl/i_types4idl.hxx new file mode 100644 index 000000000000..046b47f4bb0c --- /dev/null +++ b/autodoc/inc/ary/idl/i_types4idl.hxx @@ -0,0 +1,142 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_I_TYPES4IDL_HXX +#define ARY_IDL_I_TYPES4IDL_HXX + +// USED SERVICES +#include <ary/types.hxx> + + + + +namespace ary +{ +namespace idl +{ + class Module; + class CodeEntity; + class Type; + class Gate; + class CePilot; + class TypePilot; + + +typedef TypedId<CodeEntity> Ce_id; +typedef TypedId<Type> Type_id; + + +/** This is used when an ->ary::idl::ExplicitType + represents a templated struct and is sorted into the + dictionary of an ->ary::idl::XNameRoom. + Then local type name and template type id are concatenated + to one string with this char as delimiter. +*/ +const char C_cTemplateDelimiter = '<'; + +typedef std::vector<Ce_id> Ce_idList; + + +enum E_ParameterDirection +{ + param_in, + param_out, + param_inout +}; + + +enum E_SightLevel +{ + sl_Module, // not file bound entities, like modules + sl_File, // entities on top level within one file, like interface or enum + sl_Member // member entities, like enumvalue or function +}; + +inline Ce_id +Ce_id_Null() +{ + return Ce_id(0); +} + +inline void +NullPush_IdList(Ce_idList * o_pList) +{ + if (o_pList) + o_pList->push_back( Ce_id_Null() ); +} + +inline void +NullPush_IdList_2(Ce_idList * o_pList) +{ + if (o_pList) + { + o_pList->push_back( Ce_id_Null() ); + o_pList->push_back( Ce_id_Null() ); + } +} + +namespace alphabetical_index +{ + enum E_Letter + { + a = int('a'), + b, + c, + d, + e, + f, + g, + h, + i, + j, + k, + l, + m, + n, + o, + p, + q, + r, + s, + t, + u, + v, + w, + x, + y, + z, + non_alpha = int('_'), + MAX + }; +} + + + + +} // 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..6e8822111d1e --- /dev/null +++ b/autodoc/inc/ary/idl/ik_attribute.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IK_ATTRIBUTE_HXX +#define ARY_IDL_IK_ATTRIBUTE_HXX +// KORR_DEPRECATED_3.0 + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_attribute +{ + +using ifc_ce::DocText; +using ::ary::idl::ifc_ce::Dyn_TypeIterator; + + +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 Type_id Type( + const CodeEntity & i_ce ); + static void Get_GetExceptions( + Dyn_TypeIterator & o_result, + const CodeEntity & i_ce ); + static void Get_SetExceptions( + Dyn_TypeIterator & o_result, + 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..ffa9363a6543 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_ce.hxx @@ -0,0 +1,146 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IK_CE_HXX +#define ARY_IDL_IK_CE_HXX +// KORR_DEPRECATED_3.0 + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS +#include <ary/idl/i_types4idl.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 & , + const String & ) + { 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..61b7fb7c87e0 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_constant.hxx @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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..df55fda2ce03 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_constgroup.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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..229d945b06f9 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_enum.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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 ); + static void Get_AsDataTypes( + 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..4071199a9f12 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_enumvalue.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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..6bd9eaa58109 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_exception.hxx @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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..b52264440405 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_function.hxx @@ -0,0 +1,96 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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 IsOneway( + const CodeEntity & i_ce ); + static bool HasEllipse( + 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..c6fb059fea48 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_interface.hxx @@ -0,0 +1,112 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IK_INTERFACE_HXX +#define ARY_IDL_IK_INTERFACE_HXX + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ +class CommentedRelation; + +namespace ifc_interface +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static void Get_Bases( + Dyn_StdConstIterator<CommentedRelation> & + o_result, + 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_ExportingSingletons( + 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 ); + static void Get_AsDataTypes( + 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..e4b5e5b0a6b1 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_module.hxx @@ -0,0 +1,114 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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_FUTURE + // 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..874eb91edce4 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_property.hxx @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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 IsMayBeAmbiguous( + 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..6a7561375a4a --- /dev/null +++ b/autodoc/inc/ary/idl/ik_service.hxx @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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<CommentedRelation> & + o_result, + const CodeEntity & i_ce ); + static void Get_ExportedInterfaces( + Dyn_StdConstIterator<CommentedRelation> & + 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..e4af7af5b810 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_singleton.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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_siservice.hxx b/autodoc/inc/ary/idl/ik_siservice.hxx new file mode 100644 index 000000000000..8a42f899b6a3 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_siservice.hxx @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IK_SISERVICE_HXX +#define ARY_IDL_IK_SISERVICE_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_sglifcservice +{ + +using ifc_ce::Dyn_CeIterator; + + +struct attr: public ifc_ce::attr +{ + static Type_id BaseInterface( + const CodeEntity & i_ce ); + static void Get_Constructors( + Dyn_CeIterator & o_result, + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_sglifcservice + +} // namespace idl +} // namespace ary + + +#endif diff --git a/autodoc/inc/ary/idl/ik_sisingleton.hxx b/autodoc/inc/ary/idl/ik_sisingleton.hxx new file mode 100644 index 000000000000..13ba8b810251 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_sisingleton.hxx @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IK_SISINGLETON_HXX +#define ARY_IDL_IK_SISINGLETON_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <ary/idl/ik_ce.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ +namespace idl +{ + +namespace ifc_sglifcsingleton +{ + +using ifc_ce::Dyn_CeIterator; +using ifc_ce::DocText; + + +struct attr: public ifc_ce::attr +{ + static Type_id BaseInterface( + const CodeEntity & i_ce ); +}; + +struct xref : public ifc_ce::xref +{ +}; + +struct doc : public ifc_ce::doc +{ +}; + + +} // namespace ifc_sglifcsingleton + +} // 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..b5908d3a1e0c --- /dev/null +++ b/autodoc/inc/ary/idl/ik_struct.hxx @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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 ); + static void Get_AsDataTypes( + 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..2b8f95587463 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_structelem.hxx @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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..1d4a88d5d287 --- /dev/null +++ b/autodoc/inc/ary/idl/ik_typedef.hxx @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_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 ); + static void Get_AsDataTypes( + 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..d2b7773d62df --- /dev/null +++ b/autodoc/inc/ary/idl/ip_ce.hxx @@ -0,0 +1,210 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IP_CE_HXX +#define ARY_IDL_IP_CE_HXX + +// USED SERVICES +#include <ary/idl/i_types4idl.hxx> +#include <ary/idl/i_property.hxx> + + + + +namespace ary +{ +namespace idl +{ + class Module; + + class ConstantsGroup; + class Enum; + class Exception; + class Interface; + class Service; + class SglIfcService; + class Singleton; + class SglIfcSingleton; + class Struct; + class Typedef; + + class Attribute; + class Constant; + class EnumValue; + class Function; + class Property; + class StructElement; + class Variable; + + class NameLookup; + + +/** Provides the access logic for all code entities. +*/ +class CePilot +{ + public: + // LIFECYCLE + virtual ~CePilot() {} + + // OPERATIONS + virtual Module & CheckIn_Module( + Ce_id i_nParentId, + const String & i_sName ) = 0; + virtual Service & Store_Service( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual SglIfcService & + Store_SglIfcService( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBaseInterface ) = 0; + virtual Interface & Store_Interface( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) = 0; + virtual Struct & Store_Struct( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase, + const String & i_sTemplateParam = String::Null_() ) = 0; + virtual Exception & Store_Exception( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBase ) = 0; + virtual Enum & Store_Enum( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual Typedef & Store_Typedef( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nDefiningType ) = 0; + virtual ConstantsGroup & + Store_ConstantsGroup( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual Singleton & Store_Singleton( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual SglIfcSingleton & + Store_SglIfcSingleton( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nBaseInterface ) = 0; + + virtual Constant & Store_Constant( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + const String & i_sValue ) = 0; + virtual Property & Store_Property( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + Property::Stereotypes + i_stereotypes ) = 0; + virtual Function & Store_Function( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nReturnType, + bool i_bOneWay ) = 0; + virtual Function & Store_ServiceConstructor( + Ce_id i_nOwner, + const String & i_sName ) = 0; + virtual StructElement & + Store_StructMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) = 0; + virtual StructElement & + Store_ExceptionMember( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType ) = 0; + virtual EnumValue & Store_EnumValue( + Ce_id i_nOwner, + const String & i_sName, + const String & i_sValue ) = 0; + virtual Attribute & Store_Attribute( + Ce_id i_nOwner, + const String & i_sName, + Type_id i_nType, + bool i_bReadOnly, + bool i_bBound ) = 0; + // INQUIRY + virtual const Module & + GlobalNamespace() const = 0; + virtual const CodeEntity & + Find_Ce( + Ce_id i_nId ) const = 0; + + virtual const Module & + Find_Module( + Ce_id i_nId ) const = 0; + virtual const Module * + Search_Module( + Ce_id i_nId ) const = 0; + virtual const Function & + Find_Function( + Ce_id i_nId ) const = 0; + virtual const Property & + Find_Property( + Ce_id i_nId ) const = 0; + virtual const EnumValue & + Find_EnumValue( + Ce_id i_nId ) const = 0; + virtual const Constant & + Find_Constant( + Ce_id i_nId ) const = 0; + virtual const StructElement & + Find_StructElement( + Ce_id i_nId ) const = 0; + virtual void Get_Text( + StringVector & o_module, + String & o_ce, + String & o_member, + const CodeEntity & i_ce ) const = 0; + virtual const NameLookup & + NameDictionary() const = 0; + virtual void Get_AlphabeticalIndex( + std::vector<Ce_id> & + o_rResult, + alphabetical_index::E_Letter + i_cLetter) const = 0; + // ACCESS + virtual Module & GlobalNamespace() = 0; + virtual CodeEntity & + Find_Ce( + Ce_id i_nId ) = 0; +}; + + + + +} // 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..7936bab40bff --- /dev/null +++ b/autodoc/inc/ary/idl/ip_type.hxx @@ -0,0 +1,83 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ARY_IDL_IP_TYPE_HXX +#define ARY_IDL_IP_TYPE_HXX + +// USED SERVICES +#include <ary/idl/i_types4idl.hxx> + + + + +namespace ary +{ + class QualifiedName; + +namespace idl +{ + class Type; + class ExplicitNameRoom; + + +/** Access point to all {->Type}s in IDL. +*/ +class TypePilot +{ + public: + // LIFECYCLE + virtual ~TypePilot() {} + + // OPERATIONS + virtual const Type & + CheckIn_Type( + QualifiedName & i_rFullName, + uintt i_nSequenceCount, + Ce_id i_nModuleOfOccurrence, + const std::vector<Type_id> * + i_templateParameters ) = 0; + // INQUIRY + virtual const Type & + Find_Type( + Type_id i_nType ) const = 0; + virtual String Search_LocalNameOf( + Type_id i_nType ) const = 0; + virtual Ce_id Search_CeRelatedTo( + Type_id i_nType ) const = 0; + virtual const ExplicitNameRoom & + Find_XNameRoom( + Type_id i_nType ) const = 0; + virtual bool IsBuiltInOrRelated( + const Type & i_rType ) const = 0; +}; + + + + +} // namespace idl +} // namespace ary +#endif |