Update ooo320-m1
[ooovba.git] / cppu / inc / uno / Enterable.h
blobd260a3124664e3419ed6860d714b2f535da82d6e
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: Enterable.h,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef INCLUDED_uno_Enterable_h
32 #define INCLUDED_uno_Enterable_h
34 #include "uno/environment.h"
37 #ifdef __cplusplus
38 extern "C"
40 #endif
43 /** Generic function type declaration for entering an Environment.
44 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
46 @param context
47 @since UDK 3.2.7
49 typedef void uno_Enterable_enter (void * context);
52 /** Generic function type declaration for levaing an Environment.
53 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
55 @param context
56 @since UDK 3.2.7
58 typedef void uno_Enterable_leave (void * context);
61 /** Generic function type declaration for calling into an Environment.
62 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
64 @param context
65 @param pCallee the function to be called
66 @param pParam the parameter pointer to be passed to the function
67 @since UDK 3.2.7
69 typedef void uno_Enterable_callInto_v(void * context, uno_EnvCallee * pCallee, va_list * pParam);
72 /** Generic function type declaration for calling out of an Environment.
73 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
75 @param context
76 @param pCallee the function to be called
77 @param pParam the parameter pointer to be passed to the function
78 @since UDK 3.2.7
80 typedef void uno_Enterable_callOut_v (void * context, uno_EnvCallee * pCallee, va_list * pParam);
83 /** Generic function type declaration for checking if calling on managed object is
84 valid.
85 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
87 @param context
88 @param ppReason the reason, in case calling is not valid
89 @return 0 == calling is not valid, 1 == calling is valid
90 @since UDK 3.2.7
92 typedef int uno_Enterable_isValid_v (void * context, rtl_uString ** ppReason);
95 /** A struct pReserved needs to point to, if implementing a purpose environment.
96 (http://wiki.services.openoffice.org/wiki/Uno/Binary/Spec/Environment_Stack)
98 @since UDK 3.2.7
100 typedef struct
102 uno_Enterable_enter * m_enter;
103 uno_Enterable_leave * m_leave;
104 uno_Enterable_callInto_v * m_callInto_v;
105 uno_Enterable_callOut_v * m_callOut_v;
106 uno_Enterable_isValid_v * m_isValid;
108 uno_Enterable;
111 #ifdef __cplusplus
113 #endif
115 #endif