Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_UTIL_DATE_HPP
2 : #define INCLUDED_COM_SUN_STAR_UTIL_DATE_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/util/Date.hdl"
7 :
8 : #include "com/sun/star/uno/Type.hxx"
9 : #include "cppu/unotype.hxx"
10 : #include "osl/mutex.hxx"
11 : #include "rtl/ustring.h"
12 : #include "rtl/ustring.hxx"
13 : #include "rtl/instance.hxx"
14 : #include "sal/types.h"
15 : #include "typelib/typeclass.h"
16 : #include "typelib/typedescription.h"
17 :
18 : namespace com { namespace sun { namespace star { namespace util {
19 :
20 0 : inline Date::Date() SAL_THROW(())
21 : : Day(0)
22 : , Month(0)
23 0 : , Year(0)
24 : {
25 0 : }
26 :
27 : inline Date::Date(const ::sal_uInt16& Day_, const ::sal_uInt16& Month_, const ::sal_uInt16& Year_) SAL_THROW(())
28 : : Day(Day_)
29 : , Month(Month_)
30 : , Year(Year_)
31 : {
32 : }
33 :
34 : } } } }
35 :
36 : namespace com { namespace sun { namespace star { namespace util { namespace detail {
37 :
38 : struct theDateType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theDateType >
39 : {
40 0 : ::com::sun::star::uno::Type * operator()() const
41 : {
42 0 : ::rtl::OUString the_name( "com.sun.star.util.Date" );
43 0 : ::rtl::OUString the_tname0( "unsigned short" );
44 0 : ::rtl::OUString the_name0( "Day" );
45 0 : ::rtl::OUString the_name1( "Month" );
46 0 : ::rtl::OUString the_name2( "Year" );
47 : ::typelib_StructMember_Init the_members[] = {
48 : { { typelib_TypeClass_UNSIGNED_SHORT, the_tname0.pData, the_name0.pData }, false },
49 : { { typelib_TypeClass_UNSIGNED_SHORT, the_tname0.pData, the_name1.pData }, false },
50 0 : { { typelib_TypeClass_UNSIGNED_SHORT, the_tname0.pData, the_name2.pData }, false } };
51 0 : ::typelib_TypeDescription * the_newType = 0;
52 0 : ::typelib_typedescription_newStruct(&the_newType, the_name.pData, 0, 3, the_members);
53 0 : ::typelib_typedescription_register(&the_newType);
54 0 : ::typelib_typedescription_release(the_newType);
55 0 : return new ::com::sun::star::uno::Type(::com::sun::star::uno::TypeClass_STRUCT, the_name); // leaked
56 : }
57 : };
58 : } } } } }
59 :
60 : namespace com { namespace sun { namespace star { namespace util {
61 :
62 0 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::util::Date const *) {
63 0 : return *detail::theDateType::get();
64 : }
65 :
66 : } } } }
67 :
68 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER css::util::Date const *) SAL_THROW(()) {
69 : return ::cppu::UnoType< css::util::Date >::get();
70 : }
71 :
72 : #endif // INCLUDED_COM_SUN_STAR_UTIL_DATE_HPP
|