diff options
Diffstat (limited to 'basic/source/inc/sbunoobj.hxx')
-rwxr-xr-x[-rw-r--r--] | basic/source/inc/sbunoobj.hxx | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/basic/source/inc/sbunoobj.hxx b/basic/source/inc/sbunoobj.hxx index 5c9d58e8ce55..5905f7f4640f 100644..100755 --- a/basic/source/inc/sbunoobj.hxx +++ b/basic/source/inc/sbunoobj.hxx @@ -1,3 +1,4 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -31,9 +32,7 @@ #include <basic/sbxmeth.hxx> #include <basic/sbxprop.hxx> #include <basic/sbxfac.hxx> -#ifndef __SBX_SBX_HXX //autogen #include <basic/sbx.hxx> -#endif #include <com/sun/star/beans/XMaterialHolder.hpp> #include <com/sun/star/beans/XExactName.hpp> #include <com/sun/star/beans/XIntrospectionAccess.hpp> @@ -43,6 +42,8 @@ #include <com/sun/star/reflection/XServiceTypeDescription2.hpp> #include <com/sun/star/reflection/XSingletonTypeDescription.hpp> #include <rtl/ustring.hxx> +#include <boost/unordered_map.hpp> +#include <vector> class SbUnoObject: public SbxObject { @@ -333,6 +334,27 @@ public: virtual void Clear(); }; +typedef boost::unordered_map< ::rtl::OUString, ::com::sun::star::uno::Any, ::rtl::OUStringHash, ::std::equal_to< ::rtl::OUString > > VBAConstantsHash; + +typedef std::vector< rtl::OUString > VBAConstantsVector; + +class VBAConstantHelper +{ +private: + + VBAConstantsVector aConstCache; + VBAConstantsHash aConstHash; + bool isInited; + VBAConstantHelper():isInited( false ) {} + VBAConstantHelper(const VBAConstantHelper&); + void init(); +public: + static VBAConstantHelper& instance(); + SbxVariable* getVBAConstant( const String& rName ); + bool isVBAConstantType( const String& rName ); +}; + #endif +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |