diff --git a/main/autodoc/source/parser_i/idoc/docu_pe2.cxx b/main/autodoc/source/parser_i/idoc/docu_pe2.cxx index cdb39e9..d4ef688 100644 --- a/main/autodoc/source/parser_i/idoc/docu_pe2.cxx +++ b/main/autodoc/source/parser_i/idoc/docu_pe2.cxx @@ -491,7 +491,7 @@ SapiDocu_PE::SetCurSeeAlsoAtTagLinkText_3( DYN ary::inf::DocuToken & let_drNewTo } const String - C_sSinceFormat("Correct version format: \"OOo .[. if micro is not 0]\"."); + C_sSinceFormat("Correct version format: \"AOO .[. if micro is not 0]\"."); void SapiDocu_PE::SetCurSinceAtTagVersion_OOo( DYN ary::inf::DocuToken & let_drNewToken ) @@ -521,6 +521,48 @@ SapiDocu_PE::SetCurSinceAtTagVersion_OOo( DYN ary::inf::DocuToken & let_drNewTok if (NOT rCommandLine.DoesTransform_SinceTag()) pCurAtTag->AddToken(let_drNewToken); + if (sVersion=="Apache") + { + fCurTokenAddFunction = &SapiDocu_PE::SetCurSinceAtTagVersion_AOO; + } + else + fCurTokenAddFunction = &SapiDocu_PE::SetCurSinceAtTagVersion_Number; +} + +void +SapiDocu_PE::SetCurSinceAtTagVersion_AOO( DYN ary::inf::DocuToken & let_drNewToken ) +{ + csv_assert(pCurAtTag); + + DT_TextToken * pToken = dynamic_cast< DT_TextToken* >(&let_drNewToken); + if (pToken == 0) + { + delete &let_drNewToken; + return; + } + + const String + sVersion(pToken->GetText()); + if (sVersion != "OpenOffice") + { + Cerr() << "Version information in @since tag has incorrect format.\n" + << "Found: \"" << sVersion << "\"\n" + << "Correct version format: \"Apache OpenOffice .[. if micro is not 0]\"." + << Endl(); + exit(1); + } + + const autodoc::CommandLine & + rCommandLine = autodoc::CommandLine::Get_(); + if (NOT rCommandLine.DoesTransform_SinceTag()) + { + String & + sValue = pCurAtTag->Access_Text().Access_TextOfFirstToken(); + StreamLock + sHelp(1000); + sValue = sHelp() << sValue << " " << sVersion << " " << c_str; + } + fCurTokenAddFunction = &SapiDocu_PE::SetCurSinceAtTagVersion_Number; } @@ -609,7 +651,9 @@ bool SapiDocu_PE::CheckVersionSyntax_OOo(const String & i_versionPart1) { return i_versionPart1 == "OOo" - OR i_versionPart1 == "OpenOffice.org"; + OR i_versionPart1 == "AOO" + OR i_versionPart1 == "OpenOffice.org" + OR i_versionPart1 == "Apache"; } bool diff --git a/main/autodoc/source/parser_i/inc/s2_dsapi/docu_pe2.hxx b/main/autodoc/source/parser_i/inc/s2_dsapi/docu_pe2.hxx index 00c3dfa..d561477 100644 --- a/main/autodoc/source/parser_i/inc/s2_dsapi/docu_pe2.hxx +++ b/main/autodoc/source/parser_i/inc/s2_dsapi/docu_pe2.hxx @@ -143,6 +143,9 @@ class SapiDocu_PE : public TokenInterpreter void SetCurSinceAtTagVersion_OOo( DYN ary::inf::DocuToken & let_drNewToken ); + void SetCurSinceAtTagVersion_AOO( + DYN ary::inf::DocuToken & + let_drNewToken ); void SetCurSinceAtTagVersion_Number( DYN ary::inf::DocuToken & let_drNewToken );