summaryrefslogtreecommitdiff
path: root/cppu/inc/com/sun/star/uno/Type.h
diff options
context:
space:
mode:
Diffstat (limited to 'cppu/inc/com/sun/star/uno/Type.h')
-rw-r--r--cppu/inc/com/sun/star/uno/Type.h460
1 files changed, 0 insertions, 460 deletions
diff --git a/cppu/inc/com/sun/star/uno/Type.h b/cppu/inc/com/sun/star/uno/Type.h
deleted file mode 100644
index 1d71910b28ec..000000000000
--- a/cppu/inc/com/sun/star/uno/Type.h
+++ /dev/null
@@ -1,460 +0,0 @@
-/* -*- 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/.
- *
- * 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 .
- */
-#ifndef _COM_SUN_STAR_UNO_TYPE_H_
-#define _COM_SUN_STAR_UNO_TYPE_H_
-
-#include <typelib/typedescription.h>
-#include <com/sun/star/uno/TypeClass.hdl>
-#include <cppu/macros.hxx>
-#include <rtl/ustring.hxx>
-#include <rtl/alloc.h>
-
-
-namespace com
-{
-namespace sun
-{
-namespace star
-{
-namespace uno
-{
-
-/** Enum defining UNO_TYPE_NO_ACQUIRE for type description reference transfer.
-*/
-enum UnoType_NoAcquire
-{
- /** This enum value can be used for creating a Type object granting a given type description
- reference, i.e. transferring ownership to it.
- */
- UNO_TYPE_NO_ACQUIRE
-};
-
-/** C++ class representing an IDL meta type. This class is used to represent a a type,
- i.e. a type name and its type class.
- Internally the type holds a C type description reference of the runtime.
- You can obtain a full type description of a type by calling member function getDescription().
-
- @see typelib_TypeDescriptionReference
-*/
-class Type
-{
- /** the C typelib reference pointer
- */
- typelib_TypeDescriptionReference * _pType;
-
-public:
- /// @cond INTERNAL
- // these are here to force memory de/allocation to sal lib.
- inline static void * SAL_CALL operator new ( size_t nSize ) SAL_THROW(())
- { return ::rtl_allocateMemory( nSize ); }
- inline static void SAL_CALL operator delete ( void * pMem ) SAL_THROW(())
- { ::rtl_freeMemory( pMem ); }
- inline static void * SAL_CALL operator new ( size_t, void * pMem ) SAL_THROW(())
- { return pMem; }
- inline static void SAL_CALL operator delete ( void *, void * ) SAL_THROW(())
- {}
- /// @endcond
-
- /** Default Constructor: Type is set to void.
- */
- inline Type() SAL_THROW(());
-
- /** Constructor: Type is constructed by given name and type class.
-
- @param eTypeClass type class of type
- @param rTypeName name of type
- */
- inline Type( TypeClass eTypeClass, const ::rtl::OUString & rTypeName ) SAL_THROW(());
-
- /** Constructor: Type is constructed by given name and type class.
-
- @param eTypeClass type class of type
- @param pTypeName name of type
- */
- inline Type( TypeClass eTypeClass, const sal_Char * pTypeName ) SAL_THROW(());
-
- /** Constructor: Type is (copy) constructed by given C type description reference.
-
- @param pType C type description reference
- */
- inline Type( typelib_TypeDescriptionReference * pType ) SAL_THROW(());
-
- /** Constructor: Type is (copy) constructed by given C type description reference
- without acquiring it.
-
- @param pType C type description reference
- @param dummy UNO_TYPE_NO_ACQUIRE to force obvious distinction to other constructors
- */
- inline Type( typelib_TypeDescriptionReference * pType, UnoType_NoAcquire dummy ) SAL_THROW(());
- /** Constructor: Type is (copy) constructed by given C type description reference
- without acquiring it.
-
- @param pType C type description reference
- @param dummy SAL_NO_ACQUIRE to force obvious distinction to other constructors
- */
- inline Type( typelib_TypeDescriptionReference * pType, __sal_NoAcquire dummy ) SAL_THROW(());
-
- /** Copy constructor: Type is copy constructed by given type.
-
- @param rType another type
- */
- inline Type( const Type & rType ) SAL_THROW(());
-
- /** Destructor: Releases acquired C type description reference.
- */
- inline ~Type() SAL_THROW(())
- { ::typelib_typedescriptionreference_release( _pType ); }
-
- /** Assignment operator: Acquires right side type and releases previously set type.
-
- @param rType another type (right side)
- @return this type
- */
- inline Type & SAL_CALL operator = ( const Type & rType ) SAL_THROW(());
-
- /** Gets the type class of set type.
-
- @return type class of set type
- */
- inline TypeClass SAL_CALL getTypeClass() const SAL_THROW(())
- { return (TypeClass)_pType->eTypeClass; }
-
- /** Gets the name of the set type.
-
- @return name of the set type
- */
- inline ::rtl::OUString SAL_CALL getTypeName() const SAL_THROW(());
-
- /** Obtains a full type description of set type.
-
- @param ppDescr [inout] type description
- */
- inline void SAL_CALL getDescription( typelib_TypeDescription ** ppDescr ) const SAL_THROW(())
- { ::typelib_typedescriptionreference_getDescription( ppDescr, _pType ); }
-
- /** Gets the C typelib type description reference pointer. Does not acquire the reference!
-
- @return UNacquired type description reference
- */
- inline typelib_TypeDescriptionReference * SAL_CALL getTypeLibType() const SAL_THROW(())
- { return _pType; }
-
- /** Tests if values of this reflected type can be assigned by values of given type.
- This includes widening conversion (e.g., long assignable from short), as long as there
- is no data loss.
-
- @param rType another type
- @return true if values of this type can be assigned from values of given type,
- false otherwise
- */
- inline sal_Bool SAL_CALL isAssignableFrom( const Type & rType ) const SAL_THROW(())
- { return ::typelib_typedescriptionreference_isAssignableFrom( _pType, rType._pType ); }
-
- /** Compares two types.
-
- @param rType another type
- @return true if both types refer the same type, false otherwise
- */
- inline sal_Bool SAL_CALL equals( const Type & rType ) const SAL_THROW(())
- { return ::typelib_typedescriptionreference_equals( _pType, rType._pType ); }
- /** Equality operator: Compares two types.
-
- @param rType another type
- @return true if both types refer the same type, false otherwise
- */
- inline sal_Bool SAL_CALL operator == ( const Type & rType ) const SAL_THROW(())
- { return ::typelib_typedescriptionreference_equals( _pType, rType._pType ); }
- /** Unequality operator: Compares two types.
-
- @param rType another type
- @return false if both types refer the same type, true otherwise
- */
- inline sal_Bool SAL_CALL operator != ( const Type & rType ) const SAL_THROW(())
- { return (! ::typelib_typedescriptionreference_equals( _pType, rType._pType )); }
-};
-
-/** Helper class to specify a type pointer for idl arrays.
-*/
-template< class T >
-class Array
-{
-public:
- static typelib_TypeDescriptionReference * s_pType;
-};
-
-}
-}
-}
-}
-
-/** Gets the meta type of IDL type "type".
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type "type"
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const ::com::sun::star::uno::Type * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type void.
- @return type of IDL type void
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuVoidType() SAL_THROW(());
-/** Gets the meta type of IDL type void.
-
- @return type of IDL type void
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getVoidCppuType() SAL_THROW(());
-
-/** Gets the meta type of IDL type boolean.
-
- @return type of IDL type boolean
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuBooleanType() SAL_THROW(());
-/** Gets the meta type of IDL type boolean.
-
- @return type of IDL type boolean
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getBooleanCppuType() SAL_THROW(());
-/** Gets the meta type of IDL type boolean.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type boolean
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_Bool * ) SAL_THROW(());
-/** Gets the meta type of IDL type boolean.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type boolean
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType(
- bool const * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type char.
-
- @return type of IDL type char
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCharCppuType() SAL_THROW(());
-/** Gets the meta type of IDL type char.
-
- @return type of IDL type char
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuCharType() SAL_THROW(());
-
-/** Gets the meta type of IDL type byte.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type byte
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_Int8 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type string.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type string
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const ::rtl::OUString * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type short.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type short
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_Int16 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type unsigned short.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type unsigned short
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_uInt16 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type long.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type long
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_Int32 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type unsigned long.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type unsigned long
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_uInt32 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type hyper.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type hyper
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_Int64 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type unsigned hyper.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type unsigned hyper
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const sal_uInt64 * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type float.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type float
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const float * ) SAL_THROW(());
-
-/** Gets the meta type of IDL type double.
-
- There are cases (involving templates) where uses of getCppuType are known to
- not compile. Use cppu::UnoType or cppu::getTypeFavourUnsigned instead.
-
- The dummy parameter is just a typed pointer for function signature.
-
- @return type of IDL type double
-*/
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const double * ) SAL_THROW(());
-
-/** Array template function to get meta type for one-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType1( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for two-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType2( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for three-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType3( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for four-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType4( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for five-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType5( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for six-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType6( T * pT ) SAL_THROW(());
-
-/** Gets the meta type of an IDL type.
-
- The difference between this function template (with a type parameter) and
- the overloaded getCppuType function with a single (dummy) parameter of a
- specific type is that this function template may not work for the UNO type
- "unsigned short" (sal_uInt16 in C++), while the overloaded one-parameter
- function may not work for the UNO type "char" (sal_Unicode in C++, which may
- have the same underlying C++ type as sal_uInt16 on certain platforms).
-
- @return type of the given IDL type
-
- @deprecated
- Use cppu::UnoType instead (or the internal-only cppu::getTypeFavourChar).
- Also note that getCppuType< com::sun::star::uno::Sequence< sal_Unicode > >()
- does not work as expected.
-
- @since UDK 3.2.0
-*/
-template< typename T > inline const ::com::sun::star::uno::Type & SAL_CALL
-getCppuType() SAL_THROW(());
-
-/** Gets the meta type of IDL type char.
-
- @return type of IDL type char
-
- @deprecated
- Use cppu::UnoType instead (or the internal-only cppu::getTypeFavourChar).
- Also note that getCppuType< com::sun::star::uno::Sequence< sal_Unicode > >()
- does not work as expected.
-
- @since UDK 3.2.0
-*/
-template<> inline const ::com::sun::star::uno::Type & SAL_CALL
-getCppuType< sal_Unicode >() SAL_THROW(());
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */