Kaydet (Commit) 320571bf authored tarafından Stephan Bergmann's avatar Stephan Bergmann

WIP: Experimental new binary type.rdb format

Move unoidl functionality into a module of its own, as a prerequisite to use it
in codemaker etc.  (This is intended to ultimately remove modules store and
registry, modulo backwards compatibility constraints.)

Change-Id: If5274cbd3a595951e6cf7a9664bc542f01833f38
üst b324cbef
...@@ -69,6 +69,7 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\ ...@@ -69,6 +69,7 @@ $(eval $(call gb_Module_add_moduledirs,cross_toolset,\
ucbhelper \ ucbhelper \
udkapi \ udkapi \
udm \ udm \
unoidl \
unoil \ unoil \
unotest \ unotest \
unotools \ unotools \
......
...@@ -205,6 +205,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_build,\ ...@@ -205,6 +205,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_build,\
UnoControls \ UnoControls \
unodevtools \ unodevtools \
unoil \ unoil \
unoidl \
unotest \ unotest \
unotools \ unotools \
unoxml \ unoxml \
......
...@@ -443,6 +443,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \ ...@@ -443,6 +443,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
sal_textenc \ sal_textenc \
sunjavaplugin \ sunjavaplugin \
sunpro5_uno \ sunpro5_uno \
unoidl \
unsafe_uno \ unsafe_uno \
xmlreader \ xmlreader \
)) ))
......
...@@ -212,6 +212,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\ ...@@ -212,6 +212,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
UnoControls \ UnoControls \
unodevtools \ unodevtools \
unoil \ unoil \
unoidl \
unotest \ unotest \
unotools \ unotools \
unoxml \ unoxml \
......
...@@ -45,6 +45,7 @@ $(eval $(call gb_Library_use_libraries,cppuhelper,\ ...@@ -45,6 +45,7 @@ $(eval $(call gb_Library_use_libraries,cppuhelper,\
reg \ reg \
sal \ sal \
salhelper \ salhelper \
unoidl \
xmlreader \ xmlreader \
$(gb_UWINAPI) \ $(gb_UWINAPI) \
)) ))
...@@ -76,8 +77,6 @@ $(eval $(call gb_Library_add_exception_objects,cppuhelper,\ ...@@ -76,8 +77,6 @@ $(eval $(call gb_Library_add_exception_objects,cppuhelper,\
cppuhelper/source/tdmgr \ cppuhelper/source/tdmgr \
cppuhelper/source/typedescriptionprovider \ cppuhelper/source/typedescriptionprovider \
cppuhelper/source/typeprovider \ cppuhelper/source/typeprovider \
cppuhelper/source/unoidl \
cppuhelper/source/unoidlprovider \
cppuhelper/source/unourl \ cppuhelper/source/unourl \
cppuhelper/source/weak \ cppuhelper/source/weak \
)) ))
......
...@@ -77,7 +77,6 @@ $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/queryinterface.h ...@@ -77,7 +77,6 @@ $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/queryinterface.h
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/shlib.hxx,cppuhelper/shlib.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/shlib.hxx,cppuhelper/shlib.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/supportsservice.hxx,cppuhelper/supportsservice.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/supportsservice.hxx,cppuhelper/supportsservice.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/typeprovider.hxx,cppuhelper/typeprovider.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/typeprovider.hxx,cppuhelper/typeprovider.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/unoidl.hxx,cppuhelper/unoidl.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/unourl.hxx,cppuhelper/unourl.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/unourl.hxx,cppuhelper/unourl.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weakagg.hxx,cppuhelper/weakagg.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weakagg.hxx,cppuhelper/weakagg.hxx))
$(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weak.hxx,cppuhelper/weak.hxx)) $(eval $(call gb_Package_add_file,cppuhelper_inc,inc/cppuhelper/weak.hxx,cppuhelper/weak.hxx))
......
ch cppuhelper : BOOST:boost LIBXSLT:libxslt DESKTOP:codemaker cppu offapi registry salhelper xmlreader NULL ch cppuhelper : BOOST:boost LIBXSLT:libxslt DESKTOP:codemaker cppu offapi registry salhelper unoidl xmlreader NULL
ch cppuhelper\prj nmake - all ch_prj NULL ch cppuhelper\prj nmake - all ch_prj NULL
...@@ -290,6 +290,7 @@ certain functionality. ...@@ -290,6 +290,7 @@ certain functionality.
@li @c svg @li @c svg
@li @c svx @li @c svx
@li @c ucbhelper @li @c ucbhelper
@li @c unoidl
@li @c xmlhelp @li @c xmlhelp
@li @c xmloff @li @c xmloff
@li @c xmlreader @li @c xmlreader
......
...@@ -277,6 +277,13 @@ File gid_File_Dl_Store ...@@ -277,6 +277,13 @@ File gid_File_Dl_Store
End End
File gid_File_Dl_Unoidl
LIB_FILE_BODY;
Dir = SCP2_URE_DL_DIR;
Name = SCP2_URE_DL_NORMAL("unoidl");
Styles = (PACKED);
End
File gid_File_Dl_Xmlreader File gid_File_Dl_Xmlreader
LIB_FILE_BODY; LIB_FILE_BODY;
Dir = SCP2_URE_DL_DIR; Dir = SCP2_URE_DL_DIR;
...@@ -998,6 +1005,7 @@ Module gid_Module_Root_Ure_Hidden ...@@ -998,6 +1005,7 @@ Module gid_Module_Root_Ure_Hidden
gid_Unixlink_File_Dl_Rmcxt, gid_Unixlink_File_Dl_Rmcxt,
gid_File_Dl_Store, gid_File_Dl_Store,
gid_Unixlink_File_Dl_Store, gid_Unixlink_File_Dl_Store,
gid_File_Dl_Unoidl,
gid_File_Dl_Xmlreader, gid_File_Dl_Xmlreader,
gid_File_Dl_Jvmaccess, gid_File_Dl_Jvmaccess,
gid_Unixlink_File_Dl_Jvmaccess, gid_Unixlink_File_Dl_Jvmaccess,
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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/.
#
$(eval $(call gb_Library_Library,unoidl))
$(eval $(call gb_Library_add_defs,unoidl,-DLO_DLLIMPLEMENTATION_UNOIDL))
$(eval $(call gb_Library_add_exception_objects,unoidl, \
unoidl/source/unoidl \
unoidl/source/unoidlprovider \
))
$(eval $(call gb_Library_use_libraries,unoidl, \
sal \
salhelper \
))
$(eval $(call gb_Library_use_package,unoidl,unoidl_inc))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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/.
#
module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
include $(module_directory)/../solenv/gbuild/partial_build.mk
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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/.
#
$(eval $(call gb_Module_Module,unoidl))
$(eval $(call gb_Module_add_targets,unoidl, \
Library_unoidl \
Package_inc \
))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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/.
#
$(eval $(call gb_Package_Package,unoidl_inc,$(SRCDIR)/unoidl/inc/unoidl))
$(eval $(call gb_Package_add_file,unoidl_inc,inc/unoidl/detail/dllapi.hxx,detail/dllapi.hxx))
$(eval $(call gb_Package_add_file,unoidl_inc,inc/unoidl/unoidl.hxx,unoidl.hxx))
$(eval $(call gb_Package_add_file,unoidl_inc,inc/unoidl/unoidlprovider.hxx,unoidlprovider.hxx))
# vim: set noet sw=4 ts=4:
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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/.
*/
#ifndef INCLUDED_UNOIDL_DETAIL_DLLAPI_HXX
#define INCLUDED_UNOIDL_DETAIL_DLLAPI_HXX
#include "sal/config.h"
#include "sal/types.h"
#if defined LO_DLLIMPLEMENTATION_UNOIDL
#define LO_DLLPUBLIC_UNOIDL SAL_DLLPUBLIC_EXPORT
#else
#define LO_DLLPUBLIC_UNOIDL SAL_DLLPUBLIC_IMPORT
#endif
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* 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/.
*/
#ifndef INCLUDED_UNOIDL_DETAIL_UNOIDLDLLAPI_HXX
#define INCLUDED_UNOIDL_DETAIL_UNOIDLDLLAPI_HXX
#include "sal/config.h"
#include "sal/types.h"
#if defined LO_DLLIMPLEMENTATION_UNOIDL
#define LO_DLLPUBLIC_UNOIDL SAL_DLLPUBLIC_EXPORT
#else
#define LO_DLLPUBLIC_UNOIDL SAL_DLLPUBLIC_IMPORT
#endif
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -7,38 +7,71 @@ ...@@ -7,38 +7,71 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ */
#ifndef INCLUDED_CPPUHELPER_UNOIDL_HXX #ifndef INCLUDED_UNOIDL_UNOIDL_HXX
#define INCLUDED_CPPUHELPER_UNOIDL_HXX #define INCLUDED_UNOIDL_UNOIDL_HXX
#include "sal/config.h" #include "sal/config.h"
#include <cassert> #include <cassert>
#include <vector> #include <vector>
#include "com/sun/star/uno/Any.hxx"
#include "cppuhelper/cppuhelperdllapi.h"
#include "rtl/ref.hxx" #include "rtl/ref.hxx"
#include "rtl/ustring.hxx" #include "rtl/ustring.hxx"
#include "sal/types.h" #include "sal/types.h"
#include "salhelper/simplereferenceobject.hxx" #include "salhelper/simplereferenceobject.hxx"
#include "unoidl/detail/dllapi.hxx"
namespace cppu { namespace unoidl { namespace unoidl {
class CPPUHELPER_DLLPUBLIC Entity: public salhelper::SimpleReferenceObject { class LO_DLLPUBLIC_UNOIDL NoSuchFileException {
public:
SAL_DLLPRIVATE NoSuchFileException(rtl::OUString const & uri): uri_(uri) {}
SAL_DLLPRIVATE NoSuchFileException(NoSuchFileException const & other):
uri_(other.uri_) {}
virtual SAL_DLLPRIVATE ~NoSuchFileException() throw ();
rtl::OUString getUri() const { return uri_; }
private:
void operator =(NoSuchFileException) SAL_DELETED_FUNCTION;
rtl::OUString uri_;
};
class LO_DLLPUBLIC_UNOIDL FileFormatException {
public:
SAL_DLLPRIVATE FileFormatException(
rtl::OUString const & uri, rtl::OUString const & detail):
uri_(uri), detail_(detail)
{}
SAL_DLLPRIVATE FileFormatException(FileFormatException const & other):
uri_(other.uri_), detail_(other.detail_)
{}
virtual SAL_DLLPRIVATE ~FileFormatException() throw ();
rtl::OUString getUri() const { return uri_; }
rtl::OUString getDetail() const { return detail_; }
private:
void operator =(FileFormatException) SAL_DELETED_FUNCTION;
rtl::OUString uri_;
rtl::OUString detail_;
};
class LO_DLLPUBLIC_UNOIDL Entity: public salhelper::SimpleReferenceObject {
public: public:
enum Sort { enum Sort {
SORT_MODULE, SORT_MODULE, SORT_ENUM_TYPE, SORT_PLAIN_STRUCT_TYPE,
SORT_ENUM_TYPE, SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE, SORT_EXCEPTION_TYPE,
SORT_PLAIN_STRUCT_TYPE, SORT_INTERFACE_TYPE, SORT_TYPEDEF, SORT_CONSTANT_GROUP,
SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE, SORT_SINGLE_INTERFACE_BASED_SERVICE, SORT_ACCUMULATION_BASED_SERVICE,
SORT_EXCEPTION_TYPE, SORT_INTERFACE_BASED_SINGLETON, SORT_SERVICE_BASED_SINGLETON
SORT_INTERFACE_TYPE,
SORT_TYPEDEF,
SORT_CONSTANT_GROUP,
SORT_SINGLE_INTERFACE_BASED_SERVICE,
SORT_ACCUMULATION_BASED_SERVICE,
SORT_INTERFACE_BASED_SINGLETON,
SORT_SERVICE_BASED_SINGLETON
}; };
Sort getSort() const { return sort_; } Sort getSort() const { return sort_; }
...@@ -52,8 +85,9 @@ private: ...@@ -52,8 +85,9 @@ private:
Sort sort_; Sort sort_;
}; };
class CPPUHELPER_DLLPUBLIC MapCursor: public salhelper::SimpleReferenceObject { class LO_DLLPUBLIC_UNOIDL MapCursor: public salhelper::SimpleReferenceObject {
public: public:
// throws FileFormatException:
virtual rtl::Reference< Entity > getNext(rtl::OUString * name) = 0; virtual rtl::Reference< Entity > getNext(rtl::OUString * name) = 0;
protected: protected:
...@@ -62,10 +96,12 @@ protected: ...@@ -62,10 +96,12 @@ protected:
virtual SAL_DLLPRIVATE ~MapCursor() throw(); virtual SAL_DLLPRIVATE ~MapCursor() throw();
}; };
class CPPUHELPER_DLLPUBLIC ModuleEntity: public Entity { class LO_DLLPUBLIC_UNOIDL ModuleEntity: public Entity {
public: public:
// throws FileFormatException:
virtual std::vector< rtl::OUString > getMemberNames() const = 0; virtual std::vector< rtl::OUString > getMemberNames() const = 0;
// throws FileFormatException:
virtual rtl::Reference< MapCursor > createCursor() const = 0; virtual rtl::Reference< MapCursor > createCursor() const = 0;
protected: protected:
...@@ -74,7 +110,7 @@ protected: ...@@ -74,7 +110,7 @@ protected:
virtual SAL_DLLPRIVATE ~ModuleEntity() throw (); virtual SAL_DLLPRIVATE ~ModuleEntity() throw ();
}; };
class CPPUHELPER_DLLPUBLIC PublishableEntity: public Entity { class LO_DLLPUBLIC_UNOIDL PublishableEntity: public Entity {
public: public:
bool isPublished() const { return published_; } bool isPublished() const { return published_; }
...@@ -89,7 +125,7 @@ private: ...@@ -89,7 +125,7 @@ private:
bool published_; bool published_;
}; };
class CPPUHELPER_DLLPUBLIC EnumTypeEntity: public PublishableEntity { class LO_DLLPUBLIC_UNOIDL EnumTypeEntity: public PublishableEntity {
public: public:
struct Member { struct Member {
Member(rtl::OUString const & theName, sal_Int32 theValue): Member(rtl::OUString const & theName, sal_Int32 theValue):
...@@ -114,7 +150,7 @@ private: ...@@ -114,7 +150,7 @@ private:
std::vector< Member > members_; std::vector< Member > members_;
}; };
class CPPUHELPER_DLLPUBLIC PlainStructTypeEntity: public PublishableEntity { class LO_DLLPUBLIC_UNOIDL PlainStructTypeEntity: public PublishableEntity {
public: public:
struct Member { struct Member {
Member(rtl::OUString const & theName, rtl::OUString const & theType): Member(rtl::OUString const & theName, rtl::OUString const & theType):
...@@ -145,7 +181,7 @@ private: ...@@ -145,7 +181,7 @@ private:
std::vector< Member > directMembers_; std::vector< Member > directMembers_;
}; };
class CPPUHELPER_DLLPUBLIC PolymorphicStructTypeTemplateEntity: class LO_DLLPUBLIC_UNOIDL PolymorphicStructTypeTemplateEntity:
public PublishableEntity public PublishableEntity
{ {
public: public:
...@@ -182,7 +218,7 @@ private: ...@@ -182,7 +218,7 @@ private:
std::vector< Member > members_; std::vector< Member > members_;
}; };
class CPPUHELPER_DLLPUBLIC ExceptionTypeEntity: public PublishableEntity { class LO_DLLPUBLIC_UNOIDL ExceptionTypeEntity: public PublishableEntity {
public: public:
struct Member { struct Member {
Member(rtl::OUString const & theName, rtl::OUString const & theType): Member(rtl::OUString const & theName, rtl::OUString const & theType):
...@@ -213,7 +249,7 @@ private: ...@@ -213,7 +249,7 @@ private:
std::vector< Member > directMembers_; std::vector< Member > directMembers_;
}; };
class CPPUHELPER_DLLPUBLIC InterfaceTypeEntity: public PublishableEntity { class LO_DLLPUBLIC_UNOIDL InterfaceTypeEntity: public PublishableEntity {
public: public:
struct Attribute { struct Attribute {
Attribute( Attribute(
...@@ -306,7 +342,7 @@ private: ...@@ -306,7 +342,7 @@ private:
std::vector< Method > directMethods_; std::vector< Method > directMethods_;
}; };
class CPPUHELPER_DLLPUBLIC TypedefEntity: public PublishableEntity { class LO_DLLPUBLIC_UNOIDL TypedefEntity: public PublishableEntity {
public: public:
SAL_DLLPRIVATE TypedefEntity(bool published, rtl::OUString const & type): SAL_DLLPRIVATE TypedefEntity(bool published, rtl::OUString const & type):
PublishableEntity(SORT_TYPEDEF, published), type_(type) PublishableEntity(SORT_TYPEDEF, published), type_(type)
...@@ -320,16 +356,69 @@ private: ...@@ -320,16 +356,69 @@ private:
rtl::OUString type_; rtl::OUString type_;
}; };
class CPPUHELPER_DLLPUBLIC ConstantGroupEntity: public PublishableEntity { struct LO_DLLPUBLIC_UNOIDL ConstantValue {
enum Type {
TYPE_BOOLEAN, TYPE_BYTE, TYPE_SHORT, TYPE_UNSIGNED_SHORT, TYPE_LONG,
TYPE_UNSIGNED_LONG, TYPE_HYPER, TYPE_UNSIGNED_HYPER, TYPE_FLOAT,
TYPE_DOUBLE };
explicit ConstantValue(bool value): type(TYPE_BOOLEAN), booleanValue(value)
{}
explicit ConstantValue(sal_Int8 value): type(TYPE_BYTE), byteValue(value) {}
explicit ConstantValue(sal_Int16 value): type(TYPE_SHORT), shortValue(value)
{}
explicit ConstantValue(sal_uInt16 value):
type(TYPE_UNSIGNED_SHORT), unsignedShortValue(value)
{}
explicit ConstantValue(sal_Int32 value): type(TYPE_LONG), longValue(value)
{}
explicit ConstantValue(sal_uInt32 value):
type(TYPE_UNSIGNED_LONG), unsignedLongValue(value)
{}
explicit ConstantValue(sal_Int64 value): type(TYPE_HYPER), hyperValue(value)
{}
explicit ConstantValue(sal_uInt64 value):
type(TYPE_UNSIGNED_HYPER), unsignedHyperValue(value)
{}
explicit ConstantValue(float value): type(TYPE_FLOAT), floatValue(value) {}
explicit ConstantValue(double value): type(TYPE_DOUBLE), doubleValue(value)
{}
Type type;
union {
bool booleanValue;
sal_Int8 byteValue;
sal_Int16 shortValue;
sal_uInt16 unsignedShortValue;
sal_Int32 longValue;
sal_uInt32 unsignedLongValue;
sal_Int64 hyperValue;
sal_uInt64 unsignedHyperValue;
float floatValue;
double doubleValue;
};
};
class LO_DLLPUBLIC_UNOIDL ConstantGroupEntity: public PublishableEntity {
public: public:
struct Member { struct Member {
Member(rtl::OUString const & theName, css::uno::Any const & theValue): Member(rtl::OUString const & theName, ConstantValue const & theValue):
name(theName), value(theValue) name(theName), value(theValue)
{} {}
rtl::OUString name; rtl::OUString name;
css::uno::Any value; ConstantValue value;
}; };
SAL_DLLPRIVATE ConstantGroupEntity( SAL_DLLPRIVATE ConstantGroupEntity(
...@@ -345,7 +434,7 @@ private: ...@@ -345,7 +434,7 @@ private:
std::vector< Member > members_; std::vector< Member > members_;
}; };
class CPPUHELPER_DLLPUBLIC SingleInterfaceBasedServiceEntity: class LO_DLLPUBLIC_UNOIDL SingleInterfaceBasedServiceEntity:
public PublishableEntity public PublishableEntity
{ {
public: public:
...@@ -402,7 +491,7 @@ private: ...@@ -402,7 +491,7 @@ private:
std::vector< Constructor > constructors_; std::vector< Constructor > constructors_;
}; };
class CPPUHELPER_DLLPUBLIC AccumulationBasedServiceEntity: class LO_DLLPUBLIC_UNOIDL AccumulationBasedServiceEntity:
public PublishableEntity public PublishableEntity
{ {
public: public:
...@@ -473,7 +562,7 @@ private: ...@@ -473,7 +562,7 @@ private:
std::vector< Property > directProperties_; std::vector< Property > directProperties_;
}; };
class CPPUHELPER_DLLPUBLIC InterfaceBasedSingletonEntity: class LO_DLLPUBLIC_UNOIDL InterfaceBasedSingletonEntity:
public PublishableEntity public PublishableEntity
{ {
public: public:
...@@ -491,7 +580,7 @@ private: ...@@ -491,7 +580,7 @@ private:
rtl::OUString base_; rtl::OUString base_;
}; };
class CPPUHELPER_DLLPUBLIC ServiceBasedSingletonEntity: public PublishableEntity class LO_DLLPUBLIC_UNOIDL ServiceBasedSingletonEntity: public PublishableEntity
{ {
public: public:
SAL_DLLPRIVATE ServiceBasedSingletonEntity( SAL_DLLPRIVATE ServiceBasedSingletonEntity(
...@@ -507,8 +596,9 @@ private: ...@@ -507,8 +596,9 @@ private:
rtl::OUString base_; rtl::OUString base_;
}; };
class CPPUHELPER_DLLPUBLIC Provider: public salhelper::SimpleReferenceObject { class LO_DLLPUBLIC_UNOIDL Provider: public salhelper::SimpleReferenceObject {
public: public:
// throws FileFormatException:
virtual rtl::Reference< MapCursor > createRootCursor() const = 0; virtual rtl::Reference< MapCursor > createRootCursor() const = 0;
protected: protected:
...@@ -517,10 +607,11 @@ protected: ...@@ -517,10 +607,11 @@ protected:
virtual SAL_DLLPRIVATE ~Provider() throw (); virtual SAL_DLLPRIVATE ~Provider() throw ();
}; };
CPPUHELPER_DLLPUBLIC rtl::Reference< Provider > loadProvider( // throws FileFormatException, NoSuchFileException:
LO_DLLPUBLIC_UNOIDL rtl::Reference< Provider > loadProvider(
rtl::OUString const & uri); rtl::OUString const & uri);
} } }
#endif #endif
......
...@@ -7,43 +7,46 @@ ...@@ -7,43 +7,46 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. * file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/ */
#ifndef INCLUDED_CPPUHELPER_SOURCE_UNOIDLPROVIDER_HXX #ifndef INCLUDED_UNOIDL_UNOIDLPROVIDER_HXX
#define INCLUDED_CPPUHELPER_SOURCE_UNOIDLPROVIDER_HXX #define INCLUDED_UNOIDL_UNOIDLPROVIDER_HXX
#include "sal/config.h" #include "sal/config.h"
#include "cppuhelper/unoidl.hxx"
#include "rtl/ref.hxx" #include "rtl/ref.hxx"
#include "sal/types.h" #include "sal/types.h"
#include "unoidl/detail/dllapi.hxx"
#include "unoidl/unoidl.hxx"
namespace com { namespace sun { namespace star { namespace uno { namespace rtl { class OUString; }
class Any; namespace unoidl { namespace detail {
} } } }
namespace cppu {
class MappedFile; class MappedFile;
struct MapEntry; struct MapEntry;
} } }
namespace rtl { class OUString; }
namespace cppu { namespace unoidl {
class UnoidlProvider: public unoidl::Provider { class LO_DLLPUBLIC_UNOIDL UnoidlProvider: public Provider {
public: public:
// throws FileFormatException, NoSuchFileException:
explicit UnoidlProvider(rtl::OUString const & uri); explicit UnoidlProvider(rtl::OUString const & uri);
virtual rtl::Reference< unoidl::MapCursor > createRootCursor() const; // throws FileFormatException:
virtual rtl::Reference< MapCursor > createRootCursor() const;
// throws FileFormatException:
sal_uInt32 find(rtl::OUString const & name, bool * constant = 0) const; sal_uInt32 find(rtl::OUString const & name, bool * constant = 0) const;
rtl::Reference< unoidl::Entity > getEntity(sal_uInt32 offset) const; // throws FileFormatException:
rtl::Reference< Entity > getEntity(sal_uInt32 offset) const;
css::uno::Any getConstant(sal_uInt32 offset) const; // throws FileFormatException:
ConstantValue getConstant(sal_uInt32 offset) const;
private: private:
virtual ~UnoidlProvider() throw (); virtual SAL_DLLPRIVATE ~UnoidlProvider() throw ();
rtl::Reference< MappedFile > file_; rtl::Reference< detail::MappedFile > file_;
MapEntry const * mapBegin_; detail::MapEntry const * mapBegin_;
sal_uInt32 mapSize_; sal_uInt32 mapSize_;
}; };
......
un unoidl: sal salhelper NULL
un unoidl\prj nmake - all un_prj NULL
...@@ -11,13 +11,16 @@ ...@@ -11,13 +11,16 @@
#include <vector> #include <vector>
#include "cppuhelper/unoidl.hxx"
#include "rtl/ref.hxx" #include "rtl/ref.hxx"
#include "rtl/ustring.hxx" #include "rtl/ustring.hxx"
#include "unoidl/unoidl.hxx"
#include "unoidl/unoidlprovider.hxx"
#include "unoidlprovider.hxx" namespace unoidl {
namespace cppu { namespace unoidl { NoSuchFileException::~NoSuchFileException() throw () {}
FileFormatException::~FileFormatException() throw () {}
Entity::~Entity() throw () {} Entity::~Entity() throw () {}
...@@ -54,10 +57,10 @@ ServiceBasedSingletonEntity::~ServiceBasedSingletonEntity() throw () {} ...@@ -54,10 +57,10 @@ ServiceBasedSingletonEntity::~ServiceBasedSingletonEntity() throw () {}
Provider::~Provider() throw () {} Provider::~Provider() throw () {}
rtl::Reference< Provider > loadProvider(rtl::OUString const & uri) { rtl::Reference< Provider > loadProvider(OUString const & uri) {
return new UnoidlProvider(uri); return new UnoidlProvider(uri);
} }
} } }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -50,6 +50,7 @@ Linux x86, Solaris x86, and Solaris SPARC: ...@@ -50,6 +50,7 @@ Linux x86, Solaris x86, and Solaris SPARC:
/opt/openoffice.org/ure/lib/unorc [private] /opt/openoffice.org/ure/lib/unorc [private]
/opt/openoffice.org/ure/lib/libreg.so.3 [private] /opt/openoffice.org/ure/lib/libreg.so.3 [private]
/opt/openoffice.org/ure/lib/libstore.so.3 [private] /opt/openoffice.org/ure/lib/libstore.so.3 [private]
/opt/openoffice.org/ure/lib/libunoidl.so [private]
/opt/openoffice.org/ure/lib/libxmlreader.so [private] /opt/openoffice.org/ure/lib/libxmlreader.so [private]
/opt/openoffice.org/ure/lib/libjvmaccessgcc3.so.3 [private; Linux x86 only] /opt/openoffice.org/ure/lib/libjvmaccessgcc3.so.3 [private; Linux x86 only]
/opt/openoffice.org/ure/lib/libjvmaccessC52.so.3 [private; Solaris only] /opt/openoffice.org/ure/lib/libjvmaccessC52.so.3 [private; Solaris only]
...@@ -110,6 +111,7 @@ Program Files\URE\bin\libxml2.dll [external] ...@@ -110,6 +111,7 @@ Program Files\URE\bin\libxml2.dll [external]
Program Files\URE\bin\uno.ini [private] Program Files\URE\bin\uno.ini [private]
Program Files\URE\bin\reg3.dll [private] Program Files\URE\bin\reg3.dll [private]
Program Files\URE\bin\store3.dll [private] Program Files\URE\bin\store3.dll [private]
Program Files\URE\bin\unoidl.dll [private]
Program Files\URE\bin\xmlreader.dll [private] Program Files\URE\bin\xmlreader.dll [private]
Program Files\URE\bin\jvmaccess3MSC.dll [private] Program Files\URE\bin\jvmaccess3MSC.dll [private]
Program Files\URE\bin\jvmfwk3.dll [private] Program Files\URE\bin\jvmfwk3.dll [private]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment