diff options
author | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 16:59:59 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 16:59:59 +0100 |
commit | ad669b8d2356b1f53c11c33ccb51803fd3ea49fe (patch) | |
tree | 605a882022093cc2eb32e4af9c06cd75befea795 | |
parent | 5f3b360f26fb05b2c1b6666321359346f2ddb5a4 (diff) | |
parent | c8b417d97c982736e9678264673a20d328cabd1f (diff) |
Merge commit 'ooo/DEV300_m103'
Conflicts:
codemaker/source/bonobowrappermaker/corbaoptions.cxx
codemaker/source/cppumaker/cppuoptions.cxx
codemaker/source/cunomaker/cunooptions.cxx
codemaker/source/idlmaker/idloptions.cxx
codemaker/source/javamaker/javaoptions.cxx
cppu/source/typelib/typelib.cxx
idlc/source/options.cxx
offapi/com/sun/star/util/PathSubstitution.idl
offapi/drafts/com/sun/star/form/ListEntryEvent.idl
offapi/drafts/com/sun/star/form/XBindableValue.idl
offapi/drafts/com/sun/star/form/XListEntryListener.idl
offapi/drafts/com/sun/star/form/XListEntrySink.idl
offapi/drafts/com/sun/star/form/XListEntrySource.idl
offapi/drafts/com/sun/star/form/XValueBinding.idl
registry/tools/checksingleton.cxx
registry/tools/options.hxx
registry/tools/regcompare.cxx
registry/tools/regmerge.cxx
sal/cppunittester/cppunittester.cxx
sal/osl/unx/socket.c
sal/osl/w32/diagnose.c
sal/prj/d.lst
sal/rtl/source/alloc_fini.cxx
sal/rtl/source/alloc_global.c
sal/rtl/source/makefile.mk
401 files changed, 2849 insertions, 3066 deletions
diff --git a/cli_ure/version/version.txt b/cli_ure/version/version.txt index 8cbdedf65..b5ec56283 100644..100755 --- a/cli_ure/version/version.txt +++ b/cli_ure/version/version.txt @@ -25,23 +25,23 @@ # #************************************************************************* -CLI_URETYPES_NEW_VERSION=1.0.7.0 -CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.6.0 -CLI_URETYPES_POLICY_VERSION=7.0.0.0 +CLI_URETYPES_NEW_VERSION=1.0.8.0 +CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.7.0 +CLI_URETYPES_POLICY_VERSION=8.0.0.0 CLI_URETYPES_POLICY_ASSEMBLY=policy.1.0.cli_uretypes -CLI_BASETYPES_NEW_VERSION=1.0.18.0 -CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.17.0 -CLI_BASETYPES_POLICY_VERSION=18.0.0.0 +CLI_BASETYPES_NEW_VERSION=1.0.19.0 +CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.18.0 +CLI_BASETYPES_POLICY_VERSION=19.0.0.0 CLI_BASETYPES_POLICY_ASSEMBLY=policy.1.0.cli_basetypes -CLI_URE_NEW_VERSION=1.0.21.0 -CLI_URE_OLD_VERSION=1.0.0.0-1.0.20.0 -CLI_URE_POLICY_VERSION=21.0.0.0 +CLI_URE_NEW_VERSION=1.0.22.0 +CLI_URE_OLD_VERSION=1.0.0.0-1.0.21.0 +CLI_URE_POLICY_VERSION=22.0.0.0 CLI_URE_POLICY_ASSEMBLY=policy.1.0.cli_ure -CLI_CPPUHELPER_NEW_VERSION=1.0.21.0 -CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.20.0 -CLI_CPPUHELPER_POLICY_VERSION=21.0.0.0 +CLI_CPPUHELPER_NEW_VERSION=1.0.22.0 +CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.21.0 +CLI_CPPUHELPER_POLICY_VERSION=22.0.0.0 CLI_CPPUHELPER_POLICY_ASSEMBLY=policy.1.0.cli_cppuhelper diff --git a/codemaker/source/cppumaker/cppuoptions.cxx b/codemaker/source/cppumaker/cppuoptions.cxx index c44c99f22..b746c0c4c 100644 --- a/codemaker/source/cppumaker/cppuoptions.cxx +++ b/codemaker/source/cppumaker/cppuoptions.cxx @@ -38,6 +38,13 @@ using ::rtl::OUString; using ::rtl::OUStringToOString; using ::rtl::OString; + +#ifdef SAL_UNX +#define SEPARATOR '/' +#else +#define SEPARATOR '\\' +#endif + sal_Bool CppuOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile) throw( IllegalArgument ) { @@ -48,7 +55,9 @@ sal_Bool CppuOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile) { bCmdFile = sal_True; - m_program = av[0]; + OString name(av[0]); + sal_Int32 index = name.lastIndexOf(SEPARATOR); + m_program = name.copy((index > 0 ? index+1 : 0)); if (ac < 2) { @@ -340,7 +349,7 @@ OString CppuOptions::prepareHelp() help += " necessary information is available for bridging the type in UNO.\n"; help += " -G = generate only target files which does not exists.\n"; help += " -Gc = generate only target files which content will be changed.\n"; - help += " -X<file> = extra types which will not be taken into account for generation.\n"; + help += " -X<file> = extra types which will not be taken into account for generation.\n\n"; help += prepareVersion(); return help; @@ -348,9 +357,8 @@ OString CppuOptions::prepareHelp() OString CppuOptions::prepareVersion() { - OString version("\nSun Microsystems (R) "); - version += m_program + " Version 2.0\n\n"; - + OString version(m_program); + version += " Version 2.0\n\n"; return version; } diff --git a/codemaker/source/javamaker/javaoptions.cxx b/codemaker/source/javamaker/javaoptions.cxx index 62abb3c37..849bf514e 100644 --- a/codemaker/source/javamaker/javaoptions.cxx +++ b/codemaker/source/javamaker/javaoptions.cxx @@ -37,6 +37,13 @@ using ::rtl::OUString; using ::rtl::OString; using ::rtl::OUStringToOString; + +#ifdef SAL_UNX +#define SEPARATOR '/' +#else +#define SEPARATOR '\\' +#endif + sal_Bool JavaOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile) throw( IllegalArgument ) { @@ -47,7 +54,9 @@ sal_Bool JavaOptions::initOptions(int ac, char* av[], sal_Bool bCmdFile) { bCmdFile = sal_True; - m_program = av[0]; + OString name(av[0]); + sal_Int32 index = name.lastIndexOf(SEPARATOR); + m_program = name.copy((index > 0 ? index+1 : 0)); if (ac < 2) { @@ -284,7 +293,7 @@ OString JavaOptions::prepareHelp() help += " -nD = no dependent types are generated.\n"; help += " -G = generate only target files which does not exists.\n"; help += " -Gc = generate only target files which content will be changed.\n"; - help += " -X<file> = extra types which will not be taken into account for generation.\n"; + help += " -X<file> = extra types which will not be taken into account for generation.\n\n"; help += prepareVersion(); return help; @@ -292,9 +301,8 @@ OString JavaOptions::prepareHelp() OString JavaOptions::prepareVersion() { - OString version("\nSun Microsystems (R) "); - version += m_program + " Version 2.0\n\n"; - + OString version(m_program); + version += " Version 2.0\n\n"; return version; } diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx index e8d4a2448..c5c5f53db 100644 --- a/cppu/source/typelib/typelib.cxx +++ b/cppu/source/typelib/typelib.cxx @@ -342,37 +342,24 @@ TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() SAL_THROW( () ) delete pWeakMap; pWeakMap = 0; } -#ifndef CPPU_LEAK_STATIC_DATA #if OSL_DEBUG_LEVEL > 1 -#define MYASSERT(x) if (x != 0) fprintf(stderr, "### "#x" = %d, should be zero!!!\n", x); - MYASSERT (nTypeDescriptionCount ); - MYASSERT( nCompoundTypeDescriptionCount ); - MYASSERT( nUnionTypeDescriptionCount ); - MYASSERT( nIndirectTypeDescriptionCount ); - MYASSERT( nArrayTypeDescriptionCount ); - MYASSERT( nEnumTypeDescriptionCount ); - MYASSERT( nInterfaceMethodTypeDescriptionCount ); - MYASSERT( nInterfaceAttributeTypeDescriptionCount ); - MYASSERT( nInterfaceTypeDescriptionCount ); - MYASSERT( nTypeDescriptionReferenceCount ); -#undef MYASSERT - - OSL_ASSERT( nTypeDescriptionCount == 0 ); - OSL_ASSERT( nCompoundTypeDescriptionCount == 0 ); - OSL_ASSERT( nUnionTypeDescriptionCount == 0 ); - OSL_ASSERT( nIndirectTypeDescriptionCount == 0 ); - OSL_ASSERT( nArrayTypeDescriptionCount == 0 ); - OSL_ASSERT( nEnumTypeDescriptionCount == 0 ); - OSL_ASSERT( nInterfaceMethodTypeDescriptionCount == 0 ); - OSL_ASSERT( nInterfaceAttributeTypeDescriptionCount == 0 ); - OSL_ASSERT( nInterfaceTypeDescriptionCount == 0 ); - OSL_ASSERT( nTypeDescriptionReferenceCount == 0 ); - - OSL_ASSERT( !pCallbacks || pCallbacks->empty() ); + OSL_ENSURE( !nTypeDescriptionCount ); + OSL_ENSURE( !nCompoundTypeDescriptionCount ); + OSL_ENSURE( !nUnionTypeDescriptionCount ); + OSL_ENSURE( !nIndirectTypeDescriptionCount ); + OSL_ENSURE( !nArrayTypeDescriptionCount ); + OSL_ENSURE( !nEnumTypeDescriptionCount ); + OSL_ENSURE( !nInterfaceMethodTypeDescriptionCount ); + OSL_ENSURE( !nInterfaceAttributeTypeDescriptionCount ); + OSL_ENSURE( !nInterfaceTypeDescriptionCount ); + OSL_ENSURE( !nTypeDescriptionReferenceCount ); + + OSL_ENSURE( !pCallbacks || pCallbacks->empty() ); #endif + delete pCallbacks; pCallbacks = 0; -#endif // CPPU_LEAK_STATIC_DATA + if( pMutex ) { delete pMutex; diff --git a/idlc/inc/idlc/idlctypes.hxx b/idlc/inc/idlc/idlctypes.hxx index 834b8cc63..2bac20e3e 100644 --- a/idlc/inc/idlc/idlctypes.hxx +++ b/idlc/inc/idlc/idlctypes.hxx @@ -33,7 +33,9 @@ #include <boost/unordered_map.hpp> #include <list> #include <vector> +#include <string> #include <set> + #include <sal/types.h> #include <rtl/ustring.hxx> diff --git a/idlc/inc/idlc/options.hxx b/idlc/inc/idlc/options.hxx index eda2a9274..df3d7e6a3 100644 --- a/idlc/inc/idlc/options.hxx +++ b/idlc/inc/idlc/options.hxx @@ -49,18 +49,29 @@ public: class Options { public: - Options(); + explicit Options(char const * progname); ~Options(); + static bool checkArgument(std::vector< std::string > & rArgs, char const * arg, size_t len); + static bool checkCommandFile(std::vector< std::string > & rArgs, char const * filename); + + bool initOptions(std::vector< std::string > & rArgs) + throw(IllegalArgument); + bool badOption(char const * reason, std::string const & rArg) + throw(IllegalArgument); + bool setOption(char const * option, std::string const & rArg); + +#if 0 /* @@@ */ sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False) throw( IllegalArgument ); +#endif /* @@@ */ ::rtl::OString prepareHelp(); ::rtl::OString prepareVersion(); const ::rtl::OString& getProgramName() const; - sal_Bool isValid(const ::rtl::OString& option); - const ::rtl::OString getOption(const ::rtl::OString& option) + bool isValid(const ::rtl::OString& option); + const ::rtl::OString& getOption(const ::rtl::OString& option) throw( IllegalArgument ); const StringVector& getInputFiles() const { return m_inputFiles; } diff --git a/idlc/source/astexpression.cxx b/idlc/source/astexpression.cxx index e4a5875c0..79f6c6288 100644 --- a/idlc/source/astexpression.cxx +++ b/idlc/source/astexpression.cxx @@ -28,6 +28,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_idlc.hxx" + #include <idlc/astexpression.hxx> #include <idlc/astconstant.hxx> #include <idlc/astscope.hxx> @@ -35,6 +36,7 @@ #include <limits.h> #include <float.h> +#include <memory> // auto_ptr<> #undef MAXCHAR #define MAXCHAR 127 @@ -951,7 +953,6 @@ AstExprValue* AstExpression::eval_internal(EvalKind ek) AstExprValue* AstExpression::eval_bin_op(EvalKind ek) { - AstExprValue *retval = NULL; ExprType eType = ET_double; if ( m_combOperator == EC_mod ) @@ -974,7 +975,7 @@ AstExprValue* AstExpression::eval_bin_op(EvalKind ek) if (m_subExpr2->getExprValue() == NULL) return NULL; - retval = new AstExprValue(); + std::auto_ptr< AstExprValue > retval(new AstExprValue()); retval->et = eType; switch (m_combOperator) @@ -995,20 +996,18 @@ AstExprValue* AstExpression::eval_bin_op(EvalKind ek) break; case EC_div: if (m_subExpr2->getExprValue()->u.dval == 0.0) - return NULL; + return NULL; retval->u.dval = m_subExpr1->getExprValue()->u.dval / m_subExpr2->getExprValue()->u.dval; break; default: return NULL; } - return retval; + return retval.release(); } AstExprValue* AstExpression::eval_bit_op(EvalKind ek) { - AstExprValue *retval = NULL; - if (ek != EK_const && ek != EK_positive_int) return NULL; if (m_subExpr1 == NULL || m_subExpr2 == NULL) @@ -1026,7 +1025,7 @@ AstExprValue* AstExpression::eval_bit_op(EvalKind ek) if (m_subExpr2->getExprValue() == NULL) return NULL; - retval = new AstExprValue; + std::auto_ptr< AstExprValue > retval(new AstExprValue()); retval->et = ET_long; switch (m_combOperator) @@ -1050,13 +1049,11 @@ AstExprValue* AstExpression::eval_bit_op(EvalKind ek) return NULL; } - return retval; + return retval.release(); } AstExprValue* AstExpression::eval_un_op(EvalKind ek) { - AstExprValue *retval = NULL; - if (m_exprValue != NULL) return m_exprValue; @@ -1071,7 +1068,7 @@ AstExprValue* AstExpression::eval_un_op(EvalKind ek) if (m_subExpr1->getExprValue() == NULL) return NULL; - retval = new AstExprValue(); + std::auto_ptr< AstExprValue > retval(new AstExprValue()); retval->et = ET_double; switch (m_combOperator) @@ -1092,7 +1089,7 @@ AstExprValue* AstExpression::eval_un_op(EvalKind ek) return NULL; } - return retval; + return retval.release(); } AstExprValue* AstExpression::eval_symbol(EvalKind ek) diff --git a/idlc/source/idlcmain.cxx b/idlc/source/idlcmain.cxx index 21f8b89c3..d37b86d23 100644 --- a/idlc/source/idlcmain.cxx +++ b/idlc/source/idlcmain.cxx @@ -28,26 +28,35 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_idlc.hxx" -#include <idlc/idlc.hxx> + +#include "idlc/idlc.hxx" #include "sal/main.h" +#include <string.h> + using namespace ::rtl; SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) { - Options options; + std::vector< std::string > args; + for (int i = 1; i < argc; i++) + { + if (!Options::checkArgument (args, argv[i], strlen(argv[i]))) + return (1); + } + Options options(argv[0]); try { - if (!options.initOptions(argc, argv)) - exit(1); + if (!options.initOptions(args)) + return (0); } catch( IllegalArgument& e) { fprintf(stderr, "Illegal argument: %s\n%s", e.m_message.getStr(), options.prepareVersion().getStr()); - exit(99); + return (99); } setIdlc(&options); diff --git a/idlc/source/options.cxx b/idlc/source/options.cxx index b78afe80b..c17927e18 100644 --- a/idlc/source/options.cxx +++ b/idlc/source/options.cxx @@ -29,12 +29,25 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_idlc.hxx" +#include "idlc/options.hxx" + +#include "osl/diagnose.h" +#include "rtl/string.hxx" +#include "rtl/strbuf.hxx" + #include <stdio.h> -#include /*MSVC trouble: <cstring>*/ <string.h> -#include <idlc/options.hxx> +#include <string.h> using ::rtl::OString; -Options::Options(): m_stdin(false), m_verbose(false), m_quiet(false) +using ::rtl::OStringBuffer; +#ifdef SAL_UNX +#define SEPARATOR '/' +#else +#define SEPARATOR '\\' +#endif + +Options::Options(char const * progname) + : m_program(progname), m_stdin(false), m_verbose(false), m_quiet(false) { } @@ -42,274 +55,283 @@ Options::~Options() { } -sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile) - throw( IllegalArgument ) +// static +bool Options::checkArgument (std::vector< std::string > & rArgs, char const * arg, size_t len) { - sal_Bool ret = sal_True; - sal_uInt16 j=0; - - if (!bCmdFile) + bool result = ((arg != 0) && (len > 0)); + OSL_PRECOND(result, "idlc::Options::checkArgument(): invalid arguments"); + if (result) + { + switch(arg[0]) { - bCmdFile = sal_True; - - m_program = av[0]; - - if (ac < 2) + case '@': + if ((result = (len > 1)) == true) + { + // "@<cmdfile>" + result = Options::checkCommandFile (rArgs, &(arg[1])); + } + break; + case '-': + if ((result = (len > 1)) == true) + { + // "-<option>" + switch (arg[1]) { - fprintf(stderr, "%s", prepareHelp().getStr()); - ret = sal_False; + case 'O': + case 'I': + case 'D': + { + // "-<option>[<param>] + std::string option(&(arg[0]), 2); + rArgs.push_back(option); + if (len > 2) + { + // "-<option><param>" + std::string param(&(arg[2]), len - 2); + rArgs.push_back(param); + } + break; + } + default: + // "-<option>" ([long] option, w/o param) + rArgs.push_back(std::string(arg, len)); + break; } - - j = 1; - } else + } + break; + default: + // "<param>" + rArgs.push_back(std::string(arg, len)); + break; + } + } + return (result); +} + +// static +bool Options::checkCommandFile (std::vector< std::string > & rArgs, char const * filename) +{ + FILE * fp = fopen(filename, "r"); + if (fp == 0) { - j = 0; + fprintf(stderr, "ERROR: can't open command file \"%s\"\n", filename); + return (false); } - - char *s=NULL; - for (; j < ac; j++) + + std::string buffer; + buffer.reserve(256); + + bool quoted = false; + int c = EOF; + while ((c = fgetc(fp)) != EOF) { - if (av[j][0] == '-') - { - switch (av[j][1]) - { - case 'O': - if (av[j][2] == '\0') - { - if (j < ac - 1 && av[j+1][0] != '-') - { - j++; - s = av[j]; - } else - { - OString tmp("'-O', please check"); - if (j <= ac - 1) - { - tmp += " your input '" + OString(av[j+1]) + "'"; - } - - throw IllegalArgument(tmp); - } - } else - { - s = av[j] + 2; - } - - m_options["-O"] = OString(s); - break; - case 'I': - { - if (av[j][2] == '\0') - { - if (j < ac - 1 && av[j+1][0] != '-') - { - j++; - s = av[j]; - } else - { - OString tmp("'-I', please check"); - if (j <= ac - 1) - { - tmp += " your input '" + OString(av[j+1]) + "'"; - } - - throw IllegalArgument(tmp); - } - } else - { - s = av[j] + 2; - } - - OString inc(s); - if ( inc.indexOf(';') > 0 ) - { - OString tmp(s); - sal_Int32 nIndex = 0; - inc = OString(); - do inc = inc + " -I\"" + tmp.getToken( 0, ';', nIndex ) +"\""; while( nIndex != -1 ); - } else - inc = OString("-I\"") + s + "\""; - - if (m_options.count("-I") > 0) - { - OString tmp(m_options["-I"]); - tmp = tmp + " " + inc; - m_options["-I"] = tmp; - } else - { - m_options["-I"] = inc; - } - } - break; - case 'D': - if (av[j][2] == '\0') - { - if (j < ac - 1 && av[j+1][0] != '-') - { - j++; - s = av[j]; - } else - { - OString tmp("'-D', please check"); - if (j <= ac - 1) - { - tmp += " your input '" + OString(av[j+1]) + "'"; - } - - throw IllegalArgument(tmp); - } - } else - { - s = av[j]; - } - - if (m_options.count("-D") > 0) - { - OString tmp(m_options["-D"]); - tmp = tmp + " " + s; - m_options["-D"] = tmp; - } else - m_options["-D"] = OString(s); - break; - case 'C': - if (av[j][2] != '\0') - { - throw IllegalArgument(OString(av[j]) + ", please check your input"); - } - if (m_options.count("-C") == 0) - m_options["-C"] = OString(av[j]); - break; - case 'c': - if (av[j][2] == 'i' && av[j][3] == 'd' && av[j][4] == '\0') - { - if (m_options.count("-cid") == 0) - m_options["-cid"] = OString(av[j]); - } else - throw IllegalArgument(OString(av[j]) + ", please check your input"); - break; - case 'v': - if ( 0 == strcmp( &av[j][1], "verbose" ) ) - { - m_verbose = true; - } - else - throw IllegalArgument(OString(av[j]) + ", please check your input"); - break; - case 'q': - if ( 0 == strcmp( &av[j][1], "quiet" ) ) - { - m_quiet = true; - } - else - throw IllegalArgument(OString(av[j]) + ", please check your input"); - break; - case 'w': - if (av[j][2] == 'e' && av[j][3] == '\0') { - if (m_options.count("-we") == 0) - m_options["-we"] = OString(av[j]); - } else { - if (av[j][2] == '\0') { - if (m_options.count("-w") == 0) - m_options["-w"] = OString(av[j]); - } else - throw IllegalArgument(OString(av[j]) + ", please check your input"); - } - break; - case 'h': - case '?': - if (av[j][2] != '\0') - { - throw IllegalArgument(OString(av[j]) + ", please check your input"); - } else - { - fprintf(stdout, "%s", prepareHelp().getStr()); - exit(0); - } - case 's': - if (/*MSVC trouble: std::*/strcmp(&av[j][2], "tdin") == 0) - { - m_stdin = true; - break; - } - // fall through - default: - throw IllegalArgument("the option is unknown" + OString(av[j])); - } - } else + switch(c) { - if (av[j][0] == '@') - { - FILE* cmdFile = fopen(av[j]+1, "r"); - if( cmdFile == NULL ) + case '\"': + quoted = !quoted; + break; + case ' ': + case '\t': + case '\r': + case '\n': + if (!quoted) + { + if (!buffer.empty()) + { + // append current argument. + if (!Options::checkArgument(rArgs, buffer.c_str(), buffer.size())) { - fprintf(stderr, "%s", prepareHelp().getStr()); - ret = sal_False; - } else - { - int rargc=0; - char* rargv[512]; - char buffer[512]=""; + (void) fclose(fp); + return (false); + } + buffer.clear(); + } + break; + } + default: + // quoted white-space fall through + buffer.push_back(sal::static_int_cast<char>(c)); + break; + } + } + if (!buffer.empty()) + { + // append unterminated argument. + if (!Options::checkArgument(rArgs, buffer.c_str(), buffer.size())) + { + (void) fclose(fp); + return (false); + } + buffer.clear(); + } + return (fclose(fp) == 0); +} - int i=0; - int found = 0; - char c; - while ( fscanf(cmdFile, "%c", &c) != EOF ) - { - if (c=='\"') { - if (found) { - found=0; - } else { - found=1; - continue; - } - } else { - if (c!=13 && c!=10) { - if (found || c!=' ') { - buffer[i++]=c; - continue; - } - } - if (i==0) - continue; - } - buffer[i]='\0'; - found=0; - i=0; - rargv[rargc]= strdup(buffer); - rargc++; - buffer[0]='\0'; - } - if (buffer[0] != '\0') { - buffer[i]='\0'; - rargv[rargc]= strdup(buffer); - rargc++; - } - fclose(cmdFile); - - ret = initOptions(rargc, rargv, bCmdFile); - - long ii = 0; - for (ii=0; ii < rargc; ii++) - { - free(rargv[ii]); - } - } - } else - { - OString name(av[j]); - name = name.toAsciiLowerCase(); - if ( name.lastIndexOf(".idl") != (name.getLength() - 4) ) - { - throw IllegalArgument("'" + OString(av[j]) + - "' is not a valid input file, only '*.idl' files will be accepted"); - } - m_inputFiles.push_back(av[j]); - } +bool Options::badOption(char const * reason, std::string const & rArg) throw(IllegalArgument) +{ + OStringBuffer message; + if (reason != 0) + { + message.append(reason); message.append(" option '"); message.append(rArg.c_str()); message.append("'"); + throw IllegalArgument(message.makeStringAndClear()); + } + return false; +} + +bool Options::setOption(char const * option, std::string const & rArg) +{ + bool result = (0 == strcmp(option, rArg.c_str())); + if (result) + m_options[rArg.c_str()] = OString(rArg.c_str(), rArg.size()); + return (result); +} + +bool Options::initOptions(std::vector< std::string > & rArgs) throw(IllegalArgument) +{ + std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end(); + for (; first != last; ++first) + { + if ((*first)[0] != '-') + { + OString filename((*first).c_str(), (*first).size()); + OString tmp(filename.toAsciiLowerCase()); + if (tmp.lastIndexOf(".idl") != (tmp.getLength() - 4)) + { + throw IllegalArgument("'" + filename + "' is not a valid input file, only '*.idl' files will be accepted"); + } + m_inputFiles.push_back(filename); + continue; + } + + std::string const option(*first); + switch((*first)[1]) + { + case 'O': + { + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", option); + } + OString param((*first).c_str(), (*first).size()); + m_options["-O"] = param; + break; + } + case 'I': + { + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", option); + } + OString param((*first).c_str(), (*first).size()); + { + // quote param token(s). + OStringBuffer buffer; + sal_Int32 k = 0; + do + { + OStringBuffer token; token.append("-I\""); token.append(param.getToken(0, ';', k)); token.append("\""); + if (buffer.getLength() > 0) + buffer.append(' '); + buffer.append(token); + } while (k != -1); + param = buffer.makeStringAndClear(); + } + if (m_options.count("-I") > 0) + { + // append param. + OStringBuffer buffer(m_options["-I"]); + buffer.append(' '); buffer.append(param); + param = buffer.makeStringAndClear(); + } + m_options["-I"] = param; + break; + } + case 'D': + { + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", option); + } + OString param("-D"); param += OString((*first).c_str(), (*first).size()); + if (m_options.count("-D") > 0) + { + OStringBuffer buffer(m_options["-D"]); + buffer.append(' '); buffer.append(param); + param = buffer.makeStringAndClear(); + } + m_options["-D"] = param; + break; + } + case 'C': + { + if (!setOption("-C", option)) + { + return badOption("invalid", option); } + break; + } + case 'c': + { + if (!setOption("-cid", option)) + { + return badOption("invalid", option); + } + break; + } + case 'q': + { + if (!setOption("-quiet", option)) + { + return badOption("invalid", option); + } + m_quiet = true; + break; + } + case 'v': + { + if (!setOption("-verbose", option)) + { + return badOption("invalid", option); + } + m_verbose = true; + break; + } + case 'w': + { + if (!(setOption("-w", option) || setOption("-we", option))) + { + return badOption("invalid", option); + } + break; + } + case 'h': + case '?': + { + if (!(setOption("-h", option) || setOption("-?", option))) + { + return badOption("invalid", option); + } + { + (void) fprintf(stdout, "%s", prepareHelp().getStr()); + return (false); + } + // break; // Unreachable + } + case 's': + { + if (!setOption("-stdin", option)) + { + return badOption("invalid", option); + } + m_stdin = true; + break; + } + default: + return badOption("unknown", option); } - - return ret; -} + } + return (true); +} OString Options::prepareHelp() { @@ -335,7 +357,7 @@ OString Options::prepareHelp() help += " requirements.\n"; help += " -w = display warning messages.\n"; help += " -we = treat warnings as errors.\n"; - help += " -h|-? = print this help message and exit.\n"; + help += " -h|-? = print this help message and exit.\n\n"; help += prepareVersion(); return help; @@ -343,8 +365,8 @@ OString Options::prepareHelp() OString Options::prepareVersion() { - OString version("\nSun Microsystems (R) "); - version += m_program + " Version 1.1\n\n"; + OString version(m_program); + version += " Version 1.1\n\n"; return version; } @@ -353,21 +375,19 @@ const OString& Options::getProgramName() const return m_program; } -sal_Bool Options::isValid(const OString& option) +bool Options::isValid(const OString& option) { return (m_options.count(option) > 0); } -const OString Options::getOption(const OString& option) +const OString& Options::getOption(const OString& option) throw( IllegalArgument ) { - if (m_options.count(option) > 0) - { - return m_options[option]; - } else + if (!isValid(option)) { throw IllegalArgument("Option is not valid or currently not set."); } + return m_options[option]; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/idlc/source/preproc/eval.c b/idlc/source/preproc/eval.c index e908d19cb..782469924 100644 --- a/idlc/source/preproc/eval.c +++ b/idlc/source/preproc/eval.c @@ -25,9 +25,11 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ + +#include "cpp.h" + #include <stdlib.h> #include <string.h> -#include "cpp.h" #define NSTAK 32 #define SGN 0 @@ -737,10 +739,10 @@ struct value } else { - static char cvcon[] - = "b\bf\fn\nr\rt\tv\v''\"\"??\\\\"; + static char cvcon[] = "b\bf\fn\nr\rt\tv\v''\"\"??\\\\"; + static int cvlen = sizeof(cvcon) - 1; - for (i = 0; i < (int)sizeof(cvcon); i += 2) + for (i = 0; i < cvlen; i += 2) { if (*p == cvcon[i]) { @@ -749,9 +751,8 @@ struct value } } p += 1; - if (i >= (int)sizeof(cvcon)) - error(WARNING, - "Undefined escape in character constant"); + if (i >= cvlen) + error(WARNING,"Undefined escape in character constant"); } } else diff --git a/idlc/source/preproc/lex.c b/idlc/source/preproc/lex.c index 2ca70e94d..6f9d27b23 100644 --- a/idlc/source/preproc/lex.c +++ b/idlc/source/preproc/lex.c @@ -291,7 +291,7 @@ void bigfsm[j][fp->state] = (short) nstate; continue; case C_ALPH: - for (j = 0; j <= 256; j++) + for (j = 0; j < 256; j++) if (('a' <= j && j <= 'z') || ('A' <= j && j <= 'Z') || j == '_') bigfsm[j][fp->state] = (short) nstate; @@ -688,9 +688,13 @@ void if (s->fd >= 0) { - close(s->fd); - dofree(s->inb); + (void) close(s->fd); + dofree(s->filename); } + + if (s->inb) + dofree(s->inb); + cursource = s->next; dofree(s); } diff --git a/idlc/source/preproc/unix.c b/idlc/source/preproc/unix.c index 8b39cdd88..3bfb67cef 100644 --- a/idlc/source/preproc/unix.c +++ b/idlc/source/preproc/unix.c @@ -92,6 +92,7 @@ void maketokenrow(3, &tr); gettokens(&tr, 1); doadefine(&tr, c); + dofree(tr.bp); tr.bp = 0; unsetsource(); break; diff --git a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl index 42d2414ed..9e0310308 100644 --- a/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl +++ b/offapi/com/sun/star/accessibility/XAccessibleMultiLineText.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module accessibility { <type>XAccessibleText</type> interface and extents it with a notion of line numbers</p> - @since OOo 3.0.0 + @since OOo 3.0 */ /// not yet published diff --git a/offapi/com/sun/star/animations/XAnimationListener.idl b/offapi/com/sun/star/animations/XAnimationListener.idl index 9779c51cd..c885282db 100644 --- a/offapi/com/sun/star/animations/XAnimationListener.idl +++ b/offapi/com/sun/star/animations/XAnimationListener.idl @@ -43,7 +43,7 @@ /** makes it possible to register listeners, which are called whenever an animation event occurs. - @since #i71351# + @since OOo 3.0 */ interface XAnimationListener : ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl index 9a2af3fbe..402be4f99 100644 --- a/offapi/com/sun/star/awt/EnhancedMouseEvent.idl +++ b/offapi/com/sun/star/awt/EnhancedMouseEvent.idl @@ -42,7 +42,7 @@ @see MouseEvent - @since OOo 2.0.0 + @since OOo 2.0 */ published struct EnhancedMouseEvent: com::sun::star::awt::MouseEvent diff --git a/offapi/com/sun/star/awt/UnoControlButtonModel.idl b/offapi/com/sun/star/awt/UnoControlButtonModel.idl index f7fdfed94..29f6dc42f 100644 --- a/offapi/com/sun/star/awt/UnoControlButtonModel.idl +++ b/offapi/com/sun/star/awt/UnoControlButtonModel.idl @@ -95,7 +95,7 @@ published service UnoControlButtonModel If set to <FALSE/>, the focus is preserved when the user operates the button control with the mouse.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean FocusOnClick; @@ -183,7 +183,7 @@ published service UnoControlButtonModel /** specifies that the text may be displayed on more than one line. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean MultiLine; @@ -208,7 +208,7 @@ published service UnoControlButtonModel set to <TRUE/>, the button is repeatedly pressed while you hold down the mouse button.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -222,7 +222,7 @@ published service UnoControlButtonModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -261,7 +261,7 @@ published service UnoControlButtonModel <p>The default for this property is <FALSE/>, which means the button behaves like a usual push button.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Toggle; @@ -269,7 +269,7 @@ published service UnoControlButtonModel /** specifies the vertical alignment of the text in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; diff --git a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl index b7fe6f487..4ad296ca6 100644 --- a/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlCheckBoxModel.idl @@ -65,7 +65,7 @@ published service UnoControlCheckBoxModel 2: right </pre> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short Align; @@ -155,7 +155,7 @@ published service UnoControlCheckBoxModel /** specifies that the text may be displayed on more than one line. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean MultiLine; @@ -205,7 +205,7 @@ published service UnoControlCheckBoxModel /** specifies the vertical alignment of the text in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; @@ -218,7 +218,7 @@ published service UnoControlCheckBoxModel @see com::sun::star::awt::VisualEffect - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short VisualEffect; diff --git a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl index 2a590164f..6e0d10fb9 100644 --- a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl @@ -96,7 +96,7 @@ published service UnoControlComboBoxModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -149,7 +149,7 @@ published service UnoControlComboBoxModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; diff --git a/offapi/com/sun/star/awt/UnoControlContainerModel.idl b/offapi/com/sun/star/awt/UnoControlContainerModel.idl index 1235f23ae..9f59040ae 100644 --- a/offapi/com/sun/star/awt/UnoControlContainerModel.idl +++ b/offapi/com/sun/star/awt/UnoControlContainerModel.idl @@ -79,7 +79,7 @@ published service UnoControlContainerModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl index 9d062d1f7..e278777fe 100644 --- a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl @@ -80,7 +80,7 @@ published service UnoControlCurrencyFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -139,7 +139,7 @@ published service UnoControlCurrencyFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -167,7 +167,7 @@ published service UnoControlCurrencyFieldModel /** specifies whether the mouse should show repeating behavior, i.e. repeatedly trigger an action when keeping pressed. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -181,7 +181,7 @@ published service UnoControlCurrencyFieldModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -267,7 +267,7 @@ published service UnoControlCurrencyFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl index 84a9aa57a..960d4f006 100644 --- a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl @@ -80,7 +80,7 @@ published service UnoControlDateFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -180,7 +180,7 @@ published service UnoControlDateFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -201,7 +201,7 @@ published service UnoControlDateFieldModel /** specifies whether the mouse should show repeating behavior, i.e. repeatedly trigger an action when keeping pressed. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -215,7 +215,7 @@ published service UnoControlDateFieldModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -241,7 +241,7 @@ published service UnoControlDateFieldModel /** specifies the text displayed in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string Text; @@ -279,7 +279,7 @@ published service UnoControlDateFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlDialogModel.idl b/offapi/com/sun/star/awt/UnoControlDialogModel.idl index 215568c35..a4b8b9887 100644 --- a/offapi/com/sun/star/awt/UnoControlDialogModel.idl +++ b/offapi/com/sun/star/awt/UnoControlDialogModel.idl @@ -161,7 +161,7 @@ published service UnoControlDialogModel /** If set to true the dialog will have the desktop as parent. - @since OOo 2.3.0 + @since OOo 2.3 */ [optional, property] boolean DesktopAsParent; @@ -169,7 +169,7 @@ published service UnoControlDialogModel background image. @see Graphic - @since OOo 2.4.0 + @since OOo 2.4 */ [optional, property] string ImageURL; @@ -184,7 +184,7 @@ published service UnoControlDialogModel to an empty string.</li> </ul></p> - @since OOo 2.4.0 + @since OOo 2.4 */ [optional, property, transient] com::sun::star::graphic::XGraphic Graphic; diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl index 6e4f5b9e9..c1f91eb63 100644 --- a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl +++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module awt { /** specifies a service to load a dialog model and allows to access the control models inside - @since OOo 3.3.0 + @since OOo 3.3 */ service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer { diff --git a/offapi/com/sun/star/awt/UnoControlEditModel.idl b/offapi/com/sun/star/awt/UnoControlEditModel.idl index d819bf97b..aab83a142 100644 --- a/offapi/com/sun/star/awt/UnoControlEditModel.idl +++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl @@ -72,7 +72,7 @@ published service UnoControlEditModel /** If set to true an horizontal scrollbar will be added automatically when needed. - @since OOo 2.3.0 + @since OOo 2.3 */ [optional, property] boolean AutoHScroll; @@ -81,7 +81,7 @@ published service UnoControlEditModel /** If set to true an vertical scrollbar will be added automatically when needed. - @since OOo 2.3.0 + @since OOo 2.3 */ [optional, property] boolean AutoVScroll; @@ -110,7 +110,7 @@ published service UnoControlEditModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -170,7 +170,7 @@ published service UnoControlEditModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -196,7 +196,7 @@ published service UnoControlEditModel No matter which line end format is used in this new text then, usual control implementations should recognize all line end formats and display them properly.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short LineEndFormat; @@ -218,7 +218,7 @@ published service UnoControlEditModel /** specifies whether the control paints it background or not. - @since OOo 2.3.0 + @since OOo 2.3 */ [optional, property] boolean PaintTransparent; @@ -279,7 +279,7 @@ published service UnoControlEditModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl index 6ef9cec33..70505ad82 100644 --- a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl @@ -80,7 +80,7 @@ published service UnoControlFileControlModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -127,7 +127,7 @@ published service UnoControlFileControlModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -173,7 +173,7 @@ published service UnoControlFileControlModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl index 441fa7506..1c70e95f6 100644 --- a/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFixedHyperlinkModel.idl @@ -93,7 +93,7 @@ service UnoControlFixedHyperlinkModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -175,7 +175,7 @@ service UnoControlFixedHyperlinkModel /** specifies the vertical alignment of the text in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl index cd48e947f..edf434116 100644 --- a/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFixedTextModel.idl @@ -93,7 +93,7 @@ published service UnoControlFixedTextModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -169,7 +169,7 @@ published service UnoControlFixedTextModel /** specifies the vertical alignment of the text in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl index 2a9d51887..bfa6b87f3 100644 --- a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl @@ -96,7 +96,7 @@ published service UnoControlFormattedFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -196,7 +196,7 @@ published service UnoControlFormattedFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -226,7 +226,7 @@ published service UnoControlFormattedFieldModel /** specifies whether the mouse should show repeating behavior, i.e. repeatedly trigger an action when keeping pressed. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -240,7 +240,7 @@ published service UnoControlFormattedFieldModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -312,7 +312,7 @@ published service UnoControlFormattedFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl index e3b49065e..2b5697804 100644 --- a/offapi/com/sun/star/awt/UnoControlImageControlModel.idl +++ b/offapi/com/sun/star/awt/UnoControlImageControlModel.idl @@ -75,7 +75,7 @@ published service UnoControlImageControlModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl index c73197aef..6fa119114 100644 --- a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl @@ -91,7 +91,7 @@ published service UnoControlListBoxModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl index 33684cf81..43d2d097c 100644 --- a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl @@ -80,7 +80,7 @@ published service UnoControlNumericFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -133,7 +133,7 @@ published service UnoControlNumericFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -155,7 +155,7 @@ published service UnoControlNumericFieldModel /** specifies whether the mouse should show repeating behavior, i.e. repeatedly trigger an action when keeping pressed. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -169,7 +169,7 @@ published service UnoControlNumericFieldModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -255,7 +255,7 @@ published service UnoControlNumericFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl index e26b3dae6..e1756a82a 100644 --- a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl @@ -80,7 +80,7 @@ published service UnoControlPatternFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -133,7 +133,7 @@ published service UnoControlPatternFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -214,7 +214,7 @@ published service UnoControlPatternFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl index b94105fd8..428693b2c 100644 --- a/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl +++ b/offapi/com/sun/star/awt/UnoControlProgressBarModel.idl @@ -73,7 +73,7 @@ published service UnoControlProgressBarModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl index 103c9c9e8..01dace2ec 100644 --- a/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl +++ b/offapi/com/sun/star/awt/UnoControlRadioButtonModel.idl @@ -66,7 +66,7 @@ published service UnoControlRadioButtonModel 2: right </pre> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short Align; @@ -156,7 +156,7 @@ published service UnoControlRadioButtonModel /** specifies that the text may be displayed on more than one line. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean MultiLine; @@ -199,7 +199,7 @@ published service UnoControlRadioButtonModel /** specifies the vertical alignment of the text in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; @@ -212,7 +212,7 @@ published service UnoControlRadioButtonModel @see com::sun::star::awt::VisualEffect - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short VisualEffect; diff --git a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl index 9c2d6a5b5..06d63c97a 100644 --- a/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl +++ b/offapi/com/sun/star/awt/UnoControlScrollBarModel.idl @@ -52,7 +52,7 @@ published service UnoControlScrollBarModel /** specifies the RGB color to be used for the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::util::Color BackgroundColor; @@ -81,7 +81,7 @@ published service UnoControlScrollBarModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -118,7 +118,7 @@ published service UnoControlScrollBarModel <FALSE/> means, that the window is only updated after the user has released the mouse button.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean LiveScroll; @@ -144,7 +144,7 @@ published service UnoControlScrollBarModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -174,7 +174,7 @@ published service UnoControlScrollBarModel /** specifies the RGB color to be used when painting symbols which are part of the control's appearance, such as the arrow buttons. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] com::sun::star::util::Color SymbolColor; @@ -182,7 +182,7 @@ published service UnoControlScrollBarModel /** specifies that the control can be reached with the TAB key. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Tabstop; diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl index ca005989f..fd62671be 100644..100755 --- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl +++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl @@ -76,7 +76,7 @@ service UnoControlSpinButtonModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl index fa67e98da..2cf1d8e96 100644 --- a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl @@ -80,7 +80,7 @@ published service UnoControlTimeFieldModel <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; @@ -127,7 +127,7 @@ published service UnoControlTimeFieldModel /** specifies whether the selection in the control should be hidden when the control is not active (focused). - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean HideInactiveSelection; @@ -148,7 +148,7 @@ published service UnoControlTimeFieldModel /** specifies whether the mouse should show repeating behavior, i.e. repeatedly trigger an action when keeping pressed. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean Repeat; @@ -162,7 +162,7 @@ published service UnoControlTimeFieldModel mouse button and to press it again. The delay between two such triggers is specified with this property.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RepeatDelay; @@ -188,7 +188,7 @@ published service UnoControlTimeFieldModel /** specifies the text displayed in the control. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string Text; @@ -259,7 +259,7 @@ published service UnoControlTimeFieldModel /** specifies the vertical alignment of the text in the control. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; diff --git a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl index 998cda103..3f2d57866 100644 --- a/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl +++ b/offapi/com/sun/star/awt/XEnhancedMouseClickHandler.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module awt { /** makes it possible to receive enhanced events from the mouse. - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XEnhancedMouseClickHandler: ::com::sun::star::lang::XEventListener diff --git a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl index cad071b3e..b07a20121 100644 --- a/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl +++ b/offapi/com/sun/star/awt/grid/DefaultGridColumnModel.idl @@ -38,7 +38,7 @@ //============================================================================= /** If you do not want to implement the <type>XGridColumnModel</type> yourself, use this service. - @since OOo 3.3.0 + @since OOo 3.3 */ service DefaultGridColumnModel { diff --git a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl index 3f62092d2..58a1129e5 100644 --- a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl +++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl @@ -43,7 +43,7 @@ <p>The implementation will implicitly increase its column count if you add a row which has more values than the current column count.</p> - @since OOo 3.3.0 + @since OOo 3.3 */ service DefaultGridDataModel : ::com::sun::star::awt::grid::XMutableGridDataModel; diff --git a/offapi/com/sun/star/awt/grid/GridColumn.idl b/offapi/com/sun/star/awt/grid/GridColumn.idl index d5dd5f2cc..79cfce91b 100644 --- a/offapi/com/sun/star/awt/grid/GridColumn.idl +++ b/offapi/com/sun/star/awt/grid/GridColumn.idl @@ -39,7 +39,7 @@ /** Represents a column as used by the <type>DefaultGridColumnModel</type> - @since OOo 3.3.0 + @since OOo 3.3 */ service GridColumn { diff --git a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl index e86e296d6..fe6c93f7a 100644 --- a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl +++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module awt { module grid { //============================================================================= /** An event used by a <type>XGridColumn</type> to notify changes in the column. - @since OOo 3.3.0 + @since OOo 3.3 */ struct GridColumnEvent: com::sun::star::lang::EventObject { diff --git a/offapi/com/sun/star/awt/grid/GridDataEvent.idl b/offapi/com/sun/star/awt/grid/GridDataEvent.idl index 3ac05f0ec..7430f3d97 100644 --- a/offapi/com/sun/star/awt/grid/GridDataEvent.idl +++ b/offapi/com/sun/star/awt/grid/GridDataEvent.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module awt { module grid { @see XMutableGridDataModel @see XGridDataListener - @since OOo 3.3.0 + @since OOo 3.3 */ struct GridDataEvent: com::sun::star::lang::EventObject { diff --git a/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl index c4cc4d614..62c22afbe 100644 --- a/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl +++ b/offapi/com/sun/star/awt/grid/GridInvalidDataException.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module awt { module grid { /** Exception is thrown to indicate that set data is invalid, e.g. type of data is unknown or data count doesn't match with column count. - @since OOo 3.3.0 + @since OOo 3.3 */ exception GridInvalidDataException : com::sun::star::uno::RuntimeException { diff --git a/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl index 66fec4980..d48cb1f42 100644 --- a/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl +++ b/offapi/com/sun/star/awt/grid/GridInvalidModelException.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module awt { module grid { /** Exception is thrown when data or column model isn't set. - @since OOo 3.3.0 + @since OOo 3.3 */ exception GridInvalidModelException : com::sun::star::uno::RuntimeException { diff --git a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl index 0466a4502..dbb13a958 100644 --- a/offapi/com/sun/star/awt/grid/UnoControlGrid.idl +++ b/offapi/com/sun/star/awt/grid/UnoControlGrid.idl @@ -66,7 +66,7 @@ The <type>XGridSelection</type> interface provides a bunch of methods to set and get selection for the grid control. </p> - @since OOo 3.3.0 + @since OOo 3.3 */ service UnoControlGrid { diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl index c2478508e..26d7f96fc 100644 --- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl +++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module awt { module grid { /** specifies the standard model of a <type>UnoControlGrid</type> control. - @since OOo 3.3.0 + @since OOo 3.3 */ service UnoControlGridModel { diff --git a/offapi/com/sun/star/awt/grid/XGridColumn.idl b/offapi/com/sun/star/awt/grid/XGridColumn.idl index dd89dc084..b74bc88ef 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumn.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module awt { module grid { //============================================================================= /** The <type>XGridColumn</types> defines the properties and behavior of a column in a grid control - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridColumn { diff --git a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl index 74a4e893d..c1f96b14a 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module awt { module grid { /** An instance of this interface is used by the <type>XGridColumnModel</type> to get notifications about column model changes. - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridColumnListener : ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl index 58d737169..97d8131d6 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module awt { module grid { If you do not need your own model implementation, you can also use the <type>DefaultGridColumnModel</type>. - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridColumnModel { diff --git a/offapi/com/sun/star/awt/grid/XGridControl.idl b/offapi/com/sun/star/awt/grid/XGridControl.idl index d9a1509b2..36e7274cd 100644 --- a/offapi/com/sun/star/awt/grid/XGridControl.idl +++ b/offapi/com/sun/star/awt/grid/XGridControl.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module awt { module grid { @see UnoControlGrid - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridControl : XGridSelection { diff --git a/offapi/com/sun/star/awt/grid/XGridDataListener.idl b/offapi/com/sun/star/awt/grid/XGridDataListener.idl index a03a60c27..d8bd7065f 100644 --- a/offapi/com/sun/star/awt/grid/XGridDataListener.idl +++ b/offapi/com/sun/star/awt/grid/XGridDataListener.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module awt { module grid { <p>Usually you must not implement this interface yourself, but you must notify it correctly if you implement the <type>XGridDataModel</type> yourself</p>. - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridDataListener: com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/awt/grid/XGridDataModel.idl b/offapi/com/sun/star/awt/grid/XGridDataModel.idl index 9b9ec840d..98f4d6055 100644 --- a/offapi/com/sun/star/awt/grid/XGridDataModel.idl +++ b/offapi/com/sun/star/awt/grid/XGridDataModel.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module awt { module grid { If you do not need your own model implementation, you can also use the <type>DefaultGridDataModel</type>. - @since OOo 3.3.0 + @since OOo 3.3 */ interface XGridDataModel { diff --git a/offapi/com/sun/star/configuration/DefaultProvider.idl b/offapi/com/sun/star/configuration/DefaultProvider.idl index 337516f73..6767063af 100644 --- a/offapi/com/sun/star/configuration/DefaultProvider.idl +++ b/offapi/com/sun/star/configuration/DefaultProvider.idl @@ -78,14 +78,14 @@ published service DefaultProvider /** Enable setting/getting locale for Provider - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface com::sun::star::lang::XLocalizable; /** Property to enable/disable asynchronous write-back from in-memory cache to backend(s) - @since OOo 2.0.0 + @since OOo 2.0 */ [optional,property] boolean EnableAsync; diff --git a/offapi/com/sun/star/configuration/Update.idl b/offapi/com/sun/star/configuration/Update.idl index 790a4bb40..8cd52a1c1 100644 --- a/offapi/com/sun/star/configuration/Update.idl +++ b/offapi/com/sun/star/configuration/Update.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module configuration { <p>This singleton is unpublished and unstable.</p> - @since OOo 3.3.0 + @since OOo 3.3 */ singleton Update: XUpdate; diff --git a/offapi/com/sun/star/configuration/XUpdate.idl b/offapi/com/sun/star/configuration/XUpdate.idl index c3316ea5d..16455528f 100644 --- a/offapi/com/sun/star/configuration/XUpdate.idl +++ b/offapi/com/sun/star/configuration/XUpdate.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module configuration { <p>This interface is unpublished and unstable.</p> - @since OOo 3.3.0 + @since OOo 3.3 */ interface XUpdate { void insertExtensionXcsFile([in] boolean shared, [in] string fileUri); diff --git a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl index ac73fda62..eb3c07fc3 100644 --- a/offapi/com/sun/star/configuration/backend/InteractionHandler.idl +++ b/offapi/com/sun/star/configuration/backend/InteractionHandler.idl @@ -67,7 +67,7 @@ module com { module sun { module star { module configuration { module backend { <LI>Approve, Disapprove, Abort</LI> </UL></P> - @since OOo 2.0.0 + @since OOo 2.0 @see com::sun::star::task::InteractionHandler */ diff --git a/offapi/com/sun/star/configuration/backend/Layer.idl b/offapi/com/sun/star/configuration/backend/Layer.idl index 204166f19..31d67ca07 100644 --- a/offapi/com/sun/star/configuration/backend/Layer.idl +++ b/offapi/com/sun/star/configuration/backend/Layer.idl @@ -102,7 +102,7 @@ published service Layer /** The URL of the layer data. - @since OOo 2.0.0 + @since OOo 2.0 */ [property,optional,readonly] string URL ; diff --git a/offapi/com/sun/star/configuration/backend/LayerFilter.idl b/offapi/com/sun/star/configuration/backend/LayerFilter.idl index 4f6515fac..9666dfb22 100644 --- a/offapi/com/sun/star/configuration/backend/LayerFilter.idl +++ b/offapi/com/sun/star/configuration/backend/LayerFilter.idl @@ -54,7 +54,7 @@ module com { module sun { module star { module configuration { module backend { @see com::sun::star::configuration::backend::DataImporter Service that supports applying a <type>LayerFilter</type> to imported data. - @since OOo 2.0.0 + @since OOo 2.0 */ published service LayerFilter { diff --git a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl index 828b84f39..46502afb8 100644 --- a/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl +++ b/offapi/com/sun/star/configuration/backend/MergeRecoveryRequest.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module configuration { module backend { /** is passed to an <type>InteractionHandler<type> when merging fails due to invalid layer data or access problems. - @since OOo 2.0.0 + @since OOo 2.0 */ exception MergeRecoveryRequest: ::com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/configuration/backend/Schema.idl b/offapi/com/sun/star/configuration/backend/Schema.idl index d0bddbd44..a3f0fcd54 100644 --- a/offapi/com/sun/star/configuration/backend/Schema.idl +++ b/offapi/com/sun/star/configuration/backend/Schema.idl @@ -72,7 +72,7 @@ published service Schema /** The URL of the layer data. - @since OOo 2.0.0 + @since OOo 2.0 */ [property,optional,readonly] string URL ; diff --git a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl index 507fc314c..2c25fe7df 100644 --- a/offapi/com/sun/star/configuration/backend/StratumCreationException.idl +++ b/offapi/com/sun/star/configuration/backend/StratumCreationException.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module configuration { module backend { /** is passed to an <type>InteractionHandler<type> when creating a stratum backend fails. - @since OOo 2.0.0 + @since OOo 2.0 */ exception StratumCreationException : BackendSetupException { diff --git a/offapi/com/sun/star/deployment/DeploymentException.idl b/offapi/com/sun/star/deployment/DeploymentException.idl index 2ad2401db..5943c1c59 100644 --- a/offapi/com/sun/star/deployment/DeploymentException.idl +++ b/offapi/com/sun/star/deployment/DeploymentException.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module deployment { /** A DeploymentException reflects a deployment error. - @since OOo 2.0.0 + @since OOo 2.0 */ exception DeploymentException : com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/deployment/ExtensionManager.idl b/offapi/com/sun/star/deployment/ExtensionManager.idl index a1747393c..3cbc665c1 100644 --- a/offapi/com/sun/star/deployment/ExtensionManager.idl +++ b/offapi/com/sun/star/deployment/ExtensionManager.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module deployment { /singletons/com.sun.star.deployment.ExtensionManager </code>. - @since OOo 3.3.0 + @since OOo 3.3 */ singleton ExtensionManager : XExtensionManager; diff --git a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl index a33a681a7..dcf23832a 100644 --- a/offapi/com/sun/star/deployment/ExtensionRemovedException.idl +++ b/offapi/com/sun/star/deployment/ExtensionRemovedException.idl @@ -39,7 +39,7 @@ interface XPackage; because the extension was removed. <member>XPackage::isRemoved</member> will return true on that object. - @since OOo 3.3.0 + @since OOo 3.3 */ exception ExtensionRemovedException: com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl index e9020529b..62ab69617 100644 --- a/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl +++ b/offapi/com/sun/star/deployment/InvalidRemovedParameterException.idl @@ -39,7 +39,7 @@ interface XPackage; called with a different value for the <code>removed</code> parameter and that the <type>XPackage</type> object created by that call still exist. - @since OOo 3.3.0 + @since OOo 3.3 */ exception InvalidRemovedParameterException: com::sun::star::uno::Exception { /** the value of the <code>removed</code> parameter which was used in diff --git a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl index 17dc5749c..da9ed1b1d 100644 --- a/offapi/com/sun/star/deployment/PackageRegistryBackend.idl +++ b/offapi/com/sun/star/deployment/PackageRegistryBackend.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module deployment { are related to a <type>XPackageManager</type> instance. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service PackageRegistryBackend : XPackageRegistry { diff --git a/offapi/com/sun/star/deployment/PlatformException.idl b/offapi/com/sun/star/deployment/PlatformException.idl index 7776e9954..190cbc201 100644 --- a/offapi/com/sun/star/deployment/PlatformException.idl +++ b/offapi/com/sun/star/deployment/PlatformException.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module deployment { /** A DeploymentException indicates that the current platform is not supported. - @since OOo 3.0.0 + @since OOo 3.0 */ exception PlatformException : com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl index 7bbff439b..59c251494 100644 --- a/offapi/com/sun/star/deployment/XExtensionManager.idl +++ b/offapi/com/sun/star/deployment/XExtensionManager.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module deployment { in the user, shared and bundled repository. @see ExtensionManager - @since OOo 3.3.0 + @since OOo 3.3 */ interface XExtensionManager { diff --git a/offapi/com/sun/star/deployment/XPackage.idl b/offapi/com/sun/star/deployment/XPackage.idl index 0395a6594..160c0f452 100755 --- a/offapi/com/sun/star/deployment/XPackage.idl +++ b/offapi/com/sun/star/deployment/XPackage.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module deployment { /** Objects of this interface reflect a bound package and are issued by a <type>PackageRegistryBackend</type>. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPackage { @@ -100,7 +100,7 @@ interface XPackage After updating the OpenOffice.org, some dependencies for packages might no longer be satisfied. - @since OOo 3.2.0 + @since OOo 3.2 @param xCmdEnv command environment for error handling and other interaction. diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl index ea44b51ed..46efe2c3e 100644 --- a/offapi/com/sun/star/deployment/XPackageManager.idl +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -67,7 +67,7 @@ module com { module sun { module star { module deployment { </p> @see thePackageManagerFactory - @since OOo 2.0.0 + @since OOo 2.0 @deprecated Use <type>XExtensionManager</type>. */ diff --git a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl index 7dc720541..629e82745 100644 --- a/offapi/com/sun/star/deployment/XPackageManagerFactory.idl +++ b/offapi/com/sun/star/deployment/XPackageManagerFactory.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module deployment { exclusively. </p> - @since OOo 2.0.0 + @since OOo 2.0 @deprecated Use <type>XExtensionManager</type>. */ diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl index 2db411d71..1ec2fdd13 100644 --- a/offapi/com/sun/star/deployment/XPackageRegistry.idl +++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module deployment { /** Interface to bind an UNO package. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPackageRegistry { diff --git a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl index f7860da4f..5260eeecc 100644 --- a/offapi/com/sun/star/deployment/XPackageTypeInfo.idl +++ b/offapi/com/sun/star/deployment/XPackageTypeInfo.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module deployment { /** Objects of this interface provide information about a package's type. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPackageTypeInfo { diff --git a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl index 18c583f14..7ca0188dd 100644 --- a/offapi/com/sun/star/deployment/thePackageManagerFactory.idl +++ b/offapi/com/sun/star/deployment/thePackageManagerFactory.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module deployment { </code>. </p> - @since OOo 2.0.0 + @since OOo 2.0 @deprecated Use <type>XExtensionManager</type>. */ diff --git a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl index 8204e7ae0..fc62cfbe9 100644 --- a/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl +++ b/offapi/com/sun/star/deployment/ui/PackageManagerDialog.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module deployment { module ui { packages of the user and shared installation as well as currently open documents. - @since OOo 2.0.0 + @since OOo 2.0 */ service PackageManagerDialog : com::sun::star::ui::dialogs::XAsynchronousExecutableDialog { diff --git a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl index b3bb4807f..e2a5008f7 100644 --- a/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl +++ b/offapi/com/sun/star/deployment/ui/UpdateRequiredDialog.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module deployment { module ui { /** The <type>UpdateRequiredDialog</type> is used to show a list of extensions not compatible with this office version. - @since OOo 3.2.0 + @since OOo 3.2 */ service UpdateRequiredDialog : com::sun::star::ui::dialogs::XExecutableDialog { diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl index 13de1ef49..b7fe140fe 100644 --- a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl +++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module document { /** This exception is thrown in case the global filter configuration does not exists or contains corrupted data. - @since OOo 2.0.0 + @since OOo 2.0 */ published exception CorruptedFilterConfigurationException : ::com::sun::star::uno::RuntimeException { diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl index b4d1d8cb1..f3244e79c 100644 --- a/offapi/com/sun/star/document/DocumentEvent.idl +++ b/offapi/com/sun/star/document/DocumentEvent.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module document { anymore.</p> @see XDocumentEventBroadcaster - @since OpenOffice.org 3.1 + @since OOo 3.1 */ struct DocumentEvent : ::com::sun::star::lang::EventObject { diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl index 61f4e49b8..7885f9cde 100644 --- a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl +++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl @@ -58,7 +58,7 @@ interface XDocumentEventListener; anymore.</p> @see DocumentEvent - @since OpenOffice.org 3.1 + @since OOo 3.1 */ interface XDocumentEventBroadcaster { diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl index 1074fa70b..ea0e2cf46 100644 --- a/offapi/com/sun/star/document/XDocumentEventListener.idl +++ b/offapi/com/sun/star/document/XDocumentEventListener.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module document { anymore.</p> @see XDocumentEventBroadcaster - @since OpenOffice.org 3.1 + @since OOo 3.1 */ interface XDocumentEventListener : ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl index 75515e435..91c82f416 100644 --- a/offapi/com/sun/star/document/XMLBasicExporter.idl +++ b/offapi/com/sun/star/document/XMLBasicExporter.idl @@ -53,7 +53,7 @@ module com { module sun { module star { module document { from which the data should be exported. After that, the export is started by calling the <method>XFilter::filter</method> method.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service XMLBasicExporter { diff --git a/offapi/com/sun/star/document/XMLBasicImporter.idl b/offapi/com/sun/star/document/XMLBasicImporter.idl index d7290662e..495481717 100644 --- a/offapi/com/sun/star/document/XMLBasicImporter.idl +++ b/offapi/com/sun/star/document/XMLBasicImporter.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module document { The <type scope="com::sun::star::xml::sax">XDocumentHandler</type> interface is used to stream the XML data into the filter.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service XMLBasicImporter { diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl index 5235ee464..936fce9ae 100644 --- a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl +++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl @@ -53,7 +53,7 @@ module com { module sun { module star { module document { from which the data should be exported. After that, the export is started by calling the <method>XFilter::filter</method> method.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service XMLOasisBasicExporter { diff --git a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl index 4e9b128f0..87c1f7fb2 100644 --- a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl +++ b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module document { The <type scope="com::sun::star::xml::sax">XDocumentHandler</type> interface is used to stream the XML data into the filter.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service XMLOasisBasicImporter { diff --git a/offapi/com/sun/star/form/FormComponent.idl b/offapi/com/sun/star/form/FormComponent.idl index e0711a144..430c8ce57 100644 --- a/offapi/com/sun/star/form/FormComponent.idl +++ b/offapi/com/sun/star/form/FormComponent.idl @@ -104,7 +104,7 @@ published service FormComponent will always be set, even if you do not specify it in the <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> call.</p> - @since OpenOffice.org 2.3.0 + @since OOo 2.3 */ [optional] service com::sun::star::beans::PropertyBag; diff --git a/offapi/com/sun/star/form/XErrorListener.idl b/offapi/com/sun/star/form/XErrorListener.idl index d52977618..18a75e994 100644 --- a/offapi/com/sun/star/form/XErrorListener.idl +++ b/offapi/com/sun/star/form/XErrorListener.idl @@ -51,7 +51,6 @@ <p>Please do <em><b>not</b></em> use anymore, this interface is superseded by <type scope="com::sun::star::sdb">XSQLErrorListener</type>.</p> -@since foo @deprecated */ published interface XErrorListener: com::sun::star::lang::XEventListener diff --git a/offapi/com/sun/star/form/component/GridControl.idl b/offapi/com/sun/star/form/component/GridControl.idl index 60b41846c..ec12b65a5 100644 --- a/offapi/com/sun/star/form/component/GridControl.idl +++ b/offapi/com/sun/star/form/component/GridControl.idl @@ -162,7 +162,7 @@ published service GridControl <p>Not every border style (see <member>Border</member>) may support coloring. For instance, usually a border with 3D effect will ignore the BorderColor setting.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long BorderColor; diff --git a/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl index 81f086089..26bc733cf 100644 --- a/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl +++ b/offapi/com/sun/star/form/inspection/DefaultFormComponentInspectorModel.idl @@ -62,7 +62,7 @@ service DefaultFormComponentInspectorModel : com::sun::star::inspection::XObject /** creates a default DefaultFormComponentInspectorModel, providing factories for all handlers listed above. - @since OOo 2.2.0 + @since OOo 2.2 */ createDefault(); @@ -85,7 +85,7 @@ service DefaultFormComponentInspectorModel : com::sun::star::inspection::XObject @see XObjectInspectorModel::MinHelpTextLines @see XObjectInspectorModel::MaxHelpTextLines - @since OOo 2.2.0 + @since OOo 2.2 */ createWithHelpSection( [in] long minHelpTextLines, diff --git a/offapi/com/sun/star/form/runtime/FeatureState.idl b/offapi/com/sun/star/form/runtime/FeatureState.idl index 6dc8aa8b3..8068e8144 100644 --- a/offapi/com/sun/star/form/runtime/FeatureState.idl +++ b/offapi/com/sun/star/form/runtime/FeatureState.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module form { module runtime { @see XFormOperations - @since OpenOffice.org 2.2.0 + @since OOo 2.2 */ struct FeatureState { diff --git a/offapi/com/sun/star/form/runtime/FilterEvent.idl b/offapi/com/sun/star/form/runtime/FilterEvent.idl index 10358f824..b817ff1ae 100644 --- a/offapi/com/sun/star/form/runtime/FilterEvent.idl +++ b/offapi/com/sun/star/form/runtime/FilterEvent.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module form { module runtime { @see XFilterController - @since OpenOffice.org 3.3 + @since OOo 3.3 */ struct FilterEvent : ::com::sun::star::lang::EventObject { diff --git a/offapi/com/sun/star/form/runtime/FormFeature.idl b/offapi/com/sun/star/form/runtime/FormFeature.idl index 939b2af37..57a2942cc 100644 --- a/offapi/com/sun/star/form/runtime/FormFeature.idl +++ b/offapi/com/sun/star/form/runtime/FormFeature.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module form { module runtime { /** specifies the operations on a user interface form, as supported by the <type>XFormOperations</type> interface. - @since OpenOffice.org 2.2.0 + @since OOo 2.2 */ constants FormFeature { diff --git a/offapi/com/sun/star/form/runtime/FormOperations.idl b/offapi/com/sun/star/form/runtime/FormOperations.idl index 209f0c692..e47f078d4 100644 --- a/offapi/com/sun/star/form/runtime/FormOperations.idl +++ b/offapi/com/sun/star/form/runtime/FormOperations.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module form { module runtime { /** encapsulates operations on a database form which has a UI representation, and is interacting with the user. - @since OpenOffice.org 2.2.0 + @since OOo 2.2 */ service FormOperations : XFormOperations { diff --git a/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl index 5821d8ae3..6486de470 100644 --- a/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl +++ b/offapi/com/sun/star/form/runtime/XFeatureInvalidation.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module form { module runtime { @see XFormOperations - @since OpenOffice.org 2.2.0 + @since OOo 2.2 */ interface XFeatureInvalidation { diff --git a/offapi/com/sun/star/form/runtime/XFilterController.idl b/offapi/com/sun/star/form/runtime/XFilterController.idl index 83bbaa4ff..e42707702 100644 --- a/offapi/com/sun/star/form/runtime/XFilterController.idl +++ b/offapi/com/sun/star/form/runtime/XFilterController.idl @@ -73,7 +73,7 @@ interface XFilterControllerListener; @see com::sun::star::sdb::XSingleSelectQueryAnalyzer::getStructuredFilter @see com::sun::star::sdb::SQLFilterOperator - @since OpenOffice.org 3.3 + @since OOo 3.3 */ interface XFilterController { diff --git a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl index c50b22d67..8833e13cd 100644 --- a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl +++ b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module form { module runtime { /** is implemented by components listening for events fired by an <type>XFilterController</type>. - @since OpenOffice.org 3.3 + @since OOo 3.3 */ interface XFilterControllerListener : ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/form/runtime/XFormController.idl b/offapi/com/sun/star/form/runtime/XFormController.idl index e1d44b4ea..4fb79d404 100644 --- a/offapi/com/sun/star/form/runtime/XFormController.idl +++ b/offapi/com/sun/star/form/runtime/XFormController.idl @@ -248,7 +248,7 @@ interface XFormControllerContext; @see ::com::sun::star::form::binding::BindableControlModel @see ::com::sun::star::sdb::DataSource::Settings - @since OpenOffice.org 3.3 + @since OOo 3.3 */ interface XFormController { diff --git a/offapi/com/sun/star/form/runtime/XFormOperations.idl b/offapi/com/sun/star/form/runtime/XFormOperations.idl index b0783ed73..375badf63 100644 --- a/offapi/com/sun/star/form/runtime/XFormOperations.idl +++ b/offapi/com/sun/star/form/runtime/XFormOperations.idl @@ -93,7 +93,7 @@ interface XFeatureInvalidation; @see FormFeature - @since OpenOffice.org 2.2.0 + @since OOo 2.2 */ interface XFormOperations : ::com::sun::star::lang::XComponent { diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl index 9e47016b3..5adddad2c 100644 --- a/offapi/com/sun/star/frame/CommandGroup.idl +++ b/offapi/com/sun/star/frame/CommandGroup.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module frame { @see XDispatchInformationProvider @see Controller - @since OOo 2.0.0 + @since OOo 2.0 */ published constants CommandGroup { diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl index d6ce8e011..a402f8942 100644 --- a/offapi/com/sun/star/frame/DispatchInformation.idl +++ b/offapi/com/sun/star/frame/DispatchInformation.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module frame { @see XDispatchInformationProvider @see Controller - @since OOo 2.0.0 + @since OOo 2.0 */ published struct DispatchInformation { diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl index a695d0589..a196a57cd 100644 --- a/offapi/com/sun/star/frame/Frame.idl +++ b/offapi/com/sun/star/frame/Frame.idl @@ -127,7 +127,7 @@ published service Frame //------------------------------------------------------------------------- /** provides information about supported commands - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface XDispatchInformationProvider; diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl index 2465b0fb3..f57f44fcf 100644 --- a/offapi/com/sun/star/frame/LayoutManager.idl +++ b/offapi/com/sun/star/frame/LayoutManager.idl @@ -72,7 +72,7 @@ the size and position of those user interface elements. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service LayoutManager diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl index 7809d4afc..fdf29c7e8 100644 --- a/offapi/com/sun/star/frame/LayoutManagerEvents.idl +++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module frame { @see com::sun::star::frame::LayoutManager @see com::sun::star::frame::XLayoutManagerEventBroadcaster - @since OOo 2.0.0 + @since OOo 2.0 */ constants LayoutManagerEvents { diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl index d0aa509c2..3a5559232 100644 --- a/offapi/com/sun/star/frame/ModuleManager.idl +++ b/offapi/com/sun/star/frame/ModuleManager.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module frame { of office modules. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleManager diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl index 134b1f499..f2a8e72f3 100644 --- a/offapi/com/sun/star/frame/PopupMenuController.idl +++ b/offapi/com/sun/star/frame/PopupMenuController.idl @@ -65,7 +65,7 @@ module com { module sun { module star { module frame { worked on. This list gets changes consistently during a work session. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service PopupMenuController diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl index 347bc660a..9a485133a 100644 --- a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl +++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module frame { it contains a registered command URL. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service PopupMenuControllerFactory diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl index c4ddc7e7a..94b1006c7 100644 --- a/offapi/com/sun/star/frame/StatusbarController.idl +++ b/offapi/com/sun/star/frame/StatusbarController.idl @@ -64,7 +64,7 @@ @see com::sun::star::frame::XDispatchProvider @see com::sun::star::frame::XStatusbarController - @since OOo 2.0.0 + @since OOo 2.0 */ service StatusbarController diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl index fcffafa55..a74cdfd0e 100644 --- a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl +++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl @@ -51,7 +51,7 @@ module com { module sun { module star { module frame { if it contains a registered command URL. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service StatusbarControllerFactory diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl index e59698425..0dffd4f80 100644 --- a/offapi/com/sun/star/frame/ToolbarController.idl +++ b/offapi/com/sun/star/frame/ToolbarController.idl @@ -67,7 +67,7 @@ @see com::sun::star::frame::XDispatchProvider - @since OOo 2.0.0 + @since OOo 2.0 */ service ToolbarController diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl index 2dfb26d38..d2fdf37c1 100644 --- a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl +++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module frame { /** specifies a factory for <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s. - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsDocumentContentFactory { diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl index 39f47ef7b..de0f97c7a 100644 --- a/offapi/com/sun/star/frame/UnknownModuleException.idl +++ b/offapi/com/sun/star/frame/UnknownModuleException.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module frame { * module could not be classified or does not have * a valid configuration. - @since OOo 2.0.0 + @since OOo 2.0 */ exception UnknownModuleException : ::com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl index f3c722ff6..a40b5e923 100644 --- a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl +++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl @@ -56,7 +56,7 @@ module com { module sun { module star { module frame { @see Frame - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XDispatchInformationProvider: com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl index ba923da41..f79ecdcc2 100644 --- a/offapi/com/sun/star/frame/XInplaceLayout.idl +++ b/offapi/com/sun/star/frame/XInplaceLayout.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module frame { @deprecated - @since OOo 2.0.0 + @since OOo 2.0 */ interface XInplaceLayout : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl index e248ac252..e6d71b822 100644 --- a/offapi/com/sun/star/frame/XLayoutManager.idl +++ b/offapi/com/sun/star/frame/XLayoutManager.idl @@ -95,7 +95,7 @@ module com { module sun { module star { module frame { @see com::sun::star::frame::XFrame </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XLayoutManager : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl index 53d179139..a6d74a8a7 100644 --- a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl +++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl @@ -40,7 +40,7 @@ @see ::com::sun::star::frame::LayoutManager - @since OOo 2.0.0 + @since OOo 2.0 */ interface XLayoutManagerEventBroadcaster : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl index 30c0821c9..d82ec922f 100644 --- a/offapi/com/sun/star/frame/XLayoutManagerListener.idl +++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module frame { @see ::com::sun::star::frame::LayoutManager @see ::com::sun::star::frame::LayoutManagerEvents - @since OOo 2.0.0 + @since OOo 2.0 */ interface XLayoutManagerListener : com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl index 51320a28f..0ef9d880c 100644 --- a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl +++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl @@ -46,7 +46,7 @@ module com { module sun { module star { module frame { @deprecated - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMenuBarAcceptor : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl index 5ae56391a..1d64bb947 100644 --- a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl +++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module frame { /** provides functions to set and remove a merged menu bar for inplace editing. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMenuBarMergingAcceptor : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl index b0e96b145..2ffce95ef 100644 --- a/offapi/com/sun/star/frame/XModule.idl +++ b/offapi/com/sun/star/frame/XModule.idl @@ -58,7 +58,7 @@ module com { module sun { module star { module frame { @see XModuleManager - @since OOo 2.3.0 + @since OOo 2.3 */ interface XModule : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl index 76d8c7760..dc42cb753 100644 --- a/offapi/com/sun/star/frame/XModuleManager.idl +++ b/offapi/com/sun/star/frame/XModuleManager.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module frame { //=============================================== /** can be used to identify office modules. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XModuleManager : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl index cbfd143f3..510b2ea18 100644 --- a/offapi/com/sun/star/frame/XPopupMenuController.idl +++ b/offapi/com/sun/star/frame/XPopupMenuController.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module frame { briefs the controller whenever the pop-up menu gets activated by a user. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPopupMenuController : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl index 43231082f..549a9cb7b 100644 --- a/offapi/com/sun/star/frame/XStatusbarController.idl +++ b/offapi/com/sun/star/frame/XStatusbarController.idl @@ -62,7 +62,7 @@ module com { module sun { module star { module frame { @see com::sun::star::frame::XDispatchProvider - @since OOo 2.0.0 + @since OOo 2.0 */ interface XStatusbarController : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl index 413674c81..f6823ddb7 100644 --- a/offapi/com/sun/star/frame/XSubToolbarController.idl +++ b/offapi/com/sun/star/frame/XSubToolbarController.idl @@ -47,7 +47,7 @@ @see com::sun::star::frame::ToolbarController - @since OOo 2.0.0 + @since OOo 2.0 */ interface XSubToolbarController : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl index 1fc76eed9..990b9d900 100644 --- a/offapi/com/sun/star/frame/XSynchronousDispatch.idl +++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module frame { //============================================================================= /** additional interfaces for dispatch objects: allow to execute with return value - @since OOo 2.0.0 + @since OOo 2.0 @see XDispatch */ published interface XSynchronousDispatch: com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl index 88d983fde..45e792c51 100644 --- a/offapi/com/sun/star/frame/XToolbarController.idl +++ b/offapi/com/sun/star/frame/XToolbarController.idl @@ -53,7 +53,7 @@ @see com::sun::star::frame::XDispatchProvider - @since OOo 2.0.0 + @since OOo 2.0 */ interface XToolbarController : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl index 5e1e5b3a8..2dbe99be4 100644 --- a/offapi/com/sun/star/frame/XToolbarControllerListener.idl +++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl @@ -36,7 +36,7 @@ @see com::sun::star::frame::ToolbarController - @since OOo 2.0.0 + @since OOo 2.0 */ interface XToolbarControllerListener : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl index 318576465..52d6d7d30 100644 --- a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl +++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl @@ -56,7 +56,7 @@ module com { module sun { module star { module frame { @see com::sun::star::document::OfficeDocument @see com::sun::star::ucb::TransientDocumentsDocumentContent - @since OOo 2.0.0 + @since OOo 2.0 */ interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/geometry/AffineMatrix2D.idl b/offapi/com/sun/star/geometry/AffineMatrix2D.idl index 8cc656708..719db8192 100644 --- a/offapi/com/sun/star/geometry/AffineMatrix2D.idl +++ b/offapi/com/sun/star/geometry/AffineMatrix2D.idl @@ -65,7 +65,7 @@ module com { module sun { module star { module geometry { printer, Then, the total transformation matrix and the device resolution determine the actual measurement unit.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct AffineMatrix2D { diff --git a/offapi/com/sun/star/geometry/AffineMatrix3D.idl b/offapi/com/sun/star/geometry/AffineMatrix3D.idl index 0460bd459..aebbd66ba 100644 --- a/offapi/com/sun/star/geometry/AffineMatrix3D.idl +++ b/offapi/com/sun/star/geometry/AffineMatrix3D.idl @@ -67,7 +67,7 @@ module com { module sun { module star { module geometry { Only then the total transformation matrix (including projection to 2D) and the device resolution determine the actual measurement unit in 3D.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct AffineMatrix3D { diff --git a/offapi/com/sun/star/geometry/EllipticalArc.idl b/offapi/com/sun/star/geometry/EllipticalArc.idl index 8e7fe14cc..628f57c8f 100644 --- a/offapi/com/sun/star/geometry/EllipticalArc.idl +++ b/offapi/com/sun/star/geometry/EllipticalArc.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module geometry { constrains. Thus, there are two flags indicating which one of those ellipses should be taken.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct EllipticalArc { diff --git a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl index 0d08afd38..ac8d8f9c8 100644 --- a/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl +++ b/offapi/com/sun/star/geometry/IntegerBezierSegment2D.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module geometry { ignored.<p> @see com.sun.star.rendering.XBezierPolyPolygon2D - @since OOo 2.0.0 + @since OOo 2.0 */ struct IntegerBezierSegment2D { diff --git a/offapi/com/sun/star/geometry/IntegerPoint2D.idl b/offapi/com/sun/star/geometry/IntegerPoint2D.idl index 1d30e5af2..699bc193d 100644 --- a/offapi/com/sun/star/geometry/IntegerPoint2D.idl +++ b/offapi/com/sun/star/geometry/IntegerPoint2D.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module geometry { This structure contains x and y integer-valued coordinates of a two-dimensional point. - @since OOo 2.0.0 + @since OOo 2.0 */ struct IntegerPoint2D { diff --git a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl index 075e0f4c4..77bdb9919 100644 --- a/offapi/com/sun/star/geometry/IntegerRectangle2D.idl +++ b/offapi/com/sun/star/geometry/IntegerRectangle2D.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module geometry { /** This structure contains the necessary information for a two-dimensional rectangle.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct IntegerRectangle2D { diff --git a/offapi/com/sun/star/geometry/IntegerSize2D.idl b/offapi/com/sun/star/geometry/IntegerSize2D.idl index 1732c4a43..e9aea711e 100644 --- a/offapi/com/sun/star/geometry/IntegerSize2D.idl +++ b/offapi/com/sun/star/geometry/IntegerSize2D.idl @@ -33,7 +33,7 @@ module com { module sun { module star { module geometry { The data is stored integer-valued.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct IntegerSize2D { diff --git a/offapi/com/sun/star/geometry/Matrix2D.idl b/offapi/com/sun/star/geometry/Matrix2D.idl index 44f4c7dfe..3fac5764d 100644 --- a/offapi/com/sun/star/geometry/Matrix2D.idl +++ b/offapi/com/sun/star/geometry/Matrix2D.idl @@ -68,7 +68,7 @@ module com { module sun { module star { module geometry { printer. Then, the total transformation matrix and the device resolution determine the actual measurement unit.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct Matrix2D { diff --git a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl index f5bfce093..3183f7407 100644 --- a/offapi/com/sun/star/geometry/RealBezierSegment2D.idl +++ b/offapi/com/sun/star/geometry/RealBezierSegment2D.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module geometry { ignored.<p> @see com.sun.star.rendering.XBezierPolyPolygon2D - @since OOo 2.0.0 + @since OOo 2.0 */ struct RealBezierSegment2D { diff --git a/offapi/com/sun/star/geometry/RealPoint2D.idl b/offapi/com/sun/star/geometry/RealPoint2D.idl index 8c64dda9a..bb95ab45c 100644 --- a/offapi/com/sun/star/geometry/RealPoint2D.idl +++ b/offapi/com/sun/star/geometry/RealPoint2D.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module geometry { This structure contains x and y real-valued coordinates of a two-dimensional point. - @since OOo 2.0.0 + @since OOo 2.0 */ struct RealPoint2D { diff --git a/offapi/com/sun/star/geometry/RealRectangle2D.idl b/offapi/com/sun/star/geometry/RealRectangle2D.idl index 71b730ab4..d81a6d62a 100644 --- a/offapi/com/sun/star/geometry/RealRectangle2D.idl +++ b/offapi/com/sun/star/geometry/RealRectangle2D.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module geometry { /** This structure contains the necessary information for a two-dimensional rectangle.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct RealRectangle2D { diff --git a/offapi/com/sun/star/geometry/RealRectangle3D.idl b/offapi/com/sun/star/geometry/RealRectangle3D.idl index 4b0854487..880df8e7c 100644 --- a/offapi/com/sun/star/geometry/RealRectangle3D.idl +++ b/offapi/com/sun/star/geometry/RealRectangle3D.idl @@ -32,7 +32,7 @@ module com { module sun { module star { module geometry { /** This structure contains the necessary information for a three-dimensional cube.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct RealRectangle3D { diff --git a/offapi/com/sun/star/geometry/RealSize2D.idl b/offapi/com/sun/star/geometry/RealSize2D.idl index fa0d3cb2c..0177c57ca 100644 --- a/offapi/com/sun/star/geometry/RealSize2D.idl +++ b/offapi/com/sun/star/geometry/RealSize2D.idl @@ -33,7 +33,7 @@ module com { module sun { module star { module geometry { The data is stored real-valued.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct RealSize2D { diff --git a/offapi/com/sun/star/geometry/XMapping2D.idl b/offapi/com/sun/star/geometry/XMapping2D.idl index 2967d646e..981f5394b 100644 --- a/offapi/com/sun/star/geometry/XMapping2D.idl +++ b/offapi/com/sun/star/geometry/XMapping2D.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module geometry { pair of real numbers there must be another pair that is mapped upon them.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMapping2D : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/i18n/OrdinalSuffix.idl b/offapi/com/sun/star/i18n/OrdinalSuffix.idl index a2909ad40..b13beb501 100644 --- a/offapi/com/sun/star/i18n/OrdinalSuffix.idl +++ b/offapi/com/sun/star/i18n/OrdinalSuffix.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module i18n { /** provides access to locale specific ordinal suffix systems. - @since OOo2.2 + @since OOo 2.2 @internal diff --git a/offapi/com/sun/star/i18n/TextConversionOption.idl b/offapi/com/sun/star/i18n/TextConversionOption.idl index 2b4cc7551..89ad81177 100644 --- a/offapi/com/sun/star/i18n/TextConversionOption.idl +++ b/offapi/com/sun/star/i18n/TextConversionOption.idl @@ -59,7 +59,7 @@ published constants TextConversionOption /** Use Taiwan, HongKong SAR, and Macao SAR character variants for Simplified to Traditional Chinese conversion - @since OOo 2.0.0 + @since OOo 2.0 */ const long USE_CHARACTER_VARIANTS = 2; // (1 << 1) }; diff --git a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl index ecf320de7..eb8cde19f 100644 --- a/offapi/com/sun/star/i18n/XOrdinalSuffix.idl +++ b/offapi/com/sun/star/i18n/XOrdinalSuffix.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module i18n { /** provides access to locale specific ordinal suffix systems. - @since OOo2.2 + @since OOo 2.2 @internal diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl index d56b4ffee..d81eae905 100644 --- a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl +++ b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl @@ -69,7 +69,7 @@ published service ConversionDictionary [optional] interface com::sun::star::util::XFlushable; /** - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface com::sun::star::linguistic2::XConversionPropertyType; }; diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl index b568e7be6..05b3da0b5 100644 --- a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl +++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl @@ -44,7 +44,7 @@ constants ConversionDictionaryType /** Dictionary type for the conversion between Simplified and Traditional Chinese - @since OOo 2.0.0 + @since OOo 2.0 */ const short SCHINESE_TCHINESE = 2; }; diff --git a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl index b38e8956b..5197c7b25 100644 --- a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl +++ b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module linguistic2 { @see com::sun::star::linguistic2::XConversionDictionary @see com::sun::star::linguistic2::XConversionPropertyType - @since OOo 2.0.0 + @since OOo 2.0 */ constants ConversionPropertyType { diff --git a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl index 7b1e2a27a..79c2de073 100644 --- a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl +++ b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl @@ -56,7 +56,7 @@ module com { module sun { module star { module linguistic2 { @see com::sun::star::linguistic2::XConversionDictionary @see com::sun::star::linguistic2::ConversionPropertyType - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XConversionPropertyType : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/MailAttachment.idl b/offapi/com/sun/star/mail/MailAttachment.idl index 694c9bbdb..412cdac35 100644 --- a/offapi/com/sun/star/mail/MailAttachment.idl +++ b/offapi/com/sun/star/mail/MailAttachment.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module mail { @see ::com::sun::star::mail::XMailMessage - @since OOo 2.0.0 + @since OOo 2.0 */ struct MailAttachment { diff --git a/offapi/com/sun/star/mail/MailException.idl b/offapi/com/sun/star/mail/MailException.idl index bafbd8193..8355699ff 100644 --- a/offapi/com/sun/star/mail/MailException.idl +++ b/offapi/com/sun/star/mail/MailException.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module mail { An MailException is the base of all mail related exceptions. - @since OOo 2.0.0 + @since OOo 2.0 */ exception MailException: com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/mail/MailMessage.idl b/offapi/com/sun/star/mail/MailMessage.idl index 2ced59572..658c9cfe1 100644 --- a/offapi/com/sun/star/mail/MailMessage.idl +++ b/offapi/com/sun/star/mail/MailMessage.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module mail { interface XMailMessage; /** - @since OOo 2.0.0 + @since OOo 2.0 */ service MailMessage: XMailMessage { diff --git a/offapi/com/sun/star/mail/MailServer.idl b/offapi/com/sun/star/mail/MailServer.idl index 0b1cb8b7c..7c9497fef 100644 --- a/offapi/com/sun/star/mail/MailServer.idl +++ b/offapi/com/sun/star/mail/MailServer.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module mail { interface XMailServer; /** - @since OOo 2.0.0 + @since OOo 2.0 */ service MailServer: XMailServer { diff --git a/offapi/com/sun/star/mail/MailServiceProvider.idl b/offapi/com/sun/star/mail/MailServiceProvider.idl index eabe2fc8f..e9e0f1dbb 100644 --- a/offapi/com/sun/star/mail/MailServiceProvider.idl +++ b/offapi/com/sun/star/mail/MailServiceProvider.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module mail { interface XMailService; /** - @since OOo 2.0.0 + @since OOo 2.0 */ service MailServiceProvider: XMailServiceProvider { diff --git a/offapi/com/sun/star/mail/MailServiceType.idl b/offapi/com/sun/star/mail/MailServiceType.idl index 42c7023ea..4bd5f8a37 100644 --- a/offapi/com/sun/star/mail/MailServiceType.idl +++ b/offapi/com/sun/star/mail/MailServiceType.idl @@ -31,7 +31,7 @@ module com { module sun { module star { module mail { /** - @since OOo 2.0.0 + @since OOo 2.0 */ enum MailServiceType { diff --git a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl index a8dfb8514..1e913e3a0 100644 --- a/offapi/com/sun/star/mail/NoMailServiceProviderException.idl +++ b/offapi/com/sun/star/mail/NoMailServiceProviderException.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::MailService - @since OOo 2.0.0 + @since OOo 2.0 */ exception NoMailServiceProviderException: com::sun::star::mail::MailException { diff --git a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl index a8d50b786..89341a4c7 100644 --- a/offapi/com/sun/star/mail/NoMailTransportProviderException.idl +++ b/offapi/com/sun/star/mail/NoMailTransportProviderException.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::MailServer - @since OOo 2.0.0 + @since OOo 2.0 */ exception NoMailTransportProviderException: com::sun::star::mail::MailException { diff --git a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl index a9cb18d38..8eb498ee3 100644 --- a/offapi/com/sun/star/mail/SendMailMessageFailedException.idl +++ b/offapi/com/sun/star/mail/SendMailMessageFailedException.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::XMailServer - @since OOo 2.0.0 + @since OOo 2.0 */ exception SendMailMessageFailedException: com::sun::star::mail::MailException { diff --git a/offapi/com/sun/star/mail/XAuthenticator.idl b/offapi/com/sun/star/mail/XAuthenticator.idl index 4f7ce9ce8..f3103d832 100644 --- a/offapi/com/sun/star/mail/XAuthenticator.idl +++ b/offapi/com/sun/star/mail/XAuthenticator.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module mail { An implementation of this interface may for instance show a dialog to query the user for the necessary data. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XAuthenticator: ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/XConnectionListener.idl b/offapi/com/sun/star/mail/XConnectionListener.idl index 70a4677f5..025da122d 100644 --- a/offapi/com/sun/star/mail/XConnectionListener.idl +++ b/offapi/com/sun/star/mail/XConnectionListener.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::XMailServer - @since OOo 2.0.0 + @since OOo 2.0 */ interface XConnectionListener: ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/mail/XMailMessage.idl b/offapi/com/sun/star/mail/XMailMessage.idl index 500d54611..aaf06d53d 100644 --- a/offapi/com/sun/star/mail/XMailMessage.idl +++ b/offapi/com/sun/star/mail/XMailMessage.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::XMailServer - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMailMessage: ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/XMailServer.idl b/offapi/com/sun/star/mail/XMailServer.idl index 0fd30fa76..97bd1a2f1 100644 --- a/offapi/com/sun/star/mail/XMailServer.idl +++ b/offapi/com/sun/star/mail/XMailServer.idl @@ -95,7 +95,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::XMailMessage - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMailServer: ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/XMailService.idl b/offapi/com/sun/star/mail/XMailService.idl index ec9fda50c..6535ba948 100644 --- a/offapi/com/sun/star/mail/XMailService.idl +++ b/offapi/com/sun/star/mail/XMailService.idl @@ -82,7 +82,7 @@ module com { module sun { module star { module mail { /** Represents a mail server abstraction. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMailService: ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/XMailServiceProvider.idl b/offapi/com/sun/star/mail/XMailServiceProvider.idl index ed265e8f0..bdabc05b1 100644 --- a/offapi/com/sun/star/mail/XMailServiceProvider.idl +++ b/offapi/com/sun/star/mail/XMailServiceProvider.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module mail { /** A factory for creating different mail services. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XMailServiceProvider: ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/mail/XSmtpService.idl b/offapi/com/sun/star/mail/XSmtpService.idl index 6463ee52b..ef94c4704 100644 --- a/offapi/com/sun/star/mail/XSmtpService.idl +++ b/offapi/com/sun/star/mail/XSmtpService.idl @@ -64,7 +64,7 @@ module com { module sun { module star { module mail { @see com::sun::star::mail::XMailService @see com::sun::star::mail::XMailMessage - @since OOo 2.0.0 + @since OOo 2.0 */ interface XSmtpService: ::com::sun::star::mail::XMailService { diff --git a/offapi/com/sun/star/rendering/AnimationAttributes.idl b/offapi/com/sun/star/rendering/AnimationAttributes.idl index a824b71bf..44c6c825d 100644 --- a/offapi/com/sun/star/rendering/AnimationAttributes.idl +++ b/offapi/com/sun/star/rendering/AnimationAttributes.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module rendering { /** This structure contains attributes needed to run an animation. - @since OOo 2.0.0 + @since OOo 2.0 */ struct AnimationAttributes { diff --git a/offapi/com/sun/star/rendering/AnimationRepeat.idl b/offapi/com/sun/star/rendering/AnimationRepeat.idl index 640d4fcf3..ce8d0e670 100644 --- a/offapi/com/sun/star/rendering/AnimationRepeat.idl +++ b/offapi/com/sun/star/rendering/AnimationRepeat.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module rendering { animation is driven through, thus defining the possible repeat modes.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants AnimationRepeat { diff --git a/offapi/com/sun/star/rendering/CanvasFactory.idl b/offapi/com/sun/star/rendering/CanvasFactory.idl index 80edd3a5f..996f019b7 100644 --- a/offapi/com/sun/star/rendering/CanvasFactory.idl +++ b/offapi/com/sun/star/rendering/CanvasFactory.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module rendering { a service name to try first. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service CanvasFactory : com::sun::star::lang::XMultiComponentFactory; diff --git a/offapi/com/sun/star/rendering/Caret.idl b/offapi/com/sun/star/rendering/Caret.idl index 439b33643..0c7fee72b 100644 --- a/offapi/com/sun/star/rendering/Caret.idl +++ b/offapi/com/sun/star/rendering/Caret.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module rendering { This structure is used from the <type>XTextLayout</type> interface to transport information regarding a text caret.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct Caret { diff --git a/offapi/com/sun/star/rendering/CompositeOperation.idl b/offapi/com/sun/star/rendering/CompositeOperation.idl index 85e4c1e35..dd3a103c5 100644 --- a/offapi/com/sun/star/rendering/CompositeOperation.idl +++ b/offapi/com/sun/star/rendering/CompositeOperation.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module rendering { different composite modes (wherein Aa and Ab denote source and destination alpha, respectively).<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants CompositeOperation { diff --git a/offapi/com/sun/star/rendering/EmphasisMark.idl b/offapi/com/sun/star/rendering/EmphasisMark.idl index abda617a1..f70c456cd 100644 --- a/offapi/com/sun/star/rendering/EmphasisMark.idl +++ b/offapi/com/sun/star/rendering/EmphasisMark.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module rendering { These constants control the automatic rendering of emphasis marks for a given font.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants EmphasisMark { diff --git a/offapi/com/sun/star/rendering/FillRule.idl b/offapi/com/sun/star/rendering/FillRule.idl index 21fa8ab42..97ef0707f 100644 --- a/offapi/com/sun/star/rendering/FillRule.idl +++ b/offapi/com/sun/star/rendering/FillRule.idl @@ -32,7 +32,7 @@ module com { module sun { module star { module rendering { /** Determines which algorithm to use when determining inside and outside of filled poly-polygons. - @since OOo 2.0.0 + @since OOo 2.0 */ enum FillRule { diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl index 69c082044..f772fe299 100644 --- a/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl +++ b/offapi/com/sun/star/rendering/FloatingPointBitmapFormat.idl @@ -31,7 +31,7 @@ module com { module sun { module star { module rendering { /** This structure describes format of a floating point bitmap.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants FloatingPointBitmapFormat { diff --git a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl index b49ab3504..045357699 100644 --- a/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl +++ b/offapi/com/sun/star/rendering/FloatingPointBitmapLayout.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module rendering { This structure collects all necessary information to describe the memory layout of a bitmap having floating point color channels<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct FloatingPointBitmapLayout { diff --git a/offapi/com/sun/star/rendering/FontInfo.idl b/offapi/com/sun/star/rendering/FontInfo.idl index 4dddca67e..12cbf5bab 100644 --- a/offapi/com/sun/star/rendering/FontInfo.idl +++ b/offapi/com/sun/star/rendering/FontInfo.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module rendering { /** This structure provides information about a specific font.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct FontInfo { diff --git a/offapi/com/sun/star/rendering/FontMetrics.idl b/offapi/com/sun/star/rendering/FontMetrics.idl index 18b02753e..207e5dff8 100644 --- a/offapi/com/sun/star/rendering/FontMetrics.idl +++ b/offapi/com/sun/star/rendering/FontMetrics.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module rendering { underlying font technology, actual device output might be off by up to one device pixel from the transformed metrics. - @since OOo 2.0.0 + @since OOo 2.0 */ struct FontMetrics { diff --git a/offapi/com/sun/star/rendering/FontRequest.idl b/offapi/com/sun/star/rendering/FontRequest.idl index b27ab99db..f4759b46d 100644 --- a/offapi/com/sun/star/rendering/FontRequest.idl +++ b/offapi/com/sun/star/rendering/FontRequest.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module rendering { <member>FontInfo::StyleName</member> empty, if font selection should only happen via the PANOSE description. - @since OOo 2.0.0 + @since OOo 2.0 */ struct FontRequest { diff --git a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl index c4c6f10a3..18ada68da 100644 --- a/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl +++ b/offapi/com/sun/star/rendering/IntegerBitmapLayout.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module rendering { This structure collects all necessary information to describe the memory layout of a bitmap having integer color channels<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct IntegerBitmapLayout { diff --git a/offapi/com/sun/star/rendering/InterpolationMode.idl b/offapi/com/sun/star/rendering/InterpolationMode.idl index e4936d13d..f1aeeeef7 100644 --- a/offapi/com/sun/star/rendering/InterpolationMode.idl +++ b/offapi/com/sun/star/rendering/InterpolationMode.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module rendering { takes place between two consecutive frames of a discrete animation sequence. - @since OOo 2.0.0 + @since OOo 2.0 */ constants InterpolationMode { diff --git a/offapi/com/sun/star/rendering/PathCapType.idl b/offapi/com/sun/star/rendering/PathCapType.idl index b00bfa265..9d8cc40f3 100644 --- a/offapi/com/sun/star/rendering/PathCapType.idl +++ b/offapi/com/sun/star/rendering/PathCapType.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module rendering { different shapes (which are, of course, only visible for strokes wider than one device pixel).<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants PathCapType { diff --git a/offapi/com/sun/star/rendering/PathJoinType.idl b/offapi/com/sun/star/rendering/PathJoinType.idl index 294978b67..b555f8677 100644 --- a/offapi/com/sun/star/rendering/PathJoinType.idl +++ b/offapi/com/sun/star/rendering/PathJoinType.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module rendering { several different shapes (which are of course only visible for strokes wider than one device pixel).<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants PathJoinType { diff --git a/offapi/com/sun/star/rendering/RenderState.idl b/offapi/com/sun/star/rendering/RenderState.idl index 3c80e39bf..4e9cf6533 100644 --- a/offapi/com/sun/star/rendering/RenderState.idl +++ b/offapi/com/sun/star/rendering/RenderState.idl @@ -45,7 +45,7 @@ interface XPolyPolygon2D; state, i.e. the common setup required to render each individual <type>XCanvas</type> primitive.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct RenderState { diff --git a/offapi/com/sun/star/rendering/RenderingIntent.idl b/offapi/com/sun/star/rendering/RenderingIntent.idl index 0d50ddf9b..231c0edbc 100644 --- a/offapi/com/sun/star/rendering/RenderingIntent.idl +++ b/offapi/com/sun/star/rendering/RenderingIntent.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module rendering { href="http://en.wikipedia.org/wiki/Rendering_intent">Wikipedia</a> for a thorough explanation. - @since OOo 2.0.0 + @since OOo 2.0 */ constants RenderingIntent { diff --git a/offapi/com/sun/star/rendering/RepaintResult.idl b/offapi/com/sun/star/rendering/RepaintResult.idl index 7f5d36d49..5abdc7b72 100644 --- a/offapi/com/sun/star/rendering/RepaintResult.idl +++ b/offapi/com/sun/star/rendering/RepaintResult.idl @@ -32,7 +32,7 @@ module com { module sun { module star { module rendering { /** These constants specify the result of the <type>XCachedPrimitive</type> render operation.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants RepaintResult { diff --git a/offapi/com/sun/star/rendering/StringContext.idl b/offapi/com/sun/star/rendering/StringContext.idl index 39b7f66e1..ee16c5220 100644 --- a/offapi/com/sun/star/rendering/StringContext.idl +++ b/offapi/com/sun/star/rendering/StringContext.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module rendering { here, because in several languages, glyph selection is context dependent.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct StringContext { diff --git a/offapi/com/sun/star/rendering/TextDirection.idl b/offapi/com/sun/star/rendering/TextDirection.idl index 3629a1775..5a0571fce 100644 --- a/offapi/com/sun/star/rendering/TextDirection.idl +++ b/offapi/com/sun/star/rendering/TextDirection.idl @@ -33,7 +33,7 @@ module com { module sun { module star { module rendering { This also changes the interpretation of the start point.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants TextDirection { diff --git a/offapi/com/sun/star/rendering/TextHit.idl b/offapi/com/sun/star/rendering/TextHit.idl index c04e0d2f7..9a5e95746 100644 --- a/offapi/com/sun/star/rendering/TextHit.idl +++ b/offapi/com/sun/star/rendering/TextHit.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module rendering { This structure is used from the <type>XTextLayout</type> interface to transport information regarding hit tests.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct TextHit { diff --git a/offapi/com/sun/star/rendering/Texture.idl b/offapi/com/sun/star/rendering/Texture.idl index 02362c3ce..a7bbf35b4 100644 --- a/offapi/com/sun/star/rendering/Texture.idl +++ b/offapi/com/sun/star/rendering/Texture.idl @@ -51,7 +51,7 @@ interface XParametricPolyPolygon2D; as the hatch and the gradient. The transformation member can then be used to scale the complete texture as it fits suit.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct Texture { diff --git a/offapi/com/sun/star/rendering/TexturingMode.idl b/offapi/com/sun/star/rendering/TexturingMode.idl index 9dfcef6f6..a97693e62 100644 --- a/offapi/com/sun/star/rendering/TexturingMode.idl +++ b/offapi/com/sun/star/rendering/TexturingMode.idl @@ -32,7 +32,7 @@ module com { module sun { module star { module rendering { /** Enumeration of possible values to spread a texture across a primitive. - @since OOo 2.0.0 + @since OOo 2.0 */ constants TexturingMode { diff --git a/offapi/com/sun/star/rendering/ViewState.idl b/offapi/com/sun/star/rendering/ViewState.idl index 34c3bc034..1f35b74c8 100644 --- a/offapi/com/sun/star/rendering/ViewState.idl +++ b/offapi/com/sun/star/rendering/ViewState.idl @@ -41,7 +41,7 @@ interface XPolyPolygon2D; i.e. the invariant setup used when painting a whole view of something.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ struct ViewState { diff --git a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl index 62fbc9ec9..d8681859e 100644 --- a/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl +++ b/offapi/com/sun/star/rendering/VolatileContentDestroyedException.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module rendering { When accessing or rendering XVolatileBitmap data, that has been invalidated by the system, this exception will be thrown.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ exception VolatileContentDestroyedException : ::com::sun::star::uno::Exception { diff --git a/offapi/com/sun/star/rendering/XAnimatedSprite.idl b/offapi/com/sun/star/rendering/XAnimatedSprite.idl index 197ae1901..880606291 100644 --- a/offapi/com/sun/star/rendering/XAnimatedSprite.idl +++ b/offapi/com/sun/star/rendering/XAnimatedSprite.idl @@ -54,7 +54,7 @@ module com { module sun { module star { module rendering { This interface can be used to control an animated sprite object on an XSpriteCanvas. Sprites are moving, animated objects.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XAnimatedSprite : XSprite { diff --git a/offapi/com/sun/star/rendering/XAnimation.idl b/offapi/com/sun/star/rendering/XAnimation.idl index 8fcb8f67b..9169e997d 100644 --- a/offapi/com/sun/star/rendering/XAnimation.idl +++ b/offapi/com/sun/star/rendering/XAnimation.idl @@ -58,7 +58,7 @@ module com { module sun { module star { module rendering { is used by the <type>XCanvas</type> interface to render generic animations.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XAnimation : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl index 7730edb57..6f9fb6e55 100644 --- a/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl +++ b/offapi/com/sun/star/rendering/XBezierPolyPolygon2D.idl @@ -54,7 +54,7 @@ module com { module sun { module star { module rendering { By convention, a <type>RealBezierSegment2D</type> is a straight line segment, if all three contained points are strictly equal.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XBezierPolyPolygon2D : XPolyPolygon2D { diff --git a/offapi/com/sun/star/rendering/XBitmap.idl b/offapi/com/sun/star/rendering/XBitmap.idl index a8a287a70..e58ba975d 100644 --- a/offapi/com/sun/star/rendering/XBitmap.idl +++ b/offapi/com/sun/star/rendering/XBitmap.idl @@ -55,7 +55,7 @@ interface XBitmapCanvas; <type>XIeeeDoubleBitmap</type>, <type>XIeeeFloatBitmap</type> and <type>XHalfFloatBitmap</type> interfaces.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XBitmap : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XBitmapCanvas.idl b/offapi/com/sun/star/rendering/XBitmapCanvas.idl index 48d56c575..fb4a2df3b 100644 --- a/offapi/com/sun/star/rendering/XBitmapCanvas.idl +++ b/offapi/com/sun/star/rendering/XBitmapCanvas.idl @@ -59,7 +59,7 @@ module com { module sun { module star { module rendering { bitmapped canvases, where additional methods for accessing and moving of bitmap content are provided.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XBitmapCanvas : XCanvas { diff --git a/offapi/com/sun/star/rendering/XBitmapPalette.idl b/offapi/com/sun/star/rendering/XBitmapPalette.idl index 86f0501e6..f15073301 100644 --- a/offapi/com/sun/star/rendering/XBitmapPalette.idl +++ b/offapi/com/sun/star/rendering/XBitmapPalette.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module rendering { /** Interface to access the palette of a color-indexed bitmap. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XBitmapPalette : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XBufferController.idl b/offapi/com/sun/star/rendering/XBufferController.idl index 8d86408ca..852b08aa9 100644 --- a/offapi/com/sun/star/rendering/XBufferController.idl +++ b/offapi/com/sun/star/rendering/XBufferController.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module rendering { This interface provides methods to enable and control double/multi-buffering facilities on screen devices.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XBufferController : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XCachedPrimitive.idl b/offapi/com/sun/star/rendering/XCachedPrimitive.idl index 62aacef1a..5870d1679 100644 --- a/offapi/com/sun/star/rendering/XCachedPrimitive.idl +++ b/offapi/com/sun/star/rendering/XCachedPrimitive.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module rendering { This interface provides a method to quickly redraw some <type>XCanvas</type> primitives, using cached data.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XCachedPrimitive : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XCanvas.idl b/offapi/com/sun/star/rendering/XCanvas.idl index 2f033e15b..5d19f24bd 100644 --- a/offapi/com/sun/star/rendering/XCanvas.idl +++ b/offapi/com/sun/star/rendering/XCanvas.idl @@ -148,7 +148,7 @@ interface XTextLayout; <member>getDevice()</member> call) - they will then internally optimize to the underlying graphics subsystem.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XCanvas : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XIntegerBitmap.idl b/offapi/com/sun/star/rendering/XIntegerBitmap.idl index 4ce4579d1..2950a8e42 100644 --- a/offapi/com/sun/star/rendering/XIntegerBitmap.idl +++ b/offapi/com/sun/star/rendering/XIntegerBitmap.idl @@ -52,7 +52,7 @@ module com { module sun { module star { module rendering { /** This is a specialized interface for bitmaps having integer color channels.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XIntegerBitmap : XIntegerReadOnlyBitmap { diff --git a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl index eedb1e140..ae4215aaa 100644 --- a/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl +++ b/offapi/com/sun/star/rendering/XLinePolyPolygon2D.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module rendering { /** Specialized interface for a 2D poly-polygon containing only straight line segments. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XLinePolyPolygon2D : XPolyPolygon2D { diff --git a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl index 7fb545c52..49005e491 100644 --- a/offapi/com/sun/star/rendering/XPolyPolygon2D.idl +++ b/offapi/com/sun/star/rendering/XPolyPolygon2D.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module rendering { /** Generic interface for poly-polygons in 2D. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPolyPolygon2D : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/rendering/XTextLayout.idl b/offapi/com/sun/star/rendering/XTextLayout.idl index e72aa24de..2f4dad0e1 100644 --- a/offapi/com/sun/star/rendering/XTextLayout.idl +++ b/offapi/com/sun/star/rendering/XTextLayout.idl @@ -90,7 +90,7 @@ interface XPolyPolygon2D; might be off by up to one device pixel from the transformed metrics.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XTextLayout : ::com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/report/XReportControlFormat.idl b/offapi/com/sun/star/report/XReportControlFormat.idl index dc54d60c3..1ce71308a 100644 --- a/offapi/com/sun/star/report/XReportControlFormat.idl +++ b/offapi/com/sun/star/report/XReportControlFormat.idl @@ -143,7 +143,7 @@ interface XReportControlFormat /** If this optional property is <TRUE/>, then the characters are invisible. - @since OOo 2.0.0 + @since OOo 2.0 */ [attribute,bound] boolean CharHidden { diff --git a/offapi/com/sun/star/resource/OfficeResourceLoader.idl b/offapi/com/sun/star/resource/OfficeResourceLoader.idl index 57feea5e9..3c784f8c4 100644 --- a/offapi/com/sun/star/resource/OfficeResourceLoader.idl +++ b/offapi/com/sun/star/resource/OfficeResourceLoader.idl @@ -70,7 +70,7 @@ module com { module sun { module star { module resource { OpenOffice.org build), you are <strong>strongly</strong> discouraged from using the <type>OfficeResoureLoader</type> service in a component which targets more than one particular OpenOffice.org build.</p> - @since OpenOffice.org 2.0.3 + @since OOo 2.0.3 */ singleton OfficeResourceLoader : XResourceBundleLoader; diff --git a/offapi/com/sun/star/script/browse/BrowseNode.idl b/offapi/com/sun/star/script/browse/BrowseNode.idl index b7e3090df..899d7afe3 100644 --- a/offapi/com/sun/star/script/browse/BrowseNode.idl +++ b/offapi/com/sun/star/script/browse/BrowseNode.idl @@ -46,7 +46,7 @@ module com { XBrowseNode interface. XInvocation is an optional interface that is used to execute macros, or to create/delete/rename macros or macro containers. - @since OOo 2.0.0 + @since OOo 2.0 */ service BrowseNode { diff --git a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl index 62113f0ca..b0cf65058 100644 --- a/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl +++ b/offapi/com/sun/star/script/browse/BrowseNodeFactory.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module script { module browse { /** This service is used to create Root XBrowseNodes. - @since OOo 2.0.0 + @since OOo 2.0 */ service BrowseNodeFactory { @@ -52,7 +52,7 @@ service BrowseNodeFactory /singletons/com.sun.star.script.theBrowseNodeFactory </pre> - @since OOo 2.0.0 + @since OOo 2.0 */ singleton theBrowseNodeFactory { diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl index c727733e3..77ff3db29 100644 --- a/offapi/com/sun/star/sdb/DatabaseContext.idl +++ b/offapi/com/sun/star/sdb/DatabaseContext.idl @@ -96,7 +96,7 @@ published service DatabaseContext are maintained, so if possible at all, you should use this interface, instead of modifying or querying the configuration data directly.</p> - @since OpenOffice.org 3.3 + @since OOo 3.3 */ [optional] interface XDatabaseRegistrations; }; diff --git a/offapi/com/sun/star/sdb/DatabaseDocument.idl b/offapi/com/sun/star/sdb/DatabaseDocument.idl index 6cfd84698..33d86e373 100644 --- a/offapi/com/sun/star/sdb/DatabaseDocument.idl +++ b/offapi/com/sun/star/sdb/DatabaseDocument.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module sdb { /** specifies a link to a document associated with a database document - @since OOo 2.0.0 + @since OOo 2.0 @deprecated */ published service DatabaseDocument diff --git a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl index a6b726c64..bf496ce58 100644 --- a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl +++ b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl @@ -44,7 +44,7 @@ <p> Usually thrown if someone tries to save a document which hasn't a name yet. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ exception DocumentSaveRequest: com::sun::star::task::ClassifiedInteractionRequest { diff --git a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl index 115f6dc1d..c87784c3c 100644 --- a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl +++ b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl @@ -63,7 +63,7 @@ module com { module sun { module star { module sdb { @see com::sun::star::sdb::XOfficeDatabaseDocument @see com::sun::star::document::OfficeDocument - @since OOo 2.0.0 + @since OOo 2.0 */ service OfficeDatabaseDocument { diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl index cd0db2011..013ec0ab4 100644 --- a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl +++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl @@ -47,7 +47,7 @@ interface XDatabaseRegistrationsListener; if possible at all, use this interface, instead of modifying or querying the configuration data directly.</p> - @since OpenOffice.org 3.3 + @since OOo 3.3 */ interface XDatabaseRegistrations { diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl index de38921bd..789dfa323 100644 --- a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl +++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sdb { @see XDatabaseRegistrations - @since OpenOffice.org 3.3 + @since OOo 3.3 */ interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl index f4617aebb..d74584d30 100644 --- a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl +++ b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module sdb { This continuation is typically used in conjunction with a <type scope="com::sun::star::sdb">DocumentSaveRequest</type>. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XInteractionDocumentSave: com::sun::star::task::XInteractionContinuation { diff --git a/offapi/com/sun/star/sdb/application/DatabaseObject.idl b/offapi/com/sun/star/sdb/application/DatabaseObject.idl index abb5b356e..f961a569f 100644 --- a/offapi/com/sun/star/sdb/application/DatabaseObject.idl +++ b/offapi/com/sun/star/sdb/application/DatabaseObject.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module sdb { module application { /** denotes different objects within a database document - @since OOo 2.2.0 + @since OOo 2.2 @see DatabaseObjectContainer */ diff --git a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl index e595cd356..60c30f3cf 100644 --- a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl +++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl @@ -52,7 +52,7 @@ module com { module sun { module star { module sdb { module application { @see com::sun::star::frame::Controller @see com::sun::star::sdb::DatabaseDocument - @since OOo 2.2.0 + @since OOo 2.2 */ interface XDatabaseDocumentUI { diff --git a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl index 2dcc6d2d0..b36f1c220 100644 --- a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl +++ b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl @@ -45,7 +45,7 @@ interface XDatabaseDocumentUI; @see com::sun::star::sdb::Connection - @since OOo 2.2.0 + @since OOo 2.2 */ interface XTableUIProvider { diff --git a/offapi/com/sun/star/sdbc/DataType.idl b/offapi/com/sun/star/sdbc/DataType.idl index 8da445869..e73a51e31 100644 --- a/offapi/com/sun/star/sdbc/DataType.idl +++ b/offapi/com/sun/star/sdbc/DataType.idl @@ -133,7 +133,7 @@ published constants DataType /** identifies the generic SQL type * <code>BOOLEAN</code>. * - * @since OOo 2.0.0 + * @since OOo 2.0 */ const long BOOLEAN = 16; }; diff --git a/offapi/com/sun/star/security/SerialNumberAdapter.idl b/offapi/com/sun/star/security/SerialNumberAdapter.idl index c6fbcf5f0..40cb3a3e4 100644 --- a/offapi/com/sun/star/security/SerialNumberAdapter.idl +++ b/offapi/com/sun/star/security/SerialNumberAdapter.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module security { <p>An implementation of this service enables the conversion of certificate serial number to and from a string</p> - @since OOo 3.1.0 + @since OOo 3.1 */ service SerialNumberAdapter : XSerialNumberAdapter; diff --git a/offapi/com/sun/star/sheet/ActivationEvent.idl b/offapi/com/sun/star/sheet/ActivationEvent.idl index d0f194be7..7cf624f6a 100644 --- a/offapi/com/sun/star/sheet/ActivationEvent.idl +++ b/offapi/com/sun/star/sheet/ActivationEvent.idl @@ -44,7 +44,7 @@ /** describes a change of the active sheet. The new active sheet is given with this event. - @since OOo 2.0.0 + @since OOo 2.0 */ published struct ActivationEvent: com::sun::star::lang::EventObject diff --git a/offapi/com/sun/star/sheet/CellAreaLink.idl b/offapi/com/sun/star/sheet/CellAreaLink.idl index 555f8515f..58f1883bd 100644 --- a/offapi/com/sun/star/sheet/CellAreaLink.idl +++ b/offapi/com/sun/star/sheet/CellAreaLink.idl @@ -106,7 +106,7 @@ published service CellAreaLink /** specifies the time between two refresh actions in seconds. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RefreshPeriod; diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl index 0d4267e55..68d68d768 100644 --- a/offapi/com/sun/star/sheet/DDEItemInfo.idl +++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module sheet { A DDE connection consists of the DDE service name, the DDE topic and a list of DDE items which may contain cached result sets. - @since OOo3.1 + @since OOo 3.1 */ struct DDEItemInfo { diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl index a7d6c9405..22da15ff6 100644 --- a/offapi/com/sun/star/sheet/DDELinkInfo.idl +++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl @@ -51,7 +51,7 @@ module com { module sun { module star { module sheet { single quotes they are escaped by doubling them, as usual, for example <code>=[2]!'''Sheet name''.A1'</code> in a "soffice" service.</p> - @since OOo3.1 + @since OOo 3.1 */ struct DDELinkInfo { diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl index 070ac31d0..1ce44dcd7 100644 --- a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl +++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl @@ -80,7 +80,7 @@ published service DataPilotDescriptor /** specifies parameters to create the data pilot table from a database. @see DatabaseImportDescriptor - @since OOo 3.3.0 + @since OOo 3.3 */ [optional, property] sequence< com::sun::star::beans::PropertyValue > ImportDescriptor; @@ -90,7 +90,7 @@ published service DataPilotDescriptor /** specifies the name of a <type>DataPilotSource</type> implementation for the data pilot table. - @since OOo 3.3.0 + @since OOo 3.3 */ [optional, property] string SourceServiceName; @@ -100,7 +100,7 @@ published service DataPilotDescriptor /** specifies arguments that are passed to the implementation named by <member>SourceServiceName</member>. - @since OOo 3.3.0 + @since OOo 3.3 */ [optional, property] sequence< com::sun::star::beans::PropertyValue > ServiceArguments; diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl index 3addf5533..ae0b4713e 100644 --- a/offapi/com/sun/star/sheet/DataPilotItem.idl +++ b/offapi/com/sun/star/sheet/DataPilotItem.idl @@ -77,7 +77,7 @@ service DataPilotItem /** specifies the item's position in its field if sorting is manual. - @since OOo 2.4.0 + @since OOo 2.4 */ [optional, property] long Position; }; diff --git a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl index 911e86639..2c2453777 100644 --- a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl +++ b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::XDataPilotTable2 - @since OOo 3.0.0 + @since OOo 3.0 */ constants DataPilotOutputRangeType { diff --git a/offapi/com/sun/star/sheet/DataPilotSource.idl b/offapi/com/sun/star/sheet/DataPilotSource.idl index 66792647c..8a8b662cb 100644 --- a/offapi/com/sun/star/sheet/DataPilotSource.idl +++ b/offapi/com/sun/star/sheet/DataPilotSource.idl @@ -100,7 +100,7 @@ published service DataPilotSource /** specifies the number of row fields. - @since OOo 3.0.0 + @since OOo 3.0 */ [readonly, property, optional] long RowFieldCount; @@ -108,7 +108,7 @@ published service DataPilotSource /** specifies the number of column fields. - @since OOo 3.0.0 + @since OOo 3.0 */ [readonly, property, optional] long ColumnFieldCount; @@ -116,7 +116,7 @@ published service DataPilotSource /** specifies the number of data fields. - @since OOo 3.0.0 + @since OOo 3.0 */ [readonly, property, optional] long DataFieldCount; }; diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl index 6b01ebbdd..1b45d0680 100644 --- a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl +++ b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl @@ -86,7 +86,7 @@ published service DataPilotSourceMember /** specifies the member's position in its hierarchy level if sorting is manual. - @since OOo 2.4.0 + @since OOo 2.4 */ [optional, property] boolean Position; }; diff --git a/offapi/com/sun/star/sheet/DataPilotTable.idl b/offapi/com/sun/star/sheet/DataPilotTable.idl index 672cafc2d..d2fbbed56 100644 --- a/offapi/com/sun/star/sheet/DataPilotTable.idl +++ b/offapi/com/sun/star/sheet/DataPilotTable.idl @@ -66,7 +66,7 @@ published service DataPilotTable /** allows notification of modifications to the data pilot table. - @since OOo 3.3.0 + @since OOo 3.3 */ [optional] interface com::sun::star::util::XModifyBroadcaster; diff --git a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl index f88385774..6b673e953 100644 --- a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl +++ b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl @@ -51,7 +51,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::DataPilotFieldFilter @see com::sun::star::sheet::DataResult - @since OOo 3.0.0 + @since OOo 3.0 */ struct DataPilotTableHeaderData { diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl index 3d2b9876a..3c4797296 100644 --- a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl +++ b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::DataPiotTableResultData @see com::sun::star::sheet::DataPiotTableHeaderData - @since OOo 3.0.0 + @since OOo 3.0 */ struct DataPilotTablePositionData { diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl index 5d669db6b..ffb873dd5 100644 --- a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl +++ b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::DataPilotTableResultData @see com::sun::star::sheet::DataPilotTableHeaderData - @since OOo 3.0.0 + @since OOo 3.0 */ constants DataPilotTablePositionType { diff --git a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl index d3f4aa509..aead8aeb9 100644 --- a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl +++ b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::DataPilotFieldFilter @see com::sun::star::sheet::DataResult - @since OOo 3.0.0 + @since OOo 3.0 */ struct DataPilotTableResultData { diff --git a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl index 644c6cb2d..de0c48905 100644 --- a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl +++ b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl @@ -72,7 +72,7 @@ published service DatabaseImportDescriptor /** specifies whether the SQL statement is given directly to the database or is parsed before. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean IsNative; @@ -80,7 +80,7 @@ published service DatabaseImportDescriptor //------------------------------------------------------------------------- /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string ConnectionResource; diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl index ea7cbb4a8..16c697e51 100644 --- a/offapi/com/sun/star/sheet/DatabaseRange.idl +++ b/offapi/com/sun/star/sheet/DatabaseRange.idl @@ -134,7 +134,7 @@ published service DatabaseRange /** specifies the time between two refresh actions in seconds. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] long RefreshPeriod; @@ -142,7 +142,7 @@ published service DatabaseRange /** specifies whether the imported data is only a selection of the database. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean FromSelection; diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl index a58fd0fdd..f2dd5ea2e 100644 --- a/offapi/com/sun/star/sheet/ExternalDocLink.idl +++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::XExternalDocLink - @since OOo 3.1.0 + @since OOo 3.1 */ service ExternalDocLink : XExternalDocLink { diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl index 15ca94d1d..86d3eb552 100644 --- a/offapi/com/sun/star/sheet/ExternalDocLinks.idl +++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::ExternalDocLink @see com::sun::star::sheet::XExternalDocLinks - @since OOo 3.1.0 + @since OOo 3.1 */ service ExternalDocLinks : XExternalDocLinks { diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl index 749d95b36..db537e749 100644 --- a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl +++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module sheet { //============================================================================= /** describes an external link in a formula. - @since OOo3.1 + @since OOo 3.1 */ struct ExternalLinkInfo { diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl index 7e54750b5..75719a9d3 100644 --- a/offapi/com/sun/star/sheet/ExternalLinkType.idl +++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module sheet { <type>ExternalLinkInfo</type>, used with <member>FormulaParser::ExternalLinks</member>. - @since OOo3.1 + @since OOo 3.1 */ constants ExternalLinkType { diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl index bda4f4829..a7d9b37cd 100644 --- a/offapi/com/sun/star/sheet/ExternalSheetCache.idl +++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::ExternalDocLink @see com::sun::star::sheet::XExternalSheetCache - @since OOo 3.1.0 + @since OOo 3.1 */ service ExternalSheetCache : XExternalSheetCache { diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl index ac13717e6..6d3483228 100644 --- a/offapi/com/sun/star/sheet/FormulaParser.idl +++ b/offapi/com/sun/star/sheet/FormulaParser.idl @@ -103,7 +103,7 @@ service FormulaParser that indices are 1-based, the sequence must start with an empty element.</p> - @since OOo3.1 + @since OOo 3.1 */ [property] sequence< ExternalLinkInfo > ExternalLinks; diff --git a/offapi/com/sun/star/sheet/SheetCell.idl b/offapi/com/sun/star/sheet/SheetCell.idl index 59b494c43..c75ddce8e 100644 --- a/offapi/com/sun/star/sheet/SheetCell.idl +++ b/offapi/com/sun/star/sheet/SheetCell.idl @@ -241,7 +241,7 @@ published service SheetCell /** - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface com::sun::star::util::XModifyBroadcaster; diff --git a/offapi/com/sun/star/sheet/SheetCellRange.idl b/offapi/com/sun/star/sheet/SheetCellRange.idl index 8c2eb89e6..0e9aa5779 100644 --- a/offapi/com/sun/star/sheet/SheetCellRange.idl +++ b/offapi/com/sun/star/sheet/SheetCellRange.idl @@ -350,7 +350,7 @@ published service SheetCellRange /** - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface com::sun::star::util::XModifyBroadcaster; diff --git a/offapi/com/sun/star/sheet/TablePageStyle.idl b/offapi/com/sun/star/sheet/TablePageStyle.idl index 7715cf7d4..68b4baf4e 100644 --- a/offapi/com/sun/star/sheet/TablePageStyle.idl +++ b/offapi/com/sun/star/sheet/TablePageStyle.idl @@ -197,7 +197,7 @@ published service TablePageStyle /** contains the number of horizontal pages the sheet will printed on. - @since OOo 2.0.0 + @since OOo 2.0 */ [property, optional] short ScaleToPagesX; @@ -206,7 +206,7 @@ published service TablePageStyle /** contains the number of vertical pages the sheet will printed on. - @since OOo 2.0.0 + @since OOo 2.0 */ [property, optional] short ScaleToPagesY; diff --git a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl index 117dee539..3e58f608e 100644 --- a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl +++ b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module sheet { /** provides methods to add and remove XActivationEventListener - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XActivationBroadcaster: com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/sheet/XActivationEventListener.idl b/offapi/com/sun/star/sheet/XActivationEventListener.idl index c9ca4986c..99786f9db 100644 --- a/offapi/com/sun/star/sheet/XActivationEventListener.idl +++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl @@ -60,7 +60,7 @@ published interface XActivationEventListener: com::sun::star::lang::XEventListen @see ActivationEvent @see XSpreadsheetViewEventProvider - @since OOo 2.0.0 + @since OOo 2.0 */ void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent ); diff --git a/offapi/com/sun/star/sheet/XDataPilotTable2.idl b/offapi/com/sun/star/sheet/XDataPilotTable2.idl index 0063105f9..6d50b6f1a 100644 --- a/offapi/com/sun/star/sheet/XDataPilotTable2.idl +++ b/offapi/com/sun/star/sheet/XDataPilotTable2.idl @@ -65,7 +65,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::XDataPilotTable - @since OOo 3.0.0 + @since OOo 3.0 */ interface XDataPilotTable2: com::sun::star::sheet::XDataPilotTable { diff --git a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl index 9f226338b..545f4ba85 100644 --- a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl +++ b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl @@ -57,7 +57,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::DataPilotSource - @since OOo 3.0.0 + @since OOo 3.0 */ interface XDrillDownDataSupplier: com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl index 4e9fe3227..94569c8c5 100644 --- a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl +++ b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module sheet { /** provides methods to add and remove EnhancedMouseClickHandler - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XEnhancedMouseClickBroadcaster: com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl index 2ca038f38..8fdaf0ebd 100644 --- a/offapi/com/sun/star/sheet/XExternalDocLink.idl +++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::ExternalDocLink - @since OOo 3.1.0 + @since OOo 3.1 */ interface XExternalDocLink { diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl index 16d9383e9..a851f9423 100644 --- a/offapi/com/sun/star/sheet/XExternalDocLinks.idl +++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::ExternalDocLinks - @since OOo 3.1.0 + @since OOo 3.1 */ interface XExternalDocLinks { diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl index 8acc3452a..bf01ccabf 100644 --- a/offapi/com/sun/star/sheet/XExternalSheetCache.idl +++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::ExternalSheetCache - @since OOo 3.1.0 + @since OOo 3.1 */ interface XExternalSheetCache { diff --git a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl index 2e530b51b..2aae00c99 100644 --- a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl +++ b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module sheet { @see com::sun::star::sheet::XScenario - @since OOo 2.0.0 + @since OOo 2.0 */ interface XScenarioEnhanced: com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/smarttags/SmartTagAction.idl b/offapi/com/sun/star/smarttags/SmartTagAction.idl index 9f43a6ada..f4d1f5cd2 100644 --- a/offapi/com/sun/star/smarttags/SmartTagAction.idl +++ b/offapi/com/sun/star/smarttags/SmartTagAction.idl @@ -46,7 +46,7 @@ module com { module sun { module star { module smarttags { that can be performed for a smart tag which has been recognized by a <type>SmartTagRecognizer</type> service.</p> - @since OOo 2.3.0 + @since OOo 2.3 */ service SmartTagAction : XSmartTagAction {}; diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl index c1862bb0c..83cb328c6 100644 --- a/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl +++ b/offapi/com/sun/star/smarttags/SmartTagRecognizer.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module smarttags { associated with specific actions which are defined by implementations of the <type>SmartTagAction</type> service.</p> - @since OOo 2.3.0 + @since OOo 2.3 */ service SmartTagRecognizer : XSmartTagRecognizer {}; diff --git a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl index 3b64e2d9e..8c09daece 100644 --- a/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl +++ b/offapi/com/sun/star/smarttags/SmartTagRecognizerMode.idl @@ -37,7 +37,7 @@ /** specifies the which type of text is passed to <method>XSmartTagRecognizer::recognize()</method></p> - @since OOo 2.3.0 + @since OOo 2.3 */ enum SmartTagRecognizerMode diff --git a/offapi/com/sun/star/smarttags/XSmartTagAction.idl b/offapi/com/sun/star/smarttags/XSmartTagAction.idl index d43cc5e68..e59e927ad 100644 --- a/offapi/com/sun/star/smarttags/XSmartTagAction.idl +++ b/offapi/com/sun/star/smarttags/XSmartTagAction.idl @@ -64,7 +64,7 @@ module com { module sun { module star { module smarttags { /** provides access to smart tag actions. - @since OOo 2.3.0 + @since OOo 2.3 */ interface XSmartTagAction: com::sun::star::lang::XInitialization diff --git a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl index a74c4a069..b84073cdf 100644 --- a/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl +++ b/offapi/com/sun/star/smarttags/XSmartTagRecognizer.idl @@ -65,7 +65,7 @@ module com { module sun { module star { module smarttags { /** provides access to a smart tag recognizer. - @since OOo 2.3.0 + @since OOo 2.3 */ interface XSmartTagRecognizer: com::sun::star::lang::XInitialization diff --git a/offapi/com/sun/star/style/CharacterProperties.idl b/offapi/com/sun/star/style/CharacterProperties.idl index 929fd45f8..73940e833 100644 --- a/offapi/com/sun/star/style/CharacterProperties.idl +++ b/offapi/com/sun/star/style/CharacterProperties.idl @@ -428,7 +428,7 @@ published service CharacterProperties /** If this optional property is <TRUE/>, then the characters are invisible. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean CharHidden; diff --git a/offapi/com/sun/star/style/NumberingType.idl b/offapi/com/sun/star/style/NumberingType.idl index 94717ab81..0b4c7caa9 100644 --- a/offapi/com/sun/star/style/NumberingType.idl +++ b/offapi/com/sun/star/style/NumberingType.idl @@ -226,7 +226,7 @@ published constants NumberingType //------------------------------------------------------------------------- /** Numbering in Hebrew alphabet letters - @since OOo 2.0.0 + @since OOo 2.0 */ const short CHARS_HEBREW = 33; diff --git a/offapi/com/sun/star/task/XRestartManager.idl b/offapi/com/sun/star/task/XRestartManager.idl index 0bea91ccd..a6d97142b 100644 --- a/offapi/com/sun/star/task/XRestartManager.idl +++ b/offapi/com/sun/star/task/XRestartManager.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module task { //============================================================================= /** allows to try to restart the office. - @since OOo3.3 + @since OOo 3.3 */ published interface XRestartManager : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/text/BaseFrameProperties.idl b/offapi/com/sun/star/text/BaseFrameProperties.idl index b9c83c136..cb96e7a40 100644 --- a/offapi/com/sun/star/text/BaseFrameProperties.idl +++ b/offapi/com/sun/star/text/BaseFrameProperties.idl @@ -335,7 +335,7 @@ published service BaseFrameProperties of the shape, if the text document setting ConsiderTextWrapOnObjPos is <TRUE/>. Valid values are given by <member>WrapInfluenceOnPosition</member></p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short WrapInfluenceOnPosition; diff --git a/offapi/com/sun/star/text/Cell.idl b/offapi/com/sun/star/text/Cell.idl index cf2f696ad..7ee4e5816 100644 --- a/offapi/com/sun/star/text/Cell.idl +++ b/offapi/com/sun/star/text/Cell.idl @@ -93,7 +93,7 @@ service Cell <li>CellProtection: non-functional implementation.</li> </ul> - @since OOo 2.0.0 + @since OOo 2.0 */ service com::sun::star::table::CellProperties; diff --git a/offapi/com/sun/star/text/DocumentSettings.idl b/offapi/com/sun/star/text/DocumentSettings.idl index 46d23a79f..a6ee4f5cb 100644 --- a/offapi/com/sun/star/text/DocumentSettings.idl +++ b/offapi/com/sun/star/text/DocumentSettings.idl @@ -139,7 +139,7 @@ published service DocumentSettings a proportional line spacing is only applied below a text line and it's always added to the paragraph spacing between two paragraphs.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean UseFormerLineSpacing; // ------------------------------------------------------------ @@ -156,7 +156,7 @@ published service DocumentSettings the spacing of the last paragraph respectively table of a table cell isn't added at the bottom of this table cell.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean AddParaSpacingToTableCells; // ------------------------------------------------------------ @@ -174,7 +174,7 @@ published service DocumentSettings its vertical position, doesn't include the lower spacing and the line spacing of the previous paragraph.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean UseFormerObjectPositioning; @@ -191,7 +191,7 @@ published service DocumentSettings If <FALSE/> (default value), the former object positioning algorithm (known from OpenOffice.org 1.1) is applied.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean ConsiderTextWrapOnObjPos; diff --git a/offapi/com/sun/star/text/FootnoteSettings.idl b/offapi/com/sun/star/text/FootnoteSettings.idl index 858b4f75c..b7d133cb2 100644 --- a/offapi/com/sun/star/text/FootnoteSettings.idl +++ b/offapi/com/sun/star/text/FootnoteSettings.idl @@ -126,7 +126,7 @@ published service FootnoteSettings /** contains the name of the character style that is used for footnote/endnote anchor in the text. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string AnchorCharStyleName; diff --git a/offapi/com/sun/star/text/GenericTextDocument.idl b/offapi/com/sun/star/text/GenericTextDocument.idl index e7e8752c5..2f0739dcc 100644 --- a/offapi/com/sun/star/text/GenericTextDocument.idl +++ b/offapi/com/sun/star/text/GenericTextDocument.idl @@ -179,22 +179,28 @@ published service GenericTextDocument [optional] interface com::sun::star::style::XStyleFamiliesSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::text::XBookmarksSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::text::XDocumentIndexesSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::text::XTextFieldsSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::text::XTextFramesSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::text::XTextSectionsSupplier; - /// @since OOo 1.1.2 + /** @since OOo 1.1.2 + */ [optional] interface com::sun::star::util::XNumberFormatsSupplier; //------------------------------------------------------------------------- diff --git a/offapi/com/sun/star/text/LineNumberingProperties.idl b/offapi/com/sun/star/text/LineNumberingProperties.idl index 9d119010e..352997c8f 100644 --- a/offapi/com/sun/star/text/LineNumberingProperties.idl +++ b/offapi/com/sun/star/text/LineNumberingProperties.idl @@ -103,7 +103,7 @@ published service LineNumberingProperties <p>If set to <FALSE/> the line numbering will be continuous.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean RestartAtEachPage; diff --git a/offapi/com/sun/star/text/Paragraph.idl b/offapi/com/sun/star/text/Paragraph.idl index 0602db4c9..6712ee738 100644 --- a/offapi/com/sun/star/text/Paragraph.idl +++ b/offapi/com/sun/star/text/Paragraph.idl @@ -142,7 +142,7 @@ published service Paragraph interface com::sun::star::container::XEnumerationAccess; /** gives access to a sequence of properties. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet; }; diff --git a/offapi/com/sun/star/text/PositionLayoutDir.idl b/offapi/com/sun/star/text/PositionLayoutDir.idl index 3be276119..f4ccadf8e 100644 --- a/offapi/com/sun/star/text/PositionLayoutDir.idl +++ b/offapi/com/sun/star/text/PositionLayoutDir.idl @@ -37,7 +37,7 @@ /** These values specify the layout direction, in which the position attributes of a shape are given - @since OOo 2.0.0 + @since OOo 2.0 */ constants PositionLayoutDir { diff --git a/offapi/com/sun/star/text/RelOrientation.idl b/offapi/com/sun/star/text/RelOrientation.idl index ffe57851b..6a9054894 100644 --- a/offapi/com/sun/star/text/RelOrientation.idl +++ b/offapi/com/sun/star/text/RelOrientation.idl @@ -108,7 +108,7 @@ published constants RelOrientation /** at the top of the text line, only sensible for vertical orientation. - @since OOo 2.0.0 + @since OOo 2.0 */ const short TEXT_LINE = 9; diff --git a/offapi/com/sun/star/text/Shape.idl b/offapi/com/sun/star/text/Shape.idl index 12a63b2e3..08ee925d7 100644 --- a/offapi/com/sun/star/text/Shape.idl +++ b/offapi/com/sun/star/text/Shape.idl @@ -184,7 +184,7 @@ published service Shape of the shape, if the text document setting ConsiderTextWrapOnObjPos is <TRUE/>. Valid values are given by <member>WrapInfluenceOnPosition</member></p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short WrapInfluenceOnPosition; @@ -197,7 +197,7 @@ published service Shape transformation property of the included service com::sun::star::drawing::Shape converted to the horizontal left-to-right layout.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, readonly, property] com::sun::star::drawing::HomogenMatrix3 TransformationInHoriL2R; //------------------------------------------------------------------------- @@ -206,7 +206,7 @@ published service Shape <p>Valid values are given by <member>PositionLayoutDir</member></p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] short PositionLayoutDir; //------------------------------------------------------------------------- @@ -218,7 +218,7 @@ published service Shape start position property of the included service com::sun::star::drawing::Shape converted to the horizontal left-to-right layout.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, readonly, property] com::sun::star::awt::Point StartPositionInHoriL2R; //------------------------------------------------------------------------- @@ -230,7 +230,7 @@ published service Shape end position property of the included service com::sun::star::drawing::Shape converted to the horizontal left-to-right layout.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, readonly, property] com::sun::star::awt::Point EndPositionInHoriL2R; }; diff --git a/offapi/com/sun/star/text/TextMarkupType.idl b/offapi/com/sun/star/text/TextMarkupType.idl index 0787dfefb..429199a5f 100644 --- a/offapi/com/sun/star/text/TextMarkupType.idl +++ b/offapi/com/sun/star/text/TextMarkupType.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module text { <p>These constants are used with <method>XTextMarkup::commitTextMarkup()</method></p> - @since OOo 2.3.0 + @since OOo 2.3 */ constants TextMarkupType diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl index fa4310609..601c25222 100644 --- a/offapi/com/sun/star/text/TextPortion.idl +++ b/offapi/com/sun/star/text/TextPortion.idl @@ -85,7 +85,7 @@ published service TextPortion //------------------------------------------------------------------------- /** gives access to a sequence of properties. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet; diff --git a/offapi/com/sun/star/text/TextTableRow.idl b/offapi/com/sun/star/text/TextTableRow.idl index 11e900959..19836bd04 100644 --- a/offapi/com/sun/star/text/TextTableRow.idl +++ b/offapi/com/sun/star/text/TextTableRow.idl @@ -111,7 +111,7 @@ published service TextTableRow /** If <TRUE/>, the row is allowed to be split at page or column breaks. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property, maybevoid] boolean IsSplitAllowed; diff --git a/offapi/com/sun/star/text/ViewSettings.idl b/offapi/com/sun/star/text/ViewSettings.idl index 7555250e0..7d05f3659 100644 --- a/offapi/com/sun/star/text/ViewSettings.idl +++ b/offapi/com/sun/star/text/ViewSettings.idl @@ -260,7 +260,7 @@ published service ViewSettings //------------------------------------------------------------------------- /** Specifies whether to display the grid or not - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean IsRasterVisible; @@ -268,7 +268,7 @@ published service ViewSettings /** Specifies whether to move frames, drawing elements, and form functions only between grid points. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] boolean IsSnapToRaster; @@ -278,7 +278,7 @@ published service ViewSettings <p>The value must be greater or equal to 0, and the application may enforce an upper bound for the value.</p> - @since OOo 2.0.0 + @since OOo 2.0 @throws com::sun::star::lang::IllegalArgumentException if the value is out of bounds. */ @@ -290,7 +290,7 @@ published service ViewSettings <p>The value must be greater or equal to 0, and the application may enforce an upper bound for the value.</p> - @since OOo 2.0.0 + @since OOo 2.0 @throws com::sun::star::lang::IllegalArgumentException if the value is out of bounds. */ @@ -303,7 +303,7 @@ published service ViewSettings <p>The value must be greater than 0. The application may enforce more restricting bounds for the value.</p> - @since OOo 2.0.0 + @since OOo 2.0 @throws com::sun::star::lang::IllegalArgumentException if the value is out of bounds. */ @@ -316,7 +316,7 @@ published service ViewSettings <p>The value must be greater than 0. The application may enforce more restricting bounds for the value.</p> - @since OOo 2.0.0 + @since OOo 2.0 @throws com::sun::star::lang::IllegalArgumentException if the value is out of bounds. */ @@ -325,7 +325,7 @@ published service ViewSettings //------------------------------------------------------------------------- /** If this property is <TRUE/>, hidden characters are displayed - @since OOo 3.0.0 + @since OOo 3.0 */ [optional, property] boolean ShowHiddenCharacters; //------------------------------------------------------------------------- @@ -334,7 +334,7 @@ published service ViewSettings <p>This option controls the use of the settings ShowHiddenCharacters, ShowTabstops, ShowSpaces, ShowBreaks and ShowParaBreaks </p> - @since OOo 3.0.0 + @since OOo 3.0 */ [optional, property] boolean ShowNonprintingCharacters; //------------------------------------------------------------------------- @@ -342,7 +342,7 @@ published service ViewSettings <p>Uses values <type scope="com::sun::star::awt">FieldUnit</type></p> - @since OOo 3.1.0 + @since OOo 3.1 */ [optional, property] long HorizontalRulerMetric; //------------------------------------------------------------------------- @@ -350,7 +350,7 @@ published service ViewSettings <p>Uses values from <type scope="com::sun::star::awt">FieldUnit</type></p> - @since OOo 3.1.0 + @since OOo 3.1 */ [optional, property] long VerticalRulerMetric; }; diff --git a/offapi/com/sun/star/text/XTextMarkup.idl b/offapi/com/sun/star/text/XTextMarkup.idl index ec5ae8514..e9ab744cd 100644 --- a/offapi/com/sun/star/text/XTextMarkup.idl +++ b/offapi/com/sun/star/text/XTextMarkup.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module text { /** provides functionality to markup text. - @since OOo 2.3.0 + @since OOo 2.3 */ interface XTextMarkup diff --git a/offapi/com/sun/star/text/fieldmaster/Database.idl b/offapi/com/sun/star/text/fieldmaster/Database.idl index 72e95393a..271c8442a 100644 --- a/offapi/com/sun/star/text/fieldmaster/Database.idl +++ b/offapi/com/sun/star/text/fieldmaster/Database.idl @@ -70,13 +70,13 @@ published service Database //------------------------------------------------------------------------ /** indicates the URL of a database file. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseURL; //------------------------------------------------------------------------ /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseResource; //------------------------------------------------------------------------ diff --git a/offapi/com/sun/star/text/textfield/DatabaseName.idl b/offapi/com/sun/star/text/textfield/DatabaseName.idl index 66a4a4198..f202a98d6 100644 --- a/offapi/com/sun/star/text/textfield/DatabaseName.idl +++ b/offapi/com/sun/star/text/textfield/DatabaseName.idl @@ -62,12 +62,12 @@ published service DatabaseName [property] string DataTableName; /** indicates the URL of a database file. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseURL; /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseResource; diff --git a/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl index 8375688ac..9e65da636 100644 --- a/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl +++ b/offapi/com/sun/star/text/textfield/DatabaseNextSet.idl @@ -66,12 +66,12 @@ published service DatabaseNextSet [property] string Condition; /** indicates the URL of a database file. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseURL; /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseResource; diff --git a/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl index 84aad1c3f..2a2929a60 100644 --- a/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl +++ b/offapi/com/sun/star/text/textfield/DatabaseNumberOfSet.idl @@ -71,12 +71,12 @@ published service DatabaseNumberOfSet [property] long SetNumber; /** indicates the URL of a database file. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseURL; /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseResource; diff --git a/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl index 67016dfcb..8c3987253 100644 --- a/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl +++ b/offapi/com/sun/star/text/textfield/DatabaseSetNumber.idl @@ -72,12 +72,12 @@ published service DatabaseSetNumber [property] long SetNumber; /** indicates the URL of a database file. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseURL; /** indicates a connection URL, which locates a database driver. - @since OOo 2.0.0 + @since OOo 2.0 */ [optional, property] string DataBaseResource; diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl index eee03c901..fe5a136e1 100644 --- a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl +++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl @@ -57,7 +57,7 @@ module com { module sun { module star { module ucb { @see TransientDocumentsFolderContent @see TransientDocumentsStreamContent - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsContentProvider { diff --git a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl index 99cd1a1f2..429eb859c 100644 --- a/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl +++ b/offapi/com/sun/star/ucb/TransientDocumentsDocumentContent.idl @@ -82,7 +82,7 @@ module com { module sun { module star { module ucb { @see TransientDocumentsFolderContent @see TransientDocumentsStreamContent - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsDocumentContent { diff --git a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl index 50ba75059..5942752c2 100644 --- a/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl +++ b/offapi/com/sun/star/ucb/TransientDocumentsFolderContent.idl @@ -81,7 +81,7 @@ module com { module sun { module star { module ucb { @see TransientDocumentsDocumentContent @see TransientDocumentsStreamContent - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsFolderContent { diff --git a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl index 6326331ab..853dc6b12 100644 --- a/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl +++ b/offapi/com/sun/star/ucb/TransientDocumentsRootContent.idl @@ -79,7 +79,7 @@ module com { module sun { module star { module ucb { @see TransientDocumentsFolderContent @see TransientDocumentsStreamContent - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsRootContent { diff --git a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl index 594cfa6f3..c66d923f9 100644 --- a/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl +++ b/offapi/com/sun/star/ucb/TransientDocumentsStreamContent.idl @@ -79,7 +79,7 @@ module com { module sun { module star { module ucb { @see TransientDocumentsDocumentContent @see TransientDocumentsFolderContent - @since OOo 2.0.0 + @since OOo 2.0 */ service TransientDocumentsStreamContent { diff --git a/offapi/com/sun/star/ui/ConfigurableUIElement.idl b/offapi/com/sun/star/ui/ConfigurableUIElement.idl index f1dac2500..3ccab5861 100644 --- a/offapi/com/sun/star/ui/ConfigurableUIElement.idl +++ b/offapi/com/sun/star/ui/ConfigurableUIElement.idl @@ -74,7 +74,7 @@ module com { module sun { module star { module ui { </ul> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ConfigurableUIElement diff --git a/offapi/com/sun/star/ui/ConfigurationEvent.idl b/offapi/com/sun/star/ui/ConfigurationEvent.idl index 7b034f047..110275178 100644 --- a/offapi/com/sun/star/ui/ConfigurationEvent.idl +++ b/offapi/com/sun/star/ui/ConfigurationEvent.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module ui { /** this event is broadcasted by a configuration manager whenever the state of user interface element has changed. - @since OOo 2.0.0 + @since OOo 2.0 */ published struct ConfigurationEvent : ::com::sun::star::container::ContainerEvent diff --git a/offapi/com/sun/star/ui/DockingArea.idl b/offapi/com/sun/star/ui/DockingArea.idl index 55ab469ee..3812eeeac 100644 --- a/offapi/com/sun/star/ui/DockingArea.idl +++ b/offapi/com/sun/star/ui/DockingArea.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module ui { @see com::sun::star::frame::XLayoutManager </p> - @since OOo 2.0.0 + @since OOo 2.0 */ enum DockingArea diff --git a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl index 861f4f7fb..0d573bd15 100644 --- a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl +++ b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module ui { by using an UNO service manager. It provides then access to the global accelerator configuration.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ service GlobalAcceleratorConfiguration : XAcceleratorConfiguration {}; diff --git a/offapi/com/sun/star/ui/ImageType.idl b/offapi/com/sun/star/ui/ImageType.idl index b3887643c..07d9e5dcc 100644 --- a/offapi/com/sun/star/ui/ImageType.idl +++ b/offapi/com/sun/star/ui/ImageType.idl @@ -36,7 +36,7 @@ module com { module sun { module star { module ui { the current image set of an image manager. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants ImageType { diff --git a/offapi/com/sun/star/ui/ItemDescriptor.idl b/offapi/com/sun/star/ui/ItemDescriptor.idl index fbc3313aa..231f2aa5c 100644 --- a/offapi/com/sun/star/ui/ItemDescriptor.idl +++ b/offapi/com/sun/star/ui/ItemDescriptor.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module ui { You could have a menu or a toolbox working with the same item descriptor. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ItemDescriptor { diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl index 4e259ccff..ea6e899d2 100644 --- a/offapi/com/sun/star/ui/ItemStyle.idl +++ b/offapi/com/sun/star/ui/ItemStyle.idl @@ -56,7 +56,7 @@ module com { module sun { module star { module ui { </ul> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants ItemStyle { diff --git a/offapi/com/sun/star/ui/ItemType.idl b/offapi/com/sun/star/ui/ItemType.idl index a8ca89f47..836a7e902 100644 --- a/offapi/com/sun/star/ui/ItemType.idl +++ b/offapi/com/sun/star/ui/ItemType.idl @@ -31,7 +31,7 @@ module com { module sun { module star { module ui { /** Determines the type of an item. - @since OOo 2.0.0 + @since OOo 2.0 */ constants ItemType { diff --git a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl index 1d705460e..5ce6f9e7f 100644 --- a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl +++ b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module ui { or Calc. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleUICategoryDescription diff --git a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl index 48ca9d211..4d0bddd60 100644 --- a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl +++ b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module ui { that are part of a single OpenOffice.org module, like Writer or Calc. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleUICommandDescription diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl index 7e75db6ed..c915edc40 100644 --- a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl @@ -63,7 +63,7 @@ module com { module sun { module star { module ui { this layer.</br> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleUIConfigurationManager diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl index 68f69b8c3..998e2fc63 100644 --- a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl +++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module ui { /** specifies a central user interface configuration provider which gives access to module based user interface configuration managers. - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleUIConfigurationManagerSupplier diff --git a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl index 5601f713d..611bc6af4 100644 --- a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl +++ b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module ui { Calc. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service ModuleWindowStateConfiguration diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl index f6018ac2e..c45bbeca0 100644 --- a/offapi/com/sun/star/ui/UICategoryDescription.idl +++ b/offapi/com/sun/star/ui/UICategoryDescription.idl @@ -46,7 +46,7 @@ module com { module sun { module star { module ui { implementations which provides all commands to a user. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ //============================================================================= diff --git a/offapi/com/sun/star/ui/UICommandDescription.idl b/offapi/com/sun/star/ui/UICommandDescription.idl index 5eca3c04a..0beeeac66 100644 --- a/offapi/com/sun/star/ui/UICommandDescription.idl +++ b/offapi/com/sun/star/ui/UICommandDescription.idl @@ -46,7 +46,7 @@ module com { module sun { module star { module ui { are part of OpenOffice.org modules, like Writer or Calc. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service UICommandDescription diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl index e7f6a84a4..bdf6b4ce0 100644 --- a/offapi/com/sun/star/ui/UIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl @@ -52,7 +52,7 @@ module com { module sun { module star { module ui { /** specifies a user interface configuration manager which controls all customizable user interface elements of an object. - @since OOo 2.0.0 + @since OOo 2.0 */ service UIConfigurationManager diff --git a/offapi/com/sun/star/ui/UIElement.idl b/offapi/com/sun/star/ui/UIElement.idl index 6572c7e16..17461b18a 100644 --- a/offapi/com/sun/star/ui/UIElement.idl +++ b/offapi/com/sun/star/ui/UIElement.idl @@ -63,7 +63,7 @@ module com { module sun { module star { module ui { before it can be used. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service UIElement diff --git a/offapi/com/sun/star/ui/UIElementFactory.idl b/offapi/com/sun/star/ui/UIElementFactory.idl index 5f874969d..acc58c713 100644 --- a/offapi/com/sun/star/ui/UIElementFactory.idl +++ b/offapi/com/sun/star/ui/UIElementFactory.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module ui { service to provide access to itself. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service UIElementFactory diff --git a/offapi/com/sun/star/ui/UIElementFactoryManager.idl b/offapi/com/sun/star/ui/UIElementFactoryManager.idl index a5a2a0526..3a6231894 100644 --- a/offapi/com/sun/star/ui/UIElementFactoryManager.idl +++ b/offapi/com/sun/star/ui/UIElementFactoryManager.idl @@ -49,7 +49,7 @@ module com { module sun { module star { module ui { <type scope="com::sun::star::lang">ServiceManager</type>. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service UIElementFactoryManager diff --git a/offapi/com/sun/star/ui/UIElementSettings.idl b/offapi/com/sun/star/ui/UIElementSettings.idl index 0702501f9..8e647581e 100644 --- a/offapi/com/sun/star/ui/UIElementSettings.idl +++ b/offapi/com/sun/star/ui/UIElementSettings.idl @@ -51,7 +51,7 @@ module com { module sun { module star { module ui { although limitations based on the real user interface element may be visible. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service UIElementSettings { diff --git a/offapi/com/sun/star/ui/UIElementType.idl b/offapi/com/sun/star/ui/UIElementType.idl index 140d540a3..be35f3534 100644 --- a/offapi/com/sun/star/ui/UIElementType.idl +++ b/offapi/com/sun/star/ui/UIElementType.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module ui { /** determine the type of a user interface element which is controlled by a layout manager. - @since OOo 2.0.0 + @since OOo 2.0 */ constants UIElementType { diff --git a/offapi/com/sun/star/ui/WindowContentFactory.idl b/offapi/com/sun/star/ui/WindowContentFactory.idl index b8f309fee..e4c323a4b 100644 --- a/offapi/com/sun/star/ui/WindowContentFactory.idl +++ b/offapi/com/sun/star/ui/WindowContentFactory.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module ui { The specific type of the created window depends on the provided arguments. </p> - @since OOo 3.1.0 + @since OOo 3.1 */ service WindowContentFactory : com::sun::star::lang::XSingleComponentFactory diff --git a/offapi/com/sun/star/ui/WindowStateConfiguration.idl b/offapi/com/sun/star/ui/WindowStateConfiguration.idl index c2b0da2de..755699c87 100644 --- a/offapi/com/sun/star/ui/WindowStateConfiguration.idl +++ b/offapi/com/sun/star/ui/WindowStateConfiguration.idl @@ -48,7 +48,7 @@ module com { module sun { module star { module ui { part of OpenOffice.org modules, like Writer or Calc. </p> - @since OOo 2.0.0 + @since OOo 2.0 */ service WindowStateConfiguration diff --git a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl index 5ddb5c2a3..51d2fa07b 100644 --- a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl +++ b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl @@ -77,7 +77,7 @@ module com { module sun { module star { module ui { @see AcceleratorConfiguration @see <type scope="dom::sun::star::util">XFlushable</type> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XAcceleratorConfiguration { diff --git a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl index cc3c62713..65478487c 100644 --- a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl +++ b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl @@ -59,7 +59,7 @@ module com { module sun { module star { module ui { @see com::sun::star::frame::XFrame </p> - @since OOo 2.0.0 + @since OOo 2.0 */ diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl index 2663ee5e2..d1d19f981 100644 --- a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl @@ -69,7 +69,7 @@ module com { module sun { module star { module ui { configuration manager uses.</br> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XModuleUIConfigurationManager : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl index 607b6619b..a99ddf869 100644 --- a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl +++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module ui { /** allows to retrieve user interface configuration managers related to OpenOffice.org modules. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XModuleUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIConfiguration.idl b/offapi/com/sun/star/ui/XUIConfiguration.idl index 4a2cf0cfb..2f2b6fd00 100644 --- a/offapi/com/sun/star/ui/XUIConfiguration.idl +++ b/offapi/com/sun/star/ui/XUIConfiguration.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module ui { <p>This can be useful for UI to enable/disable some functions without actually accessing the data.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfiguration : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIConfigurationListener.idl b/offapi/com/sun/star/ui/XUIConfigurationListener.idl index cdc2f739d..f3fd87752 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationListener.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationListener.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module ui { /** supplies information about changes of a user interface configuration manager. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfigurationListener : com::sun::star::lang::XEventListener diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl index aeaf90688..7b84dd1f0 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationManager.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl @@ -70,7 +70,7 @@ module com { module sun { module star { module ui { controls the structure of all customizable user interface elements. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfigurationManager : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl index 5d182fc85..c1f731508 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module ui { /** allows to retrieve the user interface configuration manager related to an object. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl index ad37e9a48..ae417a6f2 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module ui { interface configuration data to a storage and to retrieve information about the current state. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfigurationPersistence : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl index ff7f369ed..6cc0f6ea4 100644 --- a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl +++ b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module ui { /** supplies functions to change or get information about the storage of a user interface configuration manager. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl index 784e8b3be..cbab4614b 100644 --- a/offapi/com/sun/star/ui/XUIElementFactory.idl +++ b/offapi/com/sun/star/ui/XUIElementFactory.idl @@ -67,7 +67,7 @@ module com { module sun { module star { module ui { </ul> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIElementFactory : ::com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl index 7f90793ac..a4f59dbf9 100644 --- a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl +++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl @@ -76,7 +76,7 @@ module com { module sun { module star { module ui { </ul> </p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIElementFactoryRegistration : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIElementSettings.idl b/offapi/com/sun/star/ui/XUIElementSettings.idl index c705046c9..deabaab65 100644 --- a/offapi/com/sun/star/ui/XUIElementSettings.idl +++ b/offapi/com/sun/star/ui/XUIElementSettings.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module ui { /** provides functions to retrieve and change user interface element structure data and to update its visible representation. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIElementSettings : com::sun::star::uno::XInterface diff --git a/offapi/com/sun/star/ui/XUIFunctionListener.idl b/offapi/com/sun/star/ui/XUIFunctionListener.idl index b9f4e9cdc..d252c610d 100644 --- a/offapi/com/sun/star/ui/XUIFunctionListener.idl +++ b/offapi/com/sun/star/ui/XUIFunctionListener.idl @@ -39,7 +39,7 @@ /** special interface to receive notification that a user interface element will execute a function. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XUIFunctionListener : com::sun::star::lang::XEventListener { diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl index 372808a1d..2659a03d9 100644 --- a/offapi/com/sun/star/util/Endianness.idl +++ b/offapi/com/sun/star/util/Endianness.idl @@ -34,7 +34,7 @@ module com { module sun { module star { module util { The endianness specifies the order in which the bytes of larger types are laid out in memory.<p> - @since OOo 2.0.0 + @since OOo 2.0 */ constants Endianness { diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl index 06b9665d2..302330fb2 100644 --- a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl +++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl @@ -50,7 +50,7 @@ module com { module sun { module star { module util { possibility to share one office user data directory among parallel office installations. - @since OOo 2.0.0 + @since OOo 2.0 */ published service OfficeInstallationDirectories { diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl index bc3aaa40f..03a167112 100644 --- a/offapi/com/sun/star/util/PathSubstitution.idl +++ b/offapi/com/sun/star/util/PathSubstitution.idl @@ -48,57 +48,65 @@ module com { module sun { module star { module util { /** A service to support the substitution and resubstitution of path variables. - <p> - A path variable must be specified with the following syntax: "$("<variable-name>")". - Path variables are not case sensitive and are always provided as a UCB-compliant URLs - (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an - optional remote file system.<br> - A user defined list of path variables is supported. This list is stored in the Office - configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the - schema definition file which configuration structure this file uses.<br> - There is also a set of variables that have pre-defined values: - </p> - <dl> - <dt>$(inst)</dt> - <dd>Installation path of the Office Basis layer.</dd> - <dt>$(prog)</dt> - <dd>Program path of the Office Basis layer.</dd> + <p> + A path variable must be specified with the following syntax: "$("<variable-name>")". + Path variables are not case sensitive and are always provided as a UCB-compliant URLs + (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an + optional remote file system.<br> + A user defined list of path variables is supported. This list is stored in the Office + configuration file (org/openoffice/Office/Substitution.xml). Please have a look at the + schema definition file which configuration structure this file uses.<br> + There is also a set of variables that have pre-defined values: + </p> + <dl> + <dt>$(inst)</dt> + <dd>Installation path of the Office Basis layer.</dd> + <dt>$(prog)</dt> + <dd>Program path of the Office Basis layer.</dd> <dt>$(brandbaseurl)</dt> <dd>Installation path of the the Office Brand layer.</dd> - <dt>$(user)</dt> - <dd>The user installation directory.</dd> - <dt>$(work)</dt> - <dd>The work directory of the user. Under Windows this would be the - "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd> + <dt>$(user)</dt> + <dd>The user installation directory.</dd> + <dt>$(work)</dt> + <dd>The work directory of the user. Under Windows this would be the + "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd> <dt>$(home)</dt> - <dd>The home directory of the user. Under Unix this would be the home- - directory. Under Windows this would be the "Documents and Settings\<username>" - subdirectory.</dd> + <dd>The home directory of the user. Under Unix this would be the home- + directory. Under Windows this would be the "Documents and Settings\<username>" + subdirectory.</dd> <dt>$(temp)</dt> - <dd>The current temporary directory.</dd> + <dd>The current temporary directory.</dd> <dt>$(path)</dt> - <dd>The value of PATH environment variable.</dd> + <dd>The value of PATH environment variable.</dd> <dt>$(lang)</dt> - <dd>The country code used by the Office, like 01=English, 49=German.</dd> - <dt>$(langid)</dt> - <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd> + <dd>The country code used by the Office, like 01=English, 49=German.</dd> + <dt>$(langid)</dt> + <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd> <dt>$(vlang)</dt> - <dd>The language used by the Office as a string. Like "German" for a German Office.</dd> - </dl> + <dd>The language used by the Office as a string. Like "German" for a German Office.</dd> + </dl> + <p> + Attention: Most predefined variables describe an absolute path. + The only exceptions are: $(lang), $(langid) and $(vlang). + Therefore the service implementation should only substitute variables which + are located at the start of a provided path string or are part of a multi-path. + This special service is not designed to be a text substiution but shall + provide (a) valid substituted path(s). + </p> @since OOo 1.1.2 */ published service PathSubstitution { - //------------------------------------------------------------------------- - /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables. + //------------------------------------------------------------------------- + /** Interface to exchange path variables with defined paths and to resubstitute paths with path variables. - <p> - To resubstitute path variables the caller must provide paths as UCB-compliant URLs. - </p> - */ - interface com::sun::star::util::XStringSubstitution; + <p> + To resubstitute path variables the caller must provide paths as UCB-compliant URLs. + </p> + */ + interface com::sun::star::util::XStringSubstitution; }; //============================================================================= diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl index 6ab7759d0..9fdcabd60 100644 --- a/offapi/com/sun/star/util/XBroadcaster.idl +++ b/offapi/com/sun/star/util/XBroadcaster.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module util { /** allows to control notification behavior of a broadcaster. - @since 3.0 + @since OOo 3.0 */ interface XBroadcaster: com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl index 889cd5c89..93d994eb6 100644 --- a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl +++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module util { later. In many cases, storing the reference directly would destroy the relocatability of an office installation. - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/xml/dom/XNode.idl b/offapi/com/sun/star/xml/dom/XNode.idl index bc6727dbc..8dbe2bc4b 100644 --- a/offapi/com/sun/star/xml/dom/XNode.idl +++ b/offapi/com/sun/star/xml/dom/XNode.idl @@ -79,7 +79,7 @@ information.</p> </table></p> @see <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113">Document Object Model (DOM) Level 2 Core Specification</a> </p> -@since OOo 2.0.0 +@since OOo 2.0 */ interface XNode : com::sun::star::uno::XInterface { diff --git a/offapi/drafts/com/sun/star/form/ListEntryEvent.idl b/offapi/drafts/com/sun/star/form/ListEntryEvent.idl deleted file mode 100644 index 8fb587679..000000000 --- a/offapi/drafts/com/sun/star/form/ListEntryEvent.idl +++ /dev/null @@ -1,77 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_ListEntryEvent_idl__ -#define __drafts_com_sun_star_form_ListEntryEvent_idl__ - -#ifndef __com_sun_star_lang_EventObject_idl__ -#include <com/sun/star/lang/EventObject.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -//============================================================================= - -/** specifies the event which is notified when a change in a string entry - list occurred - - @see XListEntrySource - @see XListEntryListener - - @deprecated - This structure is superseded by <type scope="com::sun::star::form::binding">ListEntryEvent</type> -*/ -struct ListEntryEvent : com::sun::star::lang::EventObject -{ - /** denotes the position where a change occurred. - - <p>The concrete semantics of the value depends on the concrete - event being notified.</p> - */ - long Position; - - /** denotes the number of changed entries, in case a change of - an entry <em>range</em> is being notified. - */ - long Count; - - /** denotes the changed entries - - <p>The concrete semantics of the value depends on the concrete - event being notified.</p> - */ - sequence< string > - Entries; -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/XBindableValue.idl b/offapi/drafts/com/sun/star/form/XBindableValue.idl deleted file mode 100644 index 8886b415c..000000000 --- a/offapi/drafts/com/sun/star/form/XBindableValue.idl +++ /dev/null @@ -1,81 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_XBindableValue_idl__ -#define __drafts_com_sun_star_form_XBindableValue_idl__ - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif -#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__ -#include <drafts/com/sun/star/form/IncompatibleTypesException.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -interface XValueBinding; - -//============================================================================= - -/** specifies support for being bound to an external value - - @see XValueBinding - - @deprecated - This interface is superseded by <type scope="com::sun::star::form::binding">XBindableValue</type> -*/ -interface XBindableValue : com::sun::star::uno::XInterface -{ - /** sets an external instance which controls the value of the component - - <p>Any previously active binding will be revoked. There can be only one!</p> - - @param XValueBinding - the new binding which is to be used by the component. May be <NULL/>, - in this case only the current binding is revoked. - - @throws <type>IncompatibleTypesException</type> - if the new binding (provided it's not <NULL/>) supports only types - which are incompatible with the types of the bindable component. - */ - void setValueBinding( [in] XValueBinding aBinding ) - raises ( IncompatibleTypesException ); - - /** retrieves the external instance which currently controls the value of the - component - */ - XValueBinding - getValueBinding( ); -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/XListEntryListener.idl b/offapi/drafts/com/sun/star/form/XListEntryListener.idl deleted file mode 100644 index 8f0fe09d0..000000000 --- a/offapi/drafts/com/sun/star/form/XListEntryListener.idl +++ /dev/null @@ -1,92 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_XListEntryListener_idl__ -#define __drafts_com_sun_star_form_XListEntryListener_idl__ - -#ifndef __com_sun_star_lang_XEventListener_idl__ -#include <com/sun/star/lang/XEventListener.idl> -#endif -#ifndef __drafts_com_sun_star_form_ListEntryEvent_idl__ -#include <drafts/com/sun/star/form/ListEntryEvent.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -//============================================================================= - -/** specifies a listener for changes in a string entry list - - @deprecated - This interface is superseded by <type scope="com::sun::star::form::binding">XListEntryListener</type> -*/ -interface XListEntryListener : com::sun::star::lang::XEventListener -{ - /** notifies the listener that a single entry in the list has change - - @param Source - is the event describing the change. The <member>ListEntryEvent::Position</member> - member denotes the position of the changed entry, the first (and only) element - of the <member>ListEntryEvent::Entries</member> member denotes the new string - */ - void entryChanged( [in] ListEntryEvent Source ); - - /** notifies the listener that a range of entries has been inserted into the list - - @param Source - is the event describing the change. The <member>ListEntryEvent::Position</member> - member denotes the position of the first inserted entry, the - <member>ListEntryEvent::Entries</member> member contains the strings which have - been inserted. - */ - void entryRangeInserted( [in] ListEntryEvent Source ); - - /** notifies the listener that a range of entries has been removed from the list - - @param Source - is the event describing the change. The <member>ListEntryEvent::Position</member> - member denotes the position of the first removed entry, the - <member>ListEntryEvent::Count</member> member the number of removed entries. - */ - void entryRangeRemoved( [in] ListEntryEvent Source ); - - /** notifies the listener that all entries of the list have changed. - - <p>The listener should retrieve the complete new list by calling the - <member>XListEntrySource::getAllListEntries</member> method of the event source - (which is denoted by <member scope="com::sun::star::lang">EventObject::Source</member>). - */ - void allEntriesChanged( [in] com::sun::star::lang::EventObject Source ); -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/XListEntrySink.idl b/offapi/drafts/com/sun/star/form/XListEntrySink.idl deleted file mode 100644 index 92bae7847..000000000 --- a/offapi/drafts/com/sun/star/form/XListEntrySink.idl +++ /dev/null @@ -1,71 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_XListEntrySink_idl__ -#define __drafts_com_sun_star_form_XListEntrySink_idl__ - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -interface XListEntrySource; - -//============================================================================= - -/** specifies support for indirect manipulation of of a string list - - @deprecated - This interface is superseded by <type scope="com::sun::star::form::binding">XListEntrySink</type> -*/ -interface XListEntrySink : com::sun::star::uno::XInterface -{ - /** sets the new source for the list entries of the component - - <p>The list represented by this component will be cleared, and initially - filled with the entries from the new list source.</p> - - @param Source - the new source for the list entries. May be <NULL/>, in this - case, the current source is revoked. - */ - void setListEntrySource( [in] XListEntrySource Source ); - - /** retrieves the current source for the list entries of the component. - */ - XListEntrySource - getListEntrySource( ); -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/XListEntrySource.idl b/offapi/drafts/com/sun/star/form/XListEntrySource.idl deleted file mode 100644 index d19dccb5c..000000000 --- a/offapi/drafts/com/sun/star/form/XListEntrySource.idl +++ /dev/null @@ -1,103 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_XListEntrySource_idl__ -#define __drafts_com_sun_star_form_XListEntrySource_idl__ - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif -#ifndef __com_sun_star_lang_NullPointerException_idl__ -#include <com/sun/star/lang/NullPointerException.idl> -#endif -#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__ -#include <com/sun/star/lang/IndexOutOfBoundsException.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -interface XListEntryListener; - -//============================================================================= - -/** specifies a source of string list entries - - <p>The interface supports foreign components which actively retrieve list entries, - as well as components which want to passively being notified of changes in the list.</p> - - @see XListEntrySink - - @deprecated - This interface is superseded by <type scope="com::sun::star::form::binding">XListEntrySource</type> -*/ -interface XListEntrySource : com::sun::star::uno::XInterface -{ - /** retrieves the number of entries in the list - */ - long getListEntryCount( ); - - /** provides access to a single list entry - - @throws <type scope="com::sun::star::lang">IndexOutOfBoundsException</type> - if the given position does not denote a valid index in the list - - @see getListEntryCount - */ - string getListEntry( [in] long Position ) - raises( com::sun::star::lang::IndexOutOfBoundsException ); - - /** provides access to the entirety of all list entries - */ - sequence< string > - getAllListEntries( ); - - /** adds a listener which will be notified about changes in the list - reflected by the component. - - @throws <type scope="com::sun::star::lang">NullPointerException</type> - if the given listener is <NULL/> - */ - void addListEntryListener( [in] XListEntryListener Listener ) - raises( com::sun::star::lang::NullPointerException ); - - /** revokes the given listener from the list of components which will - be notified about changes in the entry list. - - @throws <type scope="com::sun::star::lang">NullPointerException</type> - if the given listener is <NULL/> - */ - void removeListEntryListener( [in] XListEntryListener Listener ) - raises( com::sun::star::lang::NullPointerException ); -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/XValueBinding.idl b/offapi/drafts/com/sun/star/form/XValueBinding.idl deleted file mode 100644 index 48f93368e..000000000 --- a/offapi/drafts/com/sun/star/form/XValueBinding.idl +++ /dev/null @@ -1,101 +0,0 @@ -/************************************************************************* - * - * 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 __drafts_com_sun_star_form_XValueBinding_idl__ -#define __drafts_com_sun_star_form_XValueBinding_idl__ - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif -#ifndef __com_sun_star_lang_NoSupportException_idl__ -#include <com/sun/star/lang/NoSupportException.idl> -#endif -#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__ -#include <drafts/com/sun/star/form/IncompatibleTypesException.idl> -#endif - -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -//============================================================================= - -/** specifies a binding to a value which can be read and written. - - @deprecated - This interface is superseded by <type scope="com::sun::star::form::binding">XValueBinding</type> -*/ -interface XValueBinding : com::sun::star::uno::XInterface -{ - //------------------------------------------------------------------------- - /** determines the types which are supported by this binding for value exchange - - @see supportsType - */ - sequence< type > - getSupportedValueTypes( ); - - /** determines whether a given type is supported by this binding for value exchange - - <p>Calling this method is equal to calling <member>getSupportedValueTypes</member>, - and looking up the given type in the resulting type sequence.</p> - - @see getSupportedValueTypes - */ - boolean supportsType( [in] type aType ); - - /** retrieves the current value - - @throws <type>IncompatibleTypesException</type> - if the requested value type is not supported by the binding - @see getSupportedValueTypes - @see supportsType - */ - any getValue( [in] type aType ) - raises( IncompatibleTypesException ); - - /** sets the current value - - @throws <type>IncompatibleTypesException</type> - if the given value type is not supported by the binding - @throws <type scope="com::sun::star::lang">NoSupportException</type> - if the value currently cannot be changed (e.g. because it's readonly), - or if the binding in general does not support write access to it's binding - - @see getSupportedValueTypes - @see supportsType - @see ValueBinding - */ - void setValue( [in] any aValue ) - raises( IncompatibleTypesException, com::sun::star::lang::NoSupportException ); -}; - -//============================================================================= - -}; }; }; }; }; - -#endif diff --git a/offapi/drafts/com/sun/star/form/makefile.mk b/offapi/drafts/com/sun/star/form/makefile.mk deleted file mode 100644 index c5f68e0fe..000000000 --- a/offapi/drafts/com/sun/star/form/makefile.mk +++ /dev/null @@ -1,52 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ=..$/..$/..$/..$/.. - -PRJNAME=offapi - -TARGET=dcssform -PACKAGE=drafts$/com$/sun$/star$/form - -# --- Settings ----------------------------------------------------- -.INCLUDE : $(PRJ)$/util$/makefile.pmk - -# ------------------------------------------------------------------------ - -IDLFILES=\ - IncompatibleTypesException.idl \ - ListEntryEvent.idl \ - XBindableValue.idl \ - XValueBinding.idl \ - XListEntrySink.idl \ - XListEntrySource.idl \ - XListEntryListener.idl \ - -# ------------------------------------------------------------------ - -.INCLUDE : target.mk -.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/offapi/prj/build.lst b/offapi/prj/build.lst index a4ed8a8ce..c3a5f06d4 100644 --- a/offapi/prj/build.lst +++ b/offapi/prj/build.lst @@ -106,5 +106,4 @@ oa offapi\com\sun\star\geometry nmake - all oa_geometry NULL oa offapi\com\sun\star\rendering nmake - all oa_rendering oa_geometry NULL oa offapi\com\sun\star\rdf nmake - all oa_rdf oa_datatransfer oa_text NULL oa offapi\com\sun\star\office nmake - all oa_office oa_text NULL -oa offapi\drafts\com\sun\star\form nmake - all oa_drafts_form NULL -oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_awttab oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme oa_script_vba NULL +oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_awttab oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme oa_script_vba NULL diff --git a/offapi/prj/d.lst b/offapi/prj/d.lst index a271a7159..ab0e4eb7a 100644 --- a/offapi/prj/d.lst +++ b/offapi/prj/d.lst @@ -110,12 +110,6 @@ mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\sax mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\wrapper mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\xpath mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\xsd -mkdir: %COMMON_DEST%\idl%_EXT%\drafts -mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com -mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun -mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star -mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form - ..\%__SRC%\ucr\offapi.db %_DEST%\bin%_EXT%\offapi.rdb ..\%__SRC%\ucrdoc\offapi_doc.db %_DEST%\bin%_EXT%\offapi_doc.rdb @@ -228,5 +222,3 @@ mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form ..\com\sun\star\xml\wrapper\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\wrapper ..\com\sun\star\xml\xpath\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xml\xpath ..\com\sun\star\xsd\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\xsd - -..\drafts\com\sun\star\form\*.idl %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form diff --git a/offapi/type_reference/typelibrary_history.txt b/offapi/type_reference/typelibrary_history.txt index 16745ab9f..a678ca7d6 100644 --- a/offapi/type_reference/typelibrary_history.txt +++ b/offapi/type_reference/typelibrary_history.txt @@ -158,7 +158,10 @@ Update reference type library with the version of OOo 3.2.1. The new reference type library is taken from the release source tree OOO320 m19. +11/09/10 (JSC): TaskID=i114887 + remove drafts module from reference rdb. The odl drafts type are not used + and i cleaned up the module and the type library. + 01/28/11 (JSC): TaskID=116682 Update css.awt.UnoControlDialog to reflect the supported XDialog2 interface additionally to XDialog - diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb Binary files differindex 02cd79c9e..1f9d5aea0 100644 --- a/offapi/type_reference/types.rdb +++ b/offapi/type_reference/types.rdb diff --git a/offapi/util/makefile.mk b/offapi/util/makefile.mk index ae4558499..f61fa6c4c 100644 --- a/offapi/util/makefile.mk +++ b/offapi/util/makefile.mk @@ -133,7 +133,6 @@ UNOIDLDBFILES= \ $(UCR)$/cssgallery.db \ $(UCR)$/cssxsd.db \ $(UCR)$/cssinspection.db \ - $(UCR)$/dcssform.db \ $(UCR)$/xsec-security.db \ $(UCR)$/xsec-crypto.db \ $(UCR)$/xsec-csax.db \ diff --git a/registry/tools/checksingleton.cxx b/registry/tools/checksingleton.cxx index 228665014..586a74ea1 100644 --- a/registry/tools/checksingleton.cxx +++ b/registry/tools/checksingleton.cxx @@ -29,297 +29,150 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_registry.hxx" -#include <stdio.h> -#include <string.h> - #include "registry/registry.hxx" #include "registry/reflread.hxx" -#include <rtl/ustring.hxx> -#include <rtl/alloc.h> -#include <osl/process.h> -#include <osl/diagnose.h> -#include <osl/thread.h> -#include <osl/file.hxx> - -#ifdef SAL_UNX -#define SEPARATOR '/' -#else -#define SEPARATOR '\\' -#endif +#include "fileurl.hxx" +#include "options.hxx" -using namespace ::rtl; -using namespace ::osl; +#include "rtl/ustring.hxx" +#include "osl/diagnose.h" -sal_Bool isFileUrl(const OString& fileName) -{ - if (fileName.indexOf("file://") == 0 ) - return sal_True; - return sal_False; -} +#include <stdio.h> +#include <string.h> -OUString convertToFileUrl(const OString& fileName) -{ - if ( isFileUrl(fileName) ) - { - return OStringToOUString(fileName, osl_getThreadTextEncoding()); - } +#include <vector> +#include <string> - OUString uUrlFileName; - OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding()); - if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 ) - { - OUString uWorkingDir; - if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) - { - OSL_ASSERT(false); - } - if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } else - { - if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } - - return uUrlFileName; -} +using namespace rtl; +using namespace registry::tools; #define U2S( s ) \ OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr() #define S2U( s ) \ OStringToOUString(s, RTL_TEXTENCODING_UTF8) -struct LessString -{ - sal_Bool operator()(const OUString& str1, const OUString& str2) const - { - return (str1 < str2); - } -}; - -class Options +class Options_Impl : public Options { public: - Options() - : m_bForceOutput(sal_False) + explicit Options_Impl(char const * program) + : Options (program), m_bForceOutput(false) {} - ~Options() - {} - - sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False); - OString prepareHelp(); - OString prepareVersion(); - - const OString& getProgramName() - { return m_program; } - const OString& getIndexReg() + std::string const & getIndexReg() const { return m_indexRegName; } - const OString& getTypeReg() + std::string const & getTypeReg() const { return m_typeRegName; } - sal_Bool hasBase() - { return m_base.getLength() > 0; } - const OString& getBase() + bool hasBase() const + { return (m_base.getLength() > 0); } + const OString & getBase() const { return m_base; } - sal_Bool forceOutput() + bool forceOutput() const { return m_bForceOutput; } + protected: - OString m_program; - OString m_indexRegName; - OString m_typeRegName; + virtual void printUsage_Impl() const; + virtual bool initOptions_Impl (std::vector< std::string > & rArgs); + + std::string m_indexRegName; + std::string m_typeRegName; OString m_base; - sal_Bool m_bForceOutput; + bool m_bForceOutput; }; -sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile) +// virtual +void Options_Impl::printUsage_Impl() const { - sal_Bool bRet = sal_True; - sal_uInt16 i=0; + std::string const & rProgName = getProgramName(); + fprintf(stderr, + "Usage: %s -r<filename> -o<filename> [-options] | @<filename>\n", rProgName.c_str() + ); + fprintf(stderr, + " -o<filename> = filename specifies the name of the new singleton index registry.\n" + " -r<filename> = filename specifies the name of the type registry.\n" + " @<filename> = filename specifies a command file.\n" + "Options:\n" + " -b<name> = name specifies the name of a start key. The types will be searched\n" + " under this key in the type registry.\n" + " -f = force the output of all found singletons.\n" + " -h|-? = print this help message and exit.\n" + ); + fprintf(stderr, + "\n%s Version 1.0\n\n", rProgName.c_str() + ); +} - if (!bCmdFile) +// virtual +bool Options_Impl::initOptions_Impl(std::vector< std::string > & rArgs) +{ + std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end(); + for (; first != last; ++first) { - bCmdFile = sal_True; - - m_program = av[0]; - - if (ac < 2) + std::string option (*first); + if ((*first)[0] != '-') { - fprintf(stderr, "%s", prepareHelp().getStr()); - bRet = sal_False; + return badOption("invalid", option.c_str()); } - - i = 1; - } else - { - i = 0; - } - - char *s=NULL; - for (; i < ac; i++) - { - if (av[i][0] == '-') + switch ((*first)[1]) { - switch (av[i][1]) + case 'r': + case 'R': + { + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", option.c_str()); + } + m_typeRegName = OString((*first).c_str(), (*first).size()); + break; + } + case 'o': + case 'O': { - case 'r': - case 'R': - if (av[i][2] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - m_typeRegName = OString(s); - break; - case 'o': - case 'O': - if (av[i][2] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - m_indexRegName = OString(s); - break; - case 'b': - case 'B': - if (av[i][2] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - m_base = OString(s); - break; - case 'f': - case 'F': - if (av[i][2] != '\0') - { - fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - } - m_bForceOutput = sal_True; - break; - case 'h': - case '?': - if (av[i][2] != '\0') - { - fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - } else - { - fprintf(stdout, "%s", prepareHelp().getStr()); - exit(0); - } - break; - default: - fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", option.c_str()); + } + m_indexRegName = (*first); + break; } - } else - { - if (av[i][0] == '@') + case 'b': + case 'B': { - FILE* cmdFile = fopen(av[i]+1, "r"); - if( cmdFile == NULL ) - { - fprintf(stderr, "%s", prepareHelp().getStr()); - bRet = sal_False; - } else + if (!((++first != last) && ((*first)[0] != '-'))) { - int rargc=0; - char* rargv[512]; - char buffer[512]; - - while ( fscanf(cmdFile, "%s", buffer) != EOF ) - { - rargv[rargc]= strdup(buffer); - rargc++; - } - fclose(cmdFile); - - bRet = initOptions(rargc, rargv, bCmdFile); - - for (long j=0; j < rargc; j++) - { - free(rargv[j]); - } + return badOption("invalid", option.c_str()); + } + m_base = OString((*first).c_str(), (*first).size()); + break; + } + case 'f': + case 'F': + { + if ((*first).size() > 2) + { + return badOption("invalid", option.c_str()); } - } else + m_bForceOutput = sal_True; + break; + } + case 'h': + case '?': { - fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; + if ((*first).size() > 2) + { + return badOption("invalid", option.c_str()); + } + return printUsage(); + // break; // unreachable } + default: + return badOption("unknown", option.c_str()); + // break; // unreachable } } - - return bRet; + return true; } -OString Options::prepareHelp() -{ - OString help("\nusing: "); - help += m_program + " -r<filename> -o<filename> [-options] | @<filename>\n"; - help += " -o<filename> = filename specifies the name of the new singleton index registry.\n"; - help += " -r<filename> = filename specifies the name of the type registry.\n"; - help += " @<filename> = filename specifies a command file.\n"; - help += "Options:\n"; - help += " -b<name> = name specifies the name of a start key. The types will be searched\n"; - help += " under this key in the type registry.\n"; - help += " -f = force the output of all found singletons.\n"; - help += " -h|-? = print this help message and exit.\n"; - help += prepareVersion(); - - return help; -} - -OString Options::prepareVersion() -{ - OString version("\nSun Microsystems (R) "); - version += m_program + " Version 1.0\n\n"; - return version; -} - -static Options options; - -static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey) +static sal_Bool checkSingletons(Options_Impl const & options, RegistryKey& singletonKey, RegistryKey& typeKey) { RegValueType valueType = RG_VALUETYPE_NOT_DEFINED; sal_uInt32 size = 0; @@ -327,24 +180,22 @@ static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey) sal_Bool bRet = sal_False; RegError e = typeKey.getValueInfo(tmpName, &valueType, &size); - - if ( e != REG_VALUE_NOT_EXISTS && e != REG_INVALID_VALUE && valueType == RG_VALUETYPE_BINARY) + if ((e != REG_VALUE_NOT_EXISTS) && (e != REG_INVALID_VALUE) && (valueType == RG_VALUETYPE_BINARY)) { - RegistryKey entryKey; - RegValue value = rtl_allocateMemory(size); - - typeKey.getValue(tmpName, value); + std::vector< sal_uInt8 > value(size); + typeKey.getValue(tmpName, &value[0]); // @@@ broken api: write to buffer w/o buffer size. - RegistryTypeReader reader((sal_uInt8*)value, size, sal_False); - + RegistryTypeReader reader(&value[0], value.size(), sal_False); if ( reader.isValid() && reader.getTypeClass() == RT_TYPE_SINGLETON ) { - OUString singletonName = reader.getTypeName().replace('/', '.'); + RegistryKey entryKey; + OUString singletonName = reader.getTypeName().replace('/', '.'); if ( singletonKey.createKey(singletonName, entryKey) ) { fprintf(stderr, "%s: could not create SINGLETONS entry for \"%s\"\n", - options.getProgramName().getStr(), U2S( singletonName )); - } else + options.getProgramName().c_str(), U2S( singletonName )); + } + else { bRet = sal_True; OUString value2 = reader.getSuperTypeName(); @@ -353,30 +204,26 @@ static sal_Bool checkSingletons(RegistryKey& singletonKey, RegistryKey& typeKey) (RegValue)value2.getStr(), sizeof(sal_Unicode)* (value2.getLength()+1)) ) { fprintf(stderr, "%s: could not create data entry for singleton \"%s\"\n", - options.getProgramName().getStr(), U2S( singletonName )); + options.getProgramName().c_str(), U2S( singletonName )); } if ( options.forceOutput() ) { fprintf(stderr, "%s: create SINGLETON entry for \"%s\" -> \"%s\"\n", - options.getProgramName().getStr(), U2S( singletonName ), U2S(value2)); + options.getProgramName().c_str(), U2S( singletonName ), U2S(value2)); } } } - - rtl_freeMemory(value); } RegistryKeyArray subKeys; - typeKey.openSubKeys(tmpName, subKeys); sal_uInt32 length = subKeys.getLength(); - RegistryKey elementKey; for (sal_uInt32 i = 0; i < length; i++) { - elementKey = subKeys.getElement(i); - if ( checkSingletons(singletonKey, elementKey) ) + RegistryKey elementKey = subKeys.getElement(i); + if ( checkSingletons(options, singletonKey, elementKey) ) { bRet = sal_True; } @@ -390,69 +237,85 @@ int main( int argc, char * argv[] ) int _cdecl main( int argc, char * argv[] ) #endif { - if ( !options.initOptions(argc, argv) ) + std::vector< std::string > args; + for (int i = 1; i < argc; i++) { - exit(1); + int result = Options::checkArgument(args, argv[i], strlen(argv[i])); + if (result != 0) + { + // failure. + return (result); + } } - OUString indexRegName( convertToFileUrl(options.getIndexReg()) ); - OUString typeRegName( convertToFileUrl(options.getTypeReg()) ); - - Registry indexReg; - Registry typeReg; + Options_Impl options(argv[0]); + if (!options.initOptions(args)) + { + options.printUsage(); + return (1); + } + OUString indexRegName( convertToFileUrl(options.getIndexReg().c_str(), options.getIndexReg().size()) ); + Registry indexReg; if ( indexReg.open(indexRegName, REG_READWRITE) ) { if ( indexReg.create(indexRegName) ) { fprintf(stderr, "%s: open registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getIndexReg().getStr()); - exit(2); + options.getProgramName().c_str(), options.getIndexReg().c_str()); + return (2); } } + + OUString typeRegName( convertToFileUrl(options.getTypeReg().c_str(), options.getTypeReg().size()) ); + Registry typeReg; if ( typeReg.open(typeRegName, REG_READONLY) ) { fprintf(stderr, "%s: open registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getTypeReg().getStr()); - exit(3); + options.getProgramName().c_str(), options.getTypeReg().c_str()); + return (3); } - RegistryKey indexRoot, typeRoot; + RegistryKey indexRoot; if ( indexReg.openRootKey(indexRoot) ) { fprintf(stderr, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getIndexReg().getStr()); - exit(4); + options.getProgramName().c_str(), options.getIndexReg().c_str()); + return (4); } + + RegistryKey typeRoot; if ( typeReg.openRootKey(typeRoot) ) { fprintf(stderr, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getTypeReg().getStr()); - exit(5); + options.getProgramName().c_str(), options.getTypeReg().c_str()); + return (5); } - RegistryKey singletonKey, typeKey; + RegistryKey typeKey; if ( options.hasBase() ) { if ( typeRoot.openKey(S2U(options.getBase()), typeKey) ) { fprintf(stderr, "%s: open base key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getTypeReg().getStr()); - exit(6); + options.getProgramName().c_str(), options.getTypeReg().c_str()); + return (6); } - } else + } + else { typeKey = typeRoot; } + RegistryKey singletonKey; if ( indexRoot.createKey(OUString(RTL_CONSTASCII_USTRINGPARAM("SINGLETONS")), singletonKey) ) { fprintf(stderr, "%s: open/create SINGLETONS key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getIndexReg().getStr()); - exit(7); + options.getProgramName().c_str(), options.getIndexReg().c_str()); + return (7); } - sal_Bool bSingletonsExist = checkSingletons(singletonKey, typeKey); + sal_Bool bSingletonsExist = checkSingletons(options, singletonKey, typeKey); indexRoot.releaseKey(); typeRoot.releaseKey(); @@ -461,25 +324,24 @@ int _cdecl main( int argc, char * argv[] ) if ( indexReg.close() ) { fprintf(stderr, "%s: closing registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getIndexReg().getStr()); - exit(9); + options.getProgramName().c_str(), options.getIndexReg().c_str()); + return (9); } if ( !bSingletonsExist ) { if ( indexReg.destroy(OUString()) ) { fprintf(stderr, "%s: destroy registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getIndexReg().getStr()); - exit(10); + options.getProgramName().c_str(), options.getIndexReg().c_str()); + return (10); } } if ( typeReg.close() ) { fprintf(stderr, "%s: closing registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getTypeReg().getStr()); - exit(11); + options.getProgramName().c_str(), options.getTypeReg().c_str()); + return (11); } } - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file diff --git a/registry/tools/fileurl.cxx b/registry/tools/fileurl.cxx new file mode 100644 index 000000000..e1d24a542 --- /dev/null +++ b/registry/tools/fileurl.cxx @@ -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. + * + ************************************************************************/ + +#include "fileurl.hxx" + +#include "rtl/ustring.hxx" +#include "osl/diagnose.h" +#include "osl/file.hxx" +#include "osl/process.h" +#include "osl/thread.h" + +#include <string.h> + +#ifdef SAL_UNX +#define SEPARATOR '/' +#else +#define SEPARATOR '\\' +#endif + +using rtl::OUString; +using osl::FileBase; + +namespace registry +{ +namespace tools +{ + +OUString convertToFileUrl(char const * filename, size_t length) +{ + OUString const uFileName(filename, length, osl_getThreadTextEncoding()); + if (strncmp(filename, "file://", 7) == 0) + { + // already a FileUrl. + return uFileName; + } + + OUString uFileUrl; + if (length > 0) + { + if ((filename[0] == '.') || (filename[0] != SEPARATOR)) + { + // relative path name. + OUString uWorkingDir; + if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) + { + OSL_ASSERT(false); + } + if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uFileUrl) != FileBase::E_None) + { + OSL_ASSERT(false); + } + } + else + { + // absolute path name. + if (FileBase::getFileURLFromSystemPath(uFileName, uFileUrl) != FileBase::E_None) + { + OSL_ASSERT(false); + } + } + } + return uFileUrl; +} + +} // namespace tools +} // namespace registry diff --git a/offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl b/registry/tools/fileurl.hxx index 9b4344aa9..4c34d0097 100644 --- a/offapi/drafts/com/sun/star/form/IncompatibleTypesException.idl +++ b/registry/tools/fileurl.hxx @@ -24,34 +24,20 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __drafts_com_sun_star_form_IncompatibleTypesException_idl__ -#define __drafts_com_sun_star_form_IncompatibleTypesException_idl__ -#ifndef __com_sun_star_uno_Exception_idl__ -#include <com/sun/star/uno/Exception.idl> -#endif +#ifndef INCLUDED_REGISTRY_TOOLS_FILEURL_HXX +#define INCLUDED_REGISTRY_TOOLS_FILEURL_HXX +#include "rtl/ustring.hxx" -//============================================================================= - -module drafts { module com { module sun { module star { module form { - -//============================================================================= - -/** thrown to indicate that the types of an <type>XValueBinding</type> and - an <type>XBindableValue</type> are incompatible - - @deprecated - This exception is superseded by <type scope="com::sun::star::form::binding">IncompatibleTypesException</type> -*/ -exception IncompatibleTypesException: com::sun::star::uno::Exception +namespace registry +{ +namespace tools { -}; - -//============================================================================= -}; }; }; }; }; +rtl::OUString convertToFileUrl(char const * filename, size_t length); -//============================================================================= +} // namespace tools +} // namespace registry -#endif +#endif /* INCLUDED_REGISTRY_TOOLS_FILEURL_HXX */ diff --git a/registry/tools/makefile.mk b/registry/tools/makefile.mk index bb7d448b8..06ca753ff 100644 --- a/registry/tools/makefile.mk +++ b/registry/tools/makefile.mk @@ -43,7 +43,7 @@ ENABLE_EXCEPTIONS := TRUE CDEFS += -DDLL_VERSION=$(EMQ)"$(DLLPOSTFIX)$(EMQ)" APP1TARGET= $(TARGET) -APP1OBJS= $(OBJ)$/regmerge.obj +APP1OBJS= $(OBJ)$/regmerge.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj APP1RPATH= UREBIN APP1STDLIBS=\ @@ -51,7 +51,7 @@ APP1STDLIBS=\ $(REGLIB) APP2TARGET= regview -APP2OBJS= $(OBJ)$/regview.obj +APP2OBJS= $(OBJ)$/regview.obj $(OBJ)/fileurl.obj APP2RPATH= UREBIN APP2STDLIBS=\ @@ -59,7 +59,7 @@ APP2STDLIBS=\ $(REGLIB) APP3TARGET= regcompare -APP3OBJS= $(OBJ)$/regcompare.obj +APP3OBJS= $(OBJ)$/regcompare.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj APP3RPATH= SDK APP3STDLIBS=\ @@ -68,13 +68,21 @@ APP3STDLIBS=\ $(REGLIB) APP4TARGET= checksingleton -APP4OBJS= $(OBJ)$/checksingleton.obj +APP4OBJS= $(OBJ)$/checksingleton.obj $(OBJ)/fileurl.obj $(OBJ)/options.obj APP4STDLIBS=\ $(SALLIB) \ $(SALHELPERLIB) \ $(REGLIB) -OBJFILES = $(APP1OBJS) $(APP2OBJS) $(APP3OBJS) $(APP4OBJS) +APP5TARGET= rdbedit +APP5OBJS= $(OBJ)$/rdbedit.obj + +APP5STDLIBS=\ + $(SALLIB) \ + $(SALHELPERLIB) \ + $(REGLIB) + +OBJFILES = $(APP1OBJS) $(APP2OBJS) $(APP3OBJS) $(APP4OBJS) $(APP5OBJS) .INCLUDE : target.mk diff --git a/registry/tools/options.cxx b/registry/tools/options.cxx new file mode 100644 index 000000000..2e9868e98 --- /dev/null +++ b/registry/tools/options.cxx @@ -0,0 +1,153 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +#include "options.hxx" + +#include "osl/diagnose.h" + +#include <stdio.h> +#include <string.h> + +namespace registry +{ +namespace tools +{ + +Options::Options (char const * program) + : m_program (program) +{} + +Options::~Options() +{} + +// static +bool Options::checkArgument(std::vector< std::string> & rArgs, char const * arg, size_t len) +{ + bool result = ((arg != 0) && (len > 0)); + OSL_PRECOND(result, "registry::tools::Options::checkArgument(): invalid arguments"); + if (result) + { + OSL_TRACE("registry::tools:Options::checkArgument(): \"%s\"", arg); + switch (arg[0]) + { + case '@': + if ((result = (len > 1)) == true) + { + // "@<cmdfile>" + result = Options::checkCommandFile(rArgs, &(arg[1])); + } + break; + case '-': + if ((result = (len > 1)) == true) + { + // "-<option>" + std::string option (&(arg[0]), 2); + rArgs.push_back(option); + if (len > 2) + { + // "-<option><param>" + std::string param(&(arg[2]), len - 2); + rArgs.push_back(param); + } + } + break; + default: + rArgs.push_back(std::string(arg, len)); + break; + } + } + return (result); +} + +// static +bool Options::checkCommandFile(std::vector< std::string > & rArgs, char const * filename) +{ + FILE * fp = fopen(filename, "r"); + if (fp == 0) + { + fprintf(stderr, "ERROR: Can't open command file \"%s\"\n", filename); + return (false); + } + + std::string buffer; + buffer.reserve(256); + + bool quoted = false; + int c = EOF; + while ((c = fgetc(fp)) != EOF) + { + switch(c) + { + case '\"': + quoted = !quoted; + break; + case ' ': + case '\t': + case '\r': + case '\n': + if (!quoted) + { + if (!buffer.empty()) + { + if (!checkArgument(rArgs, buffer.c_str(), buffer.size())) + { + // failure. + (void) fclose(fp); + return false; + } + buffer.clear(); + } + break; + } + default: + // quoted white-space fall through + buffer.push_back(sal::static_int_cast<char>(c)); + break; + } + } + return (fclose(fp) == 0); +} + +bool Options::initOptions (std::vector< std::string > & rArgs) +{ + return initOptions_Impl (rArgs); +} + +bool Options::badOption (char const * reason, char const * option) const +{ + (void) fprintf(stderr, "%s: %s option '%s'\n", m_program.c_str(), reason, option); + return printUsage(); +} + +bool Options::printUsage() const +{ + printUsage_Impl(); + return false; +} + +} // namespace tools +} // namespace registry diff --git a/registry/tools/options.hxx b/registry/tools/options.hxx new file mode 100644 index 000000000..c2524103c --- /dev/null +++ b/registry/tools/options.hxx @@ -0,0 +1,67 @@ +/************************************************************************* + * + * 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 INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX +#define INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX + +#include <string> +#include <vector> + +namespace registry +{ +namespace tools +{ +class Options +{ + std::string m_program; + + Options (Options const &); + Options & operator= (Options const &); + +public: + explicit Options (char const * program); + virtual ~Options(); + + static bool checkArgument (std::vector< std::string > & rArgs, char const * arg, size_t len); + + bool initOptions (std::vector< std::string > & rArgs); + bool badOption (char const * reason, char const * option) const; + + std::string const & getProgramName() const { return m_program; } + bool printUsage() const; + +protected: + static bool checkCommandFile(std::vector< std::string > & rArgs, char const * filename); + + virtual bool initOptions_Impl(std::vector< std::string > & rArgs) = 0; + virtual void printUsage_Impl() const = 0; +}; + +} // namespace tools +} // namespace registry + +#endif /* INCLUDED_REGISTRY_TOOLS_OPTIONS_HXX */ diff --git a/registry/tools/rdbedit.cxx b/registry/tools/rdbedit.cxx new file mode 100644 index 000000000..11e3e06cc --- /dev/null +++ b/registry/tools/rdbedit.cxx @@ -0,0 +1,318 @@ +/************************************************************************* + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_registry.hxx" + +#include <stdio.h> +#include <string.h> + +#include "registry/registry.hxx" +#include "registry/reflread.hxx" +#include <rtl/ustring.hxx> +#include <rtl/alloc.h> +#include <osl/process.h> +#include <osl/diagnose.h> +#include <osl/thread.h> +#include <osl/file.hxx> + +#ifdef SAL_UNX +#define SEPARATOR '/' +#else +#define SEPARATOR '\\' +#endif + +using namespace ::rtl; +using namespace ::osl; + +sal_Bool isFileUrl(const OString& fileName) +{ + if (fileName.indexOf("file://") == 0 ) + return sal_True; + return sal_False; +} + +OUString convertToFileUrl(const OString& fileName) +{ + if ( isFileUrl(fileName) ) + { + return OStringToOUString(fileName, osl_getThreadTextEncoding()); + } + + OUString uUrlFileName; + OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding()); + if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 ) + { + OUString uWorkingDir; + if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) + { + OSL_ASSERT(false); + } + if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName) + != FileBase::E_None) + { + OSL_ASSERT(false); + } + } else + { + if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName) + != FileBase::E_None) + { + OSL_ASSERT(false); + } + } + + return uUrlFileName; +} + +#define U2S( s ) \ + OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr() +#define S2U( s ) \ + OStringToOUString(s, RTL_TEXTENCODING_UTF8) + +struct LessString +{ + sal_Bool operator()(const OUString& str1, const OUString& str2) const + { + return (str1 < str2); + } +}; + +enum Command { + DELETEKEY +}; + +class Options +{ +public: + Options() + : m_bVerbose(false) + {} + ~Options() + {} + + bool initOptions(int ac, char* av[]); + + OString prepareHelp(); + OString prepareVersion(); + + const OString& getProgramName() + { return m_program; } + const OString& getTypeReg() + { return m_typeRegName; } + const OString& getKeyName() + { return m_keyName; } + const Command getCommand() + { return m_command; } + bool verbose() + { return m_bVerbose; } +protected: + OString m_program; + OString m_typeRegName; + OString m_keyName; + Command m_command; + bool m_bVerbose; +}; + +bool Options::initOptions(int ac, char* av[]) +{ + bool bRet = true; + sal_uInt16 i=1; + + if (ac < 2) + { + fprintf(stderr, "%s", prepareHelp().getStr()); + bRet = sal_False; + } + + m_program = av[0]; + sal_Int32 index = -1; + if ((index=m_program.lastIndexOf(SEPARATOR)) > 0) + m_program = av[0]+index+1; + + char *s=NULL; + for (; i < ac; i++) + { + if (av[i][0] == '-') + { + switch (av[i][1]) + { + case 'r': + case 'R': + if (av[i][2] == '\0') + { + if (i < ac - 1 && av[i+1][0] != '-') + { + i++; + s = av[i]; + } else + { + fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); + bRet = sal_False; + break; + } + } else + { + s = av[i] + 2; + } + m_typeRegName = OString(s); + break; + case 'd': + case 'D': + if (av[i][2] == '\0') + { + if (i < ac - 1 && av[i+1][0] != '-') + { + i++; + s = av[i]; + } else + { + fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); + bRet = sal_False; + break; + } + } else + { + s = av[i] + 2; + } + m_keyName = OString(s); + break; + case 'v': + case 'V': + if (av[i][2] != '\0') + { + fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); + bRet = sal_False; + } + m_bVerbose = true; + break; + case 'h': + case '?': + if (av[i][2] != '\0') + { + fprintf(stderr, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); + bRet = false; + } else + { + fprintf(stdout, "%s", prepareHelp().getStr()); + exit(0); + } + break; + default: + fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); + bRet = false; + break; + } + } else + { + fprintf(stderr, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); + bRet = false; + } + } + + return bRet; +} + +OString Options::prepareHelp() +{ + OString help("\nusing: "); + help += m_program + " -r<filename> <command>\n"; + help += " -r<filename> = filename specifies the name of the type registry.\n"; + help += "Commands:\n"; + help += " -d <keyname> = delete the specified key from the registry. Keyname\n"; + help += " specifies the name of the key that get deleted.\n"; + help += " -v = verbose output.\n"; + help += " -h|-? = print this help message and exit.\n"; + help += prepareVersion(); + + return help; +} + +OString Options::prepareVersion() +{ + OString version(m_program); + version += " Version 1.0\n\n"; + return version; +} + +static Options options; + + +#if (defined UNX) || (defined OS2) || (defined __MINGW32__) +int main( int argc, char * argv[] ) +#else +int _cdecl main( int argc, char * argv[] ) +#endif +{ + if ( !options.initOptions(argc, argv) ) + { + exit(1); + } + + OUString typeRegName( convertToFileUrl(options.getTypeReg()) ); + + Registry typeReg; + + if ( typeReg.open(typeRegName, REG_READWRITE) ) + { + fprintf(stderr, "%s: open registry \"%s\" failed\n", + options.getProgramName().getStr(), options.getTypeReg().getStr()); + exit(2); + } + + RegistryKey typeRoot; + if ( typeReg.openRootKey(typeRoot) ) + { + fprintf(stderr, "%s: open root key of registry \"%s\" failed\n", + options.getProgramName().getStr(), options.getTypeReg().getStr()); + exit(3); + } + + if ( options.getCommand() == DELETEKEY ) + { + if ( typeRoot.deleteKey(S2U(options.getKeyName())) ) + { + fprintf(stderr, "%s: delete key \"%s\" of registry \"%s\" failed\n", + options.getProgramName().getStr(), options.getKeyName().getStr(), options.getTypeReg().getStr()); + exit(4); + } else { + if (options.verbose()) + fprintf(stderr, "%s: delete key \"%s\" of registry \"%s\"\n", + options.getProgramName().getStr(), options.getKeyName().getStr(), options.getTypeReg().getStr()); + } + } + + typeRoot.releaseKey(); + if ( typeReg.close() ) + { + fprintf(stderr, "%s: closing registry \"%s\" failed\n", + options.getProgramName().getStr(), options.getTypeReg().getStr()); + exit(5); + } +} + + diff --git a/registry/tools/regcompare.cxx b/registry/tools/regcompare.cxx index 566852586..9c27ee448 100644 --- a/registry/tools/regcompare.cxx +++ b/registry/tools/regcompare.cxx @@ -29,409 +29,266 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_registry.hxx" -#include <stdio.h> -#include <string.h> - -#include <set> -#include <vector> #include "registry/registry.hxx" #include "registry/reader.hxx" #include "registry/version.h" +#include "fileurl.hxx" +#include "options.hxx" + #include <rtl/ustring.hxx> -#include <rtl/alloc.h> -#include <osl/process.h> #include <osl/diagnose.h> -#include <osl/thread.h> -#include <osl/file.hxx> - -#ifdef SAL_UNX -#define SEPARATOR '/' -#else -#define SEPARATOR '\\' -#endif - -using namespace ::rtl; -using namespace ::osl; - -OUString shortName(const OUString& fullName) -{ - return fullName.copy(fullName.lastIndexOf('/') + 1); -} - -sal_Bool isFileUrl(const OString& fileName) -{ - if (fileName.indexOf("file://") == 0 ) - return sal_True; - return sal_False; -} - -OUString convertToFileUrl(const OString& fileName) -{ - if ( isFileUrl(fileName) ) - { - return OStringToOUString(fileName, osl_getThreadTextEncoding()); - } - - OUString uUrlFileName; - OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding()); - if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 ) - { - OUString uWorkingDir; - if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) - { - OSL_ASSERT(false); - } - if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } else - { - if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } - return uUrlFileName; -} +#include <stdio.h> +#include <string.h> -#define U2S( s ) \ - OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr() -#define S2U( s ) \ - OStringToOUString(s, RTL_TEXTENCODING_UTF8) +#include <set> +#include <vector> +#include <string> -struct LessString -{ - sal_Bool operator()(const OUString& str1, const OUString& str2) const - { - return (str1 < str2); - } -}; +using namespace rtl; +using namespace registry::tools; -typedef ::std::set< OUString > StringSet; +typedef std::set< rtl::OUString > StringSet; -class Options +class Options_Impl : public Options { public: - Options() - : m_bFullCheck(sal_False) - , m_bForceOutput(sal_False) - , m_bUnoTypeCheck(sal_False) - , m_checkUnpublished(false) - {} - ~Options() + explicit Options_Impl(char const * program) + : Options(program), + m_bFullCheck(false), + m_bForceOutput(false), + m_bUnoTypeCheck(false), + m_checkUnpublished(false) {} - sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False); + std::string const & getRegName1() const { return m_regName1; } + std::string const & getRegName2() const { return m_regName2; } - OString prepareHelp(); - OString prepareVersion(); - - const OString& getProgramName() - { return m_program; } - const OString& getRegName1() - { return m_regName1; } - const OString& getRegName2() - { return m_regName2; } - sal_Bool isStartKeyValid() - { return (m_startKey.getLength() > 0); }; - const OString& getStartKey() - { return m_startKey; } - sal_Bool existsExcludeKeys() - { return !m_excludeKeys.empty(); }; - StringSet& getExcludeKeys() - { return m_excludeKeys; } - sal_Bool matchedWithExcludeKey( const OUString& keyName); - sal_Bool fullCheck() - { return m_bFullCheck; } - sal_Bool forceOutput() - { return m_bForceOutput; } - sal_Bool unoTypeCheck() - { return m_bUnoTypeCheck; } + bool isStartKeyValid() const { return (m_startKey.getLength() > 0); } + OUString const & getStartKey() const { return m_startKey; } + bool matchedWithExcludeKey( const OUString& keyName) const; + + bool fullCheck() const { return m_bFullCheck; } + bool forceOutput() const { return m_bForceOutput; } + bool unoTypeCheck() const { return m_bUnoTypeCheck; } bool checkUnpublished() const { return m_checkUnpublished; } + protected: - OString m_program; - OString m_regName1; - OString m_regName2; - OString m_startKey; + bool setRegName_Impl(char c, std::string const & param); + + virtual void printUsage_Impl() const; + virtual bool initOptions_Impl (std::vector< std::string > & rArgs); + + std::string m_regName1; + std::string m_regName2; + OUString m_startKey; StringSet m_excludeKeys; - sal_Bool m_bFullCheck; - sal_Bool m_bForceOutput; - sal_Bool m_bUnoTypeCheck; + bool m_bFullCheck; + bool m_bForceOutput; + bool m_bUnoTypeCheck; bool m_checkUnpublished; }; -sal_Bool Options::initOptions(int ac, char* av[], sal_Bool bCmdFile) +#define U2S( s ) OUStringToOString(s, RTL_TEXTENCODING_UTF8).getStr() + +inline rtl::OUString makeOUString (std::string const & s) { - sal_Bool bRet = sal_True; - sal_uInt16 i=0; + return rtl::OUString(s.c_str(), s.size(), RTL_TEXTENCODING_UTF8, OSTRING_TO_OUSTRING_CVTFLAGS); +} - if (!bCmdFile) - { - bCmdFile = sal_True; - - m_program = av[0]; +inline rtl::OUString shortName(rtl::OUString const & fullName) +{ + return fullName.copy(fullName.lastIndexOf('/') + 1); +} - if (ac < 2) - { - fprintf(stdout, "%s", prepareHelp().getStr()); - bRet = sal_False; - } +bool Options_Impl::setRegName_Impl(char c, std::string const & param) +{ + bool one = (c == '1'), two = (c == '2'); + if (one) + m_regName1 = param; + if (two) + m_regName2 = param; + return (one || two); +} - i = 1; - } else - { - i = 0; - } +//virtual +void Options_Impl::printUsage_Impl() const +{ + std::string const & rProgName = getProgramName(); + fprintf(stderr, + "Usage: %s -r1<filename> -r2<filename> [-options] | @<filename>\n", rProgName.c_str() + ); + fprintf(stderr, + " -r1<filename> = filename specifies the name of the first registry.\n" + " -r2<filename> = filename specifies the name of the second registry.\n" + " @<filename> = filename specifies a command file.\n" + "Options:\n" + " -s<name> = name specifies the name of a start key. If no start key\n" + " |S<name> is specified the comparison starts with the root key.\n" + " -x<name> = name specifies the name of a key which won't be compared. All\n" + " |X<name> subkeys won't be compared also. This option can be used more than once.\n" + " -f|F = force the detailed output of any diffenrences. Default\n" + " is that only the number of differences is returned.\n" + " -c|C = make a complete check, that means any differences will be\n" + " detected. Default is only a compatibility check that means\n" + " only UNO typelibrary entries will be checked.\n" + " -t|T = make an UNO type compatiblity check. This means that registry 2\n" + " will be checked against registry 1. If a interface in r2 contains\n" + " more methods or the methods are in a different order as in r1, r2 is\n" + " incompatible to r1. But if a service in r2 supports more properties as\n" + " in r1 and the new properties are 'optional' it is compatible.\n" + " -u|U = additionally check types that are unpublished in registry 1.\n" + " -h|-? = print this help message and exit.\n" + ); + fprintf(stderr, + "\n%s Version 1.0\n\n", rProgName.c_str() + ); +} - char *s=NULL; - for (; i < ac; i++) +// virtual +bool Options_Impl::initOptions_Impl (std::vector< std::string > & rArgs) +{ + std::vector< std::string >::const_iterator first = rArgs.begin(), last = rArgs.end(); + for (; first != last; ++first) { - if (av[i][0] == '-') + if ((*first)[0] != '-') + { + return badOption("invalid", (*first).c_str()); + } + switch ((*first)[1]) { - switch (av[i][1]) + case 'r': + case 'R': { - case 'r': - case 'R': + if (!((++first != last) && ((*first)[0] != '-'))) { - sal_Bool bFirst = sal_True; - if (av[i][2] == '2') - { - bFirst = sal_False; - } else if (av[i][2] != '1') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - } - if (av[i][3] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - - if ( bFirst ) - { - m_regName1 = OString(s); - } else - { - m_regName2 = OString(s); - } + return badOption("invalid", (*first).c_str()); } - break; - case 's': - case 'S': - if (av[i][2] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - m_startKey = OString(s); - break; - case 'x': - case 'X': - if (av[i][2] == '\0') - { - if (i < ac - 1 && av[i+1][0] != '-') - { - i++; - s = av[i]; - } else - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; - } - } else - { - s = av[i] + 2; - } - m_excludeKeys.insert(S2U(s)); - break; - case 'c': - case 'C': - if (av[i][2] != '\0') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - } - m_bFullCheck = sal_True; - break; - case 'f': - case 'F': - if (av[i][2] != '\0') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - } - m_bForceOutput = sal_True; - break; - case 't': - case 'T': - if (av[i][2] != '\0') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - } - m_bUnoTypeCheck = sal_True; - break; - case 'u': - case 'U': - if (av[i][2] != '\0') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - } - m_checkUnpublished = true; - break; - case 'h': - case '?': - if (av[i][2] != '\0') - { - fprintf(stdout, "%s: invalid option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - } else + + std::string option(*first), param; + if (option.size() == 1) + { + // "-r<n><space><param>" + if (!((++first != last) && ((*first)[0] != '-'))) { - fprintf(stdout, "%s", prepareHelp().getStr()); - exit(0); + return badOption("invalid", (*first).c_str()); } - break; - default: - fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; - break; + param = (*first); + } + else + { + // "-r<n><param>" + param = std::string(&(option[1]), option.size() - 1); + } + if (!setRegName_Impl(option[0], param)) + { + return badOption("invalid", option.c_str()); + } + break; } - } else - { - if (av[i][0] == '@') + case 's': + case 'S': { - FILE* cmdFile = fopen(av[i]+1, "r"); - if( cmdFile == NULL ) - { - fprintf(stdout, "%s", prepareHelp().getStr()); - bRet = sal_False; - } else + if (!((++first != last) && ((*first)[0] != '-'))) { - int rargc=0; - char* rargv[512]; - char buffer[512]; - - while ( fscanf(cmdFile, "%s", buffer) != EOF ) - { - rargv[rargc]= strdup(buffer); - rargc++; - } - fclose(cmdFile); - - bRet = initOptions(rargc, rargv, bCmdFile); - - for (long j=0; j < rargc; j++) - { - free(rargv[j]); - } + return badOption("invalid", (*first).c_str()); + } + m_startKey = makeOUString(*first); + break; + } + case 'x': + case 'X': + { + if (!((++first != last) && ((*first)[0] != '-'))) + { + return badOption("invalid", (*first).c_str()); + } + m_excludeKeys.insert(makeOUString(*first)); + break; + } + case 'f': + case 'F': + { + if ((*first).size() > 2) + { + return badOption("invalid", (*first).c_str()); + } + m_bForceOutput = sal_True; + break; + } + case 'c': + case 'C': + { + if ((*first).size() > 2) + { + return badOption("invalid", (*first).c_str()); + } + m_bFullCheck = sal_True; + break; + } + case 't': + case 'T': + { + if ((*first).size() > 2) + { + return badOption("invalid", (*first).c_str()); + } + m_bUnoTypeCheck = sal_True; + break; + } + case 'u': + case 'U': + { + if ((*first).size() > 2) + { + return badOption("invalid", (*first).c_str()); } - } else + m_checkUnpublished = true; + break; + } + case 'h': + case '?': { - fprintf(stdout, "%s: unknown option '%s'\n", m_program.getStr(), av[i]); - bRet = sal_False; + if ((*first).size() > 2) + { + return badOption("invalid", (*first).c_str()); + } + return printUsage(); + // break; // Unreachable + } + default: + { + return badOption("unknown", (*first).c_str()); + // break; // Unreachable } } } - if ( bRet ) + if ( m_regName1.size() == 0 ) { - if ( m_regName1.getLength() == 0 ) - { - fprintf(stdout, "%s: missing option '-r1'\n", m_program.getStr()); - bRet = sal_False; - } - if ( m_regName2.getLength() == 0 ) - { - fprintf(stdout, "%s: missing option '-r2'\n", m_program.getStr()); - bRet = sal_False; - } + return badOption("missing", "-r1"); } - - return bRet; + if ( m_regName2.size() == 0 ) + { + return badOption("missing", "-r2"); + } + return true; } -OString Options::prepareHelp() -{ - OString help("\nusing: "); - help += m_program + " -r1<filename> -r2<filename> [-options] | @<filename>\n"; - help += " -r1<filename> = filename specifies the name of the first registry.\n"; - help += " -r2<filename> = filename specifies the name of the second registry.\n"; - help += " @<filename> = filename specifies a command file.\n"; - help += "Options:\n"; - help += " -s<name> = name specifies the name of a start key. If no start key\n"; - help += " |S<name> is specified the comparison starts with the root key.\n"; - help += " -x<name> = name specifies the name of a key which won't be compared. All\n"; - help += " |X<name> subkeys won't be compared also. This option can be used more than once.\n"; - help += " -f|F = force the detailed output of any diffenrences. Default\n"; - help += " is that only the number of differences is returned.\n"; - help += " -c|C = make a complete check, that means any differences will be\n"; - help += " detected. Default is only a compatibility check that means\n"; - help += " only UNO typelibrary entries will be checked.\n"; - help += " -t|T = make an UNO type compatiblity check. This means that registry 2\n"; - help += " will be checked against registry 1. If a interface in r2 contains\n"; - help += " more methods or the methods are in a different order as in r1, r2 is\n"; - help += " incompatible to r1. But if a service in r2 supports more properties as\n"; - help += " in r1 and the new properties are 'optonal' it is compatible.\n"; - help += " -u|U = additionally check types that are unpublished in registry 1.\n"; - help += " -h|-? = print this help message and exit.\n"; - help += prepareVersion(); - - return help; -} - -OString Options::prepareVersion() -{ - OString version("\nSun Microsystems (R) "); - version += m_program + " Version 1.0\n\n"; - return version; -} - -sal_Bool Options::matchedWithExcludeKey( const OUString& keyName) +bool Options_Impl::matchedWithExcludeKey( const OUString& keyName) const { - if ( m_excludeKeys.empty() ) - return sal_False; - - StringSet::const_iterator iter = m_excludeKeys.begin(); - StringSet::const_iterator end = m_excludeKeys.end(); - - while ( iter != end ) + if (!m_excludeKeys.empty()) { - if ( keyName.indexOf(*iter) == 0) - return sal_True; - - ++iter; + StringSet::const_iterator first = m_excludeKeys.begin(), last = m_excludeKeys.end(); + for (; first != last; ++first) + { + if (keyName.indexOf(*first) == 0) + return true; + } } - - return sal_False; + return false; } -static Options options; - static char const * getTypeClass(RTTypeClass typeClass) { switch (typeClass) @@ -551,6 +408,7 @@ static char const * getConstValueType(RTConstValue& constValue) return "NONE"; } } + static void printConstValue(RTConstValue& constValue) { switch (constValue.m_type) @@ -600,12 +458,20 @@ static void printConstValue(RTConstValue& constValue) break; default: break; - } -} + } +} + +static void dumpTypeClass(sal_Bool & rbDump, RTTypeClass typeClass, OUString const & keyName) +{ + if (rbDump) + fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); + rbDump = sal_False; +} -static sal_uInt32 checkConstValue(const OUString& keyName, +static sal_uInt32 checkConstValue(Options_Impl const & options, + const OUString& keyName, RTTypeClass typeClass, - sal_Bool& bDump, + sal_Bool & bDump, RTConstValue& constValue1, RTConstValue& constValue2, sal_uInt16 index1) @@ -619,11 +485,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %s != Value2 = %s\n", index1, constValue1.m_value.aBool ? "TRUE" : "FALSE", constValue2.m_value.aBool ? "TRUE" : "FALSE"); @@ -636,11 +498,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1, constValue1.m_value.aByte, constValue2.m_value.aByte); } @@ -652,11 +510,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1, constValue1.m_value.aShort, constValue2.m_value.aShort); } @@ -668,11 +522,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %d != Value2 = %d\n", index1, constValue1.m_value.aUShort, constValue2.m_value.aUShort); } @@ -684,11 +534,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %ld != Value2 = %ld\n", index1, sal::static_int_cast< long >(constValue1.m_value.aLong), sal::static_int_cast< long >(constValue2.m_value.aLong)); @@ -701,11 +547,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %lu != Value2 = %lu\n", index1, sal::static_int_cast< unsigned long >(constValue1.m_value.aULong), sal::static_int_cast< unsigned long >(constValue2.m_value.aULong)); @@ -718,11 +560,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf( stdout, " Field %d: Value1 = %s != Value2 = %s\n", index1, @@ -741,11 +579,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf( stdout, " Field %d: Value1 = %s != Value2 = %s\n", index1, @@ -770,11 +604,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %f != Value2 = %f\n", index1, constValue1.m_value.aFloat, constValue2.m_value.aFloat); } @@ -786,11 +616,7 @@ static sal_uInt32 checkConstValue(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Field %d: Value1 = %f != Value2 = %f\n", index1, constValue1.m_value.aDouble, constValue2.m_value.aDouble); } @@ -804,45 +630,37 @@ static sal_uInt32 checkConstValue(const OUString& keyName, return 0; } -static sal_uInt32 checkField(const OUString& keyName, +static sal_uInt32 checkField(Options_Impl const & options, + const OUString& keyName, RTTypeClass typeClass, - sal_Bool& bDump, + sal_Bool & bDump, typereg::Reader& reader1, typereg::Reader& reader2, sal_uInt16 index1, sal_uInt16 index2) { sal_uInt32 nError = 0; - if ( reader1.getFieldName(index1) != - reader2.getFieldName(index2) ) + if ( reader1.getFieldName(index1) != reader2.getFieldName(index2) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Field %d: Name1 = %s != Name2 = %s\n", index1, U2S(reader1.getFieldName(index1)), U2S(reader2.getFieldName(index2))); } nError++; } - if ( reader1.getFieldTypeName(index1) != - reader2.getFieldTypeName(index2) ) + if ( reader1.getFieldTypeName(index1) != reader2.getFieldTypeName(index2) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Field %d: Type1 = %s != Type2 = %s\n", index1, U2S(reader1.getFieldTypeName(index1)), U2S(reader2.getFieldTypeName(index2))); } nError++; - } else + } + else { RTConstValue constValue1 = reader1.getFieldValue(index1); RTConstValue constValue2 = reader2.getFieldValue(index2); @@ -850,11 +668,7 @@ static sal_uInt32 checkField(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Field %d: Access1 = %s != Access2 = %s\n", index1, getConstValueType(constValue1), getConstValueType(constValue2)); fprintf(stdout, " Field %d: Value1 = ", index1); @@ -864,9 +678,10 @@ static sal_uInt32 checkField(const OUString& keyName, fprintf(stdout, "\n;"); } nError++; - } else + } + else { - nError += checkConstValue(keyName, typeClass, bDump, constValue1, constValue2, index1); + nError += checkConstValue(options, keyName, typeClass, bDump, constValue1, constValue2, index1); } } @@ -874,11 +689,7 @@ static sal_uInt32 checkField(const OUString& keyName, { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Field %d: FieldAccess1 = %s != FieldAccess2 = %s\n", index1, getFieldAccess(reader1.getFieldFlags(index1)).getStr(), getFieldAccess(reader1.getFieldFlags(index2)).getStr()); @@ -886,16 +697,11 @@ static sal_uInt32 checkField(const OUString& keyName, nError++; } - if ( options.fullCheck() && - (reader1.getFieldDocumentation(index1) != reader2.getFieldDocumentation(index2)) ) + if ( options.fullCheck() && (reader1.getFieldDocumentation(index1) != reader2.getFieldDocumentation(index2)) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Field %d: Doku1 = %s\n Doku2 = %s\n", index1, U2S(reader1.getFieldDocumentation(index1)), U2S(reader2.getFieldDocumentation(index2))); } @@ -936,24 +742,20 @@ static char const * getParamMode(RTParamMode paramMode) } } -static sal_uInt32 checkMethod(const OUString& keyName, +static sal_uInt32 checkMethod(Options_Impl const & options, + const OUString& keyName, RTTypeClass typeClass, - sal_Bool& bDump, + sal_Bool & bDump, typereg::Reader& reader1, typereg::Reader& reader2, sal_uInt16 index) { sal_uInt32 nError = 0; - if ( reader1.getMethodName(index) != - reader2.getMethodName(index) ) + if ( reader1.getMethodName(index) != reader2.getMethodName(index) ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method1 %d: Name1 = %s != Name2 = %s\n", index, U2S(reader1.getMethodName(index)), U2S(reader2.getMethodName(index))); @@ -961,16 +763,11 @@ static sal_uInt32 checkMethod(const OUString& keyName, nError++; } - if ( reader1.getMethodReturnTypeName(index) != - reader2.getMethodReturnTypeName(index) ) + if ( reader1.getMethodReturnTypeName(index) != reader2.getMethodReturnTypeName(index) ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method1 %d: ReturnType1 = %s != ReturnType2 = %s\n", index, U2S(reader1.getMethodReturnTypeName(index)), U2S(reader2.getMethodReturnTypeName(index))); @@ -984,11 +781,7 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d : nParameters1 = %d != nParameters2 = %d\n", index, nParams1, nParams2); } nError++; @@ -1000,27 +793,18 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d, Parameter %d: Type1 = %s != Type2 = %s\n", index, i, U2S(reader1.getMethodParameterTypeName(index, i)), U2S(reader2.getMethodParameterTypeName(index, i))); } nError++; } - if ( options.fullCheck() && - (reader1.getMethodParameterName(index, i) != reader2.getMethodParameterName(index, i)) ) + if ( options.fullCheck() && (reader1.getMethodParameterName(index, i) != reader2.getMethodParameterName(index, i)) ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d, Parameter %d: Name1 = %s != Name2 = %s\n", index, i, U2S(reader1.getMethodParameterName(index, i)), U2S(reader2.getMethodParameterName(index, i))); @@ -1031,11 +815,7 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d, Parameter %d: Mode1 = %s != Mode2 = %s\n", index, i, getParamMode(reader1.getMethodParameterFlags(index, i)), getParamMode(reader2.getMethodParameterFlags(index, i))); @@ -1045,20 +825,12 @@ static sal_uInt32 checkMethod(const OUString& keyName, } if ( i < nParams1 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Registry1: Method %d contains %d more parameters\n", index, nParams1 - i); } if ( i < nParams2 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Registry2: Method %d contains %d more parameters\n", index, nParams2 - i); } @@ -1068,11 +840,7 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " nExceptions1 = %d != nExceptions2 = %d\n", nExcep1, nExcep2); } nError++; @@ -1083,11 +851,7 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d, Exception %d: Name1 = %s != Name2 = %s\n", index, i, U2S(reader1.getMethodExceptionTypeName(index, i)), U2S(reader2.getMethodExceptionTypeName(index, i))); @@ -1097,20 +861,12 @@ static sal_uInt32 checkMethod(const OUString& keyName, } if ( i < nExcep1 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Registry1: Method %d contains %d more exceptions\n", index, nExcep1 - i); } if ( i < nExcep2 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Registry2: Method %d contains %d more exceptions\n", index, nExcep2 - i); } @@ -1118,11 +874,7 @@ static sal_uInt32 checkMethod(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d: Mode1 = %s != Mode2 = %s\n", index, getMethodMode(reader1.getMethodFlags(index)), getMethodMode(reader2.getMethodFlags(index))); @@ -1130,16 +882,11 @@ static sal_uInt32 checkMethod(const OUString& keyName, nError++; } - if ( options.fullCheck() && - (reader1.getMethodDocumentation(index) != reader2.getMethodDocumentation(index)) ) + if ( options.fullCheck() && (reader1.getMethodDocumentation(index) != reader2.getMethodDocumentation(index)) ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Method %d: Doku1 = %s\n Doku2 = %s\n", index, U2S(reader1.getMethodDocumentation(index)), U2S(reader2.getMethodDocumentation(index))); @@ -1166,73 +913,54 @@ static char const * getReferenceType(RTReferenceType refType) } } -static sal_uInt32 checkReference(const OUString& keyName, +static sal_uInt32 checkReference(Options_Impl const & options, + const OUString& keyName, RTTypeClass typeClass, - sal_Bool& bDump, + sal_Bool & bDump, typereg::Reader& reader1, typereg::Reader& reader2, sal_uInt16 index1, sal_uInt16 index2) { sal_uInt32 nError = 0; - if ( reader1.getReferenceTypeName(index1) != - reader2.getReferenceTypeName(index2) ) + if ( reader1.getReferenceTypeName(index1) != reader2.getReferenceTypeName(index2) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Reference %d: Name1 = %s != Name2 = %s\n", index1, U2S(reader1.getReferenceTypeName(index1)), U2S(reader2.getReferenceTypeName(index2))); } nError++; } - if ( reader1.getReferenceTypeName(index1) != - reader2.getReferenceTypeName(index2) ) + if ( reader1.getReferenceTypeName(index1) != reader2.getReferenceTypeName(index2) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Reference %d: Type1 = %s != Type2 = %s\n", index1, getReferenceType(reader1.getReferenceSort(index1)), getReferenceType(reader2.getReferenceSort(index2))); } nError++; } - if ( options.fullCheck() && - (reader1.getReferenceDocumentation(index1) != reader2.getReferenceDocumentation(index2)) ) + if ( options.fullCheck() && (reader1.getReferenceDocumentation(index1) != reader2.getReferenceDocumentation(index2)) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Reference %d: Doku1 = %s\n Doku2 = %s\n", index1, U2S(reader1.getReferenceDocumentation(index1)), U2S(reader2.getReferenceDocumentation(index2))); } nError++; } - if ( reader1.getReferenceFlags(index1) != - reader2.getReferenceFlags(index2) ) + if ( reader1.getReferenceFlags(index1) != reader2.getReferenceFlags(index2) ) { if ( options.forceOutput() && !options.unoTypeCheck() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " Reference %d: Access1 = %s != Access2 = %s\n", index1, getFieldAccess(reader1.getReferenceFlags(index1)).getStr(), getFieldAccess(reader1.getReferenceFlags(index2)).getStr()); @@ -1242,9 +970,10 @@ static sal_uInt32 checkReference(const OUString& keyName, return nError; } -static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, +static sal_uInt32 checkFieldsWithoutOrder(Options_Impl const & options, + const OUString& keyName, RTTypeClass typeClass, - sal_Bool& bDump, + sal_Bool & bDump, typereg::Reader& reader1, typereg::Reader& reader2) { @@ -1258,13 +987,9 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } - fprintf(stdout, " %s1 contains %d more properties as %s2\n", - getTypeClass(typeClass), nFields1-nFields2, getTypeClass(typeClass)); + dumpTypeClass (bDump, typeClass, keyName); + fprintf(stdout, " %s1 contains %d more properties as %s2\n", + getTypeClass(typeClass), nFields1-nFields2, getTypeClass(typeClass)); } } @@ -1275,7 +1000,7 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, { for (j=0; j < nFields2; j++) { - if (!checkField(keyName, typeClass, bDump, reader1, reader2, i, j)) + if (!checkField(options, keyName, typeClass, bDump, reader1, reader2, i, j)) { bFound = sal_True; moreProps.insert(j); @@ -1286,16 +1011,13 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, { if (options.forceOutput()) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass (bDump, typeClass, keyName); fprintf(stdout, " incompatible change: Field %d ('%s') of r1 is not longer a property of this %s in r2\n", i, U2S(shortName(reader1.getFieldName(i))), getTypeClass(typeClass)); } nError++; - } else + } + else { bFound = sal_False; } @@ -1311,12 +1033,10 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } - fprintf(stdout, " incompatible change: Field %d ('%s') of r2 is a new property compared to this %s in r1 and is not 'optional'\n", + dumpTypeClass (bDump, typeClass, keyName); + fprintf(stdout, + " incompatible change: Field %d ('%s') of r2 is a new property" + " compared to this %s in r1 and is not 'optional'\n", j, U2S(shortName(reader2.getFieldName(j))), getTypeClass(typeClass)); } nError++; @@ -1328,8 +1048,11 @@ static sal_uInt32 checkFieldsWithoutOrder(const OUString& keyName, return nError; } -static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, sal_uInt32 size1, - typereg::Reader& reader2, sal_uInt32 size2) +static sal_uInt32 checkBlob( + Options_Impl const & options, + const OUString& keyName, + typereg::Reader& reader1, sal_uInt32 size1, + typereg::Reader& reader2, sal_uInt32 size2) { sal_uInt32 nError = 0; sal_Bool bDump = sal_True; @@ -1344,28 +1067,27 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s sal::static_int_cast< unsigned long >(size2)); } } - if (reader1.isPublished()) { - if (!reader2.isPublished()) { - if (options.forceOutput()) { - if (bDump) { - fprintf(stdout, "?: %s\n", U2S(keyName)); - bDump = false; - } + if (reader1.isPublished()) + { + if (!reader2.isPublished()) + { + if (options.forceOutput()) + { + dumpTypeClass(bDump, /*"?"*/ reader1.getTypeClass(), keyName); fprintf(stdout, " published in 1 but unpublished in 2\n"); } ++nError; } - } else if (!options.checkUnpublished()) { + } + else if (!options.checkUnpublished()) + { return nError; } if ( reader1.getTypeClass() != reader2.getTypeClass() ) { if ( options.forceOutput() ) { - if (bDump) { - fprintf(stdout, "?: %s\n", U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, /*"?"*/ reader1.getTypeClass(), keyName); fprintf(stdout, " TypeClass1 = %s != TypeClass2 = %s\n", getTypeClass(reader1.getTypeClass()), getTypeClass(reader2.getTypeClass())); @@ -1374,16 +1096,11 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s } RTTypeClass typeClass = reader1.getTypeClass(); - if ( reader1.getTypeName() != reader2.getTypeName() ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " TypeName1 = %s != TypeName2 = %s\n", U2S(reader1.getTypeName()), U2S(reader2.getTypeName())); } @@ -1393,28 +1110,23 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s typeClass == RT_TYPE_STRUCT || typeClass == RT_TYPE_EXCEPTION) ) { - if (reader1.getSuperTypeCount() != reader2.getSuperTypeCount()) { - if (bDump) { - fprintf( - stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = false; - } + if (reader1.getSuperTypeCount() != reader2.getSuperTypeCount()) + { + dumpTypeClass(bDump, typeClass, keyName); fprintf( stdout, " SuperTypeCount1 = %d != SuperTypeCount2 = %d\n", static_cast< int >(reader1.getSuperTypeCount()), static_cast< int >(reader2.getSuperTypeCount())); ++nError; - } else { - for (sal_Int16 i = 0; i < reader1.getSuperTypeCount(); ++i) { + } else + { + for (sal_Int16 i = 0; i < reader1.getSuperTypeCount(); ++i) + { if (reader1.getSuperTypeName(i) != reader2.getSuperTypeName(i)) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " SuperTypeName1 = %s != SuperTypeName2 = %s\n", U2S(reader1.getSuperTypeName(i)), U2S(reader2.getSuperTypeName(i))); } @@ -1423,6 +1135,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s } } } + sal_uInt16 nFields1 = (sal_uInt16)reader1.getFieldCount(); sal_uInt16 nFields2 = (sal_uInt16)reader2.getFieldCount(); sal_Bool bCheckNormal = sal_True; @@ -1440,41 +1153,31 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " nFields1 = %d != nFields2 = %d\n", nFields1, nFields2); } nError++; } + sal_uInt16 i; for (i=0; i < nFields1 && i < nFields2; i++) { - nError += checkField(keyName, typeClass, bDump, reader1, reader2, i, i); + nError += checkField(options, keyName, typeClass, bDump, reader1, reader2, i, i); } if ( i < nFields1 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Registry1 contains %d more fields\n", nFields1 - i); } if ( i < nFields2 && options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Registry2 contains %d more fields\n", nFields2 - i); } - } else + } + else { - nError += checkFieldsWithoutOrder(keyName, typeClass, bDump, reader1, reader2); + nError += checkFieldsWithoutOrder(options, keyName, typeClass, bDump, reader1, reader2); } if ( typeClass == RT_TYPE_INTERFACE ) @@ -1485,19 +1188,16 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " nMethods1 = %d != nMethods2 = %d\n", nMethods1, nMethods2); } nError++; } + sal_uInt16 i; for (i=0; i < nMethods1 && i < nMethods2; i++) { - nError += checkMethod(keyName, typeClass, bDump, reader1, reader2, i); + nError += checkMethod(options, keyName, typeClass, bDump, reader1, reader2, i); } if ( i < nMethods1 && options.forceOutput() ) { @@ -1521,11 +1221,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " service1 contains %d more references as service2\n", nReference1-nReference2); } @@ -1538,7 +1234,7 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { for (j=0; j < nReference2; j++) { - if (!checkReference(keyName, typeClass, bDump, reader1, reader2, i, j)) + if (!checkReference(options, keyName, typeClass, bDump, reader1, reader2, i, j)) { bFound = sal_True; moreReferences.insert(j); @@ -1549,16 +1245,15 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if (options.forceOutput()) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } - fprintf(stdout, " incompatible change: Reference %d ('%s') in 'r1' is not longer a reference of this service in 'r2'\n", + dumpTypeClass(bDump, typeClass, keyName); + fprintf(stdout, + " incompatible change: Reference %d ('%s') in 'r1' is not longer a reference" + " of this service in 'r2'\n", i, U2S(shortName(reader1.getReferenceTypeName(i)))); } nError++; - } else + } + else { bFound = sal_False; } @@ -1574,12 +1269,10 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } - fprintf(stdout, " incompatible change: Reference %d ('%s') of r2 is a new reference compared to this service in r1 and is not 'optional'\n", + dumpTypeClass(bDump, typeClass, keyName); + fprintf(stdout, + " incompatible change: Reference %d ('%s') of r2 is a new reference" + " compared to this service in r1 and is not 'optional'\n", j, U2S(shortName(reader2.getReferenceTypeName(j)))); } nError++; @@ -1587,25 +1280,23 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s } } } - } else + } + else { if ( nReference1 != nReference2 ) { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " nReferences1 = %d != nReferences2 = %d\n", nReference1, nReference2); } nError++; } + sal_uInt16 i; for (i=0; i < nReference1 && i < nReference2; i++) { - nError += checkReference(keyName, typeClass, bDump, reader1, reader2, i, i); + nError += checkReference(options, keyName, typeClass, bDump, reader1, reader2, i, i); } if ( i < nReference1 && options.forceOutput() ) { @@ -1622,38 +1313,19 @@ static sal_uInt32 checkBlob(const OUString& keyName, typereg::Reader& reader1, s { if ( options.forceOutput() ) { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } + dumpTypeClass(bDump, typeClass, keyName); fprintf(stdout, " Doku1 = %s\n Doku2 = %s\n", U2S(reader1.getDocumentation()), U2S(reader2.getDocumentation())); } nError++; } -/* - if ( nError && - (!keyName.compareTo(OUString(RTL_CONSTASCII_USTRINGPARAM("/UCR/drafts")), 11) || - !keyName.compareTo(OUString(RTL_CONSTASCII_USTRINGPARAM("/drafts")), 7)) ) - { - if ( options.forceOutput() ) - { - if ( bDump ) - { - fprintf(stdout, "%s: %s\n", getTypeClass(typeClass), U2S(keyName)); - bDump = sal_False; - } - fprintf(stdout, " Note: \"drafts\" type changed incompatible, no effect to the final API\n"); - } - return 0; - } -*/ return nError; } -static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType1, sal_uInt32 size1, - RegistryKey& key2, RegValueType valueType2, sal_uInt32 size2) +static sal_uInt32 checkValueDifference( + Options_Impl const & options, + RegistryKey& key1, RegValueType valueType1, sal_uInt32 size1, + RegistryKey& key2, RegValueType valueType2, sal_uInt32 size2) { OUString tmpName; sal_uInt32 nError = 0; @@ -1738,39 +1410,31 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType if ( bEqual) { - RegValue value1 = rtl_allocateMemory(size1); - RegValue value2 = rtl_allocateMemory(size2); + std::vector< sal_uInt8 > value1(size1); + key1.getValue(tmpName, &value1[0]); - key1.getValue(tmpName, value1); - key2.getValue(tmpName, value2); + std::vector< sal_uInt8 > value2(size2); + key2.getValue(tmpName, &value2[0]); - bEqual = (rtl_compareMemory(value1, value2, size1) == 0 ); - + bEqual = (rtl_compareMemory(&value1[0], &value2[0], value1.size()) == 0 ); if ( !bEqual && valueType1 == RG_VALUETYPE_BINARY && valueType2 == RG_VALUETYPE_BINARY ) { - typereg::Reader reader1( - value1, size1, false, TYPEREG_VERSION_1); - typereg::Reader reader2( - value2, size2, false, TYPEREG_VERSION_1); - + typereg::Reader reader1(&value1[0], value1.size(), false, TYPEREG_VERSION_1); + typereg::Reader reader2(&value2[0], value2.size(), false, TYPEREG_VERSION_1); if ( reader1.isValid() && reader2.isValid() ) { - return checkBlob(key1.getName(), reader1, size1, reader2, size2); + return checkBlob(options, key1.getName(), reader1, size1, reader2, size2); } } - - rtl_freeMemory(value1); - rtl_freeMemory(value2); - if ( bEqual ) { return 0; - } else + } + else { if ( options.forceOutput() ) { - fprintf(stdout, "Difference: key values of key \"%s\" are different\n", - U2S(key1.getName())); + fprintf(stdout, "Difference: key values of key \"%s\" are different\n", U2S(key1.getName())); } nError++; } @@ -1785,102 +1449,98 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType fprintf(stdout, " Registry 1: key has no value\n"); break; case RG_VALUETYPE_LONG: - case RG_VALUETYPE_STRING: - case RG_VALUETYPE_UNICODE: - { - RegValue value1 = rtl_allocateMemory(size1); - key1.getValue(tmpName, value1); - - switch (valueType1) { - case RG_VALUETYPE_LONG: + std::vector< sal_uInt8 > value1(size1); + key1.getValue(tmpName, &value1[0]); + fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONG\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size1)); - fprintf(stdout, " Data = %p\n", value1); - break; - case RG_VALUETYPE_STRING: + fprintf(stdout, " Data = %p\n", &value1[0]); + } + break; + case RG_VALUETYPE_STRING: + { + std::vector< sal_uInt8 > value1(size1); + key1.getValue(tmpName, &value1[0]); + fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRING\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size1)); - fprintf(stdout, " Data = \"%s\"\n", (sal_Char*)value1); - break; - case RG_VALUETYPE_UNICODE: - { - OUString uStrValue((sal_Unicode*)value1); + fprintf(stdout, " Data = \"%s\"\n", reinterpret_cast<char const*>(&value1[0])); + } + break; + case RG_VALUETYPE_UNICODE: + { + std::vector< sal_uInt8 > value1(size1); + key1.getValue(tmpName, &value1[0]); + + OUString uStrValue(reinterpret_cast<sal_Unicode const*>(&value1[0])); fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODE\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size1)); fprintf(stdout, " Data = \"%s\"\n", U2S(uStrValue)); - } - break; - default: - OSL_ASSERT(false); - break; } - - rtl_freeMemory(value1); - } break; case RG_VALUETYPE_BINARY: fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_BINARY\n"); break; case RG_VALUETYPE_LONGLIST: { - RegistryValueList<sal_Int32> valueList; - key1.getLongListValue(tmpName, valueList); - fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONGLIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size1)); - sal_uInt32 length = valueList.getLength(); - for (sal_uInt32 i=0; i<length; i++) - { + RegistryValueList<sal_Int32> valueList; + key1.getLongListValue(tmpName, valueList); + fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_LONGLIST\n"); fprintf( - stdout, " Data[%lu] = %ld\n", - sal::static_int_cast< unsigned long >(i), - sal::static_int_cast< long >(valueList.getElement(i))); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size1)); + sal_uInt32 length = valueList.getLength(); + for (sal_uInt32 i=0; i<length; i++) + { + fprintf( + stdout, " Data[%lu] = %ld\n", + sal::static_int_cast< unsigned long >(i), + sal::static_int_cast< long >(valueList.getElement(i))); + } } break; case RG_VALUETYPE_STRINGLIST: { - RegistryValueList<sal_Char*> valueList; - key1.getStringListValue(tmpName, valueList); - fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRINGLIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size1)); - sal_uInt32 length = valueList.getLength(); - for (sal_uInt32 i=0; i<length; i++) - { + RegistryValueList<sal_Char*> valueList; + key1.getStringListValue(tmpName, valueList); + fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_STRINGLIST\n"); fprintf( - stdout, " Data[%lu] = \"%s\"\n", - sal::static_int_cast< unsigned long >(i), - valueList.getElement(i)); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size1)); + sal_uInt32 length = valueList.getLength(); + for (sal_uInt32 i=0; i<length; i++) + { + fprintf( + stdout, " Data[%lu] = \"%s\"\n", + sal::static_int_cast< unsigned long >(i), + valueList.getElement(i)); + } } break; case RG_VALUETYPE_UNICODELIST: { - RegistryValueList<sal_Unicode*> valueList; - key1.getUnicodeListValue(tmpName, valueList); - fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODELIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size1)); - sal_uInt32 length = valueList.getLength(); - OUString uStrValue; - for (sal_uInt32 i=0; i<length; i++) - { - uStrValue = OUString(valueList.getElement(i)); + RegistryValueList<sal_Unicode*> valueList; + key1.getUnicodeListValue(tmpName, valueList); + fprintf(stdout, " Registry 1: Value: Type = RG_VALUETYPE_UNICODELIST\n"); fprintf( - stdout, " Data[%lu] = \"%s\"\n", - sal::static_int_cast< unsigned long >(i), U2S(uStrValue)); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size1)); + sal_uInt32 length = valueList.getLength(); + OUString uStrValue; + for (sal_uInt32 i=0; i<length; i++) + { + uStrValue = OUString(valueList.getElement(i)); + fprintf( + stdout, " Data[%lu] = \"%s\"\n", + sal::static_int_cast< unsigned long >(i), U2S(uStrValue)); + } } break; } @@ -1891,102 +1551,98 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType fprintf(stdout, " Registry 2: key has no value\n"); break; case RG_VALUETYPE_LONG: - case RG_VALUETYPE_STRING: - case RG_VALUETYPE_UNICODE: - { - RegValue value2 = rtl_allocateMemory(size2); - key2.getValue(tmpName, value2); - - switch (valueType2) { - case RG_VALUETYPE_LONG: + std::vector< sal_uInt8 > value2(size2); + key2.getValue(tmpName, &value2[0]); + fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONG\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size2)); - fprintf(stdout, " Data = %p\n", value2); - break; - case RG_VALUETYPE_STRING: + fprintf(stdout, " Data = %p\n", &value2[0]); + } + break; + case RG_VALUETYPE_STRING: + { + std::vector< sal_uInt8 > value2(size2); + key2.getValue(tmpName, &value2[0]); + fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRING\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size2)); - fprintf(stdout, " Data = \"%s\"\n", (sal_Char*)value2); - break; - case RG_VALUETYPE_UNICODE: - { - OUString uStrValue((sal_Unicode*)value2); + fprintf(stdout, " Data = \"%s\"\n", reinterpret_cast<char const*>(&value2[0])); + } + break; + case RG_VALUETYPE_UNICODE: + { + std::vector< sal_uInt8 > value2(size2); + key2.getValue(tmpName, &value2[0]); + + OUString uStrValue(reinterpret_cast<sal_Unicode const*>(&value2[0])); fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODE\n"); fprintf( stdout, " Size = %lu\n", sal::static_int_cast< unsigned long >(size2)); fprintf(stdout, " Data = \"%s\"\n", U2S(uStrValue)); - } - break; - default: - OSL_ASSERT(false); - break; } - - rtl_freeMemory(value2); - } break; case RG_VALUETYPE_BINARY: fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_BINARY\n"); break; case RG_VALUETYPE_LONGLIST: { - RegistryValueList<sal_Int32> valueList; - key2.getLongListValue(tmpName, valueList); - fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONGLIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size2)); - sal_uInt32 length = valueList.getLength(); - for (sal_uInt32 i=0; i<length; i++) - { + RegistryValueList<sal_Int32> valueList; + key2.getLongListValue(tmpName, valueList); + fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_LONGLIST\n"); fprintf( - stdout, " Data[%lu] = %ld\n", - sal::static_int_cast< unsigned long >(i), - sal::static_int_cast< long >(valueList.getElement(i))); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size2)); + sal_uInt32 length = valueList.getLength(); + for (sal_uInt32 i=0; i<length; i++) + { + fprintf( + stdout, " Data[%lu] = %ld\n", + sal::static_int_cast< unsigned long >(i), + sal::static_int_cast< long >(valueList.getElement(i))); + } } break; case RG_VALUETYPE_STRINGLIST: { - RegistryValueList<sal_Char*> valueList; - key2.getStringListValue(tmpName, valueList); - fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRINGLIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size2)); - sal_uInt32 length = valueList.getLength(); - for (sal_uInt32 i=0; i<length; i++) - { + RegistryValueList<sal_Char*> valueList; + key2.getStringListValue(tmpName, valueList); + fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_STRINGLIST\n"); fprintf( - stdout, " Data[%lu] = \"%s\"\n", - sal::static_int_cast< unsigned long >(i), - valueList.getElement(i)); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size2)); + sal_uInt32 length = valueList.getLength(); + for (sal_uInt32 i=0; i<length; i++) + { + fprintf( + stdout, " Data[%lu] = \"%s\"\n", + sal::static_int_cast< unsigned long >(i), + valueList.getElement(i)); + } } break; case RG_VALUETYPE_UNICODELIST: { - RegistryValueList<sal_Unicode*> valueList; - key2.getUnicodeListValue(tmpName, valueList); - fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODELIST\n"); - fprintf( - stdout, " Size = %lu\n", - sal::static_int_cast< unsigned long >(size2)); - sal_uInt32 length = valueList.getLength(); - OUString uStrValue; - for (sal_uInt32 i=0; i<length; i++) - { - uStrValue = OUString(valueList.getElement(i)); + RegistryValueList<sal_Unicode*> valueList; + key2.getUnicodeListValue(tmpName, valueList); + fprintf(stdout, " Registry 2: Value: Type = RG_VALUETYPE_UNICODELIST\n"); fprintf( - stdout, " Data[%lu] = \"%s\"\n", - sal::static_int_cast< unsigned long >(i), U2S(uStrValue)); - } + stdout, " Size = %lu\n", + sal::static_int_cast< unsigned long >(size2)); + sal_uInt32 length = valueList.getLength(); + OUString uStrValue; + for (sal_uInt32 i=0; i<length; i++) + { + uStrValue = OUString(valueList.getElement(i)); + fprintf( + stdout, " Data[%lu] = \"%s\"\n", + sal::static_int_cast< unsigned long >(i), U2S(uStrValue)); + } } break; } @@ -1994,58 +1650,67 @@ static sal_uInt32 checkValueDifference(RegistryKey& key1, RegValueType valueType return nError; } -static bool hasPublishedChildren(RegistryKey & key) { +static bool hasPublishedChildren(Options_Impl const & options, RegistryKey & key) +{ RegistryKeyNames subKeyNames; key.getKeyNames(rtl::OUString(), subKeyNames); - for (sal_uInt32 i = 0; i < subKeyNames.getLength(); ++i) { + for (sal_uInt32 i = 0; i < subKeyNames.getLength(); ++i) + { rtl::OUString keyName(subKeyNames.getElement(i)); - if (!options.matchedWithExcludeKey(keyName)) { + if (!options.matchedWithExcludeKey(keyName)) + { keyName = keyName.copy(keyName.lastIndexOf('/') + 1); RegistryKey subKey; - if (!key.openKey(keyName, subKey)) { - if (options.forceOutput()) { + if (!key.openKey(keyName, subKey)) + { + if (options.forceOutput()) + { fprintf( stdout, ("WARNING: could not open key \"%s\" in registry" " \"%s\"\n"), U2S(subKeyNames.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } } - if (subKey.isValid()) { + if (subKey.isValid()) + { RegValueType type; sal_uInt32 size; - if (subKey.getValueInfo(rtl::OUString(), &type, &size) - != REG_NO_ERROR) + if (subKey.getValueInfo(rtl::OUString(), &type, &size) != REG_NO_ERROR) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("WARNING: could not read key \"%s\" in registry" " \"%s\"\n"), U2S(subKeyNames.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } - } else if (type == RG_VALUETYPE_BINARY) { - char * value = new char[size]; + } + else if (type == RG_VALUETYPE_BINARY) + { bool published = false; - if (subKey.getValue(rtl::OUString(), value) != REG_NO_ERROR) + std::vector< sal_uInt8 > value(size); + if (subKey.getValue(rtl::OUString(), &value[0]) != REG_NO_ERROR) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("WARNING: could not read key \"%s\" in" " registry \"%s\"\n"), U2S(subKeyNames.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } - } else { - published = typereg::Reader( - value, size, false, TYPEREG_VERSION_1). - isPublished(); } - delete[] value; - if (published) { + else + { + published = typereg::Reader(&value[0], value.size(), false, TYPEREG_VERSION_1).isPublished(); + } + if (published) + { return true; } } @@ -2056,7 +1721,9 @@ static bool hasPublishedChildren(RegistryKey & key) { } static sal_uInt32 checkDifferences( - RegistryKey& key, StringSet& keys, RegistryKeyNames& subKeyNames1, + Options_Impl const & options, + RegistryKey& key, StringSet& keys, + RegistryKeyNames& subKeyNames1, RegistryKeyNames& subKeyNames2) { sal_uInt32 nError = 0; @@ -2083,81 +1750,89 @@ static sal_uInt32 checkDifferences( if ( options.forceOutput() ) { fprintf(stdout, "EXISTENCE: key \"%s\" exists only in registry \"%s\"\n", - U2S(subKeyNames1.getElement(i)), options.getRegName1().getStr()); + U2S(subKeyNames1.getElement(i)), options.getRegName1().c_str()); } nError++; } else { rtl::OUString keyName(subKeyNames1.getElement(i)); - if (!options.matchedWithExcludeKey(keyName)) { + if (!options.matchedWithExcludeKey(keyName)) + { keyName = keyName.copy(keyName.lastIndexOf('/') + 1); RegistryKey subKey; - if (key.openKey(keyName, subKey)) { - if (options.forceOutput()) { + if (key.openKey(keyName, subKey)) + { + if (options.forceOutput()) + { fprintf( stdout, ("ERROR: could not open key \"%s\" in registry" " \"%s\"\n"), U2S(subKeyNames1.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } ++nError; } - if (subKey.isValid()) { + if (subKey.isValid()) + { RegValueType type; sal_uInt32 size; - if (subKey.getValueInfo(rtl::OUString(), &type, &size) - != REG_NO_ERROR) + if (subKey.getValueInfo(rtl::OUString(), &type, &size) != REG_NO_ERROR) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("ERROR: could not read key \"%s\" in" " registry \"%s\"\n"), U2S(subKeyNames1.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } ++nError; - } else if (type == RG_VALUETYPE_BINARY) { - char * value = new char[size]; - if (subKey.getValue(rtl::OUString(), value) - != REG_NO_ERROR) + } + else if (type == RG_VALUETYPE_BINARY) + { + std::vector< sal_uInt8 > value(size); + if (subKey.getValue(rtl::OUString(), &value[0]) != REG_NO_ERROR) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("ERROR: could not read key \"%s\" in" " registry \"%s\"\n"), U2S(subKeyNames1.getElement(i)), - options.getRegName1().getStr()); + options.getRegName1().c_str()); } ++nError; - } else { - typereg::Reader reader( - value, size, false, TYPEREG_VERSION_1); - if (reader.getTypeClass() == RT_TYPE_MODULE) { - if (options.checkUnpublished() - || hasPublishedChildren(subKey)) + } + else + { + typereg::Reader reader(&value[0], value.size(), false, TYPEREG_VERSION_1); + if (reader.getTypeClass() == RT_TYPE_MODULE) + { + if (options.checkUnpublished() || hasPublishedChildren(options, subKey)) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("EXISTENCE: module \"%s\"" " %sexists only in registry" " 1\n"), - U2S(subKeyNames1.getElement( - i)), + U2S(subKeyNames1.getElement(i)), (options.checkUnpublished() ? "" : "with published children ")); } ++nError; } - } else if (options.checkUnpublished() - || reader.isPublished()) + } + else if (options.checkUnpublished() || reader.isPublished()) { - if (options.forceOutput()) { + if (options.forceOutput()) + { fprintf( stdout, ("EXISTENCE: %spublished key \"%s\"" @@ -2168,7 +1843,6 @@ static sal_uInt32 checkDifferences( ++nError; } } - delete[] value; } } } @@ -2193,7 +1867,7 @@ static sal_uInt32 checkDifferences( if ( options.forceOutput() ) { fprintf(stdout, "EXISTENCE: key \"%s\" exists only in registry \"%s\"\n", - U2S(subKeyNames2.getElement(i)), options.getRegName2().getStr()); + U2S(subKeyNames2.getElement(i)), options.getRegName2().c_str()); } nError++; } @@ -2201,7 +1875,10 @@ static sal_uInt32 checkDifferences( return nError; } -static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2) +static sal_uInt32 compareKeys( + Options_Impl const & options, + RegistryKey& key1, + RegistryKey& key2) { sal_uInt32 nError = 0; @@ -2209,16 +1886,17 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2) RegValueType valueType2 = RG_VALUETYPE_NOT_DEFINED; sal_uInt32 size1 = 0; sal_uInt32 size2 = 0; + OUString tmpName; RegError e1 = key1.getValueInfo(tmpName, &valueType1, &size1); RegError e2 = key2.getValueInfo(tmpName, &valueType2, &size2); - - if ( e1 == e2 && e1 != REG_VALUE_NOT_EXISTS && e1 != REG_INVALID_VALUE ) + if ( (e1 == e2) && (e1 != REG_VALUE_NOT_EXISTS) && (e1 != REG_INVALID_VALUE) ) { - nError += checkValueDifference(key1, valueType1, size1, key2, valueType2, size2); - } else + nError += checkValueDifference(options, key1, valueType1, size1, key2, valueType2, size2); + } + else { - if ( e1 != REG_INVALID_VALUE || e2 != REG_INVALID_VALUE ) + if ( (e1 != REG_INVALID_VALUE) || (e2 != REG_INVALID_VALUE) ) { if ( options.forceOutput() ) { @@ -2235,16 +1913,14 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2) key2.getKeyNames(tmpName, subKeyNames2); StringSet keys; - nError += checkDifferences(key1, keys, subKeyNames1, subKeyNames2); + nError += checkDifferences(options, key1, keys, subKeyNames1, subKeyNames2); StringSet::iterator iter = keys.begin(); StringSet::iterator end = keys.end(); - RegistryKey subKey1, subKey2; - OUString keyName; while ( iter != end ) { - keyName = OUString(*iter); + OUString keyName(*iter); if ( options.matchedWithExcludeKey(keyName) ) { ++iter; @@ -2253,30 +1929,33 @@ static sal_uInt32 compareKeys(RegistryKey& key1, RegistryKey& key2) sal_Int32 nPos = keyName.lastIndexOf( '/' ); keyName = keyName.copy( nPos != -1 ? nPos+1 : 0 ); + + RegistryKey subKey1; if ( key1.openKey(keyName, subKey1) ) { if ( options.forceOutput() ) { fprintf(stdout, "ERROR: could not open key \"%s\" in registry \"%s\"\n", - U2S(*iter), options.getRegName1().getStr()); + U2S(*iter), options.getRegName1().c_str()); } nError++; } + + RegistryKey subKey2; if ( key2.openKey(keyName, subKey2) ) { if ( options.forceOutput() ) { fprintf(stdout, "ERROR: could not open key \"%s\" in registry \"%s\"\n", - U2S(*iter), options.getRegName2().getStr()); + U2S(*iter), options.getRegName2().c_str()); } nError++; } + if ( subKey1.isValid() && subKey2.isValid() ) { - nError += compareKeys(subKey1, subKey2); + nError += compareKeys(options, subKey1, subKey2); } - subKey1.releaseKey(); - subKey2.releaseKey(); ++iter; } @@ -2289,93 +1968,107 @@ int main( int argc, char * argv[] ) int _cdecl main( int argc, char * argv[] ) #endif { - if ( !options.initOptions(argc, argv) ) + std::vector< std::string > args; + + Options_Impl options(argv[0]); + for (int i = 1; i < argc; i++) { - exit(1); + if (!Options::checkArgument(args, argv[i], strlen(argv[i]))) + { + // failure. + options.printUsage(); + return (1); + } + } + if (!options.initOptions(args)) + { + return (1); } - OUString regName1( convertToFileUrl(options.getRegName1()) ); - OUString regName2( convertToFileUrl(options.getRegName2()) ); + OUString regName1( convertToFileUrl(options.getRegName1().c_str(), options.getRegName1().size()) ); + OUString regName2( convertToFileUrl(options.getRegName2().c_str(), options.getRegName2().size()) ); - Registry reg1; - Registry reg2; - + Registry reg1, reg2; if ( reg1.open(regName1, REG_READONLY) ) { fprintf(stdout, "%s: open registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName1().getStr()); - exit(2); + options.getProgramName().c_str(), options.getRegName1().c_str()); + return (2); } if ( reg2.open(regName2, REG_READONLY) ) { fprintf(stdout, "%s: open registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName2().getStr()); - exit(3); + options.getProgramName().c_str(), options.getRegName2().c_str()); + return (3); } RegistryKey key1, key2; if ( reg1.openRootKey(key1) ) { fprintf(stdout, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName1().getStr()); - exit(4); + options.getProgramName().c_str(), options.getRegName1().c_str()); + return (4); } if ( reg2.openRootKey(key2) ) { fprintf(stdout, "%s: open root key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName2().getStr()); - exit(5); + options.getProgramName().c_str(), options.getRegName2().c_str()); + return (5); } + if ( options.isStartKeyValid() ) { - if ( options.matchedWithExcludeKey( S2U(options.getStartKey()) ) ) + if ( options.matchedWithExcludeKey( options.getStartKey() ) ) { fprintf(stdout, "%s: start key is equal to one of the exclude keys\n", - options.getProgramName().getStr()); - exit(6); + options.getProgramName().c_str()); + return (6); } RegistryKey sk1, sk2; - if ( key1.openKey(S2U(options.getStartKey()), sk1) ) + if ( key1.openKey(options.getStartKey(), sk1) ) { fprintf(stdout, "%s: open start key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName1().getStr()); - exit(7); + options.getProgramName().c_str(), options.getRegName1().c_str()); + return (7); } - if ( key2.openKey(S2U(options.getStartKey()), sk2) ) + if ( key2.openKey(options.getStartKey(), sk2) ) { fprintf(stdout, "%s: open start key of registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName2().getStr()); - exit(8); + options.getProgramName().c_str(), options.getRegName2().c_str()); + return (8); } key1 = sk1; key2 = sk2; } - sal_uInt32 nError = compareKeys(key1, key2); + sal_uInt32 nError = compareKeys(options, key1, key2); if ( nError ) { if ( options.unoTypeCheck() ) { fprintf(stdout, "%s: registries are incompatible: %lu differences!\n", - options.getProgramName().getStr(), + options.getProgramName().c_str(), sal::static_int_cast< unsigned long >(nError)); - } else + } + else { fprintf(stdout, "%s: registries contain %lu differences!\n", - options.getProgramName().getStr(), + options.getProgramName().c_str(), sal::static_int_cast< unsigned long >(nError)); } - } else + } + else { if ( options.unoTypeCheck() ) { fprintf(stdout, "%s: registries are compatible!\n", - options.getProgramName().getStr()); - } else + options.getProgramName().c_str()); + } + else { fprintf(stdout, "%s: registries are equal!\n", - options.getProgramName().getStr()); + options.getProgramName().c_str()); } } @@ -2384,18 +2077,17 @@ int _cdecl main( int argc, char * argv[] ) if ( reg1.close() ) { fprintf(stdout, "%s: closing registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName1().getStr()); - exit(9); + options.getProgramName().c_str(), options.getRegName1().c_str()); + return (9); } if ( reg2.close() ) { fprintf(stdout, "%s: closing registry \"%s\" failed\n", - options.getProgramName().getStr(), options.getRegName2().getStr()); - exit(10); + options.getProgramName().c_str(), options.getRegName2().c_str()); + return (10); } - return nError > 0 ? 11 : 0; + return ((nError > 0) ? 11 : 0); } - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file diff --git a/registry/tools/regmerge.cxx b/registry/tools/regmerge.cxx index c95ee72c5..b947f3938 100644 --- a/registry/tools/regmerge.cxx +++ b/registry/tools/regmerge.cxx @@ -29,70 +29,35 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_registry.hxx" -#include <stdio.h> -#include <string.h> - #include "registry/registry.hxx" -#include <rtl/ustring.hxx> -#include <rtl/alloc.h> -#include <osl/process.h> -#include <osl/diagnose.h> -#include <osl/thread.h> -#include <osl/file.hxx> +#include "fileurl.hxx" +#include "options.hxx" -#ifdef SAL_UNX -#define SEPARATOR '/' -#else -#define SEPARATOR '\\' -#endif +#include "rtl/ustring.hxx" +#include "osl/diagnose.h" -using namespace ::rtl; -using namespace ::osl; +#include <stdio.h> +#include <string.h> -sal_Bool isFileUrl(const OString& fileName) -{ - if (fileName.indexOf("file://") == 0 ) - return sal_True; - return sal_False; -} +using namespace rtl; +using namespace registry::tools; -OUString convertToFileUrl(const OString& fileName) +class Options_Impl : public Options { - if ( isFileUrl(fileName) ) - { - return OStringToOUString(fileName, osl_getThreadTextEncoding()); - } - - OUString uUrlFileName; - OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding()); - if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 ) - { - OUString uWorkingDir; - if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) - { - OSL_ASSERT(false); - } - if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } else - { - if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } + bool m_bVerbose; - return uUrlFileName; -} +public: + explicit Options_Impl (char const * program) + : Options(program), m_bVerbose(false) + {} + bool isVerbose() const { return m_bVerbose; } -int realargc; -char* realargv[2048]; +protected: + virtual void printUsage_Impl() const; + virtual bool initOptions_Impl(std::vector< std::string > & rArgs); +}; -static void dumpHelp() +void Options_Impl::printUsage_Impl() const { fprintf(stderr, "using: regmerge [-v|--verbose] mergefile mergeKeyName regfile_1 ... regfile_n\n"); fprintf(stderr, " regmerge @regcmds\nOptions:\n"); @@ -104,100 +69,28 @@ static void dumpHelp() fprintf(stderr, " regfile_1..n : specifies one or more registry files which are merged.\n"); } -static bool checkCommandFile(char* cmdfile) +bool Options_Impl::initOptions_Impl (std::vector< std::string > & rArgs) { - FILE *commandfile; - char option[256]; - bool bVerbose = false; - - commandfile = fopen(cmdfile+1, "r"); - if( commandfile == NULL ) + std::vector< std::string >::iterator first = rArgs.begin(), last = rArgs.end(); + if ((first != last) && ((*first)[0] == '-')) { - fprintf(stderr, "ERROR: Can't open command file \"%s\"\n", cmdfile); - } else - { - while ( fscanf(commandfile, "%s", option) != EOF ) + std::string option(*first); + if ((option.compare("-v") == 0) || (option.compare("--verbose") == 0)) { - if (option[0]== '@') - { - bool bRet = checkCommandFile(option); - // ensure that the option will not be overwritten - if ( !bRet ) - bVerbose = bRet; - } else { - if (option[0]== '-') { - if (strncmp(option, "-v", 2) == 0 || - strncmp(option, "--verbose", 9) == 0) - { - bVerbose = true; - } else { - fprintf(stderr, "ERROR: unknown option \"%s\"\n", option); - dumpHelp(); - exit(-1); - } - }else - { - realargv[realargc]= strdup(option); - realargc++; - } - } - if (realargc == 2047) - { - fprintf(stderr, "ERROR: more than 2048 arguments.\n"); - break; - } + m_bVerbose = true; } - fclose(commandfile); - } - - return bVerbose; -} - -static bool checkCommandArgs(int argc, char **argv) -{ - bool bVerbose = false; - - realargc = 0; - - for (int i=0; i<argc; i++) - { - if (argv[i][0]== '@') + else if ((option.compare("-h") == 0) || (option.compare("-?") == 0)) { - bool bRet = checkCommandFile(argv[i]); - // ensure that the option will not be overwritten - if ( !bRet ) - bVerbose = bRet; - } else { - if (argv[i][0]== '-') { - if (strncmp(argv[i], "-v", 2) == 0 || - strncmp(argv[i], "--verbose", 9) == 0) - { - bVerbose = true; - } else { - fprintf(stderr, "ERROR: unknown option \"%s\"\n", argv[i]); - dumpHelp(); - exit(-1); - } - } else - { - realargv[realargc]= strdup(argv[i]); - realargc++; - } + return printUsage(); } + else + { + return badOption("unknown", option.c_str()); + } + (void) rArgs.erase(first); } - - return bVerbose; -} - -static void cleanCommandArgs() -{ - for (int i=0; i<realargc; i++) - { - free(realargv[i]); - } -} - - + return true; +} #if (defined UNX) || (defined OS2) int main( int argc, char * argv[] ) @@ -205,80 +98,85 @@ int main( int argc, char * argv[] ) int _cdecl main( int argc, char * argv[] ) #endif { - bool bVerbose = checkCommandArgs(argc, argv); + Options_Impl options(argv[0]); - if (realargc < 4) + std::vector< std::string > args; + for (int i = 1; i < argc; i++) { - dumpHelp(); - cleanCommandArgs(); - exit(1); + if (!Options::checkArgument(args, argv[i], strlen(argv[i]))) + { + options.printUsage(); + return (1); + } + } + if (!options.initOptions(args)) + { + return (1); + } + if (args.size() < 3) + { + options.printUsage(); + return (1); } - - ::rtl::OUString regName( convertToFileUrl(realargv[1]) ); Registry reg; + OUString regName( convertToFileUrl(args[0].c_str(), args[0].size()) ); if (reg.open(regName, REG_READWRITE) != REG_NO_ERROR) { if (reg.create(regName) != REG_NO_ERROR) { - if (bVerbose) - fprintf(stderr, "open registry \"%s\" failed\n", realargv[1]); - cleanCommandArgs(); - exit(-1); + if (options.isVerbose()) + fprintf(stderr, "open registry \"%s\" failed\n", args[0].c_str()); + return (-1); } } RegistryKey rootKey; - if (reg.openRootKey(rootKey) == REG_NO_ERROR) + if (reg.openRootKey(rootKey) != REG_NO_ERROR) { - ::rtl::OUString mergeKeyName( ::rtl::OUString::createFromAscii(realargv[2]) ); - ::rtl::OUString targetRegName; - for (int i = 3; i < realargc; i++) + if (options.isVerbose()) + fprintf(stderr, "open root key of registry \"%s\" failed\n", args[0].c_str()); + return (-4); + } + + OUString mergeKeyName( OUString::createFromAscii(args[1].c_str()) ); + for (size_t i = 2; i < args.size(); i++) + { + OUString targetRegName( convertToFileUrl(args[i].c_str(), args[i].size()) ); + RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, options.isVerbose()); + if (_ret != REG_NO_ERROR) { - targetRegName = convertToFileUrl(realargv[i]); - RegError _ret = reg.mergeKey(rootKey, mergeKeyName, targetRegName, sal_False, bVerbose); - if (_ret != REG_NO_ERROR) - { - if (_ret == REG_MERGE_CONFLICT) - { - if (bVerbose) - fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n", - realargv[i], realargv[2], realargv[1]); - } else - { - if (bVerbose) - fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n", - realargv[i], realargv[2], realargv[1]); - exit(-2); - } - } else + if (_ret == REG_MERGE_CONFLICT) { - if (bVerbose) + if (options.isVerbose()) fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n", - realargv[i], realargv[2], realargv[1]); + args[i].c_str(), args[1].c_str(), args[0].c_str()); + } + else + { + if (options.isVerbose()) + fprintf(stderr, "ERROR: merging registry \"%s\" under key \"%s\" in registry \"%s\" failed.\n", + args[i].c_str(), args[1].c_str(), args[0].c_str()); + return (-2); } } - - rootKey.releaseKey(); - } else - { - if (bVerbose) - fprintf(stderr, "open root key of registry \"%s\" failed\n", - realargv[1]); - exit(-4); + else + { + if (options.isVerbose()) + fprintf(stderr, "merging registry \"%s\" under key \"%s\" in registry \"%s\".\n", + args[i].c_str(), args[1].c_str(), args[0].c_str()); + } } + rootKey.releaseKey(); if (reg.close() != REG_NO_ERROR) { - if (bVerbose) - fprintf(stderr, "closing registry \"%s\" failed\n", realargv[1]); - cleanCommandArgs(); - exit(-5); + if (options.isVerbose()) + fprintf(stderr, "closing registry \"%s\" failed\n", args[0].c_str()); + return (-5); } - cleanCommandArgs(); return(0); } - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file diff --git a/registry/tools/regview.cxx b/registry/tools/regview.cxx index d46c2fa76..7c6b24968 100644 --- a/registry/tools/regview.cxx +++ b/registry/tools/regview.cxx @@ -29,65 +29,16 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_registry.hxx" -#include <stdio.h> - #include "registry/registry.h" -#include <rtl/ustring.hxx> -#include <rtl/alloc.h> -#include <osl/process.h> -#include <osl/diagnose.h> -#include <osl/thread.h> -#include <osl/file.hxx> - -#ifdef SAL_UNX -#define SEPARATOR '/' -#else -#define SEPARATOR '\\' -#endif - -using namespace ::rtl; -using namespace ::osl; - -sal_Bool isFileUrl(const OString& fileName) -{ - if (fileName.indexOf("file://") == 0 ) - return sal_True; - return sal_False; -} +#include "fileurl.hxx" -OUString convertToFileUrl(const OString& fileName) -{ - if ( isFileUrl(fileName) ) - { - return OStringToOUString(fileName, osl_getThreadTextEncoding()); - } +#include "rtl/ustring.hxx" - OUString uUrlFileName; - OUString uFileName(fileName.getStr(), fileName.getLength(), osl_getThreadTextEncoding()); - if ( fileName.indexOf('.') == 0 || fileName.indexOf(SEPARATOR) < 0 ) - { - OUString uWorkingDir; - if (osl_getProcessWorkingDir(&uWorkingDir.pData) != osl_Process_E_None) - { - OSL_ASSERT(false); - } - if (FileBase::getAbsoluteFileURL(uWorkingDir, uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } else - { - if (FileBase::getFileURLFromSystemPath(uFileName, uUrlFileName) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - } - - return uUrlFileName; -} +#include <stdio.h> +#include <string.h> +using rtl::OUString; +using namespace registry::tools; #if (defined UNX) || (defined OS2) int main( int argc, char * argv[] ) @@ -104,7 +55,7 @@ int _cdecl main( int argc, char * argv[] ) exit(1); } - OUString regName( convertToFileUrl(argv[1]) ); + OUString regName( convertToFileUrl(argv[1], strlen(argv[1])) ); if (reg_openRegistry(regName.pData, &hReg, REG_READONLY)) { fprintf(stderr, "open registry \"%s\" failed\n", argv[1]); @@ -128,12 +79,14 @@ int _cdecl main( int argc, char * argv[] ) fprintf(stderr, "closing key \"%s\" of registry \"%s\" failed\n", argv[2], argv[1]); } - } else + } + else { fprintf(stderr, "key \"%s\" not exists in registry \"%s\"\n", argv[2], argv[1]); } - } else + } + else { if (reg_dumpRegistry(hRootKey)) { @@ -145,7 +98,8 @@ int _cdecl main( int argc, char * argv[] ) { fprintf(stderr, "closing root key of registry \"%s\" failed\n", argv[1]); } - } else + } + else { fprintf(stderr, "open root key of registry \"%s\" failed\n", argv[1]); } diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx index 87d250114..dd3d72429 100644 --- a/sal/cppunittester/cppunittester.cxx +++ b/sal/cppunittester/cppunittester.cxx @@ -29,13 +29,27 @@ #include "precompiled_sal.hxx" #include "sal/config.h" -#include <cstdlib> -#include <iostream> - #ifdef WNT #include <windows.h> #endif +#include <cstdlib> +#include <iostream> +#include <limits> +#include <string> + +#include "cppunittester/protectorfactory.hxx" +#include "osl/module.h" +#include "osl/module.hxx" +#include "osl/thread.h" +#include "rtl/process.h" +#include "rtl/string.h" +#include "rtl/string.hxx" +#include "rtl/textcvt.h" +#include "rtl/ustring.hxx" +#include "sal/main.h" +#include "sal/types.h" + #include "cppunit/CompilerOutputter.h" #include "cppunit/TestResult.h" #include "cppunit/TestResultCollector.h" @@ -43,15 +57,36 @@ #include "cppunit/extensions/TestFactoryRegistry.h" #include "cppunit/plugin/PlugInManager.h" #include "cppunit/portability/Stream.h" -#include "osl/thread.h" -#include "rtl/process.h" -#include "rtl/string.hxx" -#include "rtl/ustring.hxx" -#include "sal/main.h" -SAL_IMPLEMENT_MAIN() -{ +namespace { + +void usageFailure() { + std::cerr + << ("Usage: cppunittester (--protector <shared-library-path>" + " <function-symbol>)* <shared-library-path>") + << std::endl; + std::exit(EXIT_FAILURE); +} + +rtl::OUString getArgument(sal_Int32 index) { + rtl::OUString arg; + rtl_getAppCommandArg(index, &arg.pData); + return arg; +} + +std::string convertLazy(rtl::OUString const & s16) { + rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding())); + return std::string( + s8.getStr(), + ((static_cast< sal_uInt32 >(s8.getLength()) + > std::numeric_limits< std::string::size_type >::max()) + ? std::numeric_limits< std::string::size_type >::max() + : static_cast< std::string::size_type >(s8.getLength()))); +} +} + +SAL_IMPLEMENT_MAIN() { #ifdef WNT //Disable Dr-Watson in order to crash simply without popup dialogs under //windows @@ -59,31 +94,55 @@ SAL_IMPLEMENT_MAIN() SetErrorMode(SEM_NOGPFAULTERRORBOX|dwMode); #endif - sal_uInt32 nCommandArgs = rtl_getAppCommandArgCount(); - if (nCommandArgs < 1) - { - std::cerr << "Usage: cppunittester <shared-library-path>" << std::endl; - return EXIT_FAILURE; + CppUnit::TestResult result; + sal_uInt32 index = 0; + for (; index < rtl_getAppCommandArgCount(); index += 3) { + if (!getArgument(index).equalsAsciiL( + RTL_CONSTASCII_STRINGPARAM("--protector"))) + { + break; + } + if (rtl_getAppCommandArgCount() - index < 3) { + usageFailure(); + } + rtl::OUString lib(getArgument(index + 1)); + rtl::OUString sym(getArgument(index + 2)); + oslGenericFunction fn = (new osl::Module(lib, SAL_LOADMODULE_GLOBAL)) + ->getFunctionSymbol(sym); + CppUnit::Protector * p = fn == 0 + ? 0 + : (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))(); + if (p == 0) { + std::cerr + << "Failure instantiating protector \"" << convertLazy(lib) + << "\", \"" << convertLazy(sym) << '"' << std::endl; + std::exit(EXIT_FAILURE); + } + result.pushProtector(p); + } + if (rtl_getAppCommandArgCount() - index < 1) { + usageFailure(); } + std::string testlib; { rtl::OUString path; - rtl_getAppCommandArg(0, &path.pData); + rtl_getAppCommandArg(index, &path.pData); testlib = rtl::OUStringToOString(path, osl_getThreadTextEncoding()).getStr(); } std::string args = testlib; - for (sal_uInt32 i = 1; i < nCommandArgs; ++i) + for (sal_uInt32 i = index + 1; i < rtl_getAppCommandArgCount(); ++i) { rtl::OUString arg; rtl_getAppCommandArg(i, &arg.pData); args += ' '; args += rtl::OUStringToOString(arg, osl_getThreadTextEncoding()).getStr(); } + CppUnit::PlugInManager manager; manager.load(testlib, args); CppUnit::TestRunner runner; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - CppUnit::TestResult result; CppUnit::TestResultCollector collector; result.addListener(&collector); runner.run(result); diff --git a/sal/inc/cppunittester/protectorfactory.hxx b/sal/inc/cppunittester/protectorfactory.hxx new file mode 100644 index 000000000..c309dbe8a --- /dev/null +++ b/sal/inc/cppunittester/protectorfactory.hxx @@ -0,0 +1,45 @@ +/************************************************************************* +* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2000, 2011 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 INCLUDED_CPPUNITTESTER_PROTECTORFACTORY_HXX +#define INCLUDED_CPPUNITTESTER_PROTECTORFACTORY_HXX + +#include "sal/config.h" + +#include "sal/types.h" + +namespace CppUnit { class Protector; } + +namespace cppunittester { + +// The type of CppUnit::Protector factory functions that can be plugged into +// cppunittester: +extern "C" typedef CppUnit::Protector * SAL_CALL ProtectorFactory(); + +} + +#endif diff --git a/sal/osl/os2/diagnose.c b/sal/osl/os2/diagnose.c index 06a338faf..6853ac9ad 100644 --- a/sal/osl/os2/diagnose.c +++ b/sal/osl/os2/diagnose.c @@ -125,7 +125,8 @@ sal_Bool SAL_CALL osl_assertFailedLine( const sal_Char* pszFileName, sal_Int32 n fputs(szMessage, stderr); - return sal_True; /* abort */ + char const * env = getenv( "SAL_DIAGNOSE_ABORT" ); + return ( ( env != NULL ) && ( *env != '\0' ) ); } /*----------------------------------------------------------------------------*/ diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c index f337bef10..30d15ad07 100644 --- a/sal/osl/unx/diagnose.c +++ b/sal/osl/unx/diagnose.c @@ -219,6 +219,11 @@ sal_Bool SAL_CALL osl_assertFailedLine ( oslDebugMessageFunc f = g_pDebugMessageFunc; char szMessage[1024]; + // after reporting the assertion, abort if told so by SAL_DIAGNOSE_ABORT, but *not* if + // assertions are routed to some external instance + char const * env = getenv( "SAL_DIAGNOSE_ABORT" ); + sal_Bool const doAbort = ( ( env != NULL ) && ( *env != '\0' ) && ( f == NULL ) ); + /* If there's a callback for detailed messages, use it */ if ( g_pDetailedDebugMessageFunc != NULL ) { @@ -228,7 +233,7 @@ sal_Bool SAL_CALL osl_assertFailedLine ( /* if SAL assertions are disabled in general, stop here */ if ( getenv("DISABLE_SAL_DBGBOX") ) - return sal_False; + return doAbort; /* format message into buffer */ if (pszMessage != 0) @@ -253,9 +258,10 @@ sal_Bool SAL_CALL osl_assertFailedLine ( /* output backtrace */ osl_diagnose_backtrace_Impl(f); - /* release lock and leave, w/o calling osl_breakDebug() */ + /* release lock and leave */ pthread_mutex_unlock(&g_mutex); - return sal_False; + + return doAbort; } /************************************************************************/ @@ -263,7 +269,7 @@ sal_Bool SAL_CALL osl_assertFailedLine ( /************************************************************************/ void SAL_CALL osl_breakDebug() { - exit(0); + abort(); } /************************************************************************/ @@ -310,4 +316,4 @@ void osl_trace(char const * pszFormat, ...) { va_end(args); } -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx index 1528f6da6..24f631115 100644 --- a/sal/osl/unx/file.cxx +++ b/sal/osl/unx/file.cxx @@ -216,7 +216,8 @@ FileHandle_Impl::Allocator::~Allocator() void FileHandle_Impl::Allocator::allocate (sal_uInt8 ** ppBuffer, size_t * pnSize) { OSL_PRECOND((0 != ppBuffer) && (0 != pnSize), "FileHandle_Impl::Allocator::allocate(): contract violation"); - *ppBuffer = static_cast< sal_uInt8* >(rtl_cache_alloc(m_cache)), *pnSize = m_bufsiz; + if ((0 != ppBuffer) && (0 != pnSize)) + *ppBuffer = static_cast< sal_uInt8* >(rtl_cache_alloc(m_cache)), *pnSize = m_bufsiz; } void FileHandle_Impl::Allocator::deallocate (sal_uInt8 * pBuffer) { diff --git a/sal/osl/unx/file_misc.cxx b/sal/osl/unx/file_misc.cxx index 44a964273..eb7b94a3c 100644 --- a/sal/osl/unx/file_misc.cxx +++ b/sal/osl/unx/file_misc.cxx @@ -325,10 +325,8 @@ oslFileError SAL_CALL osl_getDirectoryItem( rtl_uString* ustrFileURL, oslDirecto rtl_uString* ustrSystemPath = NULL; oslFileError osl_error = osl_File_E_INVAL; - OSL_ASSERT(ustrFileURL); - OSL_ASSERT(pItem); - - if (0 == ustrFileURL->length || NULL == pItem) + OSL_ASSERT((0 != ustrFileURL) && (0 != pItem)); + if ((0 == ustrFileURL) || (0 == ustrFileURL->length) || (0 == pItem)) return osl_File_E_INVAL; osl_error = osl_getSystemPathFromFileURL_Ex(ustrFileURL, &ustrSystemPath, sal_False); diff --git a/sal/osl/unx/file_path_helper.cxx b/sal/osl/unx/file_path_helper.cxx index 5e581d3de..578b205a6 100644 --- a/sal/osl/unx/file_path_helper.cxx +++ b/sal/osl/unx/file_path_helper.cxx @@ -74,19 +74,21 @@ void SAL_CALL osl_systemPathRemoveSeparator(rtl_uString* pustrPath) { - OSL_PRECOND(pustrPath, "osl_systemPathRemoveSeparator: Invalid parameter"); - - // maybe there are more than one separator at end - // so we run in a loop - while ((pustrPath->length > 1) && (FPH_CHAR_PATH_SEPARATOR == pustrPath->buffer[pustrPath->length - 1])) + OSL_PRECOND(0 != pustrPath, "osl_systemPathRemoveSeparator: Invalid parameter"); + if (0 != pustrPath) { - pustrPath->length--; - pustrPath->buffer[pustrPath->length] = (sal_Unicode)'\0'; - } + // maybe there are more than one separator at end + // so we run in a loop + while ((pustrPath->length > 1) && (FPH_CHAR_PATH_SEPARATOR == pustrPath->buffer[pustrPath->length - 1])) + { + pustrPath->length--; + pustrPath->buffer[pustrPath->length] = (sal_Unicode)'\0'; + } - OSL_POSTCOND((0 == pustrPath->length) || (1 == pustrPath->length) || \ - (pustrPath->length > 1 && pustrPath->buffer[pustrPath->length - 1] != FPH_CHAR_PATH_SEPARATOR), \ - "osl_systemPathRemoveSeparator: Post condition failed"); + OSL_POSTCOND((0 == pustrPath->length) || (1 == pustrPath->length) || \ + (pustrPath->length > 1 && pustrPath->buffer[pustrPath->length - 1] != FPH_CHAR_PATH_SEPARATOR), \ + "osl_systemPathRemoveSeparator: Post condition failed"); + } } /******************************************* @@ -95,21 +97,22 @@ void SAL_CALL osl_systemPathEnsureSeparator(rtl_uString** ppustrPath) { - OSL_PRECOND(ppustrPath && (NULL != *ppustrPath), \ - "osl_systemPathEnsureSeparator: Invalid parameter"); + OSL_PRECOND((0 != ppustrPath) && (0 != *ppustrPath), "osl_systemPathEnsureSeparator: Invalid parameter"); + if ((0 != ppustrPath) && (0 != *ppustrPath)) + { + rtl::OUString path(*ppustrPath); + sal_Int32 lp = path.getLength(); + sal_Int32 i = path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR); - rtl::OUString path(*ppustrPath); - sal_Int32 lp = path.getLength(); - sal_Int32 i = path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR); - - if ((lp > 1 && i != (lp - 1)) || ((lp < 2) && i < 0)) - { - path += FPH_PATH_SEPARATOR(); - rtl_uString_assign(ppustrPath, path.pData); - } + if ((lp > 1 && i != (lp - 1)) || ((lp < 2) && i < 0)) + { + path += FPH_PATH_SEPARATOR(); + rtl_uString_assign(ppustrPath, path.pData); + } - OSL_POSTCOND(path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR) == (path.getLength() - 1), \ - "osl_systemPathEnsureSeparator: Post condition failed"); + OSL_POSTCOND(path.lastIndexOf(FPH_CHAR_PATH_SEPARATOR) == (path.getLength() - 1), \ + "osl_systemPathEnsureSeparator: Post condition failed"); + } } /******************************************* @@ -118,8 +121,8 @@ sal_Bool SAL_CALL osl_systemPathIsRelativePath(const rtl_uString* pustrPath) { - OSL_PRECOND(pustrPath, "osl_systemPathIsRelativePath: Invalid parameter"); - return ((0 == pustrPath->length) || (pustrPath->buffer[0] != FPH_CHAR_PATH_SEPARATOR)); + OSL_PRECOND(0 != pustrPath, "osl_systemPathIsRelativePath: Invalid parameter"); + return ((0 == pustrPath) || (0 == pustrPath->length) || (pustrPath->buffer[0] != FPH_CHAR_PATH_SEPARATOR)); } /****************************************** @@ -178,21 +181,16 @@ sal_Bool SAL_CALL osl_systemPathIsHiddenFileOrDirectoryEntry( const rtl_uString* pustrPath) { - OSL_PRECOND(pustrPath, "osl_systemPathIsHiddenFileOrDirectoryEntry: Invalid parameter"); + OSL_PRECOND(0 != pustrPath, "osl_systemPathIsHiddenFileOrDirectoryEntry: Invalid parameter"); + if ((0 == pustrPath) || (0 == pustrPath->length)) + return sal_False; - sal_Bool is_hidden = sal_False; - - if (pustrPath->length > 0) - { - rtl::OUString fdp; - - osl_systemPathGetFileNameOrLastDirectoryPart(pustrPath, &fdp.pData); + rtl::OUString fdp; + osl_systemPathGetFileNameOrLastDirectoryPart(pustrPath, &fdp.pData); - is_hidden = ((fdp.pData->length > 0) && (fdp.pData->buffer[0] == FPH_CHAR_DOT) && - !osl_systemPathIsLocalOrParentDirectoryEntry(fdp.pData)); - } - - return is_hidden; + return ((fdp.pData->length > 0) && + (fdp.pData->buffer[0] == FPH_CHAR_DOT) && + !osl_systemPathIsLocalOrParentDirectoryEntry(fdp.pData)); } diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx index 3f0214cd5..caa19f0fe 100644 --- a/sal/osl/unx/process_impl.cxx +++ b/sal/osl/unx/process_impl.cxx @@ -480,17 +480,20 @@ extern "C" int _imp_setProcessLocale( rtl_Locale * ); *********************************************/ oslProcessError SAL_CALL osl_getProcessLocale( rtl_Locale ** ppLocale ) { + oslProcessError result = osl_Process_E_Unknown; OSL_PRECOND(ppLocale, "osl_getProcessLocale(): Invalid parameter."); + if (ppLocale) + { + pthread_mutex_lock(&(g_process_locale.m_mutex)); - pthread_mutex_lock(&(g_process_locale.m_mutex)); - - if (g_process_locale.m_pLocale == 0) - _imp_getProcessLocale (&(g_process_locale.m_pLocale)); - *ppLocale = g_process_locale.m_pLocale; - - pthread_mutex_unlock (&(g_process_locale.m_mutex)); + if (g_process_locale.m_pLocale == 0) + _imp_getProcessLocale (&(g_process_locale.m_pLocale)); + *ppLocale = g_process_locale.m_pLocale; + result = osl_Process_E_None; - return (osl_Process_E_None); + pthread_mutex_unlock (&(g_process_locale.m_mutex)); + } + return (result); } /********************************************** diff --git a/sal/osl/unx/profile.c b/sal/osl/unx/profile.c index d3c51fb26..7c7b04cc4 100644 --- a/sal/osl/unx/profile.c +++ b/sal/osl/unx/profile.c @@ -513,7 +513,6 @@ sal_Bool SAL_CALL osl_readProfileString(oslProfile Profile, if ( pTmpProfile->m_bIsValid == sal_False ) { - OSL_ASSERT(pProfile->m_bIsValid); pthread_mutex_unlock(&(pTmpProfile->m_AccessLock)); #ifdef TRACE_OSL_PROFILE OSL_TRACE("Out osl_readProfileString [not valid]\n"); diff --git a/sal/osl/unx/socket.c b/sal/osl/unx/socket.c index 74abe947f..3f317791f 100644 --- a/sal/osl/unx/socket.c +++ b/sal/osl/unx/socket.c @@ -1104,7 +1104,6 @@ oslHostAddr SAL_CALL osl_createHostAddr ( rtl_string_release(strHostname); } - return HostAddr; } @@ -1128,7 +1127,7 @@ oslHostAddr SAL_CALL osl_psz_createHostAddr ( pHostAddr= (oslHostAddr) malloc(sizeof(struct oslHostAddrImpl)); OSL_ASSERT(pHostAddr); - if (pAddr == NULL) + if (pHostAddr == NULL) { free (cn); return ((oslHostAddr)NULL); @@ -2360,7 +2359,10 @@ sal_Bool __osl_socket_poll ( int timeout; int result; - OSL_ASSERT(pSocket); + OSL_ASSERT(0 != pSocket); + if (0 == pSocket) + return sal_False; /* EINVAL */ + pSocket->m_nLastError = 0; fds.fd = pSocket->m_Socket; @@ -2403,7 +2405,10 @@ sal_Bool __osl_socket_poll ( struct timeval tv; int result; - OSL_ASSERT(pSocket); + OSL_ASSERT(0 != pSocket); + if (0 == pSocket) + return sal_False; /* EINVAL */ + pSocket->m_nLastError = 0; FD_ZERO(&fds); diff --git a/sal/osl/w32/diagnose.c b/sal/osl/w32/diagnose.c index 563c8a792..93240e084 100755 --- a/sal/osl/w32/diagnose.c +++ b/sal/osl/w32/diagnose.c @@ -93,6 +93,7 @@ sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nL /* get app name or NULL if unknown (don't call assert) */ LPCSTR lpszAppName = "Error"; sal_Char szMessage[512]; + char const * env = getenv( "SAL_DIAGNOSE_ABORT" ); /* format message into buffer */ szMessage[sizeof(szMessage)-1] = '\0'; /* zero terminate always */ @@ -105,40 +106,45 @@ sal_Bool SAL_CALL osl_assertFailedLine(const sal_Char* pszFileName, sal_Int32 nL _pPrintDetailedDebugMessage( pszFileName, nLine, pszMessage ); else if ( _pPrintDebugMessage ) _pPrintDebugMessage( szMessage ); - else if ( !getenv( "DISABLE_SAL_DBGBOX" ) ) + else { - TCHAR szBoxMessage[1024]; - int nCode; - - /* active popup window for the current thread */ - hWndParent = GetActiveWindow(); - if (hWndParent != NULL) - hWndParent = GetLastActivePopup(hWndParent); - - /* set message box flags */ - nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND; - if (hWndParent == NULL) - nFlags |= MB_SERVICE_NOTIFICATION; - - /* display the assert */ - - szBoxMessage[sizeof(szBoxMessage)-1] = 0; - _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )", - szMessage); - - nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags); - - if (nCode == IDYES) - FatalExit(-1); - - if (nCode == IDNO) - return sal_False; /* ignore */ - - if (nCode == IDCANCEL) - return sal_True; /* will cause oslDebugBreak */ + if ( !getenv( "DISABLE_SAL_DBGBOX" ) ) + { + TCHAR szBoxMessage[1024]; + int nCode; + + /* active popup window for the current thread */ + hWndParent = GetActiveWindow(); + if (hWndParent != NULL) + hWndParent = GetLastActivePopup(hWndParent); + + /* set message box flags */ + nFlags = MB_TASKMODAL | MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON2 | MB_SETFOREGROUND; + if (hWndParent == NULL) + nFlags |= MB_SERVICE_NOTIFICATION; + + /* display the assert */ + + szBoxMessage[sizeof(szBoxMessage)-1] = 0; + _snprintf(szBoxMessage, sizeof(szBoxMessage)-1, "%s\n( Yes=Abort / No=Ignore / Cancel=Debugger )", + szMessage); + + nCode = MessageBox(hWndParent, szBoxMessage, "Assertion Failed!", nFlags); + + if (nCode == IDYES) + FatalExit(-1); + + if (nCode == IDNO) + return sal_False; /* ignore */ + + if (nCode == IDCANCEL) + return sal_True; /* will cause oslDebugBreak */ + } + return ( ( env != NULL ) && ( *env != '\0' ) ); } + + return sal_False; #endif /* NO_DEBUG_CRT */ - return sal_False; /* not sure, don't care */ } sal_Int32 SAL_CALL osl_reportError(sal_uInt32 nType, const sal_Char* pszMessage) diff --git a/sal/osl/w32/file_dirvol.cxx b/sal/osl/w32/file_dirvol.cxx index ac9424242..3e3b03a43 100644 --- a/sal/osl/w32/file_dirvol.cxx +++ b/sal/osl/w32/file_dirvol.cxx @@ -155,7 +155,7 @@ namespace /* private */ void parse_UNC_path(const sal_Unicode* path, UNCComponents* puncc) { OSL_PRECOND(is_UNC_path(path), "Precondition violated: No UNC path"); - OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) != -1, "Path must not contain slashes"); + OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) == -1, "Path must not contain slashes"); const sal_Unicode* pend = path + rtl_ustr_getLength(path); const sal_Unicode* ppos = path + 2; diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx index 1c3513524..c7ce220e6 100644..100755 --- a/sal/osl/w32/module.cxx +++ b/sal/osl/w32/module.cxx @@ -37,6 +37,7 @@ #include <osl/thread.h> #include <osl/file.h> #include <rtl/logfile.h> +#include <vector> /* under WIN32, we use the void* oslModule @@ -66,10 +67,32 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 /*nRtldM rtl_uString_assign(&Module, strModuleName); hInstance = LoadLibraryW(reinterpret_cast<LPCWSTR>(Module->buffer)); + if (hInstance == NULL) hInstance = LoadLibraryExW(reinterpret_cast<LPCWSTR>(Module->buffer), NULL, LOAD_WITH_ALTERED_SEARCH_PATH); + //In case of long path names (\\?\c:\...) try to shorten the filename. + //LoadLibrary cannot handle file names which exceed 260 letters. + //In case the path is to long, the function will fail. However, the error + //code can be different. For example, it returned ERROR_FILENAME_EXCED_RANGE + //on Windows XP and ERROR_INSUFFICIENT_BUFFER on Windows 7 (64bit) + if (hInstance == NULL && Module->length > 260) + { + std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(Module->length + 1); + DWORD len = GetShortPathNameW(reinterpret_cast<LPCWSTR>(Module->buffer), + &vec[0], Module->length + 1); + if (len ) + { + hInstance = LoadLibraryW(&vec[0]); + + if (hInstance == NULL) + hInstance = LoadLibraryExW(&vec[0], NULL, + LOAD_WITH_ALTERED_SEARCH_PATH); + } + } + + if (hInstance <= (HINSTANCE)HINSTANCE_ERROR) hInstance = 0; diff --git a/sal/osl/w32/procimpl.cxx b/sal/osl/w32/procimpl.cxx index e5ba9e019..7cb21108b 100644..100755 --- a/sal/osl/w32/procimpl.cxx +++ b/sal/osl/w32/procimpl.cxx @@ -300,7 +300,40 @@ namespace /* private */ return quoted.makeStringAndClear(); } - + + //The parameter path must be a system path. If it is longer than 260 characters + //then it is shortened using the GetShortPathName function. This function only + //works if the path exists. Because "path" can be the path to an executable, it + //may not have the file extension ".exe". However, if the file on disk has the + //".exe" extension, then the function will fail. In this case a second attempt + //is started by adding the parameter "extension" to "path". + rtl::OUString getShortPath(rtl::OUString const & path, rtl::OUString const & extension) + { + rtl::OUString ret(path); + if (path.getLength() > 260) + { + std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec(path.getLength() + 1); + //GetShortPathNameW only works if the file can be found! + const DWORD len = GetShortPathNameW( + path.getStr(), &vec[0], path.getLength() + 1); + + if (!len && GetLastError() == ERROR_FILE_NOT_FOUND + && extension.getLength()) + { + const rtl::OUString extPath(path + extension); + std::vector<sal_Unicode, rtl::Allocator<sal_Unicode> > vec2( + extPath.getLength() + 1); + const DWORD len2 = GetShortPathNameW( + extPath.getStr(), &vec2[0], extPath.getLength() + 1); + ret = rtl::OUString(&vec2[0], len2); + } + else + { + ret = rtl::OUString(&vec[0], len); + } + } + return ret; + } //########################################################## // Returns the system path of the executable which can either // be provided via the strImageName parameter or as first @@ -326,9 +359,11 @@ namespace /* private */ rtl::OUString exe_path; if (osl_File_E_None != osl::FileBase::getSystemPathFromFileURL(exe_url, exe_path)) return rtl::OUString(); + + exe_path = getShortPath(exe_path, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".exe"))); if (exe_path.indexOf(' ') != -1) - exe_path = quote_string(exe_path); + exe_path = quote_string(exe_path); return exe_path; } diff --git a/sal/prj/d.lst b/sal/prj/d.lst index e685e590e..8891d15c4 100644 --- a/sal/prj/d.lst +++ b/sal/prj/d.lst @@ -1,11 +1,12 @@ mkdir: %_DEST%\bin%_EXT%\cppunit +mkdir: %_DEST%\inc%_EXT%\cppunittester mkdir: %_DEST%\inc%_EXT%\sal mkdir: %_DEST%\inc%_EXT%\osl mkdir: %_DEST%\inc%_EXT%\rtl mkdir: %_DEST%\inc%_EXT%\systools mkdir: %_DEST%\inc%_EXT%\systools\win32 -mkdir: %_DEST%\bin%_EXT%\cppunit +..\inc\cppunittester\protectorfactory.hxx %_DEST%\inc%_EXT%\protectorfactory.hxx ..\%__SRC%\inc\rtlbootstrap.mk %_DEST%\inc%_EXT%\rtlbootstrap.mk ..\inc\sal\*.h %_DEST%\inc%_EXT%\sal\*.h ..\%__SRC%\inc\sal\typesizes.h %_DEST%\inc%_EXT%\sal\typesizes.h diff --git a/sal/rtl/source/alloc_arena.c b/sal/rtl/source/alloc_arena.c index 6b0a27fa1..27ac970b0 100644 --- a/sal/rtl/source/alloc_arena.c +++ b/sal/rtl/source/alloc_arena.c @@ -29,22 +29,13 @@ #define _BSD_SOURCE /* sys/mman.h: MAP_ANON */ #include "alloc_arena.h" -#ifndef INCLUDED_RTL_ARENA_IMPL_H #include "alloc_impl.h" -#endif #include "internal/once.h" #include "sal/macros.h" #include "osl/diagnose.h" -#ifndef INCLUDED_STRING_H #include <string.h> -#endif - -#ifndef INCLUDED_STDIO_H #include <stdio.h> -#endif - -#include "sal/types.h" #ifdef OS2 #undef OSL_TRACE @@ -953,6 +944,7 @@ try_alloc: if (result != 0) { rtl_arena_type * arena = result; + VALGRIND_CREATE_MEMPOOL(arena, 0, 0); rtl_arena_constructor (arena); if (!source_arena) @@ -975,6 +967,7 @@ try_alloc: { rtl_arena_deactivate (arena); rtl_arena_destructor (arena); + VALGRIND_DESTROY_MEMPOOL(arena); rtl_arena_free (gp_arena_arena, arena, size); } } @@ -1000,6 +993,7 @@ SAL_CALL rtl_arena_destroy ( { rtl_arena_deactivate (arena); rtl_arena_destructor (arena); + VALGRIND_DESTROY_MEMPOOL(arena); rtl_arena_free (gp_arena_arena, arena, sizeof(rtl_arena_type)); } } @@ -1055,6 +1049,10 @@ SAL_CALL rtl_arena_alloc ( rtl_arena_hash_insert (arena, segment); + /* DEBUG ONLY: mark allocated, undefined */ + OSL_DEBUG_ONLY(memset((void*)(segment->m_addr), 0x77777777, segment->m_size)); + VALGRIND_MEMPOOL_ALLOC(arena, segment->m_addr, segment->m_size); + (*pSize) = segment->m_size; addr = (void*)(segment->m_addr); } @@ -1098,6 +1096,11 @@ SAL_CALL rtl_arena_free ( { rtl_arena_segment_type *next, *prev; + /* DEBUG ONLY: mark unallocated, undefined */ + VALGRIND_MEMPOOL_FREE(arena, segment->m_addr); + /* OSL_DEBUG_ONLY() */ VALGRIND_MAKE_MEM_UNDEFINED(segment->m_addr, segment->m_size); + OSL_DEBUG_ONLY(memset((void*)(segment->m_addr), 0x33333333, segment->m_size)); + /* coalesce w/ adjacent free segment(s) */ rtl_arena_segment_coalesce (arena, segment); @@ -1289,6 +1292,7 @@ rtl_arena_once_init (void) static rtl_arena_type g_machdep_arena; OSL_ASSERT(gp_machdep_arena == 0); + VALGRIND_CREATE_MEMPOOL(&g_machdep_arena, 0, 0); rtl_arena_constructor (&g_machdep_arena); gp_machdep_arena = rtl_arena_activate ( @@ -1305,6 +1309,7 @@ rtl_arena_once_init (void) static rtl_arena_type g_default_arena; OSL_ASSERT(gp_default_arena == 0); + VALGRIND_CREATE_MEMPOOL(&g_default_arena, 0, 0); rtl_arena_constructor (&g_default_arena); gp_default_arena = rtl_arena_activate ( @@ -1323,6 +1328,7 @@ rtl_arena_once_init (void) static rtl_arena_type g_arena_arena; OSL_ASSERT(gp_arena_arena == 0); + VALGRIND_CREATE_MEMPOOL(&g_arena_arena, 0, 0); rtl_arena_constructor (&g_arena_arena); gp_arena_arena = rtl_arena_activate ( @@ -1348,7 +1354,18 @@ rtl_arena_init (void) /* ================================================================= */ -#if defined(__GNUC__) +/* + Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 + + Mac OS X does not seem to support "__cxa__atexit", thus leading + to the situation that "__attribute__((destructor))__" functions + (in particular "rtl_{memory|cache|arena}_fini") become called + _before_ global C++ object d'tors. + + Delegated the call to "rtl_arena_fini()" into a dummy C++ object, + see alloc_fini.cxx . +*/ +#if defined(__GNUC__) && !defined(MACOSX) static void rtl_arena_fini (void) __attribute__((destructor)); #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) #pragma fini(rtl_arena_fini) diff --git a/sal/rtl/source/alloc_cache.c b/sal/rtl/source/alloc_cache.c index 42df973a4..a98e495ce 100644 --- a/sal/rtl/source/alloc_cache.c +++ b/sal/rtl/source/alloc_cache.c @@ -508,6 +508,10 @@ rtl_cache_slab_alloc ( addr = (void*)rtl_cache_hash_insert (cache, bufctl); else addr = bufctl; + + /* DEBUG ONLY: mark allocated, undefined */ + OSL_DEBUG_ONLY(memset(addr, 0x77777777, cache->m_type_size)); + VALGRIND_MEMPOOL_ALLOC(cache, addr, cache->m_type_size); } RTL_MEMORY_LOCK_RELEASE(&(cache->m_slab_lock)); @@ -530,6 +534,11 @@ rtl_cache_slab_free ( RTL_MEMORY_LOCK_ACQUIRE(&(cache->m_slab_lock)); + /* DEBUG ONLY: mark unallocated, undefined */ + VALGRIND_MEMPOOL_FREE(cache, addr); + /* OSL_DEBUG_ONLY() */ VALGRIND_MAKE_MEM_UNDEFINED(addr, cache->m_type_size); + OSL_DEBUG_ONLY(memset(addr, 0x33333333, cache->m_type_size)); + /* determine slab from addr */ if (cache->m_features & RTL_CACHE_FEATURE_HASH) { @@ -636,8 +645,13 @@ rtl_cache_magazine_clear ( void * obj = mag->m_objects[mag->m_mag_used - 1]; mag->m_objects[mag->m_mag_used - 1] = 0; + /* DEBUG ONLY: mark cached object allocated, undefined */ + VALGRIND_MEMPOOL_ALLOC(cache, obj, cache->m_type_size); if (cache->m_destructor != 0) { + /* DEBUG ONLY: keep constructed object defined */ + VALGRIND_MAKE_MEM_DEFINED(obj, cache->m_type_size); + /* destruct object */ (cache->m_destructor)(obj, cache->m_userarg); } @@ -966,11 +980,16 @@ rtl_cache_deactivate ( rtl_cache_type * cache ) { + int active = 1; + /* remove from cache list */ RTL_MEMORY_LOCK_ACQUIRE(&(g_cache_list.m_lock)); + active = QUEUE_STARTED_NAMED(cache, cache_) == 0; QUEUE_REMOVE_NAMED(cache, cache_); RTL_MEMORY_LOCK_RELEASE(&(g_cache_list.m_lock)); + OSL_PRECOND(active, "rtl_cache_deactivate(): orphaned cache."); + /* cleanup magazine layer */ if (cache->m_magazine_cache != 0) { @@ -1122,6 +1141,7 @@ try_alloc: if (result != 0) { rtl_cache_type * cache = result; + VALGRIND_CREATE_MEMPOOL(cache, 0, 0); (void) rtl_cache_constructor (cache); if (!source) @@ -1149,6 +1169,7 @@ try_alloc: /* activation failed */ rtl_cache_deactivate (cache); rtl_cache_destructor (cache); + VALGRIND_DESTROY_MEMPOOL(cache); rtl_arena_free (gp_cache_arena, cache, size); } } @@ -1173,6 +1194,7 @@ void SAL_CALL rtl_cache_destroy ( { rtl_cache_deactivate (cache); rtl_cache_destructor (cache); + VALGRIND_DESTROY_MEMPOOL(cache); rtl_arena_free (gp_cache_arena, cache, sizeof(rtl_cache_type)); } } @@ -1201,6 +1223,14 @@ SAL_CALL rtl_cache_alloc ( if ((curr != 0) && (curr->m_mag_used > 0)) { obj = curr->m_objects[--curr->m_mag_used]; +#if defined(HAVE_VALGRIND_MEMCHECK_H) + VALGRIND_MEMPOOL_ALLOC(cache, obj, cache->m_type_size); + if (cache->m_constructor != 0) + { + /* keep constructed object defined */ + VALGRIND_MAKE_MEM_DEFINED(obj, cache->m_type_size); + } +#endif /* HAVE_VALGRIND_MEMCHECK_H */ cache->m_cpu_stats.m_alloc += 1; RTL_MEMORY_LOCK_RELEASE(&(cache->m_depot_lock)); @@ -1243,7 +1273,6 @@ SAL_CALL rtl_cache_alloc ( rtl_cache_slab_free (cache, obj), obj = 0; } } - return (obj); } @@ -1268,6 +1297,9 @@ SAL_CALL rtl_cache_free ( if ((curr != 0) && (curr->m_mag_used < curr->m_mag_size)) { curr->m_objects[curr->m_mag_used++] = obj; +#if defined(HAVE_VALGRIND_MEMCHECK_H) + VALGRIND_MEMPOOL_FREE(cache, obj); +#endif /* HAVE_VALGRIND_MEMCHECK_H */ cache->m_cpu_stats.m_free += 1; RTL_MEMORY_LOCK_RELEASE(&(cache->m_depot_lock)); @@ -1581,6 +1613,7 @@ rtl_cache_once_init (void) static rtl_cache_type g_cache_magazine_cache; OSL_ASSERT(gp_cache_magazine_cache == 0); + VALGRIND_CREATE_MEMPOOL(&g_cache_magazine_cache, 0, 0); (void) rtl_cache_constructor (&g_cache_magazine_cache); gp_cache_magazine_cache = rtl_cache_activate ( @@ -1605,6 +1638,7 @@ rtl_cache_once_init (void) static rtl_cache_type g_cache_slab_cache; OSL_ASSERT(gp_cache_slab_cache == 0); + VALGRIND_CREATE_MEMPOOL(&g_cache_slab_cache, 0, 0); (void) rtl_cache_constructor (&g_cache_slab_cache); gp_cache_slab_cache = rtl_cache_activate ( @@ -1626,6 +1660,7 @@ rtl_cache_once_init (void) static rtl_cache_type g_cache_bufctl_cache; OSL_ASSERT(gp_cache_bufctl_cache == 0); + VALGRIND_CREATE_MEMPOOL(&g_cache_bufctl_cache, 0, 0); (void) rtl_cache_constructor (&g_cache_bufctl_cache); gp_cache_bufctl_cache = rtl_cache_activate ( @@ -1656,7 +1691,18 @@ rtl_cache_init (void) /* ================================================================= */ -#if defined(__GNUC__) +/* + Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 + + Mac OS X does not seem to support "__cxa__atexit", thus leading + to the situation that "__attribute__((destructor))__" functions + (in particular "rtl_{memory|cache|arena}_fini") become called + _before_ global C++ object d'tors. + + Delegated the call to "rtl_cache_fini()" into a dummy C++ object, + see alloc_fini.cxx . +*/ +#if defined(__GNUC__) && !defined(MACOSX) static void rtl_cache_fini (void) __attribute__((destructor)); #elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) #pragma fini(rtl_cache_fini) @@ -1677,18 +1723,21 @@ rtl_cache_fini (void) cache = gp_cache_bufctl_cache, gp_cache_bufctl_cache = 0; rtl_cache_deactivate (cache); rtl_cache_destructor (cache); + VALGRIND_DESTROY_MEMPOOL(cache); } if (gp_cache_slab_cache != 0) { cache = gp_cache_slab_cache, gp_cache_slab_cache = 0; rtl_cache_deactivate (cache); rtl_cache_destructor (cache); + VALGRIND_DESTROY_MEMPOOL(cache); } if (gp_cache_magazine_cache != 0) { cache = gp_cache_magazine_cache, gp_cache_magazine_cache = 0; rtl_cache_deactivate (cache); rtl_cache_destructor (cache); + VALGRIND_DESTROY_MEMPOOL(cache); } if (gp_cache_arena != 0) { diff --git a/sal/rtl/source/memory_fini.cxx b/sal/rtl/source/alloc_fini.cxx index 4efc3052e..5bc174e7c 100644 --- a/sal/rtl/source/memory_fini.cxx +++ b/sal/rtl/source/alloc_fini.cxx @@ -26,32 +26,33 @@ * ************************************************************************/ - /* Issue http://udk.openoffice.org/issues/show_bug.cgi?id=92388 Mac OS X does not seem to support "__cxa__atexit", thus leading to the situation that "__attribute__((destructor))__" functions - (in particular "rtl_memory_fini") become called _before_ global - C++ object d'tors. + (in particular "rtl_{memory|cache|arena}_fini") become called + _before_ global C++ object d'tors. Using a C++ dummy object instead. */ -#include <stdio.h> - extern "C" void rtl_memory_fini (void); +extern "C" void rtl_cache_fini (void); +extern "C" void rtl_arena_fini (void); - -struct RTL_Memory_Fini { - ~RTL_Memory_Fini() ; +struct RTL_Alloc_Fini +{ + ~RTL_Alloc_Fini() ; }; -RTL_Memory_Fini::~RTL_Memory_Fini() { +RTL_Alloc_Fini::~RTL_Alloc_Fini() +{ rtl_memory_fini(); + rtl_cache_fini(); + rtl_arena_fini(); } - -static RTL_Memory_Fini rtl_Memory_Fini; +static RTL_Alloc_Fini g_RTL_Alloc_Fini; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/rtl/source/alloc_global.c b/sal/rtl/source/alloc_global.c index 863e2aeb8..70504ac9d 100644 --- a/sal/rtl/source/alloc_global.c +++ b/sal/rtl/source/alloc_global.c @@ -26,6 +26,7 @@ * ************************************************************************/ +#include "alloc_impl.h" #include "rtl/alloc.h" #include <sal/macros.h> @@ -63,7 +64,6 @@ static void determine_alloc_mode(void) * * ================================================================= */ -#include "alloc_impl.h" #include "internal/once.h" #include "sal/macros.h" #include "osl/diagnose.h" diff --git a/sal/rtl/source/alloc_impl.h b/sal/rtl/source/alloc_impl.h index 537d6ec8c..63c284a1e 100644 --- a/sal/rtl/source/alloc_impl.h +++ b/sal/rtl/source/alloc_impl.h @@ -241,6 +241,30 @@ typedef CRITICAL_SECTION rtl_memory_lock_type; #define RTL_CACHE_FLAG_QUANTUMCACHE (2 << 13) /* used as arena quantum cache */ +/** Valgrind support macros. + */ +#if !defined(HAVE_MEMCHECK_H) || (OSL_DEBUG_LEVEL == 0) +#if !defined(NVALGRIND) +#define NVALGRIND 1 +#endif /* ! NVALGRIND */ +#endif /* ! HAVE_MEMCHECK_H || (OSL_DEBUG_LEVEL == 0) */ + +#if defined(NVALGRIND) +#define VALGRIND_MAKE_MEM_UNDEFINED(addr, size) +#define VALGRIND_MAKE_MEM_DEFINED(addr, size) +#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) +#define VALGRIND_FREELIKE_BLOCK(addr, rzB) +#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed) +#define VALGRIND_DESTROY_MEMPOOL(pool) +#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size) +#define VALGRIND_MEMPOOL_FREE(pool, addr) +#elif defined(HAVE_MEMCHECK_H) +#include <memcheck.h> +#if !defined(FORCE_SYSALLOC) +#define FORCE_SYSALLOC 1 +#endif /* !FORCE_SYSALLOC */ +#endif /* NVALGRIND || HAVE_MEMCHECK_H */ + #ifdef __cplusplus } #endif diff --git a/sal/rtl/source/makefile.mk b/sal/rtl/source/makefile.mk index 3121f184b..67ae7f8d9 100644 --- a/sal/rtl/source/makefile.mk +++ b/sal/rtl/source/makefile.mk @@ -46,6 +46,11 @@ TARGETTYPE=CUI .INCLUDE : settings.mk +.IF "$(VALGRIND_CFLAGS)" != "" +CFLAGS += $(VALGRIND_CFLAGS) +CDEFS += -DHAVE_MEMCHECK_H=1 +.ENDIF # VALGRIND_CFLAGS + .IF "$(ALLOC)" == "SYS_ALLOC" || "$(ALLOC)" == "TCMALLOC" || "$(ALLOC)" == "JEMALLOC" CDEFS+= -DFORCE_SYSALLOC .ENDIF @@ -98,7 +103,7 @@ SLOFILES= \ $(SLO)$/alloc_arena.obj .IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX" -SLOFILES+=$(SLO)$/memory_fini.obj +SLOFILES+=$(SLO)$/alloc_fini.obj .ENDIF @@ -130,7 +135,7 @@ OBJFILES= \ $(OBJ)$/alloc_arena.obj .IF "$(OS)"=="MACOSX" || "$(OS)"=="AIX" -OBJFILES+=$(OBJ)$/memory_fini.obj +OBJFILES+=$(OBJ)$/alloc_fini.obj .ENDIF diff --git a/store/source/lockbyte.cxx b/store/source/lockbyte.cxx index 02e4607bd..bf33f95ef 100644 --- a/store/source/lockbyte.cxx +++ b/store/source/lockbyte.cxx @@ -601,7 +601,8 @@ oslInterlockedCount SAL_CALL MappedLockBytes::release() void MappedLockBytes::allocate_Impl (void ** ppPage, sal_uInt16 * pnSize) { OSL_PRECOND((ppPage != 0) && (pnSize != 0), "contract violation"); - *ppPage = 0, *pnSize = m_nPageSize; + if ((ppPage != 0) && (pnSize != 0)) + *ppPage = 0, *pnSize = m_nPageSize; } void MappedLockBytes::deallocate_Impl (void * pPage) diff --git a/store/source/storbase.cxx b/store/source/storbase.cxx index 8db623e59..d145a2ce8 100644 --- a/store/source/storbase.cxx +++ b/store/source/storbase.cxx @@ -159,7 +159,8 @@ PageData::Allocator_Impl::~Allocator_Impl() void PageData::Allocator_Impl::allocate_Impl (void ** ppPage, sal_uInt16 * pnSize) { OSL_PRECOND((ppPage != 0) && (pnSize != 0), "contract violation"); - *ppPage = rtl_cache_alloc(m_page_cache), *pnSize = m_page_size; + if ((ppPage != 0) && (pnSize != 0)) + *ppPage = rtl_cache_alloc(m_page_cache), *pnSize = m_page_size; } void PageData::Allocator_Impl::deallocate_Impl (void * pPage) diff --git a/udkapi/com/sun/star/container/XStringKeyMap.idl b/udkapi/com/sun/star/container/XStringKeyMap.idl index a97e310d6..4ea66fd8a 100644 --- a/udkapi/com/sun/star/container/XStringKeyMap.idl +++ b/udkapi/com/sun/star/container/XStringKeyMap.idl @@ -56,7 +56,7 @@ module com { module sun { module star { module container { /** maps strings to anys. - @since OOo 2.3.0 + @since OOo 2.3 */ interface XStringKeyMap diff --git a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl index ca064817c..ff21541dd 100644 --- a/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl +++ b/udkapi/com/sun/star/io/XAsyncOutputMonitor.idl @@ -59,7 +59,7 @@ module com { module sun { module star { module io { should be called after the series of calls to <member scope="com::sun::star::io">XOutputStream::writeBytes</member>.</p> - @since OOo2.0.0 + @since OOo 2.0 */ interface XAsyncOutputMonitor { /** diff --git a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl index 17859f243..ef4609bb2 100755 --- a/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl +++ b/udkapi/com/sun/star/java/InvalidJavaSettingsException.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module java { by distributors to determine what versions are supported. If this file is modified, then the current settings are regarded as invalid.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ exception InvalidJavaSettingsException: JavaInitializationException { diff --git a/udkapi/com/sun/star/java/JavaNotFoundException.idl b/udkapi/com/sun/star/java/JavaNotFoundException.idl index dfd34e275..520afcfde 100644 --- a/udkapi/com/sun/star/java/JavaNotFoundException.idl +++ b/udkapi/com/sun/star/java/JavaNotFoundException.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module java { /** indicates that no suitable JRE was found. - @since OOo 2.0.0 + @since OOo 2.0 */ exception JavaNotFoundException: JavaInitializationException { diff --git a/udkapi/com/sun/star/java/RestartRequiredException.idl b/udkapi/com/sun/star/java/RestartRequiredException.idl index 4f3e1f648..11a19977c 100755 --- a/udkapi/com/sun/star/java/RestartRequiredException.idl +++ b/udkapi/com/sun/star/java/RestartRequiredException.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module java { /** indicates that the office must be restarted before a JRE can be used. - @since OOo 2.0.0 + @since OOo 2.0 */ exception RestartRequiredException: JavaInitializationException { diff --git a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl index 36f6a63fc..47525140a 100644 --- a/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl +++ b/udkapi/com/sun/star/reflection/XInterfaceAttributeTypeDescription2.idl @@ -41,7 +41,7 @@ interface XCompoundTypeDescription; <p>This type supersedes <type>XInterfaceAttributeTypeDescription</type>, which does not support extended attributes.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XInterfaceAttributeTypeDescription2: XInterfaceAttributeTypeDescription diff --git a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl index 44356aafd..fcef27e27 100644 --- a/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl +++ b/udkapi/com/sun/star/reflection/XInterfaceTypeDescription2.idl @@ -39,7 +39,7 @@ interface XTypeDescription; <p>This type supersedes <type>XInterfaceTypeDescription</type>, which only supported single inheritance.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XInterfaceTypeDescription2: XInterfaceTypeDescription { /** Returns a sequence of all directly inherited (mandatory) base interface diff --git a/udkapi/com/sun/star/reflection/XParameter.idl b/udkapi/com/sun/star/reflection/XParameter.idl index 3298432c6..6b7476036 100644 --- a/udkapi/com/sun/star/reflection/XParameter.idl +++ b/udkapi/com/sun/star/reflection/XParameter.idl @@ -38,7 +38,7 @@ module com { module sun { module star { module reflection { <p>This type supersedes <type>XMethodParameter</type>, which only supports parameters of interface methods (which cannot have rest parameters).</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XParameter: XMethodParameter { /** diff --git a/udkapi/com/sun/star/reflection/XPublished.idl b/udkapi/com/sun/star/reflection/XPublished.idl index 87c3078f0..76e26b6c3 100644 --- a/udkapi/com/sun/star/reflection/XPublished.idl +++ b/udkapi/com/sun/star/reflection/XPublished.idl @@ -96,7 +96,7 @@ module com { module sun { module star { module reflection { supported.</li> </ul> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XPublished { /** diff --git a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl index c6c9d587c..c58e4b3ad 100644 --- a/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl +++ b/udkapi/com/sun/star/reflection/XServiceConstructorDescription.idl @@ -38,7 +38,7 @@ interface XParameter; /** Reflects a service constructor. - @since OOo 2.0.0 + @since OOo 2.0 */ interface XServiceConstructorDescription { /** diff --git a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl index 542c5e9d8..fab74ef82 100644 --- a/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl +++ b/udkapi/com/sun/star/reflection/XServiceTypeDescription2.idl @@ -41,7 +41,7 @@ interface XTypeDescription; <p>This type supersedes <type>XServiceTypeDescription</type>, which only supports obsolete, accumulation-based services.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XServiceTypeDescription2: XServiceTypeDescription { /** diff --git a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl index c08889f1d..046b59d0c 100644 --- a/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl +++ b/udkapi/com/sun/star/reflection/XSingletonTypeDescription2.idl @@ -40,7 +40,7 @@ interface XTypeDescription; <p>This type supersedes <type>XSingletonTypeDescription</type>, which only supports obsolete, service-based singletons.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XSingletonTypeDescription2: XSingletonTypeDescription { /** diff --git a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl index 5ca1f044c..ac601a94a 100644 --- a/udkapi/com/sun/star/reflection/XStructTypeDescription.idl +++ b/udkapi/com/sun/star/reflection/XStructTypeDescription.idl @@ -66,7 +66,7 @@ interface XTypeDescription; sequence.</li> </ul> - @since OOo 2.0.0 + @since OOo 2.0 */ interface XStructTypeDescription: XCompoundTypeDescription { /** diff --git a/udkapi/com/sun/star/script/BasicErrorException.idl b/udkapi/com/sun/star/script/BasicErrorException.idl index bb219cab0..53f45fc8c 100644 --- a/udkapi/com/sun/star/script/BasicErrorException.idl +++ b/udkapi/com/sun/star/script/BasicErrorException.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module script { /** is thrown in order to transport an error to Basic. - @since OOo 2.0.0 + @since OOo 2.0 */ published exception BasicErrorException: com::sun::star::uno::Exception { diff --git a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl index ce6e47907..25889e62d 100644 --- a/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl +++ b/udkapi/com/sun/star/uri/ExternalUriReferenceTranslator.idl @@ -35,7 +35,7 @@ published interface XExternalUriReferenceTranslator; /** translates between external and internal URI references. - @since OOo 2.0.0 + @since OOo 2.0 */ published service ExternalUriReferenceTranslator: XExternalUriReferenceTranslator; diff --git a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl index 37a555fce..0b36fdafd 100644 --- a/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl +++ b/udkapi/com/sun/star/uri/RelativeUriExcessParentSegments.idl @@ -37,7 +37,7 @@ module com { module sun { module star { module uri { @see com::sun::star::uri::XUriReferenceFactory::makeAbsolute for a method that uses this enumeration. - @since OOo 2.0.0 + @since OOo 2.0 */ published enum RelativeUriExcessParentSegments { /** diff --git a/udkapi/com/sun/star/uri/UriReferenceFactory.idl b/udkapi/com/sun/star/uri/UriReferenceFactory.idl index ed8780ccc..b5831bea4 100644 --- a/udkapi/com/sun/star/uri/UriReferenceFactory.idl +++ b/udkapi/com/sun/star/uri/UriReferenceFactory.idl @@ -68,7 +68,7 @@ published interface XUriReferenceFactory; service does not support <type scope="com::sun::star::uri">XUriSchemeParser</type>.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service UriReferenceFactory: XUriReferenceFactory; diff --git a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl index bf0c95e53..3df306c43 100644 --- a/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl +++ b/udkapi/com/sun/star/uri/UriSchemeParser_vndDOTsunDOTstarDOTscript.idl @@ -48,7 +48,7 @@ published interface XUriSchemeParser; Rather, it should be used indirectly through the <type scope="com::sun::star::uri">UriReferenceFactory</type> service.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published service UriSchemeParser_vndDOTsunDOTstarDOTscript: XUriSchemeParser {}; diff --git a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl index 944c6bde1..d440124e9 100644 --- a/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl +++ b/udkapi/com/sun/star/uri/VndSunStarPkgUrlReferenceFactory.idl @@ -35,7 +35,7 @@ published interface XVndSunStarPkgUrlReferenceFactory; /** creates “vnd.sun.star.pkg” URL references. - @since OOo 2.0.0 + @since OOo 2.0 */ published service VndSunStarPkgUrlReferenceFactory: XVndSunStarPkgUrlReferenceFactory; diff --git a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl index ec5d5a0ac..976627fbe 100644 --- a/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl +++ b/udkapi/com/sun/star/uri/XExternalUriReferenceTranslator.idl @@ -54,7 +54,7 @@ module com { module sun { module star { module uri { references (that do not include a scheme) are left unmodified by the translation process.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XExternalUriReferenceTranslator { /** diff --git a/udkapi/com/sun/star/uri/XUriReference.idl b/udkapi/com/sun/star/uri/XUriReference.idl index 75591f3fe..0a0855018 100644 --- a/udkapi/com/sun/star/uri/XUriReference.idl +++ b/udkapi/com/sun/star/uri/XUriReference.idl @@ -47,7 +47,7 @@ module com { module sun { module star { module uri { <type scope="com::sun::star::uri">XUriReference</type> and additional, scheme-specific interfaces. - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XUriReference: com::sun::star::uno::XInterface { /** diff --git a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl index cf4c1cb56..e8e1cc6ae 100644 --- a/udkapi/com/sun/star/uri/XUriReferenceFactory.idl +++ b/udkapi/com/sun/star/uri/XUriReferenceFactory.idl @@ -40,7 +40,7 @@ module com { module sun { module star { module uri { <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a description of URI references and related terms.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XUriReferenceFactory: com::sun::star::uno::XInterface { /** diff --git a/udkapi/com/sun/star/uri/XUriSchemeParser.idl b/udkapi/com/sun/star/uri/XUriSchemeParser.idl index 7a86ba9fd..f77f4f9b2 100644 --- a/udkapi/com/sun/star/uri/XUriSchemeParser.idl +++ b/udkapi/com/sun/star/uri/XUriSchemeParser.idl @@ -39,7 +39,7 @@ module com { module sun { module star { module uri { <p>See <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a> for a description of URIs and related terms.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XUriSchemeParser: com::sun::star::uno::XInterface { /** diff --git a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl index cc777e6fa..c7bf4421a 100644 --- a/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl +++ b/udkapi/com/sun/star/uri/XVndSunStarPkgUrlReferenceFactory.idl @@ -37,7 +37,7 @@ published interface XUriReference; /** creates “vnd.sun.star.pkg” URL references. - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XVndSunStarPkgUrlReferenceFactory { /** diff --git a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl index ed9e0a23c..addac2708 100644 --- a/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl +++ b/udkapi/com/sun/star/uri/XVndSunStarScriptUrl.idl @@ -61,7 +61,7 @@ module com { module sun { module star { module uri { without considering case folding or normalization. There may be multiple parameters with equal keys.</p> - @since OOo 2.0.0 + @since OOo 2.0 */ published interface XVndSunStarScriptUrl: com::sun::star::uno::XInterface { /** diff --git a/unoil/climaker/version.txt b/unoil/climaker/version.txt index 2678d1bc0..f59c2f948 100644..100755 --- a/unoil/climaker/version.txt +++ b/unoil/climaker/version.txt @@ -25,8 +25,8 @@ # #************************************************************************* -CLI_OOOTYPES_NEW_VERSION=1.0.7.0 -CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.6.0 -CLI_OOOTYPES_POLICY_VERSION=7.0.0.0 +CLI_OOOTYPES_NEW_VERSION=1.0.8.0 +CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.7.0 +CLI_OOOTYPES_POLICY_VERSION=8.0.0.0 CLI_OOOTYPES_POLICY_ASSEMBLY=policy.1.0.cli_oootypes diff --git a/unoil/util/makefile.mk b/unoil/util/makefile.mk index f5d8125b8..c2bd22ef2 100644 --- a/unoil/util/makefile.mk +++ b/unoil/util/makefile.mk @@ -35,7 +35,7 @@ TARGET = unoil MAXLINELENGTH = 100000 -JARCLASSDIRS = com drafts +JARCLASSDIRS = com JARTARGET = $(TARGET).jar JARCOMPRESS = TRUE |