summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/util
diff options
context:
space:
mode:
authorDaniel Boelzle <dbo@openoffice.org>2002-06-14 11:47:53 +0000
committerDaniel Boelzle <dbo@openoffice.org>2002-06-14 11:47:53 +0000
commit51512bafd9bc1e9240bbf2e2496c4313474081a9 (patch)
tree8ddebf2d6166a85f0915d3b19cff10b134bbe59d /udkapi/com/sun/star/util
parent0a73c5709b88f2b4109270f9acb798d39cfb9690 (diff)
#100075# macro expander
Diffstat (limited to 'udkapi/com/sun/star/util')
-rw-r--r--udkapi/com/sun/star/util/BootstrapMacroExpander.idl98
-rw-r--r--udkapi/com/sun/star/util/MacroExpander.idl111
-rw-r--r--udkapi/com/sun/star/util/XMacroExpander.idl100
-rw-r--r--udkapi/com/sun/star/util/makefile.mk83
4 files changed, 392 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/util/BootstrapMacroExpander.idl b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl
new file mode 100644
index 000000000000..6904a134e6fe
--- /dev/null
+++ b/udkapi/com/sun/star/util/BootstrapMacroExpander.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * $RCSfile: BootstrapMacroExpander.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: dbo $ $Date: 2002-06-14 12:47:52 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2002 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_BootstrapMacroExpander_idl__
+#define __com_sun_star_util_BootstrapMacroExpander_idl__
+
+#ifndef __com_sun_star_util_MacroExpander_idl__
+#include <com/sun/star/util/MacroExpander.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** Macro expander expanding using rtl bootstrap notation.
+
+ For details, have a look at
+ http://udk.openoffice.org/common/man/concept/micro_deployment.html#misc
+
+ The service can be instantiated via arguments giving an ini/rc file url.
+ Otherwise it will read from an uno.ini/unorc file next to the cppuhelper
+ library.
+
+ @see theMacroExpander
+*/
+service BootstrapMacroExpander
+{
+ service MacroExpander;
+ [optional] interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/MacroExpander.idl b/udkapi/com/sun/star/util/MacroExpander.idl
new file mode 100644
index 000000000000..deddcee12400
--- /dev/null
+++ b/udkapi/com/sun/star/util/MacroExpander.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * $RCSfile: MacroExpander.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: dbo $ $Date: 2002-06-14 12:47:52 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2002 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_MacroExpander_idl__
+#define __com_sun_star_util_MacroExpander_idl__
+
+#ifndef __com_sun_star_util_XMacroExpander_idl__
+#include <com/sun/star/util/XMacroExpander.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** This meta service supports the XMacroExpander interface for expanding
+ arbitrary macro expressions, i.e. substitude macro names.
+ The purpose of this service is to separate the use of macrofied strings,
+ e.g. urls from the use of services.
+
+ @see BootstrapMacroExpander
+ @see theMacroExpander
+*/
+service MacroExpander
+{
+ interface XMacroExpander;
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+/** A service that has to deal with macrofied strings will preprocess those
+ strings using the macro expander singleton.
+ The macro expander singleton is deployed with the application.
+
+ This feature is currently used macrofying loader urls with macros defined
+ in uno.ini/unorc bootstrap files. The component loader uses the macro
+ expander singleton to expand those macros. This is a flexible way
+ preprocessing loader urls.
+
+ @see MacroExpander
+*/
+singleton theMacroExpander
+{
+ service MacroExpander;
+};
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/XMacroExpander.idl b/udkapi/com/sun/star/util/XMacroExpander.idl
new file mode 100644
index 000000000000..05c084c98013
--- /dev/null
+++ b/udkapi/com/sun/star/util/XMacroExpander.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * $RCSfile: XMacroExpander.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: dbo $ $Date: 2002-06-14 12:47:53 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2002 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_util_XMacroExpander_idl__
+#define __com_sun_star_util_XMacroExpander_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module util {
+
+//=============================================================================
+
+/** Expands macro in expressions, i.e. substitudes macro names.
+*/
+interface XMacroExpander : com::sun::star::uno::XInterface
+{
+ /** Expands macrofied expressions.
+
+ @param exp
+ macrofied expression
+ @return
+ demacrofied expression
+ @throws IllegalArgumentException
+ if a macro name is unknown, thus cannot be expanded
+ */
+ string expandMacros( [in] string exp )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/udkapi/com/sun/star/util/makefile.mk b/udkapi/com/sun/star/util/makefile.mk
new file mode 100644
index 000000000000..8bf65006b8e2
--- /dev/null
+++ b/udkapi/com/sun/star/util/makefile.mk
@@ -0,0 +1,83 @@
+#*************************************************************************
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.1 $
+#
+# last change: $Author: dbo $ $Date: 2002-06-14 12:47:53 $
+#
+# The Contents of this file are made available subject to the terms of
+# either of the following licenses
+#
+# - GNU Lesser General Public License Version 2.1
+# - Sun Industry Standards Source License Version 1.1
+#
+# Sun Microsystems Inc., October, 2000
+#
+# GNU Lesser General Public License Version 2.1
+# =============================================
+# Copyright 2000 by Sun Microsystems, Inc.
+# 901 San Antonio Road, Palo Alto, CA 94303, USA
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License version 2.1, as published by the Free Software Foundation.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+#
+# Sun Industry Standards Source License Version 1.1
+# =================================================
+# The contents of this file are subject to the Sun Industry Standards
+# Source License Version 1.1 (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.openoffice.org/license.html.
+#
+# Software provided under this License is provided on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+# See the License for the specific provisions governing your rights and
+# obligations concerning the Software.
+#
+# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+#
+# Copyright: 2000 by Sun Microsystems, Inc.
+#
+# All Rights Reserved.
+#
+# Contributor(s): _______________________________________
+#
+#
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=api
+
+TARGET=cssutil
+PACKAGE=com$/sun$/star$/util
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XMacroExpander.idl \
+ MacroExpander.idl \
+ BootstrapMacroExpander.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk