| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  | /*************************************************************************
 | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *  OpenOffice.org - a multi-platform office productivity suite | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *  $RCSfile: doc_deal.hxx,v $ | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *  $Revision: 1.2 $ | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *  last change: $Author: rt $ $Date: 2005-09-07 18:34:33 $ | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *  The Contents of this file are made available subject to | 
					
						
							|  |  |  |  *  the terms of GNU Lesser General Public License Version 2.1. | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *    GNU Lesser General Public License Version 2.1 | 
					
						
							|  |  |  |  *    ============================================= | 
					
						
							|  |  |  |  *    Copyright 2005 by Sun Microsystems, Inc. | 
					
						
							|  |  |  |  *    901 San Antonio Road, Palo Alto, CA 94303, USA | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *    This library is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  *    modify it under the terms of the GNU Lesser General Public | 
					
						
							|  |  |  |  *    License version 2.1, as published by the Free Software Foundation. | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *    This library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  *    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
					
						
							|  |  |  |  *    Lesser General Public License for more details. | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2005-09-07 17:34:33 +00:00
										 |  |  |  *    You should have received a copy of the GNU Lesser General Public | 
					
						
							|  |  |  |  *    License along with this library; if not, write to the Free Software | 
					
						
							|  |  |  |  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 
					
						
							|  |  |  |  *    MA  02111-1307  USA | 
					
						
							| 
									
										
										
										
											2002-03-08 13:45:36 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  ************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef ADC_DOC_DEAL_HXX
 | 
					
						
							|  |  |  | #define ADC_DOC_DEAL_HXX
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // USED SERVICES
 | 
					
						
							|  |  |  |     // BASE CLASSES
 | 
					
						
							|  |  |  | #include <tokens/tokproct.hxx>
 | 
					
						
							|  |  |  |     // COMPONENTS
 | 
					
						
							|  |  |  |     // PARAMETERS
 | 
					
						
							|  |  |  | #include <ary/cpp/c_etypes.hxx>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace ary | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     class Documentation; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class DocuDealer | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   public: | 
					
						
							|  |  |  |     // INQUIRY
 | 
					
						
							|  |  |  |     virtual             ~DocuDealer() {} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // OPERATIONS
 | 
					
						
							|  |  |  |     /** @descr
 | 
					
						
							|  |  |  |         This distributes the let_drDocu to the matching ary::RepositoryEntity . | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         If the docu is not inline, it will be saved and later given to the next | 
					
						
							|  |  |  |         ary::CodeEntity. Or it will be discarded, if there does not come a matching | 
					
						
							|  |  |  |         ary::CodeEntity . | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         If the docu is inline after a function header or after an enum value | 
					
						
							|  |  |  |         or after a function parameter or after a base class, it will be stored | 
					
						
							|  |  |  |         together with the matching function, enum value, parameter or base class. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         If the documentation is @file or @project or @glos(sary) it will be | 
					
						
							|  |  |  |         stored at the matching ary::cpp::FileGroup, ary::cpp::ProjectGroup | 
					
						
							|  |  |  |         or ary::Glossary. | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  |     void                TakeDocu( | 
					
						
							|  |  |  |                             DYN ary::Documentation & | 
					
						
							|  |  |  |                                                 let_drInfo ); | 
					
						
							|  |  |  |   private: | 
					
						
							|  |  |  |     virtual void        do_TakeDocu( | 
					
						
							|  |  |  |                             DYN ary::Documentation & | 
					
						
							|  |  |  |                                                 let_drInfo ) = 0; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // IMPLEMENTATION
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | inline void | 
					
						
							|  |  |  | DocuDealer::TakeDocu( DYN ary::Documentation & let_drInfo ) | 
					
						
							|  |  |  |     { do_TakeDocu(let_drInfo); } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 |