UDK 3.2.7 C/C++ API Reference
uno/dispatcher.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 /*************************************************************************
00003  *
00004  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
00005  *
00006  * Copyright 2000, 2010 Oracle and/or its affiliates.
00007  *
00008  * OpenOffice.org - a multi-platform office productivity suite
00009  *
00010  * This file is part of OpenOffice.org.
00011  *
00012  * OpenOffice.org is free software: you can redistribute it and/or modify
00013  * it under the terms of the GNU Lesser General Public License version 3
00014  * only, as published by the Free Software Foundation.
00015  *
00016  * OpenOffice.org is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU Lesser General Public License version 3 for more details
00020  * (a copy is included in the LICENSE file that accompanied this code).
00021  *
00022  * You should have received a copy of the GNU Lesser General Public License
00023  * version 3 along with OpenOffice.org.  If not, see
00024  * <http://www.openoffice.org/license.html>
00025  * for a copy of the LGPLv3 License.
00026  *
00027  ************************************************************************/
00028 #ifndef _UNO_DISPATCHER_H_
00029 #define _UNO_DISPATCHER_H_
00030 
00031 #include <sal/types.h>
00032 #include <rtl/ustring.h>
00033 #include <uno/any2.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00040 struct _typelib_TypeDescription;
00041 struct _uno_Interface;
00042 
00058 typedef void (SAL_CALL * uno_DispatchMethod)(
00059     struct _uno_Interface * pUnoI,
00060     const struct _typelib_TypeDescription * pMemberType,
00061     void * pReturn,
00062     void * pArgs[],
00063     uno_Any ** ppException );
00064 
00065 #if defined( SAL_W32)
00066 #pragma pack(push, 8)
00067 #endif
00068 
00071 typedef struct _uno_Interface
00072 {
00077     void (SAL_CALL * acquire)( struct _uno_Interface * pInterface );
00082     void (SAL_CALL * release)( struct _uno_Interface * pInterface );
00085     uno_DispatchMethod pDispatcher;
00086 } uno_Interface;
00087 
00088 #if defined( SAL_W32)
00089 #pragma pack(pop)
00090 #endif
00091 
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095 
00096 #endif
00097 
00098 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines