00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 00002 /* 00003 * This file is part of the LibreOffice project. 00004 * 00005 * This Source Code Form is subject to the terms of the Mozilla Public 00006 * License, v. 2.0. If a copy of the MPL was not distributed with this 00007 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 00008 * 00009 * This file incorporates work covered by the following license notice: 00010 * 00011 * Licensed to the Apache Software Foundation (ASF) under one or more 00012 * contributor license agreements. See the NOTICE file distributed 00013 * with this work for additional information regarding copyright 00014 * ownership. The ASF licenses this file to you under the Apache 00015 * License, Version 2.0 (the "License"); you may not use this file 00016 * except in compliance with the License. You may obtain a copy of 00017 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 00018 */ 00019 00020 #ifndef INCLUDED_uno_Enterable_h 00021 #define INCLUDED_uno_Enterable_h 00022 00023 #include "uno/environment.h" 00024 00025 00026 #ifdef __cplusplus 00027 extern "C" 00028 { 00029 #endif 00030 00031 00038 typedef void uno_Enterable_enter (void * context); 00039 00040 00047 typedef void uno_Enterable_leave (void * context); 00048 00049 00058 typedef void uno_Enterable_callInto_v(void * context, uno_EnvCallee * pCallee, va_list * pParam); 00059 00060 00069 typedef void uno_Enterable_callOut_v (void * context, uno_EnvCallee * pCallee, va_list * pParam); 00070 00071 00081 typedef int uno_Enterable_isValid_v (void * context, rtl_uString ** ppReason); 00082 00083 00089 typedef struct 00090 { 00091 uno_Enterable_enter * m_enter; 00092 uno_Enterable_leave * m_leave; 00093 uno_Enterable_callInto_v * m_callInto_v; 00094 uno_Enterable_callOut_v * m_callOut_v; 00095 uno_Enterable_isValid_v * m_isValid; 00096 } 00097 uno_Enterable; 00098 00099 00100 #ifdef __cplusplus 00101 } 00102 #endif 00103 00104 #endif 00105 00106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */