LibreOffice
LibreOffice 6.0 SDK C/C++ API Reference
Classes | Enumerations | Functions
com::sun::star::uno Namespace Reference

Classes

class  Any
 C++ class representing an IDL any. More...
 
class  Array
 Helper class to specify a type pointer for idl arrays. More...
 
class  BaseReference
 This base class serves as a base class for all template reference classes and has been introduced due to compiler problems with templated operators ==, =!. More...
 
class  ContextLayer
 Objects of this class are used for applying a current context until they are destructed, i.e. More...
 
class  Environment
 C++ wrapper for binary C uno_Environment. More...
 
class  Mapping
 C++ wrapper for C uno_Mapping. More...
 
class  Reference
 Template reference class for interface type derived from BaseReference. More...
 
class  Sequence
 Template C++ class representing an IDL sequence. More...
 
class  Sequence< bool >
 
class  Type
 C++ class representing an IDL meta type. More...
 
class  TypeDescription
 C++ wrapper for typelib_TypeDescription. More...
 
class  WeakReference
 The WeakReference<> holds a weak reference to an object. More...
 
class  WeakReferenceHelper
 The WeakReferenceHelper holds a weak reference to an object. More...
 

Enumerations

enum  UnoReference_NoAcquire { UNO_REF_NO_ACQUIRE }
 Enum defining UNO_REF_NO_ACQUIRE for setting reference without acquiring a given interface. More...
 
enum  UnoReference_Query { UNO_QUERY }
 Enum defining UNO_QUERY for implicit interface query. More...
 
enum  UnoReference_QueryThrow { UNO_QUERY_THROW }
 Enum defining UNO_QUERY_THROW for implicit interface query. More...
 
enum  UnoReference_SetThrow { UNO_SET_THROW }
 Enum defining UNO_SET_THROW for throwing if attempts are made to assign a null interface. More...
 
enum  UnoType_NoAcquire { UNO_TYPE_NO_ACQUIRE }
 Enum defining UNO_TYPE_NO_ACQUIRE for type description reference transfer. More...
 

Functions

Reference< XCurrentContext > getCurrentContext ()
 Getting the current context. More...
 
bool setCurrentContext (Reference< XCurrentContext > const &xContext)
 Setting the current context. More...
 
template<class C >
bool mapToCpp (Reference< C > *ppRet, uno_Interface *pUnoI)
 Deprecated. More...
 
template<class C >
bool mapToUno (uno_Interface **ppRet, const Reference< C > &x)
 Deprecated. More...
 
template<class C >
Any makeAny (const C &value)
 Template function to generically construct an any from a C++ value. More...
 
template<>
Any makeAny (sal_uInt16 const &value)
 
template<>
Any makeAny (Any const &) SAL_DELETED_FUNCTION
 
template<typename T >
Any toAny (T const &value)
 Wrap a value in an Any, if necessary. More...
 
template<>
Any toAny (Any const &value)
 
template<class C >
void operator<<= (Any &rAny, const C &value)
 Template binary <<= operator to set the value of an any. More...
 
template<>
void operator<<= (Any &rAny, bool const &value)
 
template<class C >
bool operator>>= (const Any &rAny, C &value)
 Template binary >>= operator to assign a value from an any. More...
 
template<class C >
bool operator== (const Any &rAny, const C &value)
 Template equality operator: compares set value of left side any to right side value. More...
 
template<class C >
bool operator!= (const Any &rAny, const C &value)
 Template unequality operator: compares set value of left side any to right side value. More...
 
template<>
bool operator>>= (const Any &rAny, sal_Bool &value)
 
template<>
bool operator== (const Any &rAny, const sal_Bool &value)
 
template<>
bool operator>>= (Any const &rAny, bool &value)
 
template<>
bool operator== (Any const &rAny, bool const &value)
 
template<>
bool operator>>= (const Any &rAny, sal_Int8 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_Int16 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_uInt16 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_Int32 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_uInt32 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_Int64 &value)
 
template<>
bool operator>>= (const Any &rAny, sal_uInt64 &value)
 
template<>
bool operator>>= (const Any &rAny, float &value)
 
template<>
bool operator>>= (const Any &rAny, double &value)
 
template<>
bool operator>>= (const Any &rAny,::rtl::OUString &value)
 
template<>
bool operator== (const Any &rAny, const ::rtl::OUString &value)
 
template<>
bool operator>>= (const Any &rAny, Type &value)
 
template<>
bool operator== (const Any &rAny, const Type &value)
 
template<>
bool operator>>= (const Any &rAny, Any &value)
 
template<>
bool operator== (const Any &rAny, const BaseReference &value)
 
template<>
bool operator>>= (const ::com::sun::star::uno::Any &rAny, sal_Bool &value)
 
template<>
bool operator>>= (const ::com::sun::star::uno::Any &rAny, sal_Int8 &value)
 
template<typename charT , typename traits >
std::basic_ostream< charT, traits > & operator<< (std::basic_ostream< charT, traits > &o, Any const &any)
 Support for Any in std::ostream (and thus in CPPUNIT_ASSERT or SAL_INFO macros, for example). More...
 
void cpp_acquire (void *pCppI)
 Function to acquire a C++ interface. More...
 
void cpp_release (void *pCppI)
 Function to release a C++ interface. More...
 
void * cpp_queryInterface (void *pCppI, typelib_TypeDescriptionReference *pType)
 Function to query for a C++ interface. More...
 
inline::com::sun::star::uno::Sequence< sal_Int8toUnoSequence (const ::rtl::ByteSequence &rByteSequence)
 Creates a UNO byte sequence from a SAL byte sequence. More...
 

Enumeration Type Documentation

Enum defining UNO_REF_NO_ACQUIRE for setting reference without acquiring a given interface.

Deprecated, please use SAL_NO_ACQUIRE.

Deprecated:
Enumerator
UNO_REF_NO_ACQUIRE 

This enum value can be used for creating a reference granting a given interface, i.e.

transferring ownership to it.

Enum defining UNO_QUERY for implicit interface query.

Enumerator
UNO_QUERY 

This enum value can be used for implicit interface query.

Enum defining UNO_QUERY_THROW for implicit interface query.

If the demanded interface is unavailable, then a RuntimeException is thrown.

Enumerator
UNO_QUERY_THROW 

This enum value can be used for implicit interface query.

Enum defining UNO_SET_THROW for throwing if attempts are made to assign a null interface.

Since
UDK 3.2.8
Enumerator
UNO_SET_THROW 

Enum defining UNO_TYPE_NO_ACQUIRE for type description reference transfer.

Enumerator
UNO_TYPE_NO_ACQUIRE 

This enum value can be used for creating a Type object granting a given type description reference, i.e.

transferring ownership to it.

Function Documentation

void com::sun::star::uno::cpp_acquire ( void *  pCppI)
inline

Function to acquire a C++ interface.

Parameters
pCppIC++ interface pointer
void * com::sun::star::uno::cpp_queryInterface ( void *  pCppI,
typelib_TypeDescriptionReference pType 
)
inline

Function to query for a C++ interface.

Parameters
pCppIC++ interface pointer
pTypedemanded interface type
Returns
acquired C++ interface pointer or null
void com::sun::star::uno::cpp_release ( void *  pCppI)
inline

Function to release a C++ interface.

Parameters
pCppIC++ interface pointer
Reference< XCurrentContext > com::sun::star::uno::getCurrentContext ( )
inline

Getting the current context.

Attention
Don't spread the returned interface around to other threads. Every thread has its own current context.
Returns
current context or null ref, if none is set
template<class C >
Any com::sun::star::uno::makeAny ( const C &  value)
inline

Template function to generically construct an any from a C++ value.

This can be useful with an explicitly specified template parameter, when the (UNO) type recorded in the Any instance shall be different from what would be deduced from the (C++) type of the argument if no template parameter were specified explicitly.

Template Parameters
Cvalue type
Parameters
valuea value
Returns
an any
template<>
Any com::sun::star::uno::makeAny ( sal_uInt16 const &  value)
inline
template<>
Any com::sun::star::uno::makeAny ( Any const &  )
template<class C >
bool com::sun::star::uno::mapToCpp ( Reference< C > *  ppRet,
uno_Interface pUnoI 
)
inline

Deprecated.

This function DOES NOT WORK with Purpose Environments (http://wiki.openoffice.org/wiki/Uno/Binary/Spec/Purpose Environments)

Maps an binary C UNO interface to be used in the currently used compiler environment.

Template Parameters
Cinterface type
Parameters
ppRetinout returned interface pointer
pUnoIbinary C UNO interface
Returns
true if successful, false otherwise
Deprecated:
template<class C >
bool com::sun::star::uno::mapToUno ( uno_Interface **  ppRet,
const Reference< C > &  x 
)
inline

Deprecated.

This function DOES NOT WORK with Purpose Environments (http://wiki.openoffice.org/wiki/Uno/Binary/Spec/Purpose Environments)

Maps an UNO interface of the currently used compiler environment to binary C UNO.

Template Parameters
Cinterface type
Parameters
ppRetinout returned interface pointer
xinterface reference
Returns
true if successful, false otherwise
Deprecated:
template<class C >
bool com::sun::star::uno::operator!= ( const Any rAny,
const C &  value 
)
inline

Template unequality operator: compares set value of left side any to right side value.

The values need not be of equal type, e.g. a short integer is compared to a long integer. This operator can be implemented as template member function, if all supported compilers can cope with template member functions.

Template Parameters
Cvalue type
Parameters
rAnyanother any (left side)
valuea value (right side)
Returns
true if values are unequal, false otherwise
template<typename charT , typename traits >
std::basic_ostream<charT, traits>& com::sun::star::uno::operator<< ( std::basic_ostream< charT, traits > &  o,
Any const &  any 
)
inline

Support for Any in std::ostream (and thus in CPPUNIT_ASSERT or SAL_INFO macros, for example).

Since
LibreOffice 4.2
template<class C >
void com::sun::star::uno::operator<<= ( Any rAny,
const C &  value 
)
inline

Template binary <<= operator to set the value of an any.

Template Parameters
Cvalue type
Parameters
rAnydestination any (left side)
valuesource value (right side)
template<>
void com::sun::star::uno::operator<<= ( Any rAny,
bool const &  value 
)
inline
template<class C >
bool com::sun::star::uno::operator== ( const Any rAny,
const C &  value 
)
inline

Template equality operator: compares set value of left side any to right side value.

The values need not be of equal type, e.g. a short integer is compared to a long integer. This operator can be implemented as template member function, if all supported compilers can cope with template member functions.

Template Parameters
Cvalue type
Parameters
rAnyanother any (left side)
valuea value (right side)
Returns
true if values are equal, false otherwise
template<>
bool com::sun::star::uno::operator== ( const Any rAny,
const sal_Bool value 
)
inline
template<>
bool com::sun::star::uno::operator== ( Any const &  rAny,
bool const &  value 
)
inline
template<>
bool com::sun::star::uno::operator== ( const Any rAny,
const ::rtl::OUString value 
)
inline
template<>
bool com::sun::star::uno::operator== ( const Any rAny,
const Type value 
)
inline
template<>
bool com::sun::star::uno::operator== ( const Any rAny,
const BaseReference value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const ::com::sun::star::uno::Any rAny,
sal_Bool value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const ::com::sun::star::uno::Any rAny,
sal_Int8 value 
)
inline
template<class C >
bool com::sun::star::uno::operator>>= ( const Any rAny,
C &  value 
)
inline

Template binary >>= operator to assign a value from an any.

If the any does not contain a value that can be assigned without data loss, then this operation will fail returning false.

Template Parameters
Cvalue type
Parameters
rAnysource any (left side)
valuedestination value (right side)
Returns
true if assignment was possible without data loss
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_Bool value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( Any const &  rAny,
bool &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_Int8 value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_Int16 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_uInt16 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_Int32 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_uInt32 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_Int64 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
sal_uInt64 &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
float &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
double &  value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
::rtl::OUString value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
Type value 
)
inline
template<>
bool com::sun::star::uno::operator>>= ( const Any rAny,
Any value 
)
inline
bool com::sun::star::uno::setCurrentContext ( Reference< XCurrentContext > const &  xContext)
inline

Setting the current context.

Parameters
xContextcurrent context to be set
Returns
true, if context has been successfully set
template<typename T >
Any com::sun::star::uno::toAny ( T const &  value)
inline

Wrap a value in an Any, if necessary.

The difference to makeAny is that makeAny cannot be called on an Any, while toAny just returns the given Any.

Since
LibreOffice 5.0
template<>
Any com::sun::star::uno::toAny ( Any const &  value)
inline
com::sun::star::uno::Sequence< sal_Int8 > com::sun::star::uno::toUnoSequence ( const ::rtl::ByteSequence rByteSequence)
inline

Creates a UNO byte sequence from a SAL byte sequence.

Parameters
rByteSequencea byte sequence
Returns
a UNO byte sequence