1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef ARY_IDL_I_CE2S_HXX 25 #define ARY_IDL_I_CE2S_HXX 26 27 28 // USED SERVICES 29 // BASE CLASSES 30 // COMPONENTS 31 // PARAMETERS 32 #include <ary/idl/i_types4idl.hxx> 33 34 35 namespace ary 36 { 37 38 namespace idl 39 { 40 41 42 43 /** Abstract base for all secondary productions of code entities 44 */ 45 class Ce_2s 46 { 47 public: 48 // LIFECYCLE Ce_2s()49 explicit Ce_2s () { } 50 virtual ~Ce_2s(); 51 52 static DYN Ce_2s * Create_( 53 ClassId i_nCeClass ); 54 // OPERATIONS Add_Link2DescriptionInManual(const String & i_link,const String & i_linkUI)55 void Add_Link2DescriptionInManual( 56 const String & i_link, 57 const String & i_linkUI ) 58 { aDescriptionsInManual.push_back(i_link); aDescriptionsInManual.push_back(i_linkUI); } Add_Link2RefInManual(const String & i_link,const String & i_linkUI)59 void Add_Link2RefInManual( 60 const String & i_link, 61 const String & i_linkUI ) 62 { aRefsInManual.push_back(i_link); aRefsInManual.push_back(i_linkUI); } 63 std::vector<Ce_id> & 64 Access_List( 65 int i_indexOfList ); 66 // INQUIRY 67 const StringVector & Links2DescriptionInManual() const68 Links2DescriptionInManual() const 69 { return aDescriptionsInManual; } 70 const StringVector & Links2RefsInManual() const71 Links2RefsInManual() const 72 { return aRefsInManual; } CountXrefLists() const73 int CountXrefLists() const { return aXrefLists.size(); } 74 const std::vector<Ce_id> & 75 List( 76 int i_indexOfList ) const; 77 private: 78 typedef DYN std::vector<Ce_id> * ListPtr; 79 80 // DATA 81 StringVector aDescriptionsInManual; 82 StringVector aRefsInManual; 83 std::vector<ListPtr> 84 aXrefLists; 85 }; 86 87 88 89 90 } // namespace idl 91 } // namespace ary 92 #endif 93