2010-10-27 13:11:31 +01:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-07-11 19:49:09 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2014-04-18 22:32:17 +02:00
|
|
|
#ifndef INCLUDED_IDL_INC_DATABASE_HXX
|
|
|
|
#define INCLUDED_IDL_INC_DATABASE_HXX
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2017-10-23 22:40:06 +02:00
|
|
|
#include "module.hxx"
|
|
|
|
#include "hash.hxx"
|
|
|
|
#include "lex.hxx"
|
2011-11-19 21:02:35 +00:00
|
|
|
#include <rtl/string.hxx>
|
2000-09-18 15:33:13 +00:00
|
|
|
#include <tools/pstm.hxx>
|
|
|
|
|
2011-11-08 18:51:13 +01:00
|
|
|
#include <rtl/ustring.hxx>
|
|
|
|
#include <set>
|
2016-02-11 14:33:36 +02:00
|
|
|
#include <exception>
|
2011-11-08 18:51:13 +01:00
|
|
|
|
CWS-TOOLING: integrate CWS buildverbosity
2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'==''
2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!=""
2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments
2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl
2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode
2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs:
- replaced space/tab mixes at beginning of lines with mere tab
- made "nothing to update" message for the ZIPALLTARGET target more prominent
- removed useless "echo > /dev/nul" statements
2009-10-07 13:32:12 +0200 fs r276753 : #i105585#
2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util
2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61)
2009-09-29 12:04:58 +0200 fs r276518 : #i10000#
2009-09-29 12:04:25 +0200 fs r276517 : oops
2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request
2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches
2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls
* solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning
and my spurious "recursive macro definition" error
* solenv/inc/tg_app.mk: one extra ls silenced for app target (and
quiet mode, that goes without saying)
2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call
2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths
2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity
2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO=""
While both are equivalent at the moment, COMMAND_ECHO finally is an implementation
default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag
2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing
2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity
2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE
2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS
2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58)
2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance)
2009-09-14 15:01:33 +0200 fs r276124 : #i10000#
2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning
- silenced rsc for real (properly filtering options for
cpp, and a pretty brutal amputation of the tool blurp,
which would have needed cmd opt parser duplication)
- silenced deliver.pl
- silenced checkdll.sh
- silenced zip via -q (in quiet mode)
- silenced various idl, resource, transex whatever tool,
passing appropriate options down to them '-QQ' sometimes
- silenced dmake, pointless blurb that something does *not*
need update removed
- silenced the old starview idl compiler, to not output
tool's name & progress chars in quiet mode
2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build.
The bulk of the changes is disabling those annoying
"echo ------------------" lines for the quiet build,
which has the stretch goal of outputting *exactly*
one line per file compiled/linked/processed.
Apart from that, silenced a few especialy annoying
module-specific makefiles (basically adding
$(COMMAND_ECHO) in front of a gazillion rules).
Additionally, slightly tweaked what idlc regards
verbose, normal, and quiet mode; this was to have it
echo exactly one line per idl file processed (the
fact that quiet mode did not echo *anything* for idl
files was a bit too much for my taste)
2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE
2009-09-02 10:31:15 +0200 fs r275700 : #i10000#
2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths
2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE
2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build
2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 10:43:22 +00:00
|
|
|
class SvCommand;
|
|
|
|
|
2000-09-18 15:33:13 +00:00
|
|
|
class SvIdlError
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OString aText;
|
2000-09-18 15:33:13 +00:00
|
|
|
public:
|
2010-11-03 15:49:08 +01:00
|
|
|
sal_uInt32 nLine, nColumn;
|
2000-09-18 15:33:13 +00:00
|
|
|
|
|
|
|
SvIdlError() : nLine(0), nColumn(0) {}
|
2010-11-03 15:49:08 +01:00
|
|
|
SvIdlError( sal_uInt32 nL, sal_uInt32 nC )
|
2000-09-18 15:33:13 +00:00
|
|
|
: nLine(nL), nColumn(nC) {}
|
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
const OString& GetText() const { return aText; }
|
2016-02-08 11:41:46 +02:00
|
|
|
void SetText( const OString& rT ) { aText = rT; }
|
2014-05-08 11:42:16 +02:00
|
|
|
bool IsError() const { return nLine != 0; }
|
2000-09-18 15:33:13 +00:00
|
|
|
SvIdlError & operator = ( const SvIdlError & rRef )
|
2016-02-08 11:41:46 +02:00
|
|
|
{
|
|
|
|
aText = rRef.aText;
|
|
|
|
nLine = rRef.nLine;
|
|
|
|
nColumn = rRef.nColumn;
|
|
|
|
return *this;
|
|
|
|
}
|
2000-09-18 15:33:13 +00:00
|
|
|
};
|
|
|
|
|
2016-02-11 14:33:36 +02:00
|
|
|
class SvParseException : public std::exception
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SvIdlError aError;
|
2017-07-28 11:47:51 +02:00
|
|
|
SvParseException( SvTokenStream const & rInStm, const OString& rError );
|
|
|
|
SvParseException( const OString& rError, SvToken const & rTok );
|
2016-02-11 14:33:36 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-09-18 15:33:13 +00:00
|
|
|
class SvIdlDataBase
|
|
|
|
{
|
2014-05-08 11:42:16 +02:00
|
|
|
bool bExport;
|
2013-09-16 07:56:50 +02:00
|
|
|
OUString aExportFile;
|
2006-03-16 11:58:52 +00:00
|
|
|
sal_uInt32 nUniqueId;
|
CWS-TOOLING: integrate CWS buildverbosity
2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'==''
2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!=""
2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments
2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl
2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode
2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs:
- replaced space/tab mixes at beginning of lines with mere tab
- made "nothing to update" message for the ZIPALLTARGET target more prominent
- removed useless "echo > /dev/nul" statements
2009-10-07 13:32:12 +0200 fs r276753 : #i105585#
2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util
2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61)
2009-09-29 12:04:58 +0200 fs r276518 : #i10000#
2009-09-29 12:04:25 +0200 fs r276517 : oops
2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request
2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches
2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls
* solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning
and my spurious "recursive macro definition" error
* solenv/inc/tg_app.mk: one extra ls silenced for app target (and
quiet mode, that goes without saying)
2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call
2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths
2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity
2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO=""
While both are equivalent at the moment, COMMAND_ECHO finally is an implementation
default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag
2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing
2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity
2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE
2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS
2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58)
2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance)
2009-09-14 15:01:33 +0200 fs r276124 : #i10000#
2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning
- silenced rsc for real (properly filtering options for
cpp, and a pretty brutal amputation of the tool blurp,
which would have needed cmd opt parser duplication)
- silenced deliver.pl
- silenced checkdll.sh
- silenced zip via -q (in quiet mode)
- silenced various idl, resource, transex whatever tool,
passing appropriate options down to them '-QQ' sometimes
- silenced dmake, pointless blurb that something does *not*
need update removed
- silenced the old starview idl compiler, to not output
tool's name & progress chars in quiet mode
2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build.
The bulk of the changes is disabling those annoying
"echo ------------------" lines for the quiet build,
which has the stretch goal of outputting *exactly*
one line per file compiled/linked/processed.
Apart from that, silenced a few especialy annoying
module-specific makefiles (basically adding
$(COMMAND_ECHO) in front of a gazillion rules).
Additionally, slightly tweaked what idlc regards
verbose, normal, and quiet mode; this was to have it
echo exactly one line per idl file processed (the
fact that quiet mode did not echo *anything* for idl
files was a bit too much for my taste)
2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE
2009-09-02 10:31:15 +0200 fs r275700 : #i10000#
2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths
2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE
2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build
2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 10:43:22 +00:00
|
|
|
sal_uInt32 nVerbosity;
|
2000-09-18 15:33:13 +00:00
|
|
|
StringList aIdFileList;
|
|
|
|
SvStringHashTable * pIdTable;
|
|
|
|
|
2016-02-05 11:05:24 +02:00
|
|
|
SvRefMemberList<SvMetaType *> aTypeList;
|
|
|
|
SvRefMemberList<SvMetaClass *> aClassList;
|
|
|
|
SvRefMemberList<SvMetaModule *> aModuleList;
|
2016-02-09 09:37:20 +02:00
|
|
|
SvRefMemberList<SvMetaSlot *> aSlotList;
|
2016-02-09 09:08:35 +02:00
|
|
|
SvRefMemberList<SvMetaObject *> aContextStack;
|
2000-09-18 15:33:13 +00:00
|
|
|
|
|
|
|
protected:
|
2016-02-08 11:41:46 +02:00
|
|
|
::std::set< OUString > m_DepFiles;
|
2013-09-16 07:56:50 +02:00
|
|
|
OUString aPath;
|
2000-09-18 15:33:13 +00:00
|
|
|
SvIdlError aError;
|
2011-11-19 21:02:35 +00:00
|
|
|
void WriteReset()
|
|
|
|
{
|
2012-08-07 16:56:51 +02:00
|
|
|
aUsedTypes.clear();
|
2011-11-19 21:02:35 +00:00
|
|
|
}
|
2000-09-18 15:33:13 +00:00
|
|
|
public:
|
2014-03-17 11:36:31 +01:00
|
|
|
OUString sSlotMapFile;
|
|
|
|
|
CWS-TOOLING: integrate CWS buildverbosity
2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'==''
2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!=""
2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments
2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl
2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode
2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs:
- replaced space/tab mixes at beginning of lines with mere tab
- made "nothing to update" message for the ZIPALLTARGET target more prominent
- removed useless "echo > /dev/nul" statements
2009-10-07 13:32:12 +0200 fs r276753 : #i105585#
2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util
2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61)
2009-09-29 12:04:58 +0200 fs r276518 : #i10000#
2009-09-29 12:04:25 +0200 fs r276517 : oops
2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request
2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches
2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls
* solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning
and my spurious "recursive macro definition" error
* solenv/inc/tg_app.mk: one extra ls silenced for app target (and
quiet mode, that goes without saying)
2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call
2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths
2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity
2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO=""
While both are equivalent at the moment, COMMAND_ECHO finally is an implementation
default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag
2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing
2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity
2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE
2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS
2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58)
2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance)
2009-09-14 15:01:33 +0200 fs r276124 : #i10000#
2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning
- silenced rsc for real (properly filtering options for
cpp, and a pretty brutal amputation of the tool blurp,
which would have needed cmd opt parser duplication)
- silenced deliver.pl
- silenced checkdll.sh
- silenced zip via -q (in quiet mode)
- silenced various idl, resource, transex whatever tool,
passing appropriate options down to them '-QQ' sometimes
- silenced dmake, pointless blurb that something does *not*
need update removed
- silenced the old starview idl compiler, to not output
tool's name & progress chars in quiet mode
2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build.
The bulk of the changes is disabling those annoying
"echo ------------------" lines for the quiet build,
which has the stretch goal of outputting *exactly*
one line per file compiled/linked/processed.
Apart from that, silenced a few especialy annoying
module-specific makefiles (basically adding
$(COMMAND_ECHO) in front of a gazillion rules).
Additionally, slightly tweaked what idlc regards
verbose, normal, and quiet mode; this was to have it
echo exactly one line per idl file processed (the
fact that quiet mode did not echo *anything* for idl
files was a bit too much for my taste)
2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE
2009-09-02 10:31:15 +0200 fs r275700 : #i10000#
2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths
2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE
2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build
2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 10:43:22 +00:00
|
|
|
explicit SvIdlDataBase( const SvCommand& rCmd );
|
2000-09-18 15:33:13 +00:00
|
|
|
~SvIdlDataBase();
|
|
|
|
|
2016-02-09 09:37:20 +02:00
|
|
|
SvRefMemberList<SvMetaType *>& GetTypeList();
|
|
|
|
SvRefMemberList<SvMetaClass *>& GetClassList() { return aClassList; }
|
|
|
|
SvRefMemberList<SvMetaModule *>& GetModuleList() { return aModuleList; }
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2011-02-13 18:06:10 +01:00
|
|
|
// list of used types while writing
|
2016-02-05 11:05:24 +02:00
|
|
|
SvRefMemberList<SvMetaType *> aUsedTypes;
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2013-09-16 07:56:50 +02:00
|
|
|
void StartNewFile( const OUString& rName );
|
|
|
|
void SetExportFile( const OUString& rName )
|
2000-09-18 15:33:13 +00:00
|
|
|
{ aExportFile = rName; }
|
2016-02-09 09:37:20 +02:00
|
|
|
void AppendSlot( SvMetaSlot *pSlot );
|
2000-09-18 15:33:13 +00:00
|
|
|
const SvIdlError & GetError() const { return aError; }
|
|
|
|
void SetError( const SvIdlError & r )
|
|
|
|
{ aError = r; }
|
|
|
|
|
2013-09-16 07:56:50 +02:00
|
|
|
const OUString & GetPath() const { return aPath; }
|
2016-02-11 09:26:19 +02:00
|
|
|
void SetPath(const OUString &s) { aPath = s; }
|
2016-02-09 09:08:35 +02:00
|
|
|
SvRefMemberList<SvMetaObject *>& GetStack() { return aContextStack; }
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
void Write(const OString& rText);
|
2000-09-18 15:33:13 +00:00
|
|
|
void WriteError( SvTokenStream & rInStm );
|
2017-07-18 11:33:26 +02:00
|
|
|
void SetError( const OString& rError, SvToken const & rTok );
|
2016-02-11 08:31:53 +02:00
|
|
|
void SetAndWriteError( SvTokenStream & rInStm, const OString& rError );
|
2000-09-18 15:33:13 +00:00
|
|
|
void Push( SvMetaObject * pObj );
|
2006-03-16 11:58:52 +00:00
|
|
|
sal_uInt32 GetUniqueId() { return ++nUniqueId; }
|
2014-05-08 11:42:16 +02:00
|
|
|
bool FindId( const OString& rIdName, sal_uLong * pVal );
|
2016-12-15 13:44:21 +02:00
|
|
|
void InsertId( const OString& rIdName, sal_uLong nVal );
|
2016-02-22 15:59:13 +02:00
|
|
|
bool ReadIdFile( const OString& rFileName );
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
SvMetaType * FindType( const OString& rName );
|
2016-02-05 11:05:24 +02:00
|
|
|
static SvMetaType * FindType( const SvMetaType *, SvRefMemberList<SvMetaType *>& );
|
2000-09-18 15:33:13 +00:00
|
|
|
|
|
|
|
SvMetaType * ReadKnownType( SvTokenStream & rInStm );
|
|
|
|
SvMetaAttribute * ReadKnownAttr( SvTokenStream & rInStm,
|
2016-08-05 11:34:43 +02:00
|
|
|
SvMetaType * pType );
|
2016-02-22 15:59:13 +02:00
|
|
|
SvMetaAttribute * FindKnownAttr( const SvIdentifier& );
|
2000-09-18 15:33:13 +00:00
|
|
|
SvMetaClass * ReadKnownClass( SvTokenStream & rInStm );
|
2016-02-22 15:59:13 +02:00
|
|
|
SvMetaClass * FindKnownClass( const OString& aName );
|
2013-09-16 07:56:50 +02:00
|
|
|
void AddDepFile(OUString const& rFileName);
|
2016-01-11 13:31:24 +02:00
|
|
|
void WriteDepFile(SvFileStream & rStream, OUString const& rTarget);
|
2000-09-18 15:33:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class SvIdlWorkingBase : public SvIdlDataBase
|
|
|
|
{
|
|
|
|
public:
|
CWS-TOOLING: integrate CWS buildverbosity
2009-10-13 15:51:48 +0200 fs r276867 : allow building with 'nodep'==''
2009-10-11 22:39:56 +0200 fs r276820 : silence a compiler warning in a file only used when VERBOSE!=""
2009-10-09 14:37:43 +0200 fs r276807 : let not override the non-presence of $VERBOSE the given command line arguments
2009-10-09 14:36:25 +0200 fs r276806 : also deliver spirit/home/classic/debug/impl
2009-10-08 13:38:07 +0200 fs r276789 : not that many line feeds in --show mode
2009-10-08 13:13:01 +0200 fs r276788 : minor adjustments requested by hjs:
- replaced space/tab mixes at beginning of lines with mere tab
- made "nothing to update" message for the ZIPALLTARGET target more prominent
- removed useless "echo > /dev/nul" statements
2009-10-07 13:32:12 +0200 fs r276753 : #i105585#
2009-10-07 11:31:59 +0200 fs r276742 : #i10000# missing dependency between stoc/security and stoc/util
2009-10-06 22:59:59 +0200 fs r276729 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276699 (milestone: DEV300:m61)
2009-09-29 12:04:58 +0200 fs r276518 : #i10000#
2009-09-29 12:04:25 +0200 fs r276517 : oops
2009-09-29 12:01:07 +0200 fs r276516 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:59:29 +0200 fs r276515 : #i84497# removed some more (non-diagnostic) 'echo ------' directives
2009-09-29 11:52:32 +0200 fs r276514 : #i84497# removed the various 'echo ------------' directives from verbose mode, as per hjs' request
2009-09-29 11:44:16 +0200 fs r276513 : do not duplicate IDLC call commands with different verbosity switches
2009-09-28 21:43:50 +0200 thb r276502 : #i84497# fixed potential recursive macro def + extra ls
* solenv/inc/settings.mk: now setting via VERBOSE!:=, removes warning
and my spurious "recursive macro definition" error
* solenv/inc/tg_app.mk: one extra ls silenced for app target (and
quiet mode, that goes without saying)
2009-09-23 08:57:01 +0200 fs r276366 : use ULFEX_VERBOSITY instead of duplicating the ULFEX call
2009-09-21 11:42:26 +0200 fs r276320 : ignore output paths
2009-09-21 11:04:27 +0200 fs r276318 : silence another compiler warning, which only hits us when actually using this (debug) file, which is the case only when slideshow is compiled with a env variable VERBOSE, thus came up in CWS buildverbosity
2009-09-21 10:30:14 +0200 fs r276313 : make some output depend on VERBOSE==TRUE, not COMMAND_ECHO=""
While both are equivalent at the moment, COMMAND_ECHO finally is an implementation
default of the VERBOSE flag only, so better rely on VERBOSE as the primary verbosity flag
2009-09-21 09:56:57 +0200 fs r276311 : forgot to re-generate from tg_zip before committing
2009-09-21 09:52:11 +0200 fs r276310 : #i84497# even less verbosity
2009-09-17 11:02:47 +0200 fs r276232 : #i84497# verbose implies VERBOSE nowadays, and VERBOSE==FALSE should not lead to -DVERBOSE
2009-09-15 22:59:37 +0200 fs r276189 : #i105022# copy fix for this P1 into this CWS
2009-09-15 11:56:35 +0200 fs r276165 : CWS-TOOLING: rebase CWS buildverbosity to trunk@276043 (milestone: DEV300:m58)
2009-09-14 17:45:10 +0200 fs r276137 : #i84497# don't duplicate zip lines w/ and w/o -q switch, use a variable instead (maintenance)
2009-09-14 15:01:33 +0200 fs r276124 : #i10000#
2009-09-11 23:58:46 +0200 thb r276083 : #i84497#: More quiet-build fine tuning
- silenced rsc for real (properly filtering options for
cpp, and a pretty brutal amputation of the tool blurp,
which would have needed cmd opt parser duplication)
- silenced deliver.pl
- silenced checkdll.sh
- silenced zip via -q (in quiet mode)
- silenced various idl, resource, transex whatever tool,
passing appropriate options down to them '-QQ' sometimes
- silenced dmake, pointless blurb that something does *not*
need update removed
- silenced the old starview idl compiler, to not output
tool's name & progress chars in quiet mode
2009-09-11 21:13:59 +0200 thb r276081 : #i84497#: More bits on the quiet mode of the build.
The bulk of the changes is disabling those annoying
"echo ------------------" lines for the quiet build,
which has the stretch goal of outputting *exactly*
one line per file compiled/linked/processed.
Apart from that, silenced a few especialy annoying
module-specific makefiles (basically adding
$(COMMAND_ECHO) in front of a gazillion rules).
Additionally, slightly tweaked what idlc regards
verbose, normal, and quiet mode; this was to have it
echo exactly one line per idl file processed (the
fact that quiet mode did not echo *anything* for idl
files was a bit too much for my taste)
2009-09-04 09:14:35 +0200 fs r275777 : don't emit the link parameters if VERBOSE!=TRUE
2009-09-02 10:31:15 +0200 fs r275700 : #i10000#
2009-09-02 08:44:14 +0200 fs r275697 : update svn:ignore to ignore the output paths
2009-09-02 08:40:54 +0200 fs r275695 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:40:28 +0200 fs r275694 : GRAPHITE is missing in the BUILD_TYPE
2009-09-02 08:40:05 +0200 fs r275693 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:25 +0200 fs r275692 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:39:02 +0200 fs r275691 : #i84497# less verbose output during build, unless a dedicated '-verbose' switch is given
2009-09-02 08:38:09 +0200 fs r275690 : #i84497# less verbose output during build
2009-09-02 08:37:06 +0200 fs r275689 : #i84497# don't emit that much noise, unless a '-verbose' switch is given
2009-10-21 10:43:22 +00:00
|
|
|
explicit SvIdlWorkingBase( const SvCommand& rCmd );
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2014-05-08 11:42:16 +02:00
|
|
|
bool WriteSfx( SvStream & );
|
2000-09-18 15:33:13 +00:00
|
|
|
};
|
|
|
|
|
2014-04-18 22:32:17 +02:00
|
|
|
#endif // INCLUDED_IDL_INC_DATABASE_HXX
|
2000-09-18 15:33:13 +00:00
|
|
|
|
2010-10-27 13:11:31 +01:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|