LCOV - code coverage report
Current view: top level - libreoffice/workdir/unxlngi6.pro/UnoApiHeadersTarget/udkapi/comprehensive/com/sun/star/uno - TypeClass.hpp (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 107 107 100.0 %
Date: 2012-12-27 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : #ifndef INCLUDED_COM_SUN_STAR_UNO_TYPECLASS_HPP
       2             : #define INCLUDED_COM_SUN_STAR_UNO_TYPECLASS_HPP
       3             : 
       4             : #include "sal/config.h"
       5             : 
       6             : #include "com/sun/star/uno/TypeClass.hdl"
       7             : 
       8             : #include "com/sun/star/uno/Type.hxx"
       9             : #include "cppu/unotype.hxx"
      10             : #include "osl/mutex.hxx"
      11             : #include "rtl/instance.hxx"
      12             : 
      13             : namespace com { namespace sun { namespace star { namespace uno { namespace detail {
      14             : 
      15             : struct theTypeClassType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theTypeClassType >
      16             : {
      17          34 :     ::com::sun::star::uno::Type * operator()() const
      18             :     {
      19          34 :         ::rtl::OUString sTypeName( "com.sun.star.uno.TypeClass" );
      20             : 
      21             :         // Start inline typedescription generation
      22          34 :         typelib_TypeDescription * pTD = 0;
      23             : 
      24             :         rtl_uString* enumValueNames[32];
      25          34 :         ::rtl::OUString sEnumValue0( "VOID" );
      26          34 :         enumValueNames[0] = sEnumValue0.pData;
      27          34 :         ::rtl::OUString sEnumValue1( "CHAR" );
      28          34 :         enumValueNames[1] = sEnumValue1.pData;
      29          34 :         ::rtl::OUString sEnumValue2( "BOOLEAN" );
      30          34 :         enumValueNames[2] = sEnumValue2.pData;
      31          34 :         ::rtl::OUString sEnumValue3( "BYTE" );
      32          34 :         enumValueNames[3] = sEnumValue3.pData;
      33          34 :         ::rtl::OUString sEnumValue4( "SHORT" );
      34          34 :         enumValueNames[4] = sEnumValue4.pData;
      35          34 :         ::rtl::OUString sEnumValue5( "UNSIGNED_SHORT" );
      36          34 :         enumValueNames[5] = sEnumValue5.pData;
      37          34 :         ::rtl::OUString sEnumValue6( "LONG" );
      38          34 :         enumValueNames[6] = sEnumValue6.pData;
      39          34 :         ::rtl::OUString sEnumValue7( "UNSIGNED_LONG" );
      40          34 :         enumValueNames[7] = sEnumValue7.pData;
      41          34 :         ::rtl::OUString sEnumValue8( "HYPER" );
      42          34 :         enumValueNames[8] = sEnumValue8.pData;
      43          34 :         ::rtl::OUString sEnumValue9( "UNSIGNED_HYPER" );
      44          34 :         enumValueNames[9] = sEnumValue9.pData;
      45          34 :         ::rtl::OUString sEnumValue10( "FLOAT" );
      46          34 :         enumValueNames[10] = sEnumValue10.pData;
      47          34 :         ::rtl::OUString sEnumValue11( "DOUBLE" );
      48          34 :         enumValueNames[11] = sEnumValue11.pData;
      49          34 :         ::rtl::OUString sEnumValue12( "STRING" );
      50          34 :         enumValueNames[12] = sEnumValue12.pData;
      51          34 :         ::rtl::OUString sEnumValue13( "TYPE" );
      52          34 :         enumValueNames[13] = sEnumValue13.pData;
      53          34 :         ::rtl::OUString sEnumValue14( "ANY" );
      54          34 :         enumValueNames[14] = sEnumValue14.pData;
      55          34 :         ::rtl::OUString sEnumValue15( "ENUM" );
      56          34 :         enumValueNames[15] = sEnumValue15.pData;
      57          34 :         ::rtl::OUString sEnumValue16( "TYPEDEF" );
      58          34 :         enumValueNames[16] = sEnumValue16.pData;
      59          34 :         ::rtl::OUString sEnumValue17( "STRUCT" );
      60          34 :         enumValueNames[17] = sEnumValue17.pData;
      61          34 :         ::rtl::OUString sEnumValue18( "UNION" );
      62          34 :         enumValueNames[18] = sEnumValue18.pData;
      63          34 :         ::rtl::OUString sEnumValue19( "EXCEPTION" );
      64          34 :         enumValueNames[19] = sEnumValue19.pData;
      65          34 :         ::rtl::OUString sEnumValue20( "SEQUENCE" );
      66          34 :         enumValueNames[20] = sEnumValue20.pData;
      67          34 :         ::rtl::OUString sEnumValue21( "ARRAY" );
      68          34 :         enumValueNames[21] = sEnumValue21.pData;
      69          34 :         ::rtl::OUString sEnumValue22( "INTERFACE" );
      70          34 :         enumValueNames[22] = sEnumValue22.pData;
      71          34 :         ::rtl::OUString sEnumValue23( "SERVICE" );
      72          34 :         enumValueNames[23] = sEnumValue23.pData;
      73          34 :         ::rtl::OUString sEnumValue24( "MODULE" );
      74          34 :         enumValueNames[24] = sEnumValue24.pData;
      75          34 :         ::rtl::OUString sEnumValue25( "INTERFACE_METHOD" );
      76          34 :         enumValueNames[25] = sEnumValue25.pData;
      77          34 :         ::rtl::OUString sEnumValue26( "INTERFACE_ATTRIBUTE" );
      78          34 :         enumValueNames[26] = sEnumValue26.pData;
      79          34 :         ::rtl::OUString sEnumValue27( "UNKNOWN" );
      80          34 :         enumValueNames[27] = sEnumValue27.pData;
      81          34 :         ::rtl::OUString sEnumValue28( "PROPERTY" );
      82          34 :         enumValueNames[28] = sEnumValue28.pData;
      83          34 :         ::rtl::OUString sEnumValue29( "CONSTANT" );
      84          34 :         enumValueNames[29] = sEnumValue29.pData;
      85          34 :         ::rtl::OUString sEnumValue30( "CONSTANTS" );
      86          34 :         enumValueNames[30] = sEnumValue30.pData;
      87          34 :         ::rtl::OUString sEnumValue31( "SINGLETON" );
      88          34 :         enumValueNames[31] = sEnumValue31.pData;
      89             : 
      90             :         sal_Int32 enumValues[32];
      91          34 :         enumValues[0] = 0;
      92          34 :         enumValues[1] = 1;
      93          34 :         enumValues[2] = 2;
      94          34 :         enumValues[3] = 3;
      95          34 :         enumValues[4] = 4;
      96          34 :         enumValues[5] = 5;
      97          34 :         enumValues[6] = 6;
      98          34 :         enumValues[7] = 7;
      99          34 :         enumValues[8] = 8;
     100          34 :         enumValues[9] = 9;
     101          34 :         enumValues[10] = 10;
     102          34 :         enumValues[11] = 11;
     103          34 :         enumValues[12] = 12;
     104          34 :         enumValues[13] = 13;
     105          34 :         enumValues[14] = 14;
     106          34 :         enumValues[15] = 15;
     107          34 :         enumValues[16] = 16;
     108          34 :         enumValues[17] = 17;
     109          34 :         enumValues[18] = 18;
     110          34 :         enumValues[19] = 19;
     111          34 :         enumValues[20] = 20;
     112          34 :         enumValues[21] = 21;
     113          34 :         enumValues[22] = 22;
     114          34 :         enumValues[23] = 23;
     115          34 :         enumValues[24] = 24;
     116          34 :         enumValues[25] = 25;
     117          34 :         enumValues[26] = 26;
     118          34 :         enumValues[27] = 27;
     119          34 :         enumValues[28] = 28;
     120          34 :         enumValues[29] = 29;
     121          34 :         enumValues[30] = 30;
     122          34 :         enumValues[31] = 31;
     123             : 
     124             :         typelib_typedescription_newEnum( &pTD,
     125             :             sTypeName.pData,
     126             :             (sal_Int32)::com::sun::star::uno::TypeClass_VOID,
     127          34 :             32, enumValueNames, enumValues );
     128             : 
     129          34 :         typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
     130          34 :         typelib_typedescription_release( pTD );
     131             :         // End inline typedescription generation
     132             : 
     133          34 :         return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_ENUM, sTypeName ); // leaked
     134             :     }
     135             : };
     136             : 
     137             : } } } } }
     138             : 
     139             : namespace com { namespace sun { namespace star { namespace uno {
     140             : 
     141          54 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::uno::TypeClass const *) {
     142          54 :     return *detail::theTypeClassType::get();
     143             : }
     144             : 
     145             : } } } }
     146             : 
     147           1 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER css::uno::TypeClass const *) SAL_THROW(()) {
     148           1 :     return ::cppu::UnoType< css::uno::TypeClass >::get();
     149             : }
     150             : 
     151             : #endif // INCLUDED_COM_SUN_STAR_UNO_TYPECLASS_HPP

Generated by: LCOV version 1.10