My Project
UDK 3.2.7 C/C++ API Reference
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
com
sun
star
uno
genfunc.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*************************************************************************
3
*
4
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
*
6
* Copyright 2000, 2010 Oracle and/or its affiliates.
7
*
8
* OpenOffice.org - a multi-platform office productivity suite
9
*
10
* This file is part of OpenOffice.org.
11
*
12
* OpenOffice.org is free software: you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License version 3
14
* only, as published by the Free Software Foundation.
15
*
16
* OpenOffice.org is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU Lesser General Public License version 3 for more details
20
* (a copy is included in the LICENSE file that accompanied this code).
21
*
22
* You should have received a copy of the GNU Lesser General Public License
23
* version 3 along with OpenOffice.org. If not, see
24
* <http://www.openoffice.org/license.html>
25
* for a copy of the LGPLv3 License.
26
*
27
************************************************************************/
28
#ifndef _COM_SUN_STAR_UNO_GENFUNC_HXX_
29
#define _COM_SUN_STAR_UNO_GENFUNC_HXX_
30
31
#include <
com/sun/star/uno/genfunc.h
>
32
#include <
com/sun/star/uno/Any.hxx
>
33
34
35
namespace
com
36
{
37
namespace
sun
38
{
39
namespace
star
40
{
41
namespace
uno
42
{
43
44
//==================================================================================================
45
inline
void
SAL_CALL
cpp_acquire
(
void
* pCppI )
46
SAL_THROW
(())
47
{
48
reinterpret_cast<
XInterface *
>
( pCppI )->acquire();
49
}
50
//==================================================================================================
51
inline
void
SAL_CALL
cpp_release
(
void
* pCppI )
52
SAL_THROW
(())
53
{
54
reinterpret_cast<
XInterface *
>
( pCppI )->release();
55
}
56
//==================================================================================================
57
inline
void
* SAL_CALL
cpp_queryInterface
(
void
* pCppI,
typelib_TypeDescriptionReference
* pType )
58
SAL_THROW
(())
59
{
60
if
(pCppI)
61
{
62
#ifndef EXCEPTIONS_OFF
63
try
64
{
65
#endif
66
Any
aRet( reinterpret_cast< XInterface * >( pCppI )->
queryInterface
(
67
* reinterpret_cast< const Type * >( &pType ) ) );
68
if
(
typelib_TypeClass_INTERFACE
== aRet.
pType
->
eTypeClass
)
69
{
70
XInterface * pRet =
reinterpret_cast<
XInterface *
>
( aRet.
pReserved
);
71
aRet.
pReserved
= 0;
72
return
pRet;
73
}
74
#ifndef EXCEPTIONS_OFF
75
}
76
catch
(RuntimeException &)
77
{
78
}
79
#endif
80
}
81
return
0;
82
}
83
84
}
85
}
86
}
87
}
88
89
#endif
90
91
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Generated on Mon Oct 8 2012 00:36:40 for My Project by
1.8.1.2